Allows the SavegameManager to destroy all saves related to the current UUID session so hardcore mods can enforce this safely instead of needing to go nuclear.
* Cleanup: Alignment, long lines, Replace 0 with SDLK_UNKNOWN
* Gamecontroller api analogue input
* Added some button handling
* Added mapping for other buttons
* Added trigger events
* Added force_joystick flag
* Removed force_joystick flag
Rationale:
1. It was actually broken lol
2. I cannot think of a case where enabling this would be a useful thing for
gzdoom. If the user is using a gamecontroller, it is pointless. If they are
not using a gamecontroller, it will just default to using the joystick api.
If they are not using a gamecontroller, but SDL thinks they are, it is an
SDL bug, and will be reported and fixed
* Modified default mapping
* Added analogue to digital threshold
* Added analogue response curve
* Per axis settings
* Fixed controller reconnect
* Added threshold and curve to IJoystickConfig
Enabled saving of settings
* Added stubs
* Cleanup
Constants are no longer defines.
Constants are mostly shared between backends.
Moved some logic to m_joy
* Implemented xinput stubs
* Implemented dinput stubs
* Implemented ps2 stubs (untested)
* Fixed inclusive check
* Implemented osx stubs (untested)
* Fixed curve implementation
No longer savable, I screwed the curve function up.
I though it needed 2 control points, but it needs 4.
Need to re-do controller settings :(
* Now using CubicBezier struct
* Fixed SetDefaultConfig to match xinput behavior
* Expanded gamepad CCMD
* Rename enum JoyResponseCurve to EJoyCurve
* Initial menu implementation
* Fixed SDL controller setting saving
* SDL gamepads can now actually be disabled
* Fixed initial controller connect of some versions of SDL
* Spelling error
* Enable gamepad by default
* Fixed segfault on some versions of SDL
* Only block keydown
Readds the feature to allow players to ready up during stat screens and intermissions instead of autoskipping based on whoever closed it. Comes with a variety of ways to tweak this behavior such as percentage-based auto starting (with a timer), the ability to unready as needed, and who can control it. Players will still be able to skip through individual screen jobs within the runner while waiting to ready up.
1. DoubleTapControl: Simply assigns a double-tap key to a command.
2. DoubleControl: Assigns a standard key press to a command and uses the same key to make a double-tap bind to the second specified command.
* GetLumpContainer
* GetContainerName
* GetLumpFullPath
for WADS struct, useful for debugging custom-made parsers and identifying where problems may arise.
All credit goes to Jay for the code.
Adds support for client-side Thinkers, Actors, and ACS scripts (ACS uses the existing CLIENTSIDE keyword). These will tick regardless of the network state allowing for localized client handling and are put in their own separate lists so they can't be accidentally accessed by server code. They currently aren't serialized since this would have no meaning for other clients in the game that would get saved. Other logic like the menu, console, HUD, and particles have also been moved to client-side ticking to prevent them from becoming locked up by poor network conditions. Additionally, screenshotting and the automap are now handled immediately instead of having to wait for any game tick to run first, making them free of net lag.
Unique RNG namespace for client-side effects and HUDs. Identifiers for these cannot clash with identifiers that affect the playsim making them completely safe to use in HUD elements. They also won't be saved.
Allows for calling to save custom cvars manually to ensure they're reliably stored. As is, the only way to ensure that cvars are saved is to safely/manually close out GZDoom, meaning if a crash occurs, that data is lost.
THis is very detrimental to mods/standalone projects that rely on CVars for storing custom data, and or data that transcends save games.
This issue was previously fixed in 0c2ed71cdd, but that change added a bug that would trigger an infinite loop on scrolling in a list without any selectable items. Then 4fdbe81a13 restored the old behavior, reintroducing the issue.
This new fix does handle lists without any selectable items correctly.
This is just a small consistency fix: DI_SCREEN_LEFT_CENTER and DI_SCREEN_RIGHT_CENTER exist, so, logically, similar combo flags should exist for DI_ITEM as well.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.