[video output=day199 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Reusing Debug Interactions" vod_platform=youtube id=Pn8JLm3hQfs annotator=Miblo]
[1:49][Recap and find that we must have broken something]
[2:41][Debugger: Step through DEBUGInteract]
[4:06][handmade_debug.cpp: Identify the problem and set DebugState->InteractingWith in a different place]
[5:44][Run the game and find that we're fine]
[6:22][handmade_debug.h: Introduce a new debug_interaction and rename the old one to debug_interaction_type]
[8:25][handmade_debug.h: Simplify debug_state]
[9:32][handmade_debug.cpp: Make DEBUGDrawMainMenu work with this new structure]
[12:16][handmade_debug.cpp: Introduce InteractionsAreEqual]
[13:13][handmade_debug.cpp: Continue working on DEBUGDrawMainMenu]
[14:54][handmade_debug.cpp: Introduce InteractionIsHot]
[15:35][handmade_debug.cpp: Continue cleaning up DEBUGDrawMainMenu]
[17:33][handmade_debug.cpp: Make DEBUGBeginInteract work with the new structure]
[21:15][handmade_debug.cpp: Make DEBUGEndInteract work with the new structure]
[23:12][handmade_debug.cpp: Make DEBUGInteract work with the new structure]
[25:35][handmade_debug.cpp: Make DEBUGEnd work with the new structure]
[25:49][Run the game and hit an assertion]
[26:16][handmade_debug.cpp: Set these variables in DEBUGBeginInteract]
[28:44][Run the game and find that things are better]
[29:23][handmade_debug.h Add v2 *P to debug_interaction]
[29:56][handmade_debug.cpp: Use that *P in DebugInteraction_Resize and DebugInteraction_Move]
[31:02][handmade_debug.h: Add DebugInteraction_Resize and DebugInteraction_Move to debug_interaction_type]
[31:18][handmade_debug.cpp: Continue adding that P]
[32:22][Run the game and try interacting with the menu]
[33:02][handmade_debug.cpp: Give DebugInteraction_TearValue an interaction]
[34:07][Run the game and test this generic moving]
[34:45][handmade_debug.h: Extend this notion of generic movement to another debug_variable_type]
[35:31][handmade_debug.h: Introduce debug_bitmap_display]
[36:28][handmade_debug.cpp: Implement DebugVariableType_BitmapDisplay]
[39:40][handmade_debug_variables.h: Introduce a DEBUGAddVariable for bitmap_id]
[44:22][Run the game and hit the InvalidDefaultCase]
[45:08][Add DebugVariableType_BitmapDisplay to DEBUGShouldBeWritten]
[45:29][Run the game and try out the resize interaction]
[45:55][Consider how best to resize bitmaps directly without using the alignment offset]
[48:15][handmade_render_group.cpp: Implement the ability to turn the alignment off]
[50:57][Run the game and find it's correctly resizing]
[51:21][handmade_debug.cpp: Draw the Bounds of the guy]
[51:53][Run the game and consider the aspect ratio]
[53:03][handmade_debug.cpp: Implement the same resizing for the bitmap as for the font]
[55:53][Run the game and find that the resizing works much better]
[59:04][Q&A][:speech]
[1:00:57][@ingenero][Maybe I'm misunderstanding, but is it desired behavior for the "tear" feature to tear all groups below it even if they are on the same level in the hierarchy? I would think you would only want to tear the current group and subgroups, not other groups on the same level. For example, you wouldn't want the "profile" group to get torn when you tear the "particles" group]
[1:02:16][@boondoggle42][If I bought a ticket for the Con that I can't use, can I donate it to someone?]
[1:02:34][@evraire][Can the new bitmap display be torn off as well?]
[1:03:02][handmade_debug.cpp: Allow the bitmap to have an ItemInteraction]
[1:05:39][@insofaras][Is it worth doing so much UI work if the game will not feature much UI?]
[1:07:12][@TheSizik][Can you add variables to change the match vectors?]
[1:08:34][@branigor][Will there be a menu system like pressing start in Zelda to change items? Nothing fancy, but just something to get us started on how to do it]
[1:09:56][Assume that we have Q:'d out][:speech]
[/video]
