Fixing the Remaining GitHub Issues
?
?

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:00Recap and set the stage for the bonus stream
🗩
0:00Recap and set the stage for the bonus stream
🗩
0:00Recap and set the stage for the bonus stream
🗩
1:58Close "Segfault in handmade_brain.cpp:277" issue1
🗹
1:58Close "Segfault in handmade_brain.cpp:277" issue1
🗹
1:58Close "Segfault in handmade_brain.cpp:277" issue1
🗹
3:40Addressing the "Trouble with NVIDIA Optimus" issue,2 with a few words on power efficiency
📖
3:40Addressing the "Trouble with NVIDIA Optimus" issue,2 with a few words on power efficiency
📖
3:40Addressing the "Trouble with NVIDIA Optimus" issue,2 with a few words on power efficiency
📖
12:03Check out win32_handmade.exe in Dependencies
🗹
12:03Check out win32_handmade.exe in Dependencies
🗹
12:03Check out win32_handmade.exe in Dependencies
🗹
13:57Check out the export table of win32_handmade_opengl.dll in Dependencies
🗹
13:57Check out the export table of win32_handmade_opengl.dll in Dependencies
🗹
13:57Check out the export table of win32_handmade_opengl.dll in Dependencies
🗹
15:59Export the NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols
15:59Export the NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols
15:59Export the NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols
16:58Check out the new export table of win32_handmade.exe in Dependencies
🗹
16:58Check out the new export table of win32_handmade.exe in Dependencies
🗹
16:58Check out the new export table of win32_handmade.exe in Dependencies
🗹
18:17Close that issue3
🗹
18:17Close that issue3
🗹
18:17Close that issue3
🗹
19:14Addressing the "Linux updates" issue4
📖
19:14Addressing the "Linux updates" issue4
📖
19:14Addressing the "Linux updates" issue4
📖
19:59Rename various struct members so they don't clash with system definitions of Linux
19:59Rename various struct members so they don't clash with system definitions of Linux
19:59Rename various struct members so they don't clash with system definitions of Linux
21:31Understanding Linux's mmap() in contrast to Windows' VirtualFree()5
🗩
21:31Understanding Linux's mmap() in contrast to Windows' VirtualFree()5
🗩
21:31Understanding Linux's mmap() in contrast to Windows' VirtualFree()5
🗩
26:02Delete the file io function pointers from platform_api and remove Win32ResizeDIBSection()
26:02Delete the file io function pointers from platform_api and remove Win32ResizeDIBSection()
26:02Delete the file io function pointers from platform_api and remove Win32ResizeDIBSection()
33:11Try to run the game, crash in OpenGLEndFrame() and investigate why
🏃
33:11Try to run the game, crash in OpenGLEndFrame() and investigate why
🏃
33:11Try to run the game, crash in OpenGLEndFrame() and investigate why
🏃
34:59Temporarily disable the window-moving case in Win32MainWindowCallback()
34:59Temporarily disable the window-moving case in Win32MainWindowCallback()
34:59Temporarily disable the window-moving case in Win32MainWindowCallback()
35:18Find that the game runs, but cannot be resized
🏃
35:18Find that the game runs, but cannot be resized
🏃
35:18Find that the game runs, but cannot be resized
🏃
35:36Investigate why we cannot resize our window6
📖
35:36Investigate why we cannot resize our window6
📖
35:36Investigate why we cannot resize our window6
📖
37:32Find that we can resize after all, but that our cursor remains as the regular pointer
🏃
37:32Find that we can resize after all, but that our cursor remains as the regular pointer
🏃
37:32Find that we can resize after all, but that our cursor remains as the regular pointer
🏃
38:31Make Win32MainWindowCallback() use the "resize" cursor
38:31Make Win32MainWindowCallback() use the "resize" cursor
38:31Make Win32MainWindowCallback() use the "resize" cursor
39:05Find that we now get the resizing cursor7
🏃
39:05Find that we now get the resizing cursor7
🏃
39:05Find that we now get the resizing cursor7
🏃
41:49Enable aspect-ratio preserving resize in Win32MainWindowCallback()
41:49Enable aspect-ratio preserving resize in Win32MainWindowCallback()
41:49Enable aspect-ratio preserving resize in Win32MainWindowCallback()
43:42Find that our aspect-ratio preserving resize works fine
🏃
43:42Find that our aspect-ratio preserving resize works fine
🏃
43:42Find that our aspect-ratio preserving resize works fine
🏃
44:07Replace win32_window_dimension with a v2u, and delete win32_offscreen_buffer
44:07Replace win32_window_dimension with a v2u, and delete win32_offscreen_buffer
44:07Replace win32_window_dimension with a v2u, and delete win32_offscreen_buffer
45:23Ensure that platform_memory_block contains a Size
📖
45:23Ensure that platform_memory_block contains a Size
📖
45:23Ensure that platform_memory_block contains a Size
📖
47:04Close that issue8
🗹
47:04Close that issue8
🗹
47:04Close that issue8
🗹
48:05Addressing the "Window fullscreen bug" issue9
📖
48:05Addressing the "Window fullscreen bug" issue9
📖
48:05Addressing the "Window fullscreen bug" issue9
📖
48:23Try out window movement keys to find that "minimise" breaks CreatFramebuffer()
🏃
48:23Try out window movement keys to find that "minimise" breaks CreatFramebuffer()
🏃
48:23Try out window movement keys to find that "minimise" breaks CreatFramebuffer()
🏃
49:53Try unsuccessfully to reproduce the bug from the issue10
🏃
49:53Try unsuccessfully to reproduce the bug from the issue10
🏃
49:53Try unsuccessfully to reproduce the bug from the issue10
🏃
51:05Check out our window management code
📖
51:05Check out our window management code
📖
51:05Check out our window management code
📖
53:44Enable Win32MainWindowCallback() to handle resizing to encompass the entire screen
53:44Enable Win32MainWindowCallback() to handle resizing to encompass the entire screen
53:44Enable Win32MainWindowCallback() to handle resizing to encompass the entire screen
59:38Find that fullscreening does not work
🏃
59:38Find that fullscreening does not work
🏃
59:38Find that fullscreening does not work
🏃
1:00:22Step in to Win32MainWindowCallback() in the BecomingFullscreen case11
🏃
1:00:22Step in to Win32MainWindowCallback() in the BecomingFullscreen case11
🏃
1:00:22Step in to Win32MainWindowCallback() in the BecomingFullscreen case11
🏃
1:03:23Make ToggleFullscreen() disable WS_OVERLAPPEDWINDOW in the window's style
1:03:23Make ToggleFullscreen() disable WS_OVERLAPPEDWINDOW in the window's style
1:03:23Make ToggleFullscreen() disable WS_OVERLAPPEDWINDOW in the window's style
1:06:46Try to snoop our window messages in Spy++
🏃
1:06:46Try to snoop our window messages in Spy++
🏃
1:06:46Try to snoop our window messages in Spy++
🏃
1:08:56Add Spy++ 64-bit to MSVC12
🗹
1:08:56Add Spy++ 64-bit to MSVC12
🗹
1:08:56Add Spy++ 64-bit to MSVC12
🗹
1:10:07Snoop our window messages in Spy++
🏃
1:10:07Snoop our window messages in Spy++
🏃
1:10:07Snoop our window messages in Spy++
🏃
1:14:36Enable Win32MainWindowCallback() handle WM_WINDOWPOSCHANGED messages
1:14:36Enable Win32MainWindowCallback() handle WM_WINDOWPOSCHANGED messages
1:14:36Enable Win32MainWindowCallback() handle WM_WINDOWPOSCHANGED messages
1:16:42Find that our window management works better
🏃
1:16:42Find that our window management works better
🏃
1:16:42Find that our window management works better
🏃
1:17:24Prevent ToggleFullscreen() from disabling WS_OVERLAPPEDWINDOW in the window's style
1:17:24Prevent ToggleFullscreen() from disabling WS_OVERLAPPEDWINDOW in the window's style
1:17:24Prevent ToggleFullscreen() from disabling WS_OVERLAPPEDWINDOW in the window's style
1:17:51Find that the window management magically works
🏃
1:17:51Find that the window management magically works
🏃
1:17:51Find that the window management magically works
🏃
1:20:14Prepare to close that issue13
🗹
1:20:14Prepare to close that issue13
🗹
1:20:14Prepare to close that issue13
🗹
1:21:30Investigate why our window width and height are getting zeroed out
📖
1:21:30Investigate why our window width and height are getting zeroed out
📖
1:21:30Investigate why our window width and height are getting zeroed out
📖
1:25:05Make BeginUIFrame() only use the DrawRegion, renaming WindowWidth and WindowHeight in game_render_commands to OSWindowWidth and OSWindowHeight
1:25:05Make BeginUIFrame() only use the DrawRegion, renaming WindowWidth and WindowHeight in game_render_commands to OSWindowWidth and OSWindowHeight
1:25:05Make BeginUIFrame() only use the DrawRegion, renaming WindowWidth and WindowHeight in game_render_commands to OSWindowWidth and OSWindowHeight
1:29:53Find that our UI is now correctly aligned
🏃
1:29:53Find that our UI is now correctly aligned
🏃
1:29:53Find that our UI is now correctly aligned
🏃
1:30:20Trigger our "minimise" bug to find that we are rendering directly to the window resolution requested of us
🏃
1:30:20Trigger our "minimise" bug to find that we are rendering directly to the window resolution requested of us
🏃
1:30:20Trigger our "minimise" bug to find that we are rendering directly to the window resolution requested of us
🏃
1:32:55Make BeginUIFrame() and OpenGLBeginFrame() use the renderer's width and height, renaming DrawRegion in game_render_commands to OSDrawRegion
1:32:55Make BeginUIFrame() and OpenGLBeginFrame() use the renderer's width and height, renaming DrawRegion in game_render_commands to OSDrawRegion
1:32:55Make BeginUIFrame() and OpenGLBeginFrame() use the renderer's width and height, renaming DrawRegion in game_render_commands to OSDrawRegion
1:41:41Find that we have fixed our "minimise" bug
🏃
1:41:41Find that we have fixed our "minimise" bug
🏃
1:41:41Find that we have fixed our "minimise" bug
🏃
1:45:12Close that issue14
🗹
1:45:12Close that issue14
🗹
1:45:12Close that issue14
🗹
1:45:24Check the "Fog is broken" issue in-game15
🏃
1:45:24Check the "Fog is broken" issue in-game15
🏃
1:45:24Check the "Fog is broken" issue in-game15
🏃
1:47:30Introduce AddSnake() and related functions for CreateDungeon() to call
1:47:30Introduce AddSnake() and related functions for CreateDungeon() to call
1:47:30Introduce AddSnake() and related functions for CreateDungeon() to call
1:53:58Hit our assertion in RecursiveOpenTileSearch()
🏃
1:53:58Hit our assertion in RecursiveOpenTileSearch()
🏃
1:53:58Hit our assertion in RecursiveOpenTileSearch()
🏃
1:58:14Try placing the snake in the hero's bedroom
1:58:14Try placing the snake in the hero's bedroom
1:58:14Try placing the snake in the hero's bedroom
1:58:32See the snake just fine
🏃
1:58:32See the snake just fine
🏃
1:58:32See the snake just fine
🏃
1:59:16Make AddSnake() elevate the body and brighten the light
1:59:16Make AddSnake() elevate the body and brighten the light
1:59:16Make AddSnake() elevate the body and brighten the light
1:59:54Check out our snake
🏃
1:59:54Check out our snake
🏃
1:59:54Check out our snake
🏃
2:01:07Fix AddEntity() to use non-temporary memory, and make CreateDungeon() call AddSnake() again
2:01:07Fix AddEntity() to use non-temporary memory, and make CreateDungeon() call AddSnake() again
2:01:07Fix AddEntity() to use non-temporary memory, and make CreateDungeon() call AddSnake() again
2:04:19Find our snake in the dungeon, but see that the lighting down there is not correctly fogged
🏃
2:04:19Find our snake in the dungeon, but see that the lighting down there is not correctly fogged
🏃
2:04:19Find our snake in the dungeon, but see that the lighting down there is not correctly fogged
🏃
2:05:41Investigate the fog's alpha computation in CompileZBiasProgram()
📖
2:05:41Investigate the fog's alpha computation in CompileZBiasProgram()
📖
2:05:41Investigate the fog's alpha computation in CompileZBiasProgram()
📖
2:10:26Make CompileZBiasProgram() compute the lighting before the fogging
2:10:26Make CompileZBiasProgram() compute the lighting before the fogging
2:10:26Make CompileZBiasProgram() compute the lighting before the fogging
2:14:09Find that the fogging now fogs to black
🏃
2:14:09Find that the fogging now fogs to black
🏃
2:14:09Find that the fogging now fogs to black
🏃
2:14:50Scrutinise the fogging in CompileZBiasProgram()
📖
2:14:50Scrutinise the fogging in CompileZBiasProgram()
📖
2:14:50Scrutinise the fogging in CompileZBiasProgram()
📖
2:17:17Make CompileZBiasProgram() compute SurfaceReflect at the end
2:17:17Make CompileZBiasProgram() compute SurfaceReflect at the end
2:17:17Make CompileZBiasProgram() compute SurfaceReflect at the end
2:18:36Find that the fogging now works correctly
🏃
2:18:36Find that the fogging now works correctly
🏃
2:18:36Find that the fogging now works correctly
🏃
2:20:31Close that issue16
🗹
2:20:31Close that issue16
🗹
2:20:31Close that issue16
🗹
2:21:14Q&A
🗩
2:21:14Q&A
🗩
2:21:14Q&A
🗩
2:21:26Investigate twitching
🗹
2:21:26Investigate twitching
🗹
2:21:26Investigate twitching
🗹
2:24:08Call it a day
🗩
2:24:08Call it a day
🗩
2:24:08Call it a day
🗩