Maybe I'm missing something; but I don't really understand what to do when two files depend on each other types in the "handmade hero style file" where everything is included into one big file.
This may not be a great example but what if I have these files:
void FillRegion(game_oscillator Oscillator, game_state State)
// Do the filling if a button is down.
UpdateWorld(game_state State, oscillator Oscillator)
// Change the state of the world.
// Reset oscillator time in a certain state.
Oscillator.tSine = 0;
There is no order possible in which it works because both files need to know about each other:
#include "game_audio.cpp" // Now game_audio.cpp doesnt know about game_state
#include "game_world.cpp" // Now game_world.cpp doesnt know about oscillator