1. Moves right stick movement handler to run on every frame.
2. Changes hi-res accumulators to `float` to ensure they're always
incremented.
3. Avoid calling `SetCursorPos` within the same SDL tick:
this caused SDL to process all controller events before mouse events
(out-of-order).
(1) also makes right-stick-as-mouse work in `gmenu`.
Previously this was handle as part of `game_logic`, reducing
responsiveness and making it impossible to run where `game_logic`
isn't running, e.g. stores.
* Fixes Right Stick cursor movement
* Fixes cursor flicker when moving the cursor while moving the character
* Fixes START + SELECT menu
* Makes SELECT act as Escape in the in-game menu
Fixes#930
The game will now autodetect if it should run in shareware mode or full
retail based on the found mpq file. Additionally it can beforced in the
shareware mode with --spawn even if the retail data is found.
This simplifies a lot of the spagetty code and lets us better refactor,
also worth noteing is that we won't have to setup a secound set of build
tests.
This also fixes
- UI navigation being unresponsive when quickly tabing the direction
pad.
- Speed book not starting out highlighting the current selected item
- Diagonal in the speed book
- Being able to select non spells in the speedbook