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