[video output=day135 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Typed Asset Arrays" vod_platform=youtube id=meU5RI3J1wc annotator=Miblo]
[2:20][Recap the creation of handmade_asset.cpp]
[4:35][handmade_asset.cpp: Make the arrayed assets go through the asset system]
[5:31][Provide a stable way to define AlignX and TopDownAlignY with the bitmaps]
[9:10][handmade_asset.cpp: Remove superfluous asset types]
[10:17][Debugger: Read out the alignments for the bitmaps]
[10:50][handmade_asset.cpp: Replace AlignX and TopDownAlignY with AlignPercentage for each asset type]
[12:08][Remove this DEBUGLoadBMP call and edit an earlier DEBUGLoadBMP call to take into account these changes to AlignPercentage]
[12:46][Get rid of TopDownAlign]
[13:27][Run the game]
[13:50][Consider our current options for cleaning this up while we still don't have a pack file]
[15:05][handmade_asset.h: Change the structure of asset_bitmap_info]
[16:46][handmade_asset.cpp: Allocate a ton of bitmaps for testing purposes]
[17:13][Introduce DEBUGAddBitmapInfo]
[19:39][Create assets dynamically in AllocateGameAssets]
[22:47][Pull out BeginAssetType, AddBitmapAsset and EndAssetType into functions]
[25:47][handmade.h: TODO(casey): Optional "clear" parameter!!!!]
[26:10][handmade_asset.cpp: Continue writing these functions]
[29:45][Debugger: Step through these functions]
[33:45][Run the game]
[33:59][handmade_asset.cpp: Get the Grass, Tuft and Stone bitmaps using this new system]
[34:53][handmade.cpp: Introduce id-based picking of assets]
[36:33][handmade_asset.cpp: Introduce RandomAssetFrom]
[38:18][Run the game]
[39:18][Debugger: See what the asset tables look like]
[39:57][handmade_asset.cpp: Add the first asset in RandomAssetFrom]
[40:53][Run the game and note the absence of trees]
[42:24][handmade.cpp: Investigate this absence of trees]
[43:27][handmade_asset.cpp: Determine whether LoadBitmap is thread-safe]
[44:37][Use the asset_bitmap_info table]
[45:53][handmade.cpp: Re-enable PushBitmap]
[46:36][Debugger: Step through LoadBitmap and RandomAssetFrom]
[48:19][Inspect the assets]
[49:57][handmade_asset.cpp: Add the Choice rather than the Count in RandomAssetFrom]
[50:34][Run the game and wonder why it was failing]
[51:46][handmade_asset.cpp: Finish off the asset array set]
[52:33][handmade.cpp: Set Stamp from RandomAssetFrom]
[53:46][Run and note the absence of ground chunks]
[54:21][handmade.cpp: Write the fail case for AllResourcesPresent]
[55:24][Debugger: Look through FillGroundChunk]
[56:11][handmade.cpp: Setup RenderGroup, Buffer and Task near the top of FillGroundChunk]
[56:56][Run the game and recap today's progress]
[58:05][Q&A][:speech]
[58:42][@noxy_key][What do you mean when you say to write "usage code first"? Also, is there any special handling of Asset 0? I am unclear on this]
[1:00:45][@garlandobloom][You used some uint32_t in t here instead of uint32]
[1:01:41][@miblo][Are you expecting a new batch of art from Yangtian?]
[1:02:01][@ciastek3214][Are you gonna eventually downgrade the graphics to stir up some controversy and get the game talked about on NeoGAF and Reddit?]
[1:03:12][@johnicholas][What are some example changes to the gameplay that would require changes to the tags?]
[1:03:53][@biolumonix][What certifications do you have?]
[1:04:24][@rgseaug77][Do you ever feel sleepy when it's taking you a long time to solve a bug?]
[1:04:41][@butwhynot1][Are you going to show the asset pipeline tools programming on stream?]
[1:05:32][@poohshoes][I missed the pre-stream. Did you talk about APIs like you said you would on twitter?]
[1:05:51][@mojobojo][What reason is there to use size_t other than int32 or uint32?]
[1:07:00][@ciastek3214][Do you plan on implementing HTC Vive and Lighthouse support for whatever reason?]
[1:07:32][@twiebs][If the asset pipeline won't be done on stream, will you still release the source for it?]
[1:08:43][@corujanova][Will you do a separate isolated session on databases (mentioned yesterday)? I would love to hear your thoughts on that]
[1:09:12][@poohshoes][Will you talk about APIs now?]
[1:09:30][@garlandobloom][HTC is handing you $500,000: are you doing Vive support now? Hmm? HMMM??]
[1:10:49][@ciastek3214][Will you accept Chromatic Aberration as the best post-processing thing ever conceived?]
[1:12:51][@gasto5][Why don't you support DirectInput8 for supporting good old USB controllers, instead of just Xbox360 controllers?]
[1:13:36][@cubercaleb][If the people in this chat collectively give you $500K, will you implement VR?]
[1:14:07][Rant: APIs, with the assistance of Dependency Walker]
[1:27:45][@ciastek3214][Seems to me nobody at Microsoft has any idea about why Windows is still even working properly]
[1:32:23][@gasto5][Isn't the huge amount of the dependencies an inevitability of complex software like a modern full OS for productivity desktop?]
[1:35:33][@sssmcgrath][Do you know that your channel runs ads for an eSports gambling site?]
[1:36:29][Wrap it up][:speech]
[/video]
