# Day 27 Definitely feels refreshing to not touch win32. # Day 30 Tile map stuff is looking alright. Doing my best to not clean-up the code as Casey pleads in the vods. I would have perferred if he didn't just do one tilemap at a time and instead I would have had the current tile map and surrounding loaded at the same time (He might do this in the future). Since were aren't constrained memory wise like the old machines, we could have those loaded as well and it would make the management of the tilemaps easier (possibly...). Looking foward to when he introduces a proper vector space for the positioning. # Day 31 This was really a prepatory day for day 32 so I did some extra stuff... I setup codebase so now that the build translation unit files have every single file included for that unit explicitly. I do not (or should not) have nested includes other than from `grime.hpp` ## Side Tracking I did some refactoring and added `INTELLISENSE_DIRECTIVES` preprocessor conditional blocks throughout the codebase. I wanted to see if I could get all IDE/Editors I've ever used to support the project without bad errors from parsing failures. Unfortunately getting Visual Studio and Rider's intellisense to behave was not possible. This is mostly from how the code is structured across files currently. I'll have to re-sturcture it down the line to make it more IDE friendly. 10xEditor Needs help with the intellisense directives macros, but otherwise was able to parse everything quite accurately. VSCode has some failures in few files, they are nearly the same failures as VS2022, however like 10xEditor I saw that it has include awareness beyond a single file's scope! In fact, if I open all the files, the parser corrects itself (you can close them afterwards). It essentially cached the include graph for the project by doing so for the lifetime of the process. VS2022 has issues due to it strictly parsing each file, without awareness of whats going on in other files. (It doesn't build a proper include graph). Rider just straight up broken, it seems to not work every well with NMake projects. At least, you can't depend on it to use the external include directories field properly. It will show errors for all external include symbols. # Day 32 Vod was more of a pain to follow along than usual... I updated the scripts to only build each module if it detects changes (just using md5 hash on the files). # Day 33 I thought the last few vods were not great to follow... That was just training for today. # Day 34 Casey decided to start offloading tile map definitions to separate files so I took the time to also cleanup some of the organization of the code. I'm still keeping some cpp files directly included within engine.cpp and win32_platform.cpp for now (instead of their translation unit files). I'll problably wait till much later to offload them. Making that first baby step for procedural gen, and proper tile_chunk memory felt pretty good after many vods of stumbling. # Day 36 Just dealing with Casey's "methods" for going about the code exploration... Loading an image was nice, I got it to render somewhat properly with draw_bitmap but until he does it I kept the bad way hes doing it. # Day 37 I went ahead and did some extra stuff. My "hero" is a mojito bmp for now. I'll eventually do something else for it. I also added incremental build support for the codegen metaprograms. I originally wanted to make the assets on the fly (just as a break from the code), but decided to just use his assets as this series is already going to take forever. I have the assets mapped to an "offical" directory within content, however they'll be naturally ignored on the repo. # Day 40 Its finally done with this phase of the project. Looking forward to seeing some vectors after all these days.