[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Cleaning Up the UI Layout Code" vod_platform=youtube id=BHEJh9Yvsxc annotator=Miblo] [0:01][Welcome to this special day][quote 465] [1:38][Recap and set the stage for the day] [4:54][handmade_debug.cpp: Implement a pause interaction with the FrameSlider] [6:51][handmade_debug.h: Add DebugInteraction_SetUInt32] [8:32][handmade_debug.cpp: Add another action button for oldest frame] [10:24][handmade_debug.cpp: Turn SetElementTypeInteraction into a generic SetUint32Interaction] [26:34][Run the game and see that we are still working] [28:18][handmade_debug_ui.cpp: Pull out the user interface functions from handmade_debug.cpp] [30:52][handmade_debug_ui.h: Pull out the user interface structs from handmade_debug.h] [36:40][A few words on dividing files up] [37:09][Anticipate a programming world without files][quote 466] [38:07][handmade_debug_ui.cpp: Remove the "DEBUG" prefix from everything] [41:08][handmade_debug_ui.cpp: Introduce BeginLayout and EndLayout in order to make the layout system more robust] [45:23][A few words on the expediency of compression oriented programming] [46:35][handmade_debug_ui.h: Add LineInitialized to the layout struct] [48:31][handmade_debug_ui.cpp: Use LineInitialized in BeginLayout, EndElement and AdvanceElement] [51:40][Run the game and see that our indentation bugs are gone] [53:28][handmade_debug_ui.cpp: Make the buttons look like buttons] [1:00:43][Run the game and admire our new buttons] [1:01:31][Q&A] [1:02:09][@fyoucon][Remember to include your new casey_custom in the repo!] [1:02:34][@insobot][Spoilers. Holy *** I managed about two months, the plane are reflected when no window currently has the intro?] [1:03:02][@longboolean][Could you explain your "poor man's lambda"? How it works, how it is like a lambda and how it is not?] [1:05:28][handmade_debug.cpp: Demonstrate "poor man's closure", or deferring things until later] [1:07:51][@thesizik][Do you ever turn on unused function / variable warnings?] [1:08:02][@qwoodmansee][I am currently working on a 3D OpenGL project and implementing collision detection. I've been introduced to the idea of changing my vector space so my character is a perfect unit sphere (which should make collision detection easier). Do you have any opinion on this approach?] [1:08:51][Blackboard: Using a sphere for collision detection] [1:10:30][Close this up] [/video]