[video output=day253 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Reenabling More Debug UI" vod_platform=youtube id=aK-E-D-jvds annotator=Miblo]
[1:14][Run the game, try out the debug system and set the stage for the day]
[3:27][build.bat: Switch to -Od]
[4:09][handmade_debug.cpp: Change StartAtLastSlash to ShowEntireGUID]
[5:46][handmade_debug_interface.h: Consider excising the debug_id in favour of the debug_element pointer]
[11:27][Apologise to the DebugIDs][quote 417]
[13:25][Run the game, note that the DebugID does work to toggle and investigate why highlighting does not work]
[16:53][Debugger: Step into DEBUGDrawEvent and inspect the values being passed to InteractionsAreEqual]
[19:22][handmade_debug.cpp: DEBUGDrawElement]
[20:33][Debugger: Break on the InteractionIsHot call in DEBUGDrawEvent and watch the value of Generic]
[22:46][Apologise to the man in the tree][quote 418]
[23:35][handmade_debug.cpp: Replace debug_stored_event with debug_element]
[27:10][Run the game and commit an access violation]
[27:37][handmade_debug.cpp: Conditionally set the Event in DEBUGInteract]
[27:54][Run the game and see that our highlighting now works]
[28:19][handmade_debug.cpp: Call DEBUGMarkEditedEvent in DEBUGInteract]
[29:21][handmade_debug.cpp: Implement DEBUGMarkEditedEvent]
[30:57][Run the game and edit the DebugDistance]
[31:57][handmade_debug.cpp: Re-enable tearing]
[40:38][handmade_debug.cpp: Call CreateVariableGroup in the TearValue case]
[42:57][handmade_debug.h: Introduce CloneVariableGroup]
[44:17][handmade_debug.cpp: Do the TearValue ItemInteraction if we're using the AltUI]
[46:43][Debugger: Break into the debug system and note that it is working the way it used to work]
[48:36][handmade_debug.cpp: Implement CloneVariableLink]
[53:20]["We clone because we care"][quote 419]
[54:07][handmade_debug.cpp: Implement CloneVariableGroup]
[56:35][Run the game and commit an access violation]
[58:45][Hear the helicopters outside][quote 420]
[59:01][Debugger: Step into CloneVariableGroup and inspect the Result]
[1:01:11][handmade_debug.cpp: Replace SubGroup with Dest->Children in CloneVariableLink]
[1:01:35][Run the game and tear off some elements]
[1:04:04][Q&A][:speech]
[1:04:48][@diaboiix17][Dude's still up there, just to let you know]
[1:04:55][@andsz_][The guy actually thought it was a binary tree and that he would be on the ground if he gets to the leaves...]
[1:05:36][@dudeinbasement1][What is the debug code to other code ratio now?]
[1:07:20][@thesizik][What happens if you try to modify a dynamic variable, e.g. player position?]
[1:08:48][@brokenopcode][In CloneVariableGroup() ... sizeof (Name) - 1, should this be the string length, not size of pointer - 1?]
[1:09:11][handmade_debug.cpp: Pass the correct calculation to CreateVariableGroup in CloneVariableGroup]
[1:10:34][Wrap it up][:speech]
[/video]
