Handmade Hero»Episode Guide
Displaying Buffered Debug Data
?
?

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)
0:53Adjust the chairα
0:53Adjust the chairα
0:53Adjust the chairα
1:46Recap where we left off
1:46Recap where we left off
1:46Recap where we left off
3:37handmade_debug.cpp: Implement the various DebugEvents
3:37handmade_debug.cpp: Implement the various DebugEvents
3:37handmade_debug.cpp: Implement the various DebugEvents
10:20handmade_debug.cpp: Introduce EventsMatch
10:20handmade_debug.cpp: Introduce EventsMatch
10:20handmade_debug.cpp: Introduce EventsMatch
11:42handmade_platform.h: Massage debug_event
11:42handmade_platform.h: Massage debug_event
11:42handmade_platform.h: Massage debug_event
13:20handmade_platform.h: Replace RecordDebugEventCommon with RecordDebugEvent
13:20handmade_platform.h: Replace RecordDebugEventCommon with RecordDebugEvent
13:20handmade_platform.h: Replace RecordDebugEventCommon with RecordDebugEvent
14:05handmade_debug.cpp: Massage these DebugEvents
14:05handmade_debug.cpp: Massage these DebugEvents
14:05handmade_debug.cpp: Massage these DebugEvents
14:40handmade_debug.cpp: Make DeallocateOpenDebugBlock take **FirstOpenBlock
14:40handmade_debug.cpp: Make DeallocateOpenDebugBlock take **FirstOpenBlock
14:40handmade_debug.cpp: Make DeallocateOpenDebugBlock take **FirstOpenBlock
17:49handmade_debug.cpp: Fix compile errors
17:49handmade_debug.cpp: Fix compile errors
17:49handmade_debug.cpp: Fix compile errors
19:05Run the game and see the same results
19:05Run the game and see the same results
19:05Run the game and see the same results
19:25handmade_debug_variables.h: Generate DEBUGAddVariables dynamically
19:25handmade_debug_variables.h: Generate DEBUGAddVariables dynamically
19:25handmade_debug_variables.h: Generate DEBUGAddVariables dynamically
27:04handmade_debug.cpp: Implement the variable adding stuff
27:04handmade_debug.cpp: Implement the variable adding stuff
27:04handmade_debug.cpp: Implement the variable adding stuff
29:45handmade_debug.cpp: Make DEBUGBeginVariableGroup take the DebugState
29:45handmade_debug.cpp: Make DEBUGBeginVariableGroup take the DebugState
29:45handmade_debug.cpp: Make DEBUGBeginVariableGroup take the DebugState
31:03handmade_debug.cpp: Rename DEBUGAddVariable to CollateCreateVariable and DEBUGBeginVariableGroup to CollateCreateVariableGroup
31:03handmade_debug.cpp: Rename DEBUGAddVariable to CollateCreateVariable and DEBUGBeginVariableGroup to CollateCreateVariableGroup
31:03handmade_debug.cpp: Rename DEBUGAddVariable to CollateCreateVariable and DEBUGBeginVariableGroup to CollateCreateVariableGroup
32:06handmade_debug.cpp: Introduce CollateAddVariableGroup
32:06handmade_debug.cpp: Introduce CollateAddVariableGroup
32:06handmade_debug.cpp: Introduce CollateAddVariableGroup
33:02handmade_debug.cpp: Bring DEBUGAddRootGroup into play
33:02handmade_debug.cpp: Bring DEBUGAddRootGroup into play
33:02handmade_debug.cpp: Bring DEBUGAddRootGroup into play
34:15handmade_debug.cpp: Massage DebugEvent_OpenDataBlock
34:15handmade_debug.cpp: Massage DebugEvent_OpenDataBlock
34:15handmade_debug.cpp: Massage DebugEvent_OpenDataBlock
37:30"Everyone is happy and smiling" (quote 280)
37:30"Everyone is happy and smiling" (quote 280)
37:30"Everyone is happy and smiling" (quote 280)
37:56handmade_debug.cpp: Introduce CollateCreateGroupedVariable
37:56handmade_debug.cpp: Introduce CollateCreateGroupedVariable
37:56handmade_debug.cpp: Introduce CollateCreateGroupedVariable
39:47Debugger: See what's getting passed to the DebugBlock
39:47Debugger: See what's getting passed to the DebugBlock
39:47Debugger: See what's getting passed to the DebugBlock
41:55handmade_debug.cpp: Correct typo
41:55handmade_debug.cpp: Correct typo
41:55handmade_debug.cpp: Correct typo
42:20Run the game and see that we're working
42:20Run the game and see that we're working
42:20Run the game and see that we're working
42:44handmade_debug.cpp: Provide a way to view the RootGroup per frame
42:44handmade_debug.cpp: Provide a way to view the RootGroup per frame
42:44handmade_debug.cpp: Provide a way to view the RootGroup per frame
44:15handmade_debug.cpp: Make DEBUGDrawMainMenu display everything expanded by default
44:15handmade_debug.cpp: Make DEBUGDrawMainMenu display everything expanded by default
44:15handmade_debug.cpp: Make DEBUGDrawMainMenu display everything expanded by default
45:21handmade_debug.cpp: Set debug_variable *Group = Tree->Group and conditionally override the Group
45:21handmade_debug.cpp: Set debug_variable *Group = Tree->Group and conditionally override the Group
45:21handmade_debug.cpp: Set debug_variable *Group = Tree->Group and conditionally override the Group
48:15Run the game and see what it's printing
48:15Run the game and see what it's printing
48:15Run the game and see what it's printing
48:55handmade_debug.cpp: Investigate why we're printing out so many RootGroups
48:55handmade_debug.cpp: Investigate why we're printing out so many RootGroups
48:55handmade_debug.cpp: Investigate why we're printing out so many RootGroups
51:30Debugger: Step into FirstOpenDataBlock to determine that our Events aren't matching and why
51:30Debugger: Step into FirstOpenDataBlock to determine that our Events aren't matching and why
51:30Debugger: Step into FirstOpenDataBlock to determine that our Events aren't matching and why
53:24handmade_platform.h: Consider removing the concept of EventsMatch
53:24handmade_platform.h: Consider removing the concept of EventsMatch
53:24handmade_platform.h: Consider removing the concept of EventsMatch
56:16Debugger: Run and find that we hit a first-chance exception when we wrap
56:16Debugger: Run and find that we hit a first-chance exception when we wrap
56:16Debugger: Run and find that we hit a first-chance exception when we wrap
56:52Debugger: Inspect the RootGroup
56:52Debugger: Inspect the RootGroup
56:52Debugger: Inspect the RootGroup
58:44Debugger: Step through RestartCollation
58:44Debugger: Step through RestartCollation
58:44Debugger: Step through RestartCollation
59:58handmade_debug.cpp: Test for HackyGroup
59:58handmade_debug.cpp: Test for HackyGroup
59:58handmade_debug.cpp: Test for HackyGroup
1:00:58handmade_debug.cpp: Provide the ability in CollateDebugRecords to break at frame 31
1:00:58handmade_debug.cpp: Provide the ability in CollateDebugRecords to break at frame 31
1:00:58handmade_debug.cpp: Provide the ability in CollateDebugRecords to break at frame 31
1:01:54Debugger: Step into CollateDebugRecords and inspect the data
1:01:54Debugger: Step into CollateDebugRecords and inspect the data
1:01:54Debugger: Step into CollateDebugRecords and inspect the data
1:03:51handmade_platform.h: Determine that we wrap the array when we hit frame 32
1:03:51handmade_platform.h: Determine that we wrap the array when we hit frame 32
1:03:51handmade_platform.h: Determine that we wrap the array when we hit frame 32
1:05:35handmade_debug.cpp: Make RestartCollation happen one frame earlier
1:05:35handmade_debug.cpp: Make RestartCollation happen one frame earlier
1:05:35handmade_debug.cpp: Make RestartCollation happen one frame earlier
1:06:06Run the game and see that the entity picker is working
1:06:06Run the game and see that the entity picker is working
1:06:06Run the game and see that the entity picker is working
1:06:44Q&A
🗩
1:06:44Q&A
🗩
1:06:44Q&A
🗩
1:08:29Zamar037 We've been on the debug code for quite a while. How much longer do you think it will take before we're finished?
🗪
1:08:29Zamar037 We've been on the debug code for quite a while. How much longer do you think it will take before we're finished?
🗪
1:08:29Zamar037 We've been on the debug code for quite a while. How much longer do you think it will take before we're finished?
🗪
1:11:33Stephenlast Do you ever use data breakpoints? I find them helpful when some value is changing somewhere but you're not sure where
🗪
1:11:33Stephenlast Do you ever use data breakpoints? I find them helpful when some value is changing somewhere but you're not sure where
🗪
1:11:33Stephenlast Do you ever use data breakpoints? I find them helpful when some value is changing somewhere but you're not sure where
🗪
1:13:19JamesWidman Does the design of this debug system differ significantly from the debug systems you've worked on for other games?
🗪
1:13:19JamesWidman Does the design of this debug system differ significantly from the debug systems you've worked on for other games?
🗪
1:13:19JamesWidman Does the design of this debug system differ significantly from the debug systems you've worked on for other games?
🗪
1:13:43ChronalDragon (Not SUPER on topic, feel free to skip): How do you treat GL handles in your own code? Are they handled by the asset system or by something else?
🗪
1:13:43ChronalDragon (Not SUPER on topic, feel free to skip): How do you treat GL handles in your own code? Are they handled by the asset system or by something else?
🗪
1:13:43ChronalDragon (Not SUPER on topic, feel free to skip): How do you treat GL handles in your own code? Are they handled by the asset system or by something else?
🗪
1:14:30Call it
🗩
1:14:30Call it
🗩
1:14:30Call it
🗩
1:14:42Announcement: F2P discussion between Casey and Shawn McGrath after tomorrow's stream
🗩
1:14:42Announcement: F2P discussion between Casey and Shawn McGrath after tomorrow's stream
🗩
1:14:42Announcement: F2P discussion between Casey and Shawn McGrath after tomorrow's stream
🗩