[, < / ], >Jump to previous / next episode W, K, P / S, J, NJump to previous / next timestamp t / TToggle theatre / SUPERtheatre mode VRevert filter to original stateYSelect link (requires manual Ctrl-c)
Menu toggling
qQuotesrReferencesfFilteryLinkcCredits
In-Menu and Index Controls
a
w s
d
hjkl
←
↑ ↓
→
EscClose menu / unfocus timestamp
Quotes and References Menus and Index
EnterJump to timestamp
Quotes, References and Credits Menus
oOpen URL (in new tab)
Filter Menu
x, SpaceToggle category and focus next X, ShiftSpaceToggle category and focus previous vInvert topics / media as per focus
0:39Thoughts on diagrammed debugging of our collision system
🏃
0:39Thoughts on diagrammed debugging of our collision system
🏃
0:39Thoughts on diagrammed debugging of our collision system
🏃
5:07Describe our DIAGRAM_*() functions
📖
5:07Describe our DIAGRAM_*() functions
📖
5:07Describe our DIAGRAM_*() functions
📖
6:51Introduce DIAGRAM_Color() and DIAGRAM_Thickness()
6:51Introduce DIAGRAM_Color() and DIAGRAM_Thickness()
6:51Introduce DIAGRAM_Color() and DIAGRAM_Thickness()
9:01Introduce diagram_entry and diagram_group structs
9:01Introduce diagram_entry and diagram_group structs
9:01Introduce diagram_entry and diagram_group structs
14:24Wonder how Jon handles conditional compiling out of functions in JAI
🗩
14:24Wonder how Jon handles conditional compiling out of functions in JAI
🗩
14:24Wonder how Jon handles conditional compiling out of functions in JAI
🗩
15:03Remove DIAGRAM_Phase() in favour of permitting nested diagrams at the Begin and End, and introduce DIAGRAM_Point(), DIAGRAM_Text() and DIAGRAM_Out()
15:03Remove DIAGRAM_Phase() in favour of permitting nested diagrams at the Begin and End, and introduce DIAGRAM_Point(), DIAGRAM_Text() and DIAGRAM_Out()
15:03Remove DIAGRAM_Phase() in favour of permitting nested diagrams at the Begin and End, and introduce DIAGRAM_Point(), DIAGRAM_Text() and DIAGRAM_Out()
18:20Check the chat for JAI info
🗩
18:20Check the chat for JAI info
🗩
18:20Check the chat for JAI info
🗩
18:49Rename DIAGRAM_Text() to DIAGRAM_Overlay(), and make diagram_entry be a linked list in an arena
18:49Rename DIAGRAM_Text() to DIAGRAM_Overlay(), and make diagram_entry be a linked list in an arena
18:49Rename DIAGRAM_Text() to DIAGRAM_Overlay(), and make diagram_entry be a linked list in an arena
20:36Set up diagram_entry as a linked list, augmenting diagram_group with an Arena and PhaseDepth
20:36Set up diagram_entry as a linked list, augmenting diagram_group with an Arena and PhaseDepth
20:36Set up diagram_entry as a linked list, augmenting diagram_group with an Arena and PhaseDepth
23:01Add Text to diagram_entry and rename DIAGRAM_Out() to DIAGRAM_Text()
23:01Add Text to diagram_entry and rename DIAGRAM_Out() to DIAGRAM_Text()
23:01Add Text to diagram_entry and rename DIAGRAM_Out() to DIAGRAM_Text()
25:24Introduce AppendDiagramEntry(), with thoughts on threading and architecture-transparent debug systems
25:24Introduce AppendDiagramEntry(), with thoughts on threading and architecture-transparent debug systems
25:24Introduce AppendDiagramEntry(), with thoughts on threading and architecture-transparent debug systems
28:19Fix up compile errors at diagramming calling sites, introducing DIAGRAM_IsOn()
28:19Fix up compile errors at diagramming calling sites, introducing DIAGRAM_IsOn()
28:19Fix up compile errors at diagramming calling sites, introducing DIAGRAM_IsOn()
35:22Implement AppendDiagramEntry() and introduce diagram_attributes
35:22Implement AppendDiagramEntry() and introduce diagram_attributes
35:22Implement AppendDiagramEntry() and introduce diagram_attributes
38:27Introduce DIAGRAM_Stick()
38:27Introduce DIAGRAM_Stick()
38:27Introduce DIAGRAM_Stick()
39:33Implement DIAGRAM_Color() and DIAGRAM_Thickness()
39:33Implement DIAGRAM_Color() and DIAGRAM_Thickness()
39:33Implement DIAGRAM_Color() and DIAGRAM_Thickness()
40:29Continue to implement the AppendDiagramEntry() linked list
40:29Continue to implement the AppendDiagramEntry() linked list
40:29Continue to implement the AppendDiagramEntry() linked list
42:54Implement DIAGRAM_Sphere(), _Line(), _Box(), _Point() and _Overlay()
42:54Implement DIAGRAM_Sphere(), _Line(), _Box(), _Point() and _Overlay()
42:54Implement DIAGRAM_Sphere(), _Line(), _Box(), _Point() and _Overlay()
44:43Implement DIAGRAM_Begin() and DIAGRAM_End()
44:43Implement DIAGRAM_Begin() and DIAGRAM_End()
44:43Implement DIAGRAM_Begin() and DIAGRAM_End()
46:03Reflect on our diagramming code
📖
46:03Reflect on our diagramming code
📖
46:03Reflect on our diagramming code
📖
46:51Consider recording the diagramming state for the renderer to track
📖
46:51Consider recording the diagramming state for the renderer to track
📖
46:51Consider recording the diagramming state for the renderer to track
📖
48:50Make a union of the P[] and Attrib values in diagram_entry, including the Text buffer from diagram_attributes
48:50Make a union of the P[] and Attrib values in diagram_entry, including the Text buffer from diagram_attributes
48:50Make a union of the P[] and Attrib values in diagram_entry, including the Text buffer from diagram_attributes
51:57Implement DIAGRAM_Text(), augmenting diagram_group with a FormatBuffer[1024]
51:57Implement DIAGRAM_Text(), augmenting diagram_group with a FormatBuffer[1024]
51:57Implement DIAGRAM_Text(), augmenting diagram_group with a FormatBuffer[1024]
57:06Consider future work on our diagramming system
📖
57:06Consider future work on our diagramming system
📖
57:06Consider future work on our diagramming system
📖
59:12Introduce RenderDiagrams()
59:12Introduce RenderDiagrams()
59:12Introduce RenderDiagrams()
1:00:15Hit a write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:00:15Hit a write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:00:15Hit a write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:00:55Compile in -Od and again hit that write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:00:55Compile in -Od and again hit that write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:00:55Compile in -Od and again hit that write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
🏃
1:02:03Investigate our write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
📖
1:02:03Investigate our write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
📖
1:02:03Investigate our write access violation on DEBUG_RECORD_ALLOCATION() in PushSize_()
📖
1:03:35Disable HANDMADE_DIAGRAMS
1:03:35Disable HANDMADE_DIAGRAMS
1:03:35Disable HANDMADE_DIAGRAMS
1:04:12Demo the memory arena viewer
🏃
1:04:12Demo the memory arena viewer
🏃
1:04:12Demo the memory arena viewer
🏃
1:06:40Our debug_event array in debug_table is 136 MiB
📖
1:06:40Our debug_event array in debug_table is 136 MiB
📖
1:06:40Our debug_event array in debug_table is 136 MiB
📖
1:09:27Increase our debug_event array to 2*64*65536 (544 MiB)
1:09:27Increase our debug_event array to 2*64*65536 (544 MiB)
1:09:27Increase our debug_event array to 2*64*65536 (544 MiB)
1:09:39Run the game
🏃
1:09:39Run the game
🏃
1:09:39Run the game
🏃
1:10:02Revert our expansion of the debug_event array
1:10:02Revert our expansion of the debug_event array
1:10:02Revert our expansion of the debug_event array
1:10:10Introduce DIAGRAM_Reset() for GAME_UPDATE_AND_RENDER() to call
1:10:10Introduce DIAGRAM_Reset() for GAME_UPDATE_AND_RENDER() to call
1:10:10Introduce DIAGRAM_Reset() for GAME_UPDATE_AND_RENDER() to call
1:14:44In -O2, overflow the debug_event array via the collision system
🏃
1:14:44In -O2, overflow the debug_event array via the collision system
🏃
1:14:44In -O2, overflow the debug_event array via the collision system
🏃
1:15:06In -Od, overflow the debug_event array via the diagramming system
🏃
1:15:06In -Od, overflow the debug_event array via the diagramming system
🏃
1:15:06In -Od, overflow the debug_event array via the diagramming system
🏃
1:16:56Increase our debug_event array to 2*64*65536 (544 MiB)
1:16:56Increase our debug_event array to 2*64*65536 (544 MiB)
1:16:56Increase our debug_event array to 2*64*65536 (544 MiB)
1:17:10Again overflow the debug_event array via the diagramming system
🏃
1:17:10Again overflow the debug_event array via the diagramming system
🏃
1:17:10Again overflow the debug_event array via the diagramming system
🏃
1:17:56Decrease our debug_event array to 2*16*65536 (136 MiB)
1:17:56Decrease our debug_event array to 2*16*65536 (136 MiB)
1:17:56Decrease our debug_event array to 2*16*65536 (136 MiB)
1:18:10Step in to DIAGRAM_Reset() and through to diagramming calls
🏃
1:18:10Step in to DIAGRAM_Reset() and through to diagramming calls
🏃
1:18:10Step in to DIAGRAM_Reset() and through to diagramming calls
🏃
1:19:36Determine to limit our diagramming to a particular entity
📖
1:19:36Determine to limit our diagramming to a particular entity
📖
1:19:36Determine to limit our diagramming to a particular entity
📖
1:21:20Set up AppendDiagramEntry() to conditionally push on a diagram_entry
1:21:20Set up AppendDiagramEntry() to conditionally push on a diagram_entry
1:21:20Set up AppendDiagramEntry() to conditionally push on a diagram_entry
1:23:01Run in -Od without overflowing the debug_event array
🏃
1:23:01Run in -Od without overflowing the debug_event array
🏃
1:23:01Run in -Od without overflowing the debug_event array
🏃
1:23:05Run in -O2 without overflowing the debug_event array
🏃
1:23:05Run in -O2 without overflowing the debug_event array
🏃
1:23:05Run in -O2 without overflowing the debug_event array
🏃
1:23:24Introduce DIAGRAM_SetFilter() and DIAGRAM_Filter(), augmenting diagram_group with Filter and FilterPassed values
1:23:24Introduce DIAGRAM_SetFilter() and DIAGRAM_Filter(), augmenting diagram_group with Filter and FilterPassed values
1:23:24Introduce DIAGRAM_SetFilter() and DIAGRAM_Filter(), augmenting diagram_group with Filter and FilterPassed values
1:27:57Run without overflowing the debug_event array
🏃
1:27:57Run without overflowing the debug_event array
🏃
1:27:57Run without overflowing the debug_event array
🏃
1:28:53Disable the debug visualisation in the entity system
📖
1:28:53Disable the debug visualisation in the entity system
📖
1:28:53Disable the debug visualisation in the entity system
📖
1:30:37Q&A
🗩
1:30:37Q&A
🗩
1:30:37Q&A
🗩
1:31:16centhusiast Q: Do you know about WebView2?1
🗪
1:31:16centhusiast Q: Do you know about WebView2?1
🗪
1:31:16centhusiast Q: Do you know about WebView2?1
🗪
1:32:22said6289 Q: What's sphere roll-off?
🗪
1:32:22said6289 Q: What's sphere roll-off?
🗪
1:32:22said6289 Q: What's sphere roll-off?
🗪
1:33:09jack_mousseau Q: You made a note about rewinding a memory arena? Does a rewind free the allocation?
🗪
1:33:09jack_mousseau Q: You made a note about rewinding a memory arena? Does a rewind free the allocation?
🗪
1:33:09jack_mousseau Q: You made a note about rewinding a memory arena? Does a rewind free the allocation?
🗪
1:34:21alexkelbo Q: Shouldn't we add spatial partitioning for collision and such at this point?
🗪
1:34:21alexkelbo Q: Shouldn't we add spatial partitioning for collision and such at this point?
🗪
1:34:21alexkelbo Q: Shouldn't we add spatial partitioning for collision and such at this point?
🗪
1:35:19mindmark42 Q: You mentioned you are doing memory arenas differently now. What are you doing differently?
🗪
1:35:19mindmark42 Q: You mentioned you are doing memory arenas differently now. What are you doing differently?
🗪
1:35:19mindmark42 Q: You mentioned you are doing memory arenas differently now. What are you doing differently?
🗪
1:36:07matiasmunkp Q: In the early videos you were mentioning if the series got enough attraction, you could probably look into adding networking features. What is your stance on this now?2
🗪
1:36:07matiasmunkp Q: In the early videos you were mentioning if the series got enough attraction, you could probably look into adding networking features. What is your stance on this now?2
🗪
1:36:07matiasmunkp Q: In the early videos you were mentioning if the series got enough attraction, you could probably look into adding networking features. What is your stance on this now?2
🗪
1:36:52jonathanlivingstone Q: Why did you forward-declare the diagram functions in the header file? I thought you did the unity build system so you didn't need to do that kind of thing. Unless the #include order requires it?
🗪
1:36:52jonathanlivingstone Q: Why did you forward-declare the diagram functions in the header file? I thought you did the unity build system so you didn't need to do that kind of thing. Unless the #include order requires it?
🗪
1:36:52jonathanlivingstone Q: Why did you forward-declare the diagram functions in the header file? I thought you did the unity build system so you didn't need to do that kind of thing. Unless the #include order requires it?
🗪
1:38:33botondar Q: Off-topic: Do you know any particular reason why MSVC would optimize a piece of code better with /Ox instead of /O2 (2x speed-up)?
🗪
1:38:33botondar Q: Off-topic: Do you know any particular reason why MSVC would optimize a piece of code better with /Ox instead of /O2 (2x speed-up)?
🗪
1:38:33botondar Q: Off-topic: Do you know any particular reason why MSVC would optimize a piece of code better with /Ox instead of /O2 (2x speed-up)?
🗪
1:39:20Plug godbolt3
📖
1:39:20Plug godbolt3
📖
1:39:20Plug godbolt3
📖
1:42:28mindmark42 Q: Sorry but what do you mean by grow linearly? Is that like reallocating so it's contiguous?
🗪
1:42:28mindmark42 Q: Sorry but what do you mean by grow linearly? Is that like reallocating so it's contiguous?
🗪
1:42:28mindmark42 Q: Sorry but what do you mean by grow linearly? Is that like reallocating so it's contiguous?
🗪
1:43:02botondar Q: (cont.) No, the code performs better with /Ox and not /O2 which doesn't make sense to me because /O2 enables more optimizations
🗪
1:43:02botondar Q: (cont.) No, the code performs better with /Ox and not /O2 which doesn't make sense to me because /O2 enables more optimizations
🗪
1:43:02botondar Q: (cont.) No, the code performs better with /Ox and not /O2 which doesn't make sense to me because /O2 enables more optimizations
🗪
1:45:42philliptrudeau Q: Would it be possible to render all of the unfiltered N-squared diagrams if the number of debug events was huge? Or are there just way way too many diagrams for that?
🗪
1:45:42philliptrudeau Q: Would it be possible to render all of the unfiltered N-squared diagrams if the number of debug events was huge? Or are there just way way too many diagrams for that?
🗪
1:45:42philliptrudeau Q: Would it be possible to render all of the unfiltered N-squared diagrams if the number of debug events was huge? Or are there just way way too many diagrams for that?
🗪
1:47:05Recommend making a highly optimised debug system as a project
🗩
1:47:05Recommend making a highly optimised debug system as a project
🗩
1:47:05Recommend making a highly optimised debug system as a project
🗩
1:48:12xxthebigfoxx Q: What do you use to build on Linux?
🗪
1:48:12xxthebigfoxx Q: What do you use to build on Linux?
🗪
1:48:12xxthebigfoxx Q: What do you use to build on Linux?
🗪
1:48:31centhusiast Q: Do you know that Sean Barrett is writing a C compiler. Are you going to use it?
🗪
1:48:31centhusiast Q: Do you know that Sean Barrett is writing a C compiler. Are you going to use it?
🗪
1:48:31centhusiast Q: Do you know that Sean Barrett is writing a C compiler. Are you going to use it?
🗪
1:48:52xxthebigfoxx Q: Any build system? Or just .sh files?
🗪
1:48:52xxthebigfoxx Q: Any build system? Or just .sh files?
🗪
1:48:52xxthebigfoxx Q: Any build system? Or just .sh files?