Commit graph

22,392 commits

Author SHA1 Message Date
Rachael Alexanderson
c4b4705acf
- update CI deps to temporary archives until next release 2025-07-15 18:27:21 -04:00
Rachael Alexanderson
240bac81c2
- update zmusic 2025-07-15 17:18:10 -04: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
DyNaM1Kk
99af0fb970 Added the Discord RPC option to the menu 2025-07-15 15:34:22 -04:00
Marcus Minhorst
61cfbee739 Updated .gitignore
Organized and add some more rules
2025-07-15 13:00:12 -04:00
Boondorl
b23f050b88 c_cvars.cpp: d_protocol.h -> i_protocol.h 2025-07-15 00:16:34 -03:00
Boondorl
f513e3de99 Moved stream reading/writing protocol to common
Allow this to be used anywhere within the engine, especially for internal network handling.
2025-07-15 00:16:34 -03:00
Marcus Minhorst
b40af0c923 Add hideInsteadOfGraying bool 2025-07-15 00:16:06 -03:00
Marcus Minhorst
6b22be3e28 Expose visible flag to menudef 2025-07-15 00:16:06 -03:00
Marcus Minhorst
32cf838ecf Added Home/End menu binds 2025-07-12 22:33:02 -03:00
Marcus Minhorst
bef78dbe19 Scrolling now makes sound if cursor moves 2025-07-12 22:33:02 -03:00
Marcus Minhorst
37ba8a6a4d Refactored. Scrolling no longer always moves cursor 2025-07-12 22:33:02 -03:00
Marcus Minhorst
2923afc99a Refactored. Scrolling now jumps 2 items again 2025-07-12 22:33:02 -03:00
Marcus Minhorst
23b69769e8 Fixed optionmenu regression
Option menu would index into a negative item if natigating up and wrapping
around in a menu with exactly N items where only N items can be displayed.
2025-07-11 17:47:16 -03:00
Boondorl
c284aa366d Use TArrayView instead of TArray for ClearNativePointerFields 2025-07-10 14:12:31 -03:00
Boondorl
269689703d Clear references to map data on level change
These shouldn't be left as they'll now point towards potentially invalid memory and also cause errors with serializing. Arrays and maps holding them are cleared. Also unlinks and relinks inventory items correctly from the hashmap on traveling.
2025-07-10 14:12:31 -03:00
Ricardo Luís Vaz Silva
29b2253bdb TArray list constructor 2025-07-10 14:12:31 -03:00
Boondorl
8a020fbe9d Mark offensive items and ammo as WEAPONSPAWN
Better filters these when playing in co-op mode with multiplayer things enabled.
2025-07-10 14:12:21 -03:00
Chris Cowan
ab7b1642bc Prevent buffer overflows when using streams 2025-07-10 14:11:08 -03:00
Chris Cowan
13a8b0e5ba Fixed incorrect buffer grow calls
Fixes minor mistake introduced in 94be307225.
2025-07-10 14:11:08 -03:00
Boondorl
42a3ca3d56 Move OnLoad to after everything is done serializing
Makes behavior much more consistent and safer.
2025-07-09 22:08:54 -04:00
Marcus Minhorst
5bd8c7f3be Unified name capitalization: *menu -> *Menu 2025-07-08 16:30:17 -03:00
Boondorl
ca98f33f42 Added support for client-side VisualThinkers 2025-07-08 16:28:40 -03:00
Boondorl
7e90f3a0f3 Fixed teleporters breaking view interpolation 2025-07-08 16:28:16 -03:00
Boondorl
a73d9f6e8f Added support for client-side Behaviors 2025-07-08 11:34:04 -03:00
Boondorl
17f1c90d4a Always back up players even in singleplayer
This way client-side actions will be consistent between multiplayer and singleplayer.
2025-07-08 11:32:15 -03:00
Boondorl
ccf178577d Updated client-side ACS handling
Moved to a new ownership system. Only clients that own the activators will be allowed to call truly client-side scripts. Server objects that attempt to do this will instead run on the server.
2025-07-08 11:32:15 -03:00
Marcus Minhorst
5810faec1d Removed debug printout 2025-07-08 10:11:28 -03:00
Marcus Minhorst
d7bb21e2e3 Implemented sdl stubs and improved controller reconnection 2025-07-08 10:11:28 -03:00
Marcus Minhorst
4340c6df0b Implemeted cocoa stubs 2025-07-08 10:11:28 -03:00
Marcus Minhorst
e9dbf55f2e Implemented dinput stubs 2025-07-08 10:11:28 -03:00
Marcus Minhorst
a41ced099c Implemented rawps2 stubs 2025-07-08 10:11:28 -03:00
Marcus Minhorst
bac24118c2 Implemented xinput stubs 2025-07-08 10:11:28 -03:00
Marcus Minhorst
8c12037ef4 Unified gamepad settings 2025-07-08 10:11:28 -03:00
Marcus Minhorst
33b22d99da Implemented saving, ccmd, and options menu 2025-07-08 10:11:28 -03:00
Marcus Minhorst
92e66479fc Added stubs and helper functions 2025-07-08 10:11:28 -03:00
Marcus Minhorst
d75d3aacf9 SDL2 GameController API utilized 2025-07-08 10:11:28 -03:00
Marcus Minhorst
6ec17f28eb Cleanup: Alignment, long lines, Replace 0 with SDLK_UNKNOWN 2025-07-08 10:11:28 -03:00
Marcus Minhorst
6a126e616d Enable gamepad by default 2025-07-08 10:11:28 -03:00
Marcus Minhorst
1bbd6c136f Only block keydown 2025-07-08 10:11:28 -03:00
Marcus Minhorst
8182c02947 Added ability to set visibility of menu options 2025-07-07 14:18:16 -03:00
nashmuhandes
45444b0bf3 Improve banner art created by Kinsie 2025-07-06 22:21:39 -04:00
Marcus Minhorst
0f72a671fc Revert "Gamepad Improvements"
This reverts commit 2a5cce543b.
2025-07-06 20:40:03 -03:00
Boondorl
17f58f514f Fixed missing multiplayer tab localization 2025-07-05 18:12:21 -03:00
Boondorl
9701bfaa5c Added multiplayer tab for launcher + backend improvements
Adds a multiplayer tab to allow hosting and joining games from within the GZDoom launcher rather than needed to use the command line. This has its own set of defaults independent from the main play page which necessitated rewriting how this information is passed and stored in the backend. A startup info struct is now passed back which has its defaults set from the cvars and then propagates any changes to it back to the defaults after selection is complete, making it much simpler to interface with the engine defaults.
2025-07-05 18:12:21 -03:00
Boondorl
6756c850e7 Disable autoloading mods when playing online
Any mods when hosting and joining should have to be explicitly labeled, this way extra mods aren't accidentally making their way into the lists.
2025-07-05 18:12:03 -03:00
Marcus Minhorst
2a5cce543b
Gamepad Improvements
* 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
2025-07-05 17:41:40 -03:00