Clearing Out Pending GitHub Bugs ⚠ Click here to regain focus ⚠
?
?

Keyboard Navigation

Global Keys

W, A, P / S, D, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
z Toggle filter mode V Revert filter to original state

Menu toggling

q Quotes r References f Filter c Credits

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

Credits Menu

Enter Open URL (in new tab)
0:10Set the stage for clearing out pending GitHub bugs1
0:10Set the stage for clearing out pending GitHub bugs1
0:10Set the stage for clearing out pending GitHub bugs1
0:58ctray.cpp: Fix "enterring" typo
0:58ctray.cpp: Fix "enterring" typo
0:58ctray.cpp: Fix "enterring" typo
2:17readme.txt: Update links to point to the new locations
2:17readme.txt: Update links to point to the new locations
2:17readme.txt: Update links to point to the new locations
5:05"You never upgrade anything during the development of the game"α
5:05"You never upgrade anything during the development of the game"α
5:05"You never upgrade anything during the development of the game"α
7:10Determine to enable the game to compile without warnings or errors in VS 2015
7:10Determine to enable the game to compile without warnings or errors in VS 2015
7:10Determine to enable the game to compile without warnings or errors in VS 2015
7:45simple_preprocessor.cpp: Make ParseMember() cast everything to int
7:45simple_preprocessor.cpp: Make ParseMember() cast everything to int
7:45simple_preprocessor.cpp: Make ParseMember() cast everything to int
10:00On the two different versions of the CRT's maths routines
10:00On the two different versions of the CRT's maths routines
10:00On the two different versions of the CRT's maths routines
11:42handmade_intrinsics.h: Make AbsoluteValue() call fabsf()
11:42handmade_intrinsics.h: Make AbsoluteValue() call fabsf()
11:42handmade_intrinsics.h: Make AbsoluteValue() call fabsf()
12:16handmade_platform.h: Determine to enable AlignPow2() to compile without warning
12:16handmade_platform.h: Determine to enable AlignPow2() to compile without warning
12:16handmade_platform.h: Determine to enable AlignPow2() to compile without warning
16:54handmade_platform.h: Make AlignPow2() add (Value-Value) to force integral promotion to the size of Value
16:54handmade_platform.h: Make AlignPow2() add (Value-Value) to force integral promotion to the size of Value
16:54handmade_platform.h: Make AlignPow2() add (Value-Value) to force integral promotion to the size of Value
18:37handmade_entity.cpp: Make DEBUGPickEntity() cast Entity->ID.Value to a umm before converting to pointer
18:37handmade_entity.cpp: Make DEBUGPickEntity() cast Entity->ID.Value to a umm before converting to pointer
18:37handmade_entity.cpp: Make DEBUGPickEntity() cast Entity->ID.Value to a umm before converting to pointer
19:29win32_handmade.cpp: Make WinMain() cast the GlobalBackbuffer values to u32
19:29win32_handmade.cpp: Make WinMain() cast the GlobalBackbuffer values to u32
19:29win32_handmade.cpp: Make WinMain() cast the GlobalBackbuffer values to u32
19:53Fix many "hides function parameter" and "hides previous local declaration" warnings
19:53Fix many "hides function parameter" and "hides previous local declaration" warnings
19:53Fix many "hides function parameter" and "hides previous local declaration" warnings
33:50Close that issue and request help for the CLANG compatibility issue
33:50Close that issue and request help for the CLANG compatibility issue
33:50Close that issue and request help for the CLANG compatibility issue
37:12Determine to reduce the PeekMessage latency
37:12Determine to reduce the PeekMessage latency
37:12Determine to reduce the PeekMessage latency
38:11On message queues and how Windows implements theirs
38:11On message queues and how Windows implements theirs
38:11On message queues and how Windows implements theirs
43:37On PeekMessage()
43:37On PeekMessage()
43:37On PeekMessage()
47:36win32_handmade.cpp: Enable Win32ProcessPendingMessages() to make PeekMessage() circumvent WM_PAINT and WM_MOUSEMOVE
47:36win32_handmade.cpp: Enable Win32ProcessPendingMessages() to make PeekMessage() circumvent WM_PAINT and WM_MOUSEMOVE
47:36win32_handmade.cpp: Enable Win32ProcessPendingMessages() to make PeekMessage() circumvent WM_PAINT and WM_MOUSEMOVE
51:43Run the game to see that it all still works and close that issue
51:43Run the game to see that it all still works and close that issue
51:43Run the game to see that it all still works and close that issue
53:54Determine to fix the PushClipRect and glScissor issue
53:54Determine to fix the PushClipRect and glScissor issue
53:54Determine to fix the PushClipRect and glScissor issue
54:30win32_handmade.cpp: Pass a lower resolution to Win32ResizeDIBSection() and run the game to see that we're in bad shape
54:30win32_handmade.cpp: Pass a lower resolution to Win32ResizeDIBSection() and run the game to see that we're in bad shape
54:30win32_handmade.cpp: Pass a lower resolution to Win32ResizeDIBSection() and run the game to see that we're in bad shape
56:25On food and feeding the worldβ
56:25On food and feeding the worldβ
56:25On food and feeding the worldβ
59:48win32_handmade.cpp: Switch to the software renderer and run the game to determine that the problem is only in the hardware renderer
59:48win32_handmade.cpp: Switch to the software renderer and run the game to determine that the problem is only in the hardware renderer
59:48win32_handmade.cpp: Switch to the software renderer and run the game to determine that the problem is only in the hardware renderer
1:01:08Compare the code for the software and hardware renderers
1:01:08Compare the code for the software and hardware renderers
1:01:08Compare the code for the software and hardware renderers
1:06:32Run the game in windowed mode, and resize it to exhibit the bug
1:06:32Run the game in windowed mode, and resize it to exhibit the bug
1:06:32Run the game in windowed mode, and resize it to exhibit the bug
1:09:03Consult the glScissor documentation2
1:09:03Consult the glScissor documentation2
1:09:03Consult the glScissor documentation2
1:09:59Consult the glViewPort documentation3 and endeavour to understand the difference between the renderers
1:09:59Consult the glViewPort documentation3 and endeavour to understand the difference between the renderers
1:09:59Consult the glViewPort documentation3 and endeavour to understand the difference between the renderers
1:21:23Run the game and eyeball how the cliprect is scaling
1:21:23Run the game and eyeball how the cliprect is scaling
1:21:23Run the game and eyeball how the cliprect is scaling
1:25:04handmade_opengl.cpp: Determine to enable OpenGLRenderCommands() to perform the glScissor() in the correct space
1:25:04handmade_opengl.cpp: Determine to enable OpenGLRenderCommands() to perform the glScissor() in the correct space
1:25:04handmade_opengl.cpp: Determine to enable OpenGLRenderCommands() to perform the glScissor() in the correct space
1:27:43Blackboard: glScissor coords
1:27:43Blackboard: glScissor coords
1:27:43Blackboard: glScissor coords
1:29:03Blackboard: Normalized device coordinates
1:29:03Blackboard: Normalized device coordinates
1:29:03Blackboard: Normalized device coordinates
1:31:02Blackboard: Calculating our correct glScissor coordinates
1:31:02Blackboard: Calculating our correct glScissor coordinates
1:31:02Blackboard: Calculating our correct glScissor coordinates
1:33:30handmade_opengl.cpp: Enable OpenGLRenderCommands() to correctly scale the region passed to glScissor()
1:33:30handmade_opengl.cpp: Enable OpenGLRenderCommands() to correctly scale the region passed to glScissor()
1:33:30handmade_opengl.cpp: Enable OpenGLRenderCommands() to correctly scale the region passed to glScissor()
1:39:52Run the game to see that the hardware renderer's cliprect is now correct, and close that issue
1:39:52Run the game to see that the hardware renderer's cliprect is now correct, and close that issue
1:39:52Run the game to see that the hardware renderer's cliprect is now correct, and close that issue
1:42:06handmade_render.cpp: Enable DrawRectangle() to AND the StartClipMask and EndClipMask together for rectangles <= 3 pixels wide
1:42:06handmade_render.cpp: Enable DrawRectangle() to AND the StartClipMask and EndClipMask together for rectangles <= 3 pixels wide
1:42:06handmade_render.cpp: Enable DrawRectangle() to AND the StartClipMask and EndClipMask together for rectangles <= 3 pixels wide
1:48:02handmade_entity.cpp: Toggle off rendering of Traversables, run the game and see the effects of the DrawRectangle() change
1:48:02handmade_entity.cpp: Toggle off rendering of Traversables, run the game and see the effects of the DrawRectangle() change
1:48:02handmade_entity.cpp: Toggle off rendering of Traversables, run the game and see the effects of the DrawRectangle() change
1:52:35handmade_render.cpp: Change DrawRectangle() to test == 4
1:52:35handmade_render.cpp: Change DrawRectangle() to test == 4
1:52:35handmade_render.cpp: Change DrawRectangle() to test == 4
1:54:17Recompile and run to see that the drawing of narrow rectangles is now correct
1:54:17Recompile and run to see that the drawing of narrow rectangles is now correct
1:54:17Recompile and run to see that the drawing of narrow rectangles is now correct
1:55:10handmade_render.cpp: Consider removing the ClipMask from DrawRectangleQuickly(), before closing the issue with it still intact
1:55:10handmade_render.cpp: Consider removing the ClipMask from DrawRectangleQuickly(), before closing the issue with it still intact
1:55:10handmade_render.cpp: Consider removing the ClipMask from DrawRectangleQuickly(), before closing the issue with it still intact
1:58:25Reflect on the day's work
1:58:25Reflect on the day's work
1:58:25Reflect on the day's work
1:58:58Q&A
1:58:58Q&A
1:58:58Q&A
1:59:11kknewkles It's rolled over 'round these parts already so Happy New 2017, everyone
🗪
1:59:11kknewkles It's rolled over 'round these parts already so Happy New 2017, everyone
🗪
1:59:11kknewkles It's rolled over 'round these parts already so Happy New 2017, everyone
🗪
1:59:35Jim0_o In the compression code there is an assert(LiteralCount == 0) it seems to fire on some files, should the literal buffer be flushed after the loop in case it didn't end on a run?
🗪
1:59:35Jim0_o In the compression code there is an assert(LiteralCount == 0) it seems to fire on some files, should the literal buffer be flushed after the loop in case it didn't end on a run?
🗪
1:59:35Jim0_o In the compression code there is an assert(LiteralCount == 0) it seems to fire on some files, should the literal buffer be flushed after the loop in case it didn't end on a run?
🗪
2:00:55simple_compressor.cpp: Enable RLECompress() and LZCompress() to correctly flush the literal buffer
2:00:55simple_compressor.cpp: Enable RLECompress() and LZCompress() to correctly flush the literal buffer
2:00:55simple_compressor.cpp: Enable RLECompress() and LZCompress() to correctly flush the literal buffer
2:03:06thesizik Are you going to consider resizing the debug display for lower display resolutions, or would that not really be worthwhile since it's not part of the final game?
🗪
2:03:06thesizik Are you going to consider resizing the debug display for lower display resolutions, or would that not really be worthwhile since it's not part of the final game?
🗪
2:03:06thesizik Are you going to consider resizing the debug display for lower display resolutions, or would that not really be worthwhile since it's not part of the final game?
🗪
2:07:50phillip_green A wee bit off-topic, but have you ever considered setting up a green screen / chromakey for your stream?
🗪
2:07:50phillip_green A wee bit off-topic, but have you ever considered setting up a green screen / chromakey for your stream?
🗪
2:07:50phillip_green A wee bit off-topic, but have you ever considered setting up a green screen / chromakey for your stream?
🗪
2:08:49tukimitzoo What are your 2017 resolutions for Handmade Hero?
🗪
2:08:49tukimitzoo What are your 2017 resolutions for Handmade Hero?
🗪
2:08:49tukimitzoo What are your 2017 resolutions for Handmade Hero?
🗪
2:09:22mtsmox Shouldn't the cliprect only be rescaled at the same point that the offset is done? Only the main buffer should have it
🗪
2:09:22mtsmox Shouldn't the cliprect only be rescaled at the same point that the offset is done? Only the main buffer should have it
🗪
2:09:22mtsmox Shouldn't the cliprect only be rescaled at the same point that the offset is done? Only the main buffer should have it
🗪
2:10:36hayai No high production values? Stream looks good and there's a frame around the scare-cam and a nice little fade-in timer. That seems like more effort than a lot of what I see
🗪
2:10:36hayai No high production values? Stream looks good and there's a frame around the scare-cam and a nice little fade-in timer. That seems like more effort than a lot of what I see
🗪
2:10:36hayai No high production values? Stream looks good and there's a frame around the scare-cam and a nice little fade-in timer. That seems like more effort than a lot of what I see
🗪
2:12:34thezoq2 So that black box is a window, not just an overlay in OBS?
🗪
2:12:34thezoq2 So that black box is a window, not just an overlay in OBS?
🗪
2:12:34thezoq2 So that black box is a window, not just an overlay in OBS?
🗪
2:14:04jessermeyer Please consider demonstrating NVidia's cmdlist extension as a way of thinking about modern graphics dev
🗪
2:14:04jessermeyer Please consider demonstrating NVidia's cmdlist extension as a way of thinking about modern graphics dev
🗪
2:14:04jessermeyer Please consider demonstrating NVidia's cmdlist extension as a way of thinking about modern graphics dev
🗪
2:15:10Close it down with a glimpse into 2017
2:15:10Close it down with a glimpse into 2017
2:15:10Close it down with a glimpse into 2017