[video output=day246 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Moving Worker Context Creation to the Main Thread" vod_platform=youtube id=ml5E9-tzEns annotator=Miblo]
[0:45][Recap and set the stage for the day]
[4:37][win32_handmade.h: Move platform_work_queue in from win32_handmade.cpp]
[6:28][win32_handmade.cpp: Initialise a Thread and Queue in ThreadProc and change to testing to see that we have an OpenGLRC]
[8:36][win32_handmade.cpp: Make Win32MakeQueue take a win32_thread_startup]
[10:38][win32_handmade.cpp: Initialise some High and Low priority threads and make the first two LowPriStartups to be populated by Win32GetThreadStarupForGL]
[13:04][win32_handmade.cpp: Replace Win32GetThreadStarupForGL with one that returns a win32_thread_startup]
[14:56][Debugger: Step through the win32_thread_startup initialisations]
[16:27][win32_handmade.cpp: Remove GlobalOpenGLRC and GlobalDC global variables and try stepping through again]
[17:13][Run the game and see our textures]
[18:03][Internet: Consult the WGL_ARB_pixel_format docs[ref
    site="OpenGL"
    page="WGL_ARB_pixel_format"
    url="https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt"]]
[21:34][handmade_opengl.cpp: Consider how to get the wgl extensions]
[23:26][Internet: Consult the WGL_EXT_extensions_string doc to confirm that in order to check that you have a wgl extension, you have to have a wgl extension[ref
    site="OpenGL"
    page="WGL_EXT_extensions_string"
    url="https://www.opengl.org/registry/specs/EXT/wgl_extensions_string.txt"]]
[24:34][win32_handmade.cpp: Use wglGetExtensionsStringEXT to see what extensions strings we have]
[29:13][Internet: ARB_framebuffer_sRGB[ref
    site="OpenGL"
    page="ARB_framebuffer_sRGB"
    url="https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt"]]
[30:48][Beg to differ][quote 401]
[31:21][Debugger: Inspect our Extensions]
[35:21][todo.txt: Consult the TODO list]
[37:54][Run the game and test out our hot code reloading]
[41:40][win32_handmade.cpp: Note that the Entry.Callback is not in the same place between builds and consider how to solve this problem]
[44:19][todo.txt: Update the TODO file]
[46:53][Q&A][:speech]
[47:01][@Pseudonym73]["So what shall we do for the next 20 min? Maintain the TODO file"]
[47:45][@Cubercaleb][There is a bug in the new GL code, the if(!) you added is not checking the sRGB variable but a different one]
[53:42][@insobot][Thank you to imperiumtactics for following the channel! <3]
[54:12][@Garryjohanson][Totally serious when I say you should write an API book. I would never think of lots of stuff]
[55:20][@SoysauceTheKid][For the keyboard / gamepad inputs, can HalfTransitionCount ever go beyond 1? Or is it there if you put the input getting on a separate thread?]
[57:40][@Cubercaleb][Kind of graphics / Windows related: Why do so many games, especially Source games handle Alt-Tab poorly?]
[1:00:31][@Cynokron][Is there any benefit to moving the main windows message queue to another thread? I'm sorry if you've implemented / answered this already. I'm still catching up]
[1:05:07][@gasto5][Do you use Windows's GDI outside of the educational usage you have been showing?]
[1:07:26][@Fyoucon][Promote 4coder!]
[1:07:31][@guitarm87][Sounds like you know how to play drums?]
[1:07:38][@Cynokron][What do you think of Vulkan? Will it replace D3D?]
[1:10:17][@stelar7][Selection buffer vs ray picking vs color picking for mouse picking?]
[1:10:33][@SoysauceTheKid][For detecting long presses on keyboards, would I put a timestamp in the input struct?]
[1:10:55][@APlethora][What is the next "feature" you are going to work on?]
[1:11:06][@dgmtv][Do you think all the modern C++ nomenclatures like C++11, C++14, C++17, C++xy are an internal joke to obscure the mess the language is?]
[1:12:48][@cubercaleb][Is it worth selling my soul and learning JS / Python for money?]
[1:14:48][@joshuanatrop][Any thoughts on SDL2?]
[1:14:56][@slay29][What technique are you going to use for path-finding?]
[1:15:03][@ltdemian][Been doing a lot of JS. What do you think I should do next? Kind of bored with JS]
[1:15:36][@TheBuzzSaw][Vulkan is extremely low level; that was requested by various game engine and hardware developers. There is probably a huge market for a dev-friendly API to sit on top of Vulkan to shield devs from those gory details. Don't think so?]
[1:19:29][@gasto5][ow much do you follow the latest technologies? Do you think it is a waste of time to learn the latest graphics API for indie development?]
[1:23:26][@erdomina][Why should no programmer work for Palantir?]
[1:24:36][@guitarm87][Does Jon use more C++ specific stuff than yours do?]
[1:25:58][@iWumbo_][What you think about the new Snowdrop game engine?]
[1:26:24][@cubercaleb][Do you plan on using Vulkan considering the performance differences that people have been claiming exist?]
[1:27:37][@balreign][Since you write everything from scratch, why not use a language like Go?]
[1:28:04][@sanch3z1337][If any, what games have you been playing recently and how did you like them?]
[1:28:38][@imperiumtactics][I have noticed that there is no more send email on the Handmade Hero website. Do you still reply to emails?]
[1:29:24][@ltdemian][Where do you see the game development community going in the next 5-10 years?]
[1:29:29][@iWumbo_][What are the main differences in, for example, C and the language your friend is developing, in three sentences or less?]
[1:29:38][@anonymous835][Do you have experience with POSIX Linux system calls, fork() for example? I need to create a small Process Scheduler, but when I create a fork() inside a for cycle it messes up. I need to create N amount of processes, then save them to a FIFO list and start executing one at the time]
[1:31:10][@Fyoucon][Would you want to be one of the first people to play around with JAI? Or would you wait 'till it gets more mature?]
[1:32:37][@stelar7][Are you going to check out OBS Studio this weekend?]
[1:32:43][@ugurkodak][Do you work on another game project other than Handmade Hero?]
[1:33:21][@Mr4thDimention][Is fork a good API or a bad API?]
[1:34:39][@bob_burrough][Forgive me if already asked: GDC is next week. What Handmade Hero representation at GDC?]
[1:35:48][Wind things down][:speech]
[/video]
