Commit graph

19,682 commits

Author SHA1 Message Date
Marcus Minhorst
1ca06d94bc Add shift+page[up/down] alias 2025-09-16 12:57:55 -03:00
Marcus Minhorst
995d3c90d3 Cursor Keys + Shift can scroll 2025-09-16 12:57:55 -03:00
Marcus Minhorst
60b7712ed6 Clamp home key 2025-09-16 12:57:55 -03:00
Marcus Minhorst
13cfa76368 Fixes page up key going off screen infinitely 2025-09-16 12:57:55 -03:00
Marcus Minhorst
449e34cc9e Better haptics_debug output 2025-09-10 07:36:37 -04:00
Marcus Minhorst
0a89676d1d Made haptics_compat=warn more useful 2025-09-10 07:36:37 -04:00
Marcus Minhorst
c424cce4d8 Expanded compat matching 2025-09-10 07:36:37 -04:00
Marcus Minhorst
479c65c0a1 Added missing guard and hid on-screen user warning 2025-09-10 07:36:37 -04:00
nashmuhandes
a8c5355f31 Allow particle fade-out and fade-in to be defined individually for FSpawnParticleParams and A_SpawnParticleEx. Requires either SPF_FADE_IN_OUT or SPF_FADE_IN_HOLD_OUT flags to be enabled first, and startalpha to be 0 for fading in. The old fadestep parameter serves as the fade-in time, while the new fadeoutstep parameter controls the fade-out time. SPF_FADE_IN_HOLD_OUT ensures the particle will stay solid for the duration of its lifetime before starting to fade out. 2025-09-10 07:10:13 -03:00
Sally Coolatta
457d8bba09 Fix gl_pipeline_depth cvar max
2 is a valid value, but it was overwriting when >= 2.

I was able to test that 2+ works, even without any code changes, by using `+gl_pipeline_depth 2` on command line. Some weird order of operations doesn't change the value back before the renderer checks its value. (Which, tbh, is kind of scary? But I don't have to spoons to investigate right now, or if it matters for anything else.)
2025-09-09 13:50:10 -03:00
Ricardo Luís Vaz Silva
9445828ddd preserve ZSMapInfo on map copy 2025-09-09 13:48:28 -03:00
Marcus Minhorst
7086f463e5 Keep cursor in screen when resizing 2025-09-08 17:08:02 -03:00
Ricardo Luís Vaz Silva
7b1f3165aa don't copy zmusic to build dir when doing static builds 2025-09-08 08:02:22 -03:00
rafapaezbas
6a0ee2c9fe fix compilation in mac with sdl2 2025-09-08 03:04:03 -03:00
Alexander Kromm
655d01ba4d expose ToInt and ToFloat from FString as ToInt and ToDouble 2025-09-03 09:36:21 -04:00
Rachael Alexanderson
5408e243a9
- fix previous vid_fps i_timescale adjustment; previous fix did not take into account how the fps meter actually worked 2025-09-03 02:04:36 -04:00
Chris Robinson
b8807b7d99 Correct modeset timing on some systems
Co-authored-by: Marcus Minhorst <marcus.minhorst@gmail.com>
2025-09-02 07:35:04 -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
2ee07d2df6
- adjust vid_fps by i_timescale to always show the real fps value 2025-08-30 05:57:53 -04:00
Marcus Minhorst
2e8fb069f3 Restore loading screen under sdl 2025-08-29 07:35:01 -04:00
Marcus Minhorst
65ea93236c Fix sdl window not showing on some systems 2025-08-29 07:35:01 -04:00
Marcus Minhorst
cee2f9eb19 Add updated theme 2025-08-26 23:22:53 -04:00
Marcus Minhorst
1f9de6a9f4 Fix Linux build 2025-08-26 11:56:56 -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
f573112e2a Added haptics engine 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
9925b009f8 Reset older configs' gamepad settings 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
e1a5326947 Unify thumbsticks
- Combined the functions that handle dead zone, digital threshold, and response curves together.
  - A lot less copy-paste between the different platforms.
- Combine the X and Y settings for dead zone, digital threshold, and response curve for analog sticks. This fixes many issues:
  - The dead zone shape for sticks are now a true circle, instead of being axial.
  - The new response curves work better when moving diagonally. Previously, it'd nerf your move speed up to ~60-50% if you had it on anything but Linear.
- Refactored the new POSIX SDL gamepad axis code to work more like Windows' XInput code. This comes with the following benefits:
  - Right thumbstick should function now.
  - Left thumbstick now sends the gamepad keycodes instead of raw joystick keycodes.
- Added `stat analog`, to display current movement analog stick values. (I've needed it a lot lately.)
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
Marcus Minhorst
daff54fe1c Added alt+enter fullscreen keybind 2025-08-23 05:15:30 -04:00
nashmuhandes
b12d4b67d3 Use CR_ constant in SetRavenDefaults for the default message colors 2025-08-23 05:04:54 -04:00
Marcus Minhorst
fb6a10c791 Added global signal handler 2025-08-23 05:03:51 -04:00
Marcus Minhorst
c6cf8e5269 Added signal handler 2025-08-23 05:03:51 -04:00
Marcus Minhorst
4d8f715d50 Corrected overscroll behavior 2025-08-22 12:09:31 -03:00
Marcus Minhorst
be29a29129 Silent menu by default 2025-08-22 12:09:31 -03:00
Marcus Minhorst
c3fb744f47 Fix phantom window freezing desktop on some systems 2025-08-22 12:08:48 -03:00
Boondorl
4a84210998 Updated multiplayer tab
Use dropdowns and reorganize the elements to improve clarity.
2025-08-22 12:07:47 -03:00
Boondorl
f2745e4c82 Fixed net event data being dropped in packet-server mode
Previously hosts would clear this data after executing which cannot be done as this will fundamentally break retransmissions when playing in packet-server mode.
2025-08-12 14:35:23 -03:00