In this tutorial we will look at how to add support for gamepads to our application using the XInput API. XInput replaces DirectInput from previous DirectX versions and greatly simplifies the task of working with game controllers, as long as they are XInput-compatible, i.e. X-Box-like controllers.
To facilitate deploying the game, or just working in a team, it would be nice to have a good file system structure in place. This isn't really a tutorial, but rather a reminder to myself. For now, we simply store the raw data files into the My Documents folder.
The current stack manager does not allow for Heads-Up-Display overlays yet, as each time a new state is pushed to the stack, the previous state is paused. We therefor have to add the possibilty to overlay states over each other: The Stack Overlaying States To add a new overlay, we
To further showcase the previously implemented new state system, this tutorial will explain how to create an options menu to allow the user to change the fullscreen state, to set the game resolution and to chose his own keybindings.
Every game, I suppose, needs a menu system with buttons to let the user navigate through the different scenes of a game. In this tutorial we will learn how to add such buttons to a game menu. The main functionality of each button will be defined using lambda functions.