Handmade Hero»Episode Guide
Run-time Editing of Debug Hierarchies
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
2:18Recap and set the stage for the day
2:18Recap and set the stage for the day
2:18Recap and set the stage for the day
4:31handmade_debug.h: Introduce debug_variable_reference
4:31handmade_debug.h: Introduce debug_variable_reference
4:31handmade_debug.h: Introduce debug_variable_reference
8:04handmade_debug_variables.h: Introduce DEBUGAddUnreferencedVariable
8:04handmade_debug_variables.h: Introduce DEBUGAddUnreferencedVariable
8:04handmade_debug_variables.h: Introduce DEBUGAddUnreferencedVariable
9:43handmade_debug.h: Add debug_variable *Var to debug_variable_reference
9:43handmade_debug.h: Add debug_variable *Var to debug_variable_reference
9:43handmade_debug.h: Add debug_variable *Var to debug_variable_reference
9:51handmade_debug_variables.h: Introduce DEBUGAddVariableReference
9:51handmade_debug_variables.h: Introduce DEBUGAddVariableReference
9:51handmade_debug_variables.h: Introduce DEBUGAddVariableReference
12:15handmade_debug_variables.h: Clean up compile errors
12:15handmade_debug_variables.h: Clean up compile errors
12:15handmade_debug_variables.h: Clean up compile errors
14:11handmade_debug.cpp: Propagate Ref out
14:11handmade_debug.cpp: Propagate Ref out
14:11handmade_debug.cpp: Propagate Ref out
16:16Compile and see that it still works
16:16Compile and see that it still works
16:16Compile and see that it still works
16:35handmade_debug_variables.h: Try adding a UseDebugCamRef into two different groups
16:35handmade_debug_variables.h: Try adding a UseDebugCamRef into two different groups
16:35handmade_debug_variables.h: Try adding a UseDebugCamRef into two different groups
18:06Run the game and see UseDebugCam in two groups
18:06Run the game and see UseDebugCam in two groups
18:06Run the game and see UseDebugCam in two groups
18:51handmade_debug.cpp: Implement the ability to have more than one debug_variable_hierarchy
18:51handmade_debug.cpp: Implement the ability to have more than one debug_variable_hierarchy
18:51handmade_debug.cpp: Implement the ability to have more than one debug_variable_hierarchy
24:26handmade_debug.cpp: Introduce AddHierarchy
24:26handmade_debug.cpp: Introduce AddHierarchy
24:26handmade_debug.cpp: Introduce AddHierarchy
27:32handmade_debug.cpp: Write the Hierarchy doubly-linked list
27:32handmade_debug.cpp: Write the Hierarchy doubly-linked list
27:32handmade_debug.cpp: Write the Hierarchy doubly-linked list
29:42Debugger: Step in to AddHierarchy
29:42Debugger: Step in to AddHierarchy
29:42Debugger: Step in to AddHierarchy
31:15handmade_debug.cpp: Call AddHierarchy in the correct place
31:15handmade_debug.cpp: Call AddHierarchy in the correct place
31:15handmade_debug.cpp: Call AddHierarchy in the correct place
32:27Run the game and find things in better shape
32:27Run the game and find things in better shape
32:27Run the game and find things in better shape
32:58handmade_debug.cpp: Implement the ability to tear items off the menu
32:58handmade_debug.cpp: Implement the ability to tear items off the menu
32:58handmade_debug.cpp: Implement the ability to tear items off the menu
38:59handmade_debug.cpp: Implement DebugInteraction_TearValue
38:59handmade_debug.cpp: Implement DebugInteraction_TearValue
38:59handmade_debug.cpp: Implement DebugInteraction_TearValue
41:14handmade_debug.variables.h: Introduce DEBUGAddRootGroup
41:14handmade_debug.variables.h: Introduce DEBUGAddRootGroup
41:14handmade_debug.variables.h: Introduce DEBUGAddRootGroup
45:08handmade_debug.cpp: Call DEBUGAddRootGroup
45:08handmade_debug.cpp: Call DEBUGAddRootGroup
45:08handmade_debug.cpp: Call DEBUGAddRootGroup
47:12handmade_debug_variables.h: Make DEBUGAddVariableReference take debug_variable *Group
47:12handmade_debug_variables.h: Make DEBUGAddVariableReference take debug_variable *Group
47:12handmade_debug_variables.h: Make DEBUGAddVariableReference take debug_variable *Group
50:11handmade_debug.cpp: Call DEBUGAddVariableReference
50:11handmade_debug.cpp: Call DEBUGAddVariableReference
50:11handmade_debug.cpp: Call DEBUGAddVariableReference
51:04handmade_debug_variables.h: Make DEBUGAddRootGroup add a debug_variable_reference
51:04handmade_debug_variables.h: Make DEBUGAddRootGroup add a debug_variable_reference
51:04handmade_debug_variables.h: Make DEBUGAddRootGroup add a debug_variable_reference
52:00handmade_debug_variables.h: Introduce a new DEBUGAddRootGroup and rename the original to DEBUGAddRootGroupInternal
52:00handmade_debug_variables.h: Introduce a new DEBUGAddRootGroup and rename the original to DEBUGAddRootGroupInternal
52:00handmade_debug_variables.h: Introduce a new DEBUGAddRootGroup and rename the original to DEBUGAddRootGroupInternal
54:47Run the game and test out our new tearing ability
54:47Run the game and test out our new tearing ability
54:47Run the game and test out our new tearing ability
55:45handmade_debug.cpp and handmade_debug.h: Introduce DebugInteraction_MoveHierarchy
55:45handmade_debug.cpp and handmade_debug.h: Introduce DebugInteraction_MoveHierarchy
55:45handmade_debug.cpp and handmade_debug.h: Introduce DebugInteraction_MoveHierarchy
57:25handmade_debug.cpp: Draw a MoveBox for each Hierarchy
57:25handmade_debug.cpp: Draw a MoveBox for each Hierarchy
57:25handmade_debug.cpp: Draw a MoveBox for each Hierarchy
58:41handmade_debug.cpp: Implement the ability to move that Hierarchy
58:41handmade_debug.cpp: Implement the ability to move that Hierarchy
58:41handmade_debug.cpp: Implement the ability to move that Hierarchy
59:31handmade_debug.h: Add debug_hierarchy *NextHotHierarchy to debug_state
59:31handmade_debug.h: Add debug_hierarchy *NextHotHierarchy to debug_state
59:31handmade_debug.h: Add debug_hierarchy *NextHotHierarchy to debug_state
1:02:14Debugger: Step in to DraggingHierarchy
1:02:14Debugger: Step in to DraggingHierarchy
1:02:14Debugger: Step in to DraggingHierarchy
1:02:58handmade_debug.cpp: Clear NextHotHierarchy
1:02:58handmade_debug.cpp: Clear NextHotHierarchy
1:02:58handmade_debug.cpp: Clear NextHotHierarchy
1:03:14handmade_debug.cpp: Introduce DEBUGTextLine to display when we are interacting
1:03:14handmade_debug.cpp: Introduce DEBUGTextLine to display when we are interacting
1:03:14handmade_debug.cpp: Introduce DEBUGTextLine to display when we are interacting
1:04:22handmade_debug.cpp: Make the check be on HotInteraction
1:04:22handmade_debug.cpp: Make the check be on HotInteraction
1:04:22handmade_debug.cpp: Make the check be on HotInteraction
1:05:25Run the game and try that again
1:05:25Run the game and try that again
1:05:25Run the game and try that again
1:05:55handmade_debug.cpp: Move Assert(Var)
1:05:55handmade_debug.cpp: Move Assert(Var)
1:05:55handmade_debug.cpp: Move Assert(Var)
1:06:22Run the game and check out our tearing and moving abilities
1:06:22Run the game and check out our tearing and moving abilities
1:06:22Run the game and check out our tearing and moving abilities
1:07:00Q&A
🗩
1:07:00Q&A
🗩
1:07:00Q&A
🗩
1:07:47Connor_Rentz No questions
🗪
1:07:47Connor_Rentz No questions
🗪
1:07:47Connor_Rentz No questions
🗪
1:08:04elxenoaizd You mentioned that encapsulation is good but not in the OOP way. Could you elaborate then in which way you mean?
🗪
1:08:04elxenoaizd You mentioned that encapsulation is good but not in the OOP way. Could you elaborate then in which way you mean?
🗪
1:08:04elxenoaizd You mentioned that encapsulation is good but not in the OOP way. Could you elaborate then in which way you mean?
🗪
1:09:09insofaras Are the menu items spaced evenly vertically? Looks a bit odd to me
🗪
1:09:09insofaras Are the menu items spaced evenly vertically? Looks a bit odd to me
🗪
1:09:09insofaras Are the menu items spaced evenly vertically? Looks a bit odd to me
🗪
1:09:25handmade_debug.cpp: Use LineAdvance to space the lines
1:09:25handmade_debug.cpp: Use LineAdvance to space the lines
1:09:25handmade_debug.cpp: Use LineAdvance to space the lines
1:16:49adamantoise17 Why is there so much lag / latency when dragging the hierarchies around? Or is that just Twitch streaming artifacts?
🗪
1:16:49adamantoise17 Why is there so much lag / latency when dragging the hierarchies around? Or is that just Twitch streaming artifacts?
🗪
1:16:49adamantoise17 Why is there so much lag / latency when dragging the hierarchies around? Or is that just Twitch streaming artifacts?
🗪
1:18:08blah238 Are the different tear-offs intended to have identical hierarchies or is the intention that you drill down into different things without all the tear-offs being affected?
🗪
1:18:08blah238 Are the different tear-offs intended to have identical hierarchies or is the intention that you drill down into different things without all the tear-offs being affected?
🗪
1:18:08blah238 Are the different tear-offs intended to have identical hierarchies or is the intention that you drill down into different things without all the tear-offs being affected?
🗪
1:19:12APlethora I noticed you use the internal keyword. I haven't seen it before. What is its purpose?
🗪
1:19:12APlethora I noticed you use the internal keyword. I haven't seen it before. What is its purpose?
🗪
1:19:12APlethora I noticed you use the internal keyword. I haven't seen it before. What is its purpose?
🗪
1:19:23theGeekPirate I apologize since I came in late, but out of curiosity, what was the tolerance (in pixels) you used for dragging out a subsection?
🗪
1:19:23theGeekPirate I apologize since I came in late, but out of curiosity, what was the tolerance (in pixels) you used for dragging out a subsection?
🗪
1:19:23theGeekPirate I apologize since I came in late, but out of curiosity, what was the tolerance (in pixels) you used for dragging out a subsection?
🗪
1:19:38mojo123X You mentioned that for linked lists at work you use metaprogramming. What did you mean?
🗪
1:19:38mojo123X You mentioned that for linked lists at work you use metaprogramming. What did you mean?
🗪
1:19:38mojo123X You mentioned that for linked lists at work you use metaprogramming. What did you mean?
🗪
1:19:51Outcastedbird I missed 90% of the stream, so I missed a ton. I just want to ask what are some tips for people who want to get into designing games? Dos and Don'ts and simple things that are worthwhile
🗪
1:19:51Outcastedbird I missed 90% of the stream, so I missed a ton. I just want to ask what are some tips for people who want to get into designing games? Dos and Don'ts and simple things that are worthwhile
🗪
1:19:51Outcastedbird I missed 90% of the stream, so I missed a ton. I just want to ask what are some tips for people who want to get into designing games? Dos and Don'ts and simple things that are worthwhile
🗪
1:20:02APlethora Does anyone know if there is plans in the future to add other platform support to this project?
🗪
1:20:02APlethora Does anyone know if there is plans in the future to add other platform support to this project?
🗪
1:20:02APlethora Does anyone know if there is plans in the future to add other platform support to this project?
🗪
1:20:23elxenoaizd Have you ever written anything for the PS1? (I think Jeff mentioned he used to do some stuff in a J&C episode?)
🗪
1:20:23elxenoaizd Have you ever written anything for the PS1? (I think Jeff mentioned he used to do some stuff in a J&C episode?)
🗪
1:20:23elxenoaizd Have you ever written anything for the PS1? (I think Jeff mentioned he used to do some stuff in a J&C episode?)
🗪
1:20:27blah238 Have you ever played any of the Space Quest games? The music for the video on the Handmade Hero site reminds me of it a lot
🗪
1:20:27blah238 Have you ever played any of the Space Quest games? The music for the video on the Handmade Hero site reminds me of it a lot
🗪
1:20:27blah238 Have you ever played any of the Space Quest games? The music for the video on the Handmade Hero site reminds me of it a lot
🗪
1:20:47MartinCohen Do you plan doing something with the character spacing in the text renderer?
🗪
1:20:47MartinCohen Do you plan doing something with the character spacing in the text renderer?
🗪
1:20:47MartinCohen Do you plan doing something with the character spacing in the text renderer?
🗪
1:21:02Angrycrow Is 'sentinel' a design pattern that will help with making the torn instances of the UI independent, or is that terminology that you've gained in years of tool development? Now that I understand what you meant by 'tearing' the interface, it seems really useful for isolating instances of hierarchies
🗪
1:21:02Angrycrow Is 'sentinel' a design pattern that will help with making the torn instances of the UI independent, or is that terminology that you've gained in years of tool development? Now that I understand what you meant by 'tearing' the interface, it seems really useful for isolating instances of hierarchies
🗪
1:21:02Angrycrow Is 'sentinel' a design pattern that will help with making the torn instances of the UI independent, or is that terminology that you've gained in years of tool development? Now that I understand what you meant by 'tearing' the interface, it seems really useful for isolating instances of hierarchies
🗪
1:21:31Longboolean Not a huge deal, but the labels no longer show if clicking them will expand or minimize them. Also at a glance it is not clear what is a category and what is a var
🗪
1:21:31Longboolean Not a huge deal, but the labels no longer show if clicking them will expand or minimize them. Also at a glance it is not clear what is a category and what is a var
🗪
1:21:31Longboolean Not a huge deal, but the labels no longer show if clicking them will expand or minimize them. Also at a glance it is not clear what is a category and what is a var
🗪
1:21:48plain_flavored Which game console had the worst SDK?
🗪
1:21:48plain_flavored Which game console had the worst SDK?
🗪
1:21:48plain_flavored Which game console had the worst SDK?
🗪
1:22:16Wrap it up
🗩
1:22:16Wrap it up
🗩
1:22:16Wrap it up
🗩