[video output=day205 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Picking Entities with the Mouse" vod_platform=youtube id=3RPdhDditMY annotator=Miblo]
[1:31][Recap and set the stage for the day]
[3:18][handmade.cpp: Outline all of the entities]
[4:45][Consider making the renderer work more logically]
[7:04][handmade_render_group.cpp: Deprecate Unproject]
[9:05][handmade_render_group.cpp: Work CompleteUnproject into a new 3-dimentional Unproject function]
[14:06][win32_handmade.cpp: Unify our output and input coordinate systems]
[16:54][handmade_render_group.cpp: Finish writing Unproject]
[17:41][handmade_math.h: Introduce operator-= for vectors]
[18:19][handmade.cpp: Call the new Unproject]
[18:50][Debugger: Step in and inspect MouseP and PixelsXY]
[20:03][handmade_render_group.cpp: Divide by MetersToPixels]
[20:16][Debugger: Step back in to Unproject]
[24:29][handmade_render_group.cpp: Look at the DistanceToPZ calculation in GetRenderEntityBasisP]
[25:22][Blackboard: How DistanceToPZ is specified]
[27:54][handmade_render_group.cpp: Rename ZMeters to ZMetersFromTargetPlane]
[28:29][handmade.cpp: Set LocalZ = 3.0f]
[28:43][Run the game and set that it now works]
[29:30][handmade.cpp: Test to see if the MouseP is on the plane of the Entity]
[31:57][Run the game and note that the scale is a little bit off]
[32:18][handmade.cpp: Respecify Unproject to not take ZMetersFromTargetPlane]
[37:32][Run the game and see that we're correctly doing that inversion]
[38:17][Run the game and test how these outlines work]
[39:16]["I guess the Wacom tablet decided to take its own life"][quote 273]
[39:28][handmade.h: TODO(casey): Real projections with solid concept of project/unproject]
[40:11][handmade.cpp: Only push the outline when the mouse is over the entity]
[40:44][handmade.cpp: Manually provide the ability to introspect the HOT_ELEMENT]
[46:32][handmade_platform.h: #define all of these new DEBUG macros]
[47:34][Run the game and see that we're still highlighting but that the debug menu no longer works]
[48:55][handmade_debug.cpp: Unproject the MouseP]
[49:56][handmade_render_group.cpp: Compute UnprojectXY]
[51:13][Run the game and see that we have our picking back]
[51:51][Q&A][:speech]
[53:15][@Mr4thDimention][I'm a little unclear about what pressure is keeping you from doing the Z math exactly like you would in 3D]
[53:28][Blackboard: Conceptualising Z]
[59:45][@rdwindmill][Where are you going to draw the labels for entity properties?]
[1:00:05][@Ikkir_Isth][Did you decide which 'awesome thing' to do for tomorrow's stream?]
[1:00:25][@ijustwantfood][What do you define as a good game design?]
[1:00:34][@garryjohanson][Curious if your decision to design your own game engine has more to do with you furthering your own skill level, or do you have reason to not trust the middleware solutions you have seen in the past?]
[1:04:42][@ciutchism][Did you play Warcraft III at all or any of the mods? I need some help replicating some of the movement mechanics from one of the games and nobody understands me when I describe it. Willing to pay PayPal to whoever can code it. I'm betting it's honestly somewhat simple]
[1:05:41][@StarchyPancakes][Would it work to render it in full 3D and rotate all the sprites by 45 degrees (or whatever angle the camera is taking)?]
[1:07:51][@rdwindmill][I understand the art is drawn in the 3/4 view. Is the camera at an angle or top down?]
[1:10:34][@graeme7][The 3DS Zelda games do the 3D-at-an-angle for 2D]
[1:11:33][@garryjohanson][So I'm making a full 3D RTS that uses a mouse with a joystick built in so you can adjust where you are looking with the joystick and still use the mouse as a mouse for unit selection. Do you think that is an untenable idea for a product? If you had to buy a new mouse for one game, would you be like "nooo"?]
[1:12:12][@abnercoimbre][Did you ever end up playing The Mother series? Still on your TODO?]
[1:12:29][@rdwindmill][I kind of jumped over 100 episodes so I don't understand what the issue was with the debug selector. Was the issue with the hitbox depth only or also the position?]
[1:14:02][Look forward to tomorrow's Devstreamathon[ref
    site="Twitch"
    page="Devstreamathon"
    url="http://www.twitch.tv/devstreamathon"] and consider supporting Hitbox][:speech]
[1:15:13][@actbinary][https://restream.io/[ref
    site=Restream
    url=https://restream.io/]]
[1:15:39][@SwagKitty69][Why did Jon get banned?]
[1:17:09][Wrap it up][:speech]
[1:18:43][Announcement: The speaker list for HandmadeCon 2015 will be announced on Monday[ref
    site="HandmadeCon"
    url="http://handmadecon.org/"]][:speech]
[/video]
