[video output=day289 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Decoupling Visuals from Entity Types" vod_platform=youtube id=9J-ZOWPLYM4 annotator=Miblo]
[1:20][Recap and set the stage for the day]
[2:32][A few words on deciding when to make new files]
[3:58][handmade_brain.h and handmade_brain.cpp: Add these files and pull in the brain code from handmade_entity.h and handmade_world_mode.cpp]
[6:38][handmade_brain.cpp: Introduce ExecuteBrain]
[8:49][handmade_world_mode.cpp: Consider how to deal with HeroesExist]
[10:08][4coder: Bug with buffer position loss]
[11:27][handmade_world_mode.cpp: Make UpdateAndRenderWorld set HeroesExist by looping through the controllers]
[16:57][handmade_world_mode.cpp: Shuffle UpdateAndRenderWorld and delete superfluous code]
[19:01][handmade_brain.cpp: Move the Planted mode code in from handmade_world_mode.cpp]
[21:53][handmade_entity.h: Add ddtBob and MoveSpec to entity]
[26:37][handmade_brain.cpp: Make ExecuteBrain give the head some movement]
[30:24][handmade.cpp: Add ddP to controlled_hero]
[32:35][Debugger: Investigate why we're not getting any acceleration]
[34:47][handmade_world_mode.cpp: Make UpdateAndRenderWorld correctly set the ddP]
[36:05][Run the game and move around]
[36:45][handmade_brain.cpp: Move in the Familiar, FloatyThingForNow and Monstar code from handmade_world_mode.cpp]
[39:48][handmade_world_mode.cpp: Figure out a way to get rid of Entity->Type and remove the Stairwell and Floor types]
[42:09][handmade_world_mode.cpp: Allow anyone to draw their collision rectangles]
[42:37][Run the game and view the collision rectangles]
[43:53][handmade_world_mode.cpp: Compress these entity types]
[46:16][handmade_entity.h: Introduce entity_visible_piece]
[50:28][handmade_world_mode.cpp: Reimplement the Wall using entity_visible_piece]
[53:44][Run the game and see no walls]
[53:57][handmade_world_mode.cpp: Make AddWall call AddPiece]
[54:48][Describe this process of enabling entities to prescribe how they will be rendered]
[55:37][handmade_world_mode.cpp: Introduce AddPiece]
[57:26][Run the game and see the trees]
[57:45][handmade_world_mode.cpp: Temporarily make AddWall apply some EffectsEntropy to the Piece->Color]
[59:17][Run the game and admire the randomly coloured trees]
[1:00:12][Q&A][:speech]
[1:02:05][@anonymous519][Recently came across this[ref
    site="Emery D. Berger, Benjamin G. Zorn and Kathryn S. McKinley"
    page="Reconsidering Custom Memory Allocation"
    url="https://people.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf"]. Please read the abstract and tell me what you think]
[1:04:48][@neitchzehrer][Is there a limit to the colors you can have?]
[1:05:33][@longboolean][Will you need to have an entity type at some level, like when generating the world, placing trees and whatnot?]
[1:06:45][Consider the reaps paper]
[1:09:31][@neitchzehrer][Colors of the trees, the hero, enemies, etc.]
[1:10:02][@ingenero][I've been a little lost the last few days. Would you mind giving a brief recap of what you're trying to do to the entity system now?]
[1:13:24][@dudeinbasement1][Thoughts on avoiding denormalized floating-point on console platforms? Do they all have a -ffast-math?]
[1:14:21][@neitchzehrer][My apologies. Yes, limits in the game design]
[1:15:01][@anonymous519][Can you explain the difference between how you manage memory at work and how you're currently doing it in Handmade Hero?]
[1:15:14][@longboolean][Will monsters and other things be able to attack each other (friendly fire), like a witch accidentally shrinks a goblin or something?]
[1:15:36][@billdstrong][Would we do anything differently if we wanted to have HDR capabilities in the game?]
[1:16:25][@realist_01][Can you answer my previous question? People would like to see your pre-streams on YouTube]
[1:17:11][@anonymous519][The reason I ask is because I really like the idea of allocating up front and managing all memory myself as in Handmade Hero, but I'm not sure if I'm just shooting myself in the foot by not using malloc / free]
[1:20:23][Wrap it up][:speech]
[/video]
