[video output=day196 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Introduction to UI Interactions" vod_platform=youtube id=FvWcZ9Tti2k annotator=Miblo] [3:07][Recap and set the stage for the day] [4:41][Blackboard: UI Input Processing] [9:27][handmade_debug.cpp: Explain how the code is structured for IMGUI] [12:35][handmade_debug.h: Introduce *Hot, *InteractingWith and *NextHot debug_variables] [15:31][handmade_debug.cpp: Introduce DEBUGInteract and build it up using those variables] [22:04][Run the game and see what happens] [22:28][handmade_debug.cpp: Determine whether the variable we're interacting with is Hot] [24:26][handmade_debug.cpp: Introduce DEBUGBeginInteract and DEBUGEndInteract] [29:39][handmade_debug.cpp: Implement the ability to modify the debug variables] [32:40][Run the game and see our current progress] [32:54][handmade_debug.cpp: Reimplement the ability to expand / collapse the tree menu] [34:38][Run the game and note an interesting situation regarding the interaction] [36:20][handmade_debug.h: Introduce debug_interaction] [38:01][handmade_debug.cpp: Test the interaction state in order to determine which type of interaction to perform] [41:01][Don't be premature][quote 263] [41:43][handmade_debug.cpp: Perform different interactions depending on the DebugVariableType] [45:20][Run the game and check out our new ability] [45:42][handmade_debug.cpp: Check that we have a variable and rerun the game] [46:13][handmade_debug.h: Add NOP to debug_interaction] [47:31][Run the game and try out this new NOP interaction type] [47:56][handmade_debug.h: Introduce debug_variable_hierarchy] [51:35][handmade_debug.cpp: Setup the hierarchy] [54:25][Debugger: Step in to DEBUGDrawMainMenu to find where everybody went] [55:33][handmade_debug.cpp: Flip the order of the values passed to DebugState->Hierarchy.UIP] [55:52][Run the game and find that it's all working] [56:31][Q&A][:speech] [57:06][@ijustwantfood][Once you finish making the game, you you do a live playthrough?] [58:57][@TheSizik][We're getting close to 200 episodes; how long do you think until you start on the game proper?] [1:02:38][@cubercaleb][Does this mean a proper RNG is around the corner?] [1:04:57][@Lkey144][Did you already cover the Minkowski difference on stream?] [1:06:06][@RC1290][Could you explain the difference between how IMGUI is often implemented, and how you think it should work again? It went a bit fast for me] [1:07:53][@Sabre173][Would you ever consider doing a 24-hour stream that was create X app or game from start to finish in one stream?] [1:09:10][Close][:speech] [/video]