Commit graph

4,935 commits

Author SHA1 Message Date
Rachael Alexanderson
d7c04e2fb2
- remove vid_scalemode 7 from the menu for now, if for no other reason than it doesn't work properly at the moment 2025-09-06 19:48:04 -04:00
Alexander Kromm
655d01ba4d expose ToInt and ToFloat from FString as ToInt and ToDouble 2025-09-03 09:36:21 -04:00
Boondorl
3d39bf33bb Re-add handler param to MessageBox Init virtual
This is just to prevent breaking any existing overrides. The value is fully unused.
2025-08-30 15:39:30 -03:00
Rachael Alexanderson
53ffd97822
Revert "- add argument for EventHandler.Find() which allows searching by parent class (default false)"
This reverts commit abdacad8d3.

Revert "- missed one"

This reverts commit 03123b96de.
2025-08-30 06:03:02 -04:00
Rachael Alexanderson
03123b96de
- missed one 2025-08-25 01:50:45 -04:00
Rachael Alexanderson
abdacad8d3
- add argument for EventHandler.Find() which allows searching by parent class (default false) 2025-08-24 04:27:55 -04:00
Marcus Minhorst
0e621e2f30 Added rumble from damage 2025-08-24 03:02:06 -04:00
Marcus Minhorst
d4a6e1c6aa Added rumble from world 2025-08-24 03:02:06 -04:00
Marcus Minhorst
7a21853d3f Added rumble from menus 2025-08-24 03:02:06 -04:00
Marcus Minhorst
b2979f0e23 Added rumble from actions 2025-08-24 03:02:06 -04:00
Marcus Minhorst
968fa10a93 Added haptic compat options 2025-08-24 03:02:06 -04:00
Marcus Minhorst
a7a1d8447d Added haptics settings 2025-08-24 03:02:06 -04:00
Marcus Minhorst
848df46ee0 Added haptic bindings 2025-08-24 03:02:06 -04:00
Marcus Minhorst
75ef08c755 Added rumble mappings 2025-08-24 03:02:06 -04:00
Marcus Minhorst
8352039e3f Cleanup 2025-08-24 03:02:06 -04:00
Sally Coolatta
fa35d00ba8 Remove default binds for DirectInput
As requested.

DirectInput-only controllers are already getting rarer and rarer. Plus, this branch makes all controllers faster & simpler to rebind. I'd even argue these get in the way, because you can't just immediately bind a DInput controller from boot-up, you have to unbind everything first.

I'm not against a new code path for DInput defaults that tries to guess what kind of controller you have, but I don't care about it myself.
2025-08-23 05:18:34 -04:00
Sally Coolatta
90ff9b5b15 Add gamepad reset option to menu 2025-08-23 05:18:34 -04:00
Sally Coolatta
1bcae623b0 Add client cvar for strafe running on analog stick 2025-08-23 05:18:34 -04:00
Sally Coolatta
ba9b2ddf37 Add game logic sensitivity for analog yaw & pitch
Add options to change how fast the analog sensitivity is for yaw & pitch.

Why not use the existing axis sensitivity options? Because they can change how the deadzones and input response preform, and you have to balance several options. In my opinion, those sensitivity options should be for full-on stick calibration (if your stick is not outputting the full range, for instance). But how fast the player should be able to look around is up to the user's taste, regardless of the stick they're using. This also helps make it match up with how mouse sensitivity is split up (i.e: device sensitivity vs game logic sensitivity)

Default analog pitch sensitivity has been drastically lowered, from 2048 (x1.6 yaw sensitivity) to 768 (x0.6 of yaw sensitivity). I don't think I've ever heard of any FPS game on controller before that makes pitch more sensitive than yaw... it is either the same or lower, because players typically want to stay looking in the horizon, and analog stick isn't precise enough to treat them evenly (let alone more sensitive). IMO this is a lot more playable, but I can change the default back to match older versions if that is preferred.
2025-08-23 05:18:34 -04:00
Sally Coolatta
952988d5cd Fix missing gamepad keys in inputevents.zs 2025-08-23 05:18:34 -04:00
Sally Coolatta
ca562829c5 Tie axis data to the button map
The main benefit of this is to remove the requirement of going to the gamepad menu for binding analog sticks, and going to a keybinds menu for binding literally everything else; now it's all bound in the same location.

