[video output=day248 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Cleaning Up Data Block Display" vod_platform=youtube id=Thr10pFx984 annotator=Miblo annotator=ffsjs]
[1:02][Launch the code, build the game, recap and set the stage for the day]
[2:39][handmade_debug_interface.h: Reacquaint ourselves with the debug system]
[6:21]["We set ourselves up for success"][quote 403]
[6:40][handmade_debug_interface.h and handmade_debug.cpp: Prune irrelevant stuff]
[8:15][4coder: Demo some editing movements / commands and promote 4coder's power]
[9:44][handmade_debug.cpp: Note how GetOrCreateDebugViewFor gives us a way to lookup the debug view for a given ID]
[10:30][Consider ways to develop the debug system]
[21:37][handmade_debug.cpp: Reorder functions and consider how the system currently works]
[24:19][Run the game and look at the debug visualisation]
[26:20][Debugger: Step into CollateDebugRecords, inspect the Event data and walk through what the system is doing]
[33:31][Propose cleaning up the way we build and store these debug events]
[38:39][Consider no longer storing data blocks as data blocks, but making it part of a standing structure]
[43:37][handmade_debug.cpp: Prevent the OpenDataBlock and CloseDataBlock from getting printed and increment events]
[47:37][Run the game and see our hierarchical debug view]
[48:18][handmade_debug.cpp: Make the debug view collapsible]
[56:11][Run the game and try out our newly collapsible debug view]
[58:29][handmade_debug.cpp: Truncate the event name in DEBUGEventToText]
[1:00:57][Run the game and see our partially truncated event names]
[1:01:34][handmade_debug.cpp: Check for Flags & DEBUGVarToText_AddValue and add an AddValue flag to handmade_debug.h]
[1:03:06][Run the game and see our fully truncated event names]
[1:03:16][handmade.cpp: Stuff all of our control variables under #if HANDMADE_INTERNAL from handmade_config.h]
[1:05:47][Run the game and see all of our values in the debug view]
[1:07:08][Q&A][:speech]
[1:07:33][@Hotspur_][The "Per Frame arena space remaining" debug counter is always going down! Is this okay?]
[1:08:08][@Garryjohanson][You mentioned a book that introduces relational databases. I lost the link[ref
    site="Jim Gray and Andreas Reuter"
    page="Transaction Processing: Concepts and Techniques"
    url="http://store.elsevier.com/product.jsp?isbn=9781558601901"]]
[1:08:34][@Fyoucon][Will you re-implement the profiler?]
[1:10:46][@dino27_1988][Casey, how do you easily implement the standard output without using the iostream library?]
[1:11:32][@DudeInBasement1][Which do you prefer and why? #if #ifdef #if defined()?]
[1:12:29][@dino27_1988][Can you tell me the version of what you just said, but for Linux (and not Windows)? I'm on Arch]
[1:14:21][@erdomina][In terms of interaction with the debug settings, what do you have in mind for modifying the values? Switches or sliders?]
[1:14:48][@trueblue32][What does a for each loop do?]
[1:16:15][@AdiAdiABXze][Not related to today's topic: when do you think you will be designing your game instead of writing the engine?]
[1:17:13][@trueblue32][What language do you think is best for programming games?]
[1:18:44][@ezysigh][The handles are just int ids numbered from 0, which map to per-process fd-table in kernel space]
[1:19:11][@dino27_1988][Will you consider using Jon's language soon? Even just for trying stuff?]
[1:19:34][Close down, thank you][:speech]
[/video]
