[video output=day330 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Fixings Bugs from the Issue List" vod_platform=youtube id=a346y2H9JcU annotator=Miblo]
[0:03][Recap and set the stage for the day]
[1:23][Consult and update the issues[ref
    site="GitHub"
    page="HandmadeHero/cpp Issues"
    url="https://github.com/HandmadeHero/cpp/issues"]]
[4:32][Blackboard: Constant Power Panning]
[7:37][handmade_audio.cpp: Double-check how the panning currently works]
[12:04][Close the "Switch to constant power panning instead of linear panning in audio mixer" issue]
[12:40][handmade_opengl.cpp: Make OpenGLInit() call glTexEnvi()]
[14:24][Run the game, see that it's fine and close that issue]
[14:48][Consider the "Improve spinlock efficiency in BeginTicketMutex()" issue[ref
    site="GitHub"
    page="HandmadeHero/cpp Issues"
    url="https://github.com/HandmadeHero/cpp/issues"]]
[17:43][Read about the PAUSE instruction in the Intel 64 and IA-32 Architectures Software Developer's Manual[ref
    site="Intel"
    page="Intel 64 and IA-32 Architectures Software Developer Manuals"
    url="https://www-ssl.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html"]]
[23:37][handmade_platform.h: Make BeginTicketMutex() call _mm_pause(), run the game and find that its execution hasn't changed]
[24:08][Close that issue and consider the other ones[ref
    site="GitHub"
    page="HandmadeHero/cpp Issues"
    url="https://github.com/HandmadeHero/cpp/issues"]]
[26:21][handmade_shared.h: Make ReadVarArgUnsignedInteger() promote all smaller types to 32-bit ints]
[29:08][Determine to fix the "Clang: Passing va_list as a pointer" issue[ref
    site="GitHub"
    page="HandmadeHero/cpp Issues"
    url="https://github.com/HandmadeHero/cpp/issues"]]
[31:19][handmade_shared.h: Change ReadVarArgUnsignedInteger(), ReadVarArgSignedInteger() and ReadVarArgFloat() into macros]
[35:02][Run the game to verify that nothing broke here, and then close this issue]
[35:55][handmade_render.h: Introduce GetStandardCameraParams() in order to unify the camera computations]
[40:17][Run the game and tweak the camera settings]
[43:35][Close that issue and endeavour to fix the "Failsafe: If DEBUGGameFrameEnd Pointer fails to load while HANDMADE_INTERNAL=1" issue[ref
    site="GitHub"
    page="HandmadeHero/cpp Issues"
    url="https://github.com/HandmadeHero/cpp/issues"]]
[47:00][win32_handmade.cpp: Make WinMain() call DEBUGSetEventRecording() right after Win32LoadGameCode()]
[47:52][Run the game and see how it goes]
[48:44][win32_handmade.cpp: Make Win32LoadGameCode() set DEBUGFrameEnd]
[49:03][Close that issue and request help from clang users to address the final clang compatibility issue]
[50:43][Q&A][:speech]
[51:10][@telconfig][Casey, is there a bug with chunk creation? You added a free list but are not using it?]
[52:18][@mmozeiko][When doing copy & pasta you left (f64) cast in wrong place for ternary operator - ((f64)va_arg(ArgList, f64)) \: (va_arg(ArgList, f32))]
[52:34][handmade_shared.h: Fix ReadVarArgFloat()]
[52:59][@internal_static_void][When you found yourself unable to write code for something, what would you do to try to find something to do for said project?]
[58:32][@braytoba][Looking to start a career in programming / computer science. I am currently 16 and in grade 12. Any tips on what I should do? "Also thanks chat for all the help"]
[59:45][@longboolean][It has been a while since we've seen some of the CTime stats that are being collected. If you have time?]
[1:00:58][Consult the CTime stats]
[1:02:16][@snoringtortoise][What is the current schedule for the stream? It seems that we have been dealing with bugs for a while - sorry I may have missed the explanation if you provided it a little while ago]
[1:02:32][@telconfig][When we get the chunk in GetWorldChunk() it seems we always allocate new memory. We never reuse the old chunks after removing them? I assumed you would add the removed chunk to the free list on the world and then reuse these when creating a new chunk rather than allocate more memory using the push struct? But you are currently not using this free list?]
[1:04:31][handmade_world.cpp: Enable GetWorldChunk() to recycle old chunks]
[1:06:31][Run the game]
[1:06:55][@uplinkcoder][What makes a bad programmer in your opinion?]
[1:07:28][@internal_static_void][About your build.bat file, why do you disable exceptions and warnings?]
[1:08:08][@Miblo][A related thing mentioned in a creative writing course I did was to "postpone perfection"]
[1:09:44][Wind it down][:speech]
[/video]
