The last thing Casey does (in the Q&A) in Day 029 is split handmade.h into handmade.h and handmade_platform.h, the latter being a pure-C file that contains all of the game layer stuff required for the platform layer to communicate with it. It seemed like there was some practical impetus for doing so, but I don't understand what it was. He mentioned something about people requesting it in order to port to other platforms.
What was the advantage of splitting out the platform-related stuff into its own file? What was the advantage of making handmade_platform.h pure C?
Also - I noticed that the #include handmade.h in win32_handmade.cpp wasn't changed to #include handmade_platform.h until day 039.