[video 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]