[video output=day194 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Organizing Debug Variables into a Hierarchy" vod_platform=youtube id=00bRntapIAk annotator=Miblo annotator=Kelimion]
[0:09][Announcement: HandmadeCon 2015]
[13:40][Set the stage for the day]
[15:24][Recap where we left off]
[16:51][Request some features]
[19:11][Coin a phrase][quote 258]
[21:17][Take a look at the current debug code]
[25:17][handmade_debug_variables.h: Introduce DEBUGCreateVariables][quote 259]
[27:12][handmade_debug_variables.h: Implement the ability to create groups of variables]
[34:33][handmade_debug.h: Introduce debug_variable_group and debug_group]
[38:50][handmade_debug_variables.h: Write DEBUGBeginVariableGroup and DEBUGAddVariable]
[45:36][handmade_debug_variables.h: Write DEBUGEndVariableGroup]
[46:09][handmade_debug_variables.h: Create debug_variable_definition_context]
[47:55][handmade_debug.cpp: Call DEBUGCreateVariables]
[50:35][handmade_debug.h: Add debug_variable *RootGroup to debug_state]
[51:43][handmade_debug.cpp: Introduce WriteHandmadeConfig]
[57:45][handmade_debug.cpp: Clean up compile errors]
[58:24][handmade_debug.cpp: Call WriteHandmadeConfig]
[58:49][Debugger: Step into WriteHandmadeConfig]
[1:00:19][handmade_config.h: Look at the file we wrote out]
[1:00:51][handmade_debug.cpp: Reinsert DEBUGUI_ at the front of the debug variables]
[1:01:21][Debugger: Continue stepping through]
[1:01:42][handmade_debug.cpp: Recap what we've done]
[1:02:57][Q&A][:speech]
[1:03:33][@elxenoaizd][Can we make it an option to toggle between optimized and debug builds from the debug menu?]
[1:05:19][@ifingerbangedurcat][Can you run the tool to see how many lines of code we have?]
[1:05:39][@elxenoaizd][Wouldn't it be prettier visually in our config files to be indented according to their group depth, that way we know which variables belong to which group? (i.e. variables in the root group don't have any indentation, group depth 1 will have a single level of indentation etc.)]
[1:09:40][@longboolean][Linux / OS X Support \[see Resources\]]
[1:10:23][@registerat1on][Do you have any add-ons that you are using with emacs? Is it something like spacemacs?]
[1:10:35][@Connor_Rentz][Off topic question: Are you using your razer on stream?]
[1:11:07][@JustCGR][Not running the game today?]
[1:11:16][@elxenoaizd][Was the intro talk about HandmadeCon included as part of the main hour of the stream?]
[1:11:24][@zouchk42][Switching between debug and optimized mode would not need a restart of the whole game?]
[1:11:52][@aceflameseer][Can we sometimes see you play a game on twitch, like Jon does? Just a chill out stream. Would love to hear your opinion on many different games]
[1:12:20][@Kemosabe76][What about a Handmade Certification for games? A badge of honour, could be placed in a splash screen or in the credits. Products use certifications, e.g. Australian Made. Could be organised at the conference]
[1:13:32][@powerc9k][Thanks to you, I was able to implement dynamic code reloading for my project too! Saving me a ton of time]
[1:13:46][@Naysayer88][Why Do I Have No Straem. I payed the micropayment]
[1:14:28][handmade_platform.h: Implement the suggestions from the forums to enable SDL Handmade to run on Linux and OS X[ref
    site="Handmade Hero Forums"
    page="Linux / OS X Support"
    url="https://hero.handmade.network/forums/code-discussion/t/858-linux_os_x_support"]]
[1:21:23][@Stephenlast][Does the idea for having your compile_switch / variable_switch speed cake involve compiling code out with "if(0)"?]
[1:21:45][@Naysayer88][Why dont you use lua are you dumb]
[1:22:47][@registerat1on][How do you handle multithreading?]
[1:23:02][@rumcode][Q: You inspired me to forget about my years of commercial experience writing RMGUIs and go and implement an IMGUI for my game engine. I love coding again!]
[1:23:16][@Miblo][@elxenoaizd: Someone asked a Q: about PushStruct on that day, so I'm guessing Casey MIGHT have introduced it then]
[1:23:23][@insobot][Q: Damn?]
[1:23:27][@ud][How long have you been making games?]
[1:23:47][@nxsy][Check unmatched parenthesis in #elif in ThreadID extraction]
[1:24:07][@cubercaleb][What?]
[1:24:12][@registerat1on][Does streaming your development motivate you to do more / or more consistently?]
[1:24:36][@effect0r][Did you use _snprintf or sprintf? The define is saying "change snprintf to _snprintf"]
[1:25:18][@registerat1on][Do you use any type of documentation or design for this project? What types of documents have you produced / planning to produce for this project?]
[1:26:02][Wrap it up][:speech]
[/video]