This also means that axes can both register as a digital button press, and be used as an analog value for movement separately. Before, using analog movement would not register BT_FORWARD, BT_BACK, etc
2025-08-23 05:18:34 -04:00
jekyllgrim
ba9e127e9f Added to CreateTossable and PowerWeaponLevel2 2025-08-22 12:09:51 -03:00
jekyllgrim
977b5acbe1 Added OnSelect() and OnDeselect() to weapons 2025-08-22 12:09:51 -03:00
Marcus Minhorst
4d8f715d50 Corrected overscroll behavior 2025-08-22 12:09:31 -03:00
Boondorl
316b18a4d9 Added built-in delta time handling
Allows tracking time since last-rendered frame in seconds.
2025-08-02 19:44:00 -03:00
Boondorl
86375c1b79 Move travelling to two-step system
Mark Actors meant to travel early so their flag can be written into the snapshot, followed by moving them over all at once at the same time as previously. On finish, destroy any marked Actors to prevent duplication in hubs. Switch to a unique function that does the verification instead of ChangeStatNum and lock out STAT_TRAVELLING entirely since it shouldn't be used for regular gameplay.
2025-08-02 17:35:16 -03:00
Boondorl
00d2b43ce0 Remember statnum when travelling
Also cleans up the functions a little.
2025-08-02 17:35:16 -03:00
Boondorl
d7d71177d7 Reworked Travelling logic
Added safety barriers for STAT_STATIC and STAT_TRAVELLING to avoid potential exploits. Properly clear all internal fields pointing towards non-read barriered data and always relink properly when finishing travelling. Moved ZScript callback to after travelling has finished for all Thinkers, that way everything is initialized correctly.  Allow arbitrary thinkers (excluding native ones) to be added to the travelling list (for Actors, their positioning will need to be handled by modders). Ensure lights get re-enabled after travelling.
2025-08-02 17:35:16 -03:00
Marcus Minhorst
7ccd0dd3cd Fix oboe 2025-08-02 15:04:34 -03:00
nashmuhandes
346f4c0e87 Add gl_weapon_purelightlevel to make view weapon sprites/models match sector light levels purely 2025-08-02 12:00:50 -04:00
Sally Coolatta
4cc5fe942d Save/Load menu: Add delete bind for gamepads 2025-07-30 12:56:06 -03:00
Rachael Alexanderson
9d92686c0a
- language update 2025-07-29 23:53:44 -04:00
Boondorl
b6b3c311e1 Export DecalBase
Allows setting this between Actors with type safety. Now also serializes these fields.
2025-07-28 15:24:04 -03:00
Boondorl
4acc5f2a7d Lock down MessageBox handler 2025-07-28 14:36:54 -03:00
Boondorl
a4ed63033e Fixed quick save rotator breaking save logic
The game should only ever save during the gameplay loop and never on the spot. Also fixes the quick save rotator skipping certain checks.
2025-07-28 02:50:10 -04:00
nashmuhandes
21ba4e6ab0 Add missing item tags for items in Doom and Chex Quest. There are mods out there that read tags. The accompanying language entries have been sent to the localization spreadsheet. 2025-07-27 17:34:08 -03:00
Marcus Minhorst
05f19f4ac0 Fixed oob array access when using m_use_mouse=1 2025-07-27 17:33:44 -03:00
Marcus Minhorst
9a6569a916 Added option to disable sound when moving cursor by hovering. 2025-07-27 17:33:44 -03:00
Marcus Minhorst
cbe710b549 Added option to disable sound when moving cursor by using scrollwheel. 2025-07-27 17:33:44 -03:00
Boondorl
12fac42bab Mark appropriate voidptr fields as readonly 2025-07-27 03:56:33 -04:00
Boondorl
66c5beccbd Added UUID for game sessions
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.
2025-07-26 11:43:59 -03:00
nashmuhandes
47f6f4cb1c Allow the blood splat decal distance to be customizable in MAPINFO's GameInfo block 2025-07-22 10:37:22 -03:00
Dileep V. Reddy
19291c5e5c Sprite lean/angled roll with geometric consistency in multiplayer and mirrors. An ANGLEDROLL flag ties actor's sprite-rolling axis to physical direction instead of viewpoint. Y-Billboarding occurs about a rolled axis (unlike flatsprites which don't billboard). This makes roll consistent when viewed from all angles and in reflections. Useful for sprite-based laser beams and lean mechanics with third-person cameras and/or multiplayer mods. 2025-07-22 10:36:07 -03:00
VileCornstarch
e2e9e76709 Expose CloseDialog 2025-07-17 23:28:10 -03:00
Marcus Minhorst
79855337c8 Fixed oob array access 2025-07-17 23:24:45 -03:00
Boondorl
73445f6f6a Fixed arithmetic state jumps going out-of-bounds 2025-07-17 03:19:52 -03:00
Wohlstand
ee7e913e1a Added gaining factor for OPL Synth Emulation too
Also, fixed default gaining values at libADL and libOPN (they should be 1.0, not 0.5)
2025-07-15 17:17:47 -04:00
Wohlstand
c461ecf19b ADLMIDI: Added support for GENMIDI as a custom bank
Now, libADLMIDI can use GENMIDI bank too as the "OPL Synth Emulation"
2025-07-15 17:17:47 -04:00
Wohlstand
798ceddea6 Added gain for libADLMIDI and for libOPNMIDI 2025-07-15 17:17:47 -04:00
Wohlstand
8954463f0e Added new libADLMIDI and libOPNMIDI options
Not yet translated
2025-07-15 17:17:47 -04:00