[video output=day197 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Integrating Multiple Debug Views" vod_platform=youtube id=ovXGlv7Y9wo annotator=Miblo annotator=debiatan]
[0:09][No plan for today. We will pull together the debug UI code but we still don't know how]
[1:45][Current state of the debug UI]
[2:21][We want to bring the debug system to closure, to modify it so that it's convenient to use in the future]
[3:24]["Oh games, they're so wacky and weird"][quote 265]
[3:29][We will try to unify the debug UI and the profile view]
[4:00][We could integrate the profile display as an element of the debug variable hierarchy]
[4:41][Introducing a new debug_variable_type enumerand for the profile system]
[5:22][Reviewing the structure of the profile display code to think on how to integrate it]
[7:52][Rethinking the profile enumerands]
[9:03][Adding the profile display to the hierarchy by making the debug_variable_definition_context explicit]
[12:36][We won't be turning these new variables into text]
[13:21][Filtering out profile counter variables so that they're not written to the handmade config header file]
[14:34][We need to generalize the rendering of UI elements to take into account the profile display]
[17:10][Inserting the profile display into the hierarchy]
[17:46][Defining the bounds of the profile display]
[19:59][Drawing the profile display into those bounds]
[22:46]["Meh nnn hh meh"][quote 266]
[24:12][AtY will now denote the upper-left corner of an element, not the baseline of the text]
[26:04][Debugging the placement of the UI items]
[34:35][Their positioning is still a bit faulty]
[34:55][Collapsing the profile view]
[36:14][Finishing the text positioning]
[37:22][The text strings line up properly now]
[38:34][Including a second profile display to list show counters by function]
[39:44][We want to be able to resize the profile views]
[42:25][We'll introduce a small handle so that the user can resize them]
[45:35][There are several ways to treat the resize handler. We will let the caller suggest the interaction that should be performed]
[49:28][If the click happens inside the resize rectangle, we set the HotInteraction to resize the profile view]
[51:45][Highlighting the resize control when hovered upon]
[52:45][Interacting with the resize control]
[54:00][Debugging the new code]
[56:01][It's working!]
[56:24][Normally we would set the size of the display by measuring the distance from the point where the down-click happened to the current position, but this is internal debug code]
[57:53][Introducing a root group]
[58:45][Q&A][:speech]
[59:19][@panic00][Do you think this way of structuring UI code could be used to build a full application, or is it just useful for debug UIs? What extra things do you think you'd need to add to make it useful for a full app UI?]
[1:02:10][@Connor_Rentz][Were you nervous the first time you streamed Handmade Hero?]
[1:03:58][@thebiggianthead2][What do you think about GCC and its dbg?]
[1:04:51][@Ikkir_Isth][Did you ever get your IRC fixed to show names again?]
[1:05:07][@Archrofl][Have you considered working at Valve? What is your opinion of them and their structure?]
[1:08:05][@coreactivities][What will the game look like in ~25 episodes?]
[1:09:54][@DrTwox][Will you be using profiling tools (like gperf) to find hot spots in the code, or rely on your own debug system only?]
[1:12:11][@thebiggianthead2][Have you met Michael Abrash or Carmack in person?]
[1:13:38][@odin607][Are you going to see The Martian?]
[1:14:11][@Ikkir_Isth][You talked about projects you'd like to program. We are seeing a bunch of space games now after being without decent ones for a while. Are you interested in space games at all?]
[1:16:17][@powerc9k][Kerbal Space Program?]
[1:16:49][@Lkey144][When is the next Casey drink+game night?]
[1:17:26][@graeme7][Star Citizen is crashing and burning]
[1:19:36][@coreactivities][How did you end up working on The Witness, and what is it like to get jobs as a 'freelancer'?]
[1:20:30][@StarchyPancakes][If Star Citizen _does_ end up delivering, do you think it has the potential to change the current publisher AAA model or do you think it will be a one-shot regardless of its success?]
[1:21:42][Start to wind it down][:speech]
[1:23:22][@Popcorn0x90][Wait, is there a limit?]
[1:24:47][Finish winding it down][:speech]
[/video]
