-
Notifications
You must be signed in to change notification settings - Fork 144
Comparing changes
Open a pull request
base repository: DCurrent/openbor
base: f5261e7
head repository: DCurrent/openbor
compare: 3caaddd
- 15 commits
- 17 files changed
- 1 contributor
Commits on Jul 19, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 7a4f778 - Browse repository at this point
Copy the full SHA 7a4f778View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc339ca - Browse repository at this point
Copy the full SHA fc339caView commit details -
Enable VSync by default and remove SDL_gfx framerate limiter.
The SDL_gfx framerate limiter offers no advantages over VSync. Syncing updates to the display looks better (no risk of judder) and uses less power, since most displays are less than 200 Hz. (And we especially wouldn't want a 200 FPS limit on any displays with a higher refresh rate than 200 Hz.) The option to disable VSync remains intact. If you disable VSync, there will be no framerate cap, so you can test performance.
Configuration menu - View commit details
-
Copy full SHA for 7d752cb - Browse repository at this point
Copy the full SHA 7d752cbView commit details -
Rework input interface and rewrite SDL input code.
This is a big one. Rework the input interface to have the concept of separate input devices instead of treating all input devices like extensions of a giant keyboard. A single input device is now assigned to each player. The rewrite of the SDL input code also adds support for the SDL game controller (XInput) interface, so XInput-compatible controllers can have sane default mappings. There are some things incomplete (saving/loading control mappings, reassigning devices to players) but games are playable. This change will break consoles until their input code is rewritten. It probably also breaks Android, but hopefully it will not be too hard to fix since Android-specific code has been taken from the original control.c.
Configuration menu - View commit details
-
Copy full SHA for c978d0f - Browse repository at this point
Copy the full SHA c978d0fView commit details -
Add back support for saving and loading controls.
Control mappings are now saved to a separate file from the main save data.
Configuration menu - View commit details
-
Copy full SHA for f63b270 - Browse repository at this point
Copy the full SHA f63b270View commit details -
Configuration menu - View commit details
-
Copy full SHA for de00f1d - Browse repository at this point
Copy the full SHA de00f1dView commit details -
Fix bug in control configuration.
When changing the input config for a button, it would pick up the newly configured button as a "newly pressed button" on the next update, so it would go right back into waiting for a button press again.
Configuration menu - View commit details
-
Copy full SHA for 0bf0750 - Browse repository at this point
Copy the full SHA 0bf0750View commit details -
Allow the "cancel" button to be configured to an action button as well
Now the only way to cancel out of input config when it's waiting for a key/button press is for another player to press "cancel".
Configuration menu - View commit details
-
Copy full SHA for 38b064d - Browse repository at this point
Copy the full SHA 38b064dView commit details -
Configuration menu - View commit details
-
Copy full SHA for bdd3faf - Browse repository at this point
Copy the full SHA bdd3fafView commit details -
It compiles and runs now, but control config doesn't pick up on-screen button presses yet.
Configuration menu - View commit details
-
Copy full SHA for 4967eec - Browse repository at this point
Copy the full SHA 4967eecView commit details -
Make control config respond to on-screen buttons on Android.
This isn't super useful since on-screen buttons are actually mapped directly to directions, Jump, Special, Attack 1, etc. But it's better than having to cancel out of control config with the Esc button.
Configuration menu - View commit details
-
Copy full SHA for e198aef - Browse repository at this point
Copy the full SHA e198aefView commit details -
Don't count the Android accelerometer as an input device.
SDL uses the joystick interface to expose the functionality of the accelerometer on Android devices. Since the accelerometer is not actually a joystick/controller, blacklist it from being counted as an input device.
Configuration menu - View commit details
-
Copy full SHA for f7d2b99 - Browse repository at this point
Copy the full SHA f7d2b99View commit details -
Implement the input rework for the Wii port.
The implementation is buggy and incomplete, but it at least compiles and runs okay.
Configuration menu - View commit details
-
Copy full SHA for fc1a4ae - Browse repository at this point
Copy the full SHA fc1a4aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b76de4 - Browse repository at this point
Copy the full SHA 3b76de4View commit details -
Merge pull request #235 from DCurrent/input-rework-rebased
Completely reworks the input system. The platform-specific control code for SDL and Wii has been completely rewritten. Input devices are now assigned to individual players, controller hotplugging is handled gracefully, and it is easy to reassign which player uses which device. This should fix most of the control issues people have traditionally had with OpenBOR. The days of OpenBOR treating all input devices like pieces of a giant imaginary keyboard are over! The new input subsystem works very well on Windows/Linux. I haven't been able to test controller support on Android, but these changes at least don't break the regular touch-based input system. The Wii implementation is in worse shape; it is still incomplete and buggy, and will need someone to improve it in the future.
Configuration menu - View commit details
-
Copy full SHA for 3caaddd - Browse repository at this point
Copy the full SHA 3caadddView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff f5261e7...3caaddd