Allowing Debug Value Edits
?
?

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)
1:32Recap and set the stage for the day
1:32Recap and set the stage for the day
1:32Recap and set the stage for the day
3:07Consider how to proceed in making the debug values editable
3:07Consider how to proceed in making the debug values editable
3:07Consider how to proceed in making the debug values editable
4:23handmade_debug_interface.h: Introduce DEBUGEditEvent in DEBUG_VALUE which allows setting the Event to a new value
4:23handmade_debug_interface.h: Introduce DEBUGEditEvent in DEBUG_VALUE which allows setting the Event to a new value
4:23handmade_debug_interface.h: Introduce DEBUGEditEvent in DEBUG_VALUE which allows setting the Event to a new value
8:22handmade_debug_interface.h: Introduce DEBUGValueGetEventData in DEBUG_VALUE and create function prototypes of it for all the types we need
8:22handmade_debug_interface.h: Introduce DEBUGValueGetEventData in DEBUG_VALUE and create function prototypes of it for all the types we need
8:22handmade_debug_interface.h: Introduce DEBUGValueGetEventData in DEBUG_VALUE and create function prototypes of it for all the types we need
10:584coder: Hit a bug while doing replace-in-region from v4 to rectangle2
10:584coder: Hit a bug while doing replace-in-region from v4 to rectangle2
10:584coder: Hit a bug while doing replace-in-region from v4 to rectangle2
14:344coder: Hit a bug loading the same buffer twice
14:344coder: Hit a bug loading the same buffer twice
14:344coder: Hit a bug loading the same buffer twice
16:45handmade_debug_interface.h: Reintroduce DEBUGValueGetEventData in DEBUG_VALUE, compile, receive compile errors as expected, and rewrite those DEBUGValueGetEventData function prototypes
16:45handmade_debug_interface.h: Reintroduce DEBUGValueGetEventData in DEBUG_VALUE, compile, receive compile errors as expected, and rewrite those DEBUGValueGetEventData function prototypes
16:45handmade_debug_interface.h: Reintroduce DEBUGValueGetEventData in DEBUG_VALUE, compile, receive compile errors as expected, and rewrite those DEBUGValueGetEventData function prototypes
20:36Note that the Entity->Type cannot be converted because it is an enum
20:36Note that the Entity->Type cannot be converted because it is an enum
20:36Note that the Entity->Type cannot be converted because it is an enum
22:21handmade_debug_interface.h: Make DEBUGValueGetEventData take an Ignored value
22:21handmade_debug_interface.h: Make DEBUGValueGetEventData take an Ignored value
22:21handmade_debug_interface.h: Make DEBUGValueGetEventData take an Ignored value
25:18handmade_debug_interface.h: Introduce DEBUGEditEventData in DEBUG_VALUE and DEBUG_B32 to update the Event if needed
25:18handmade_debug_interface.h: Introduce DEBUGEditEventData in DEBUG_VALUE and DEBUG_B32 to update the Event if needed
25:18handmade_debug_interface.h: Introduce DEBUGEditEventData in DEBUG_VALUE and DEBUG_B32 to update the Event if needed
26:57handmade_debug.cpp: Consider making GetElementFromEvent write the pointer to the debug element
26:57handmade_debug.cpp: Consider making GetElementFromEvent write the pointer to the debug element
26:57handmade_debug.cpp: Consider making GetElementFromEvent write the pointer to the debug element
30:02handmade_debug.cpp: Implement DEBUGEditEventData
30:02handmade_debug.cpp: Implement DEBUGEditEventData
30:02handmade_debug.cpp: Implement DEBUGEditEventData
41:16handmade_debug.cpp: Remove DEBUGEditEventData and simplify the system so all it needs to do is check if the two pointers for the GUIDs matchα
41:16handmade_debug.cpp: Remove DEBUGEditEventData and simplify the system so all it needs to do is check if the two pointers for the GUIDs matchα
41:16handmade_debug.cpp: Remove DEBUGEditEventData and simplify the system so all it needs to do is check if the two pointers for the GUIDs matchα
55:54"It's a little pointer-chasey"β
55:54"It's a little pointer-chasey"β
55:54"It's a little pointer-chasey"β
56:15Run the game and note that the values cannot be edited but that we are in good shape
56:15Run the game and note that the values cannot be edited but that we are in good shape
56:15Run the game and note that the values cannot be edited but that we are in good shape
57:19handmade_debug.cpp: Copy in the *Event DEBUGEndInteract and introduce the notion of OriginalGUID
57:19handmade_debug.cpp: Copy in the *Event DEBUGEndInteract and introduce the notion of OriginalGUID
57:19handmade_debug.cpp: Copy in the *Event DEBUGEndInteract and introduce the notion of OriginalGUID
1:02:11"Whoops, that function doesn't exist in 4coder yet, you can't call it, Casey!"γ
1:02:11"Whoops, that function doesn't exist in 4coder yet, you can't call it, Casey!"γ
1:02:11"Whoops, that function doesn't exist in 4coder yet, you can't call it, Casey!"γ
1:02:21handmade_debug.cpp: Make GetElementFromEvent store the OriginalGUID
1:02:21handmade_debug.cpp: Make GetElementFromEvent store the OriginalGUID
1:02:21handmade_debug.cpp: Make GetElementFromEvent store the OriginalGUID
1:05:02Debugger: Set a breakpoint in DEBUGEndInteract and see that we do hit it
1:05:02Debugger: Set a breakpoint in DEBUGEndInteract and see that we do hit it
1:05:02Debugger: Set a breakpoint in DEBUGEndInteract and see that we do hit it
1:07:43Debugger: Investigate why the OriginalGUID is not being preserved upon editing the debug element
1:07:43Debugger: Investigate why the OriginalGUID is not being preserved upon editing the debug element
1:07:43Debugger: Investigate why the OriginalGUID is not being preserved upon editing the debug element
1:09:03Moment of realisation: GetElementFromEvent will itself overwrite the GUID
1:09:03Moment of realisation: GetElementFromEvent will itself overwrite the GUID
1:09:03Moment of realisation: GetElementFromEvent will itself overwrite the GUID
1:09:52handmade_debug.cpp: Set OriginalGUID in CollateDebugRecords
1:09:52handmade_debug.cpp: Set OriginalGUID in CollateDebugRecords
1:09:52handmade_debug.cpp: Set OriginalGUID in CollateDebugRecords
1:11:04Debugger: Break into DEBUGEndInteract and find that GetElementFromEvent doesn't know the original value
1:11:04Debugger: Break into DEBUGEndInteract and find that GetElementFromEvent doesn't know the original value
1:11:04Debugger: Break into DEBUGEndInteract and find that GetElementFromEvent doesn't know the original value
1:13:13handmade_debug.cpp: Stop rewriting the GUID in StoreEvent
1:13:13handmade_debug.cpp: Stop rewriting the GUID in StoreEvent
1:13:13handmade_debug.cpp: Stop rewriting the GUID in StoreEvent
1:13:43Run the game and see that we can actually edit these values okay now
1:13:43Run the game and see that we can actually edit these values okay now
1:13:43Run the game and see that we can actually edit these values okay now
1:14:17handmade.cpp: Change DEBUG_VALUE to DEBUG_B32 where appropriate
1:14:17handmade.cpp: Change DEBUG_VALUE to DEBUG_B32 where appropriate
1:14:17handmade.cpp: Change DEBUG_VALUE to DEBUG_B32 where appropriate
1:14:54Run the game and see that some of our textures have failed to load, but that all our boolean values are now editable
1:14:54Run the game and see that some of our textures have failed to load, but that all our boolean values are now editable
1:14:54Run the game and see that some of our textures have failed to load, but that all our boolean values are now editable
1:15:52Trigger the particle systemδ
1:15:52Trigger the particle systemδ
1:15:52Trigger the particle systemδ
1:16:24win32_handmade.cpp: Switch the rendering type
1:16:24win32_handmade.cpp: Switch the rendering type
1:16:24win32_handmade.cpp: Switch the rendering type
1:18:21handmade_debug.cpp: Ensure that we clear out the debug EditEvent when we start debugging
1:18:21handmade_debug.cpp: Ensure that we clear out the debug EditEvent when we start debugging
1:18:21handmade_debug.cpp: Ensure that we clear out the debug EditEvent when we start debugging
1:20:53build.bat: Turn on -O2 and try switching between the two renderers
1:20:53build.bat: Turn on -O2 and try switching between the two renderers
1:20:53build.bat: Turn on -O2 and try switching between the two renderers
1:22:20handmade_world_mode.cpp: Provide the ability to toggle the GroundChunks
1:22:20handmade_world_mode.cpp: Provide the ability to toggle the GroundChunks
1:22:20handmade_world_mode.cpp: Provide the ability to toggle the GroundChunks
1:25:56handmade.cpp: Put GroundChunksOn in the menu
1:25:56handmade.cpp: Put GroundChunksOn in the menu
1:25:56handmade.cpp: Put GroundChunksOn in the menu
1:26:19Run the game and toggle the GroundChunks
1:26:19Run the game and toggle the GroundChunks
1:26:19Run the game and toggle the GroundChunks
1:27:19Close this down
🗩
1:27:19Close this down
🗩
1:27:19Close this down
🗩