For anyone else having this problem, I found a quick patch until I get to later episodes was to simply add a call to Sleep after the file timestamps were compared, but before the code was loaded. 30ms seems to suffice, and would hardly be noticeable unless you were somehow recompiling several times in one second.
| if (CompareFileTime(&NewDLLWriteTime, &Game.DLLLastWriteTime)) {
Sleep(30);
Win32UnloadGameCode(&Game);
Game = Win32LoadGameCode(SourceGameCodeDLLFullPath, TempGameCodeDLLFullPath);
}
|