[video output=day285 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Transactional Occupation of Traversables" vod_platform=youtube id=HXLr8tSGIX0 annotator=Miblo]
[1:35][4coder: New version 4.0.5, with indentation and scrollbars]
[3:25][Recap and set the stage for the day]
[4:36][handmade_world_mode.cpp: Disable the slope]
[6:14][4coder: Bug with editing in the left-hand pane]
[7:29][handmade_entity.h: Add an entity *StandingOn to entity_traversable_point]
[9:31][handmade_sim_region.cpp: Make LoadTraversableReference write to the entity's collision volume if they have a pointer set]
[10:57][handmade_world_mode.cpp: Colour the traversable if it has an Occupier]
[11:43][4coder: Swoon over the cool new indentation]
[12:43][Run the game and find that the traversables already have the new colour]
[16:15][handmade_entity.h: Make the Traversable a property of the entity]
[19:53][Run the game and pacman up the traversable points]
[20:57][4coder: Realise that we're now editing in the left-hand pane]
[21:21][handmade_world_mode.cpp: Check if a traversable is available before hopping to it]
[23:14][handmade_sim_region.cpp: Introduce TransactionalOccupy and GetTraversable]
[31:29][Run the game and note a couple of problems]
[34:26][Blackboard: Transitioning from Standing On to Moving To]
[37:18][handmade_entity.h and handmade_world_mode.cpp: Assume that a 1-square-sized entity occupies only one square at once]
[38:49][4coder: Outdated jump-to-error]
[43:05][Run the game and find that the colouring of the traverables is working as expected]
[43:45][handmade_world_mode.cpp: Reimplement the ability to add new heroes]
[45:13][Run the game, try adding new heroes and enjoy the weirdness]
[47:04][handmade_world_mode.cpp: Consider making AddPlayer more robust]
[53:31][handmade_world_mode.cpp: Set HeroesExist in both cases, run the game and consider keeping AddPlayer as it is]
[54:41][Q&A][:speech]
[55:22][@stropheum][This debug world just gets progressively weirder every day]
[56:34][@remele][Why don't the cloned players jump to points when their head moves over them?]
[57:21][handmade_world_mode.cpp: Make the hopping happen whether or not a controller is controlling the hero]
[59:46][Run the game and spawn a ton of heroes]
[1:00:12][handmade_world_mode.cpp: Keep those heroes hopping]
[1:00:54][Run the game and watch them hop]
[1:01:36][handmade_sim_region.cpp: Introduce traversable_search_flag and add Unoccupied flag to GetClosestTraversable]
[1:02:21][4coder: Praise Allen for the alignment]
[1:03:13][4coder: Bogus indentation]
[1:04:21][Run the game and spawn a line of heroes]
[1:05:14][handmade_world_mode.cpp: Made AddPlayer take SimRegion in order to do GetClosestTraversable]
[1:07:26][Run the game and find that we're still not quite right]
[1:08:20][handmade.h: Add DebugSpawn to controlled_hero in order to test this adding]
[1:12:22][handmade_sim_region.cpp: Make GetSimSpaceTraversable copy the Occupier]
[1:13:06][Run the game and spawn some correctly positioned heroes]
[1:13:30][handmade_world_mode.cpp: Make DebugSpawn not override us]
[1:13:54][Run the game and just add new people]
[1:16:05][Wind up][:speech]
[1:16:08][4coder: Recap the one weirdness with the if \[see 1:03:13\]]
[/video]
