[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Loading BMPs" vod_platform=youtube id=USFTH9mcaKw annotator=schme annotator=abnercoimbre annotator=theinternetftw] [00:00][A recap of previous stream] [2:05][New test assets for Handmade Hero project] [4:46][Introduction to loading BMP files] [6:28][Handle player moving up and down 'stairs' before the BMP loader] [9:20][Context-switch cost] [10:46][Moving up an down implementation] [14:45][Difference between tile map system and tile map positioning system] [15:54][Implementation continued] [17:13][Fixing generation code] [21:45][Generation code fixed] [22:38][Implementation complete. Working tile map system] [25:07][Loading BMP files] [26:30][A talk on the game's screen resolution] [36:10][Implementing loader] [39:20][Crash course on how to read file formats] [43:58][Debugging a BMP file in memory] [49:00][Processing the BMP file header] [50:43][Packing a struct to avoid padding] [53:53][Processing the BMP pixels] [59:20][Q&A][:speech] [59:44][Perfect pitch would sell that!] [1:00:58][I missed the part where you handled the endianness of the file, or are bitmaps always the same?] [1:01:56][Do you prefer #pragma pack or gcc-like annotation?] [1:02:28][What's your threshold for number of function parameters before putting them into a single structure?] [1:03:17][Could you please describe how the sparse tilemap storage is done so far?] [1:11:13][Why not use a function template to read raw bytes into any struct you cook up, one primitive at a time, instead of compiler annotations?] [1:14:59][How will we handle memory when reading files? Would it be wasteful to read into our memory pool, then only use part of it?] [1:16:41][Could you explain how to handle platform specific data?] [1:19:56][Would it be easy to implement a generic sparse array to solve our tilemap problem (possibly overloading)?] [1:21:02][So we have world chunks and -tiles, didn't we also have screens?] [1:21:45][Why wouldn't you use a function template in the example mentioned before?] [1:27:11][Will you write asset exporters/importers to get the assets into an efficient format or will you rely on the asset creators tools?] [/video]