[video output=day006 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code template=code006_template.html title="Gamepad and Keyboard Input" vod_platform=youtube id=J3y1x54vyIQ annotator=jacebennett annotator=Miblo annotator=garlandobloom]
[0:51][Getting input from a gamepad: XInput]
[3:20][Using XInput in the codebase]
[6:26][A look at the XInput API more in depth.]
[7:40][Programming using XInput API]
[9:09][Discussing the controller's state: using XINPUT_STATE struct]
[11:30][Using XINPUT_GAMEPAD struct]
[16:57][Handling unresolved external symbol XInputGetState]
[26:03][Discussing access violations]
[26:52][Safeguarding against access violations]
[31:50][Defining and implementing Win32LoadXinput function]
[37:22][Playing with the X and Y offset]
[38:00][Casey looking for his gamepad]
[38:50][Casey showcases pink controller]
[41:09][XINPUT_VIBRATION]
[43:05][#milkhit]
[46:55][Testingand handling button/key presses]
[55:10][(Extra) ANSI String Handling]
[56:10][(Extra) Not passing something by value anymore]
[58:10][Summary and things to come before beginning Q&A]
[59:08][LParam 30 is always up for WM_KEYUP]
[59:57][Why uppercase variable names?]
[1:00:21][Can you explain your macro and referencing XInput functions again?]
[1:03:15][What's the size when copying becomes problematic for a struct?]
[1:04:27][About (premature) optimisation]
[1:08:27][How does the linker find the XInput DLL on the users machine? \[...\] Can we distribute the DLL?]
[1:12:52][Is \[the dynamic linker\] allowed to link XInput in compile time?]
[1:14:02][Why you chose an if-else cascade for key input instead of switch statement? It's up for grabs.]
[1:15:13][How do you know the XInput stub things work without testing it on XP computer without XInput installed?]
[1:17:03][Is it a waste of time to check if GetProcAddress() returns zero?]
[1:19:12][Modify code to use the controller stick]
[1:22:14][Where do the WParam and LParam come from?]
[1:24:17][Why did MS decide to use link and import library instead of true dynamic linking?]
[1:25:13][When are we going to get @naysayer88 and @cmuratori combination game?]
[1:26:19][On Unix you don't need to link to a .so file at all to use a .so file where as on MS platforms you need a .lib file]
[1:27:33][In the far future will you use DirectX or OpenGL or what?]
[1:28:05][We will be drawing the whole screen every frame.]
[1:28:47][Why does Valgrind make it look so scary when you don't free()?]
[1:29:48][It looks like WParam and LParam are 32bit on XP]
[1:30:12][Is it possible to keep your framerate consistent while dragging the window around? Doing repaint on WM_MOVE is slow.]
[/video]
