Latest Raze Changes
Latest 50 commits
Unofficial development builds at DRD Team
06-Jul-2025 (Sunday) at 19:46:21 CDT by Marcus Minhorst
Added ability to set visibility of menu options
06-Jul-2025 (Sunday) at 00:14:47 CDT by nashmuhandes
Improve banner art created by Kinsie
06-Jul-2025 (Sunday) at 18:06:59 CDT by Marcus Minhorst
Revert "Gamepad Improvements"
This reverts commit 2a5cce543bfd265f327b796b28904584a8db1e95.
05-Jul-2025 (Saturday) at 13:54:34 CDT by Boondorl
Fixed missing multiplayer tab localization
02-Jul-2025 (Wednesday) at 18:56:17 CDT by Boondorl
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.
05-Jul-2025 (Saturday) at 15:54:51 CDT by Boondorl
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.
05-Jul-2025 (Saturday) at 15:41:40 CDT by Marcus Minhorst
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:
- It was actually broken lol
- 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
05-Jul-2025 (Saturday) at 03:08:19 CDT by Boondorl
Fixed bad VisualThinker nodes getting into the render list
Relink on loading instead of serializing since order doesn't matter here.
28-Jun-2025 (Saturday) at 14:01:42 CDT by Cacodemon345
Add mechanism for Prosperity Rune-like powerups
Also add a flag to use Zandronum/Skulltag semantics for BasicArmorPickup
03-Jul-2025 (Thursday) at 11:08:30 CDT by Boondorl
Fix for WorldPaused
Also consider the console rising to be unpaused.
03-Jul-2025 (Thursday) at 14:16:22 CDT by Boondorl
Clean up console commands
Improve functionality of network console commands and make displaying of who is who clearer.
04-Jul-2025 (Friday) at 00:07:18 CDT by Boondorl
Fixed startup music being cancelled
This seems to happen from one of the music cvar callbacks wiping it, but I'm ensure of which (possibly music volume?). Move it to after cvar initializing until a proper fix can be found.
30-Jun-2025 (Monday) at 19:13:19 CDT by Boondorl
Clamp max number of commands generated
Only allow half the host's buffer to be filled at any time.
30-Jun-2025 (Monday) at 13:46:17 CDT by Boondorl
Improve stability in packet-server mode
Use buffers reported by clients so they can better check their own conditions when determining how to stabilize when outpacing the host.
29-Jun-2025 (Sunday) at 23:05:53 CDT by Boondorl
Added dynamic tic stabilization
Attempts to balance periods of rough traffic by putting in an artificial delay, smoothing playback but further increasing input delay. This can be disabled with net_ticbalance.
30-Jun-2025 (Monday) at 21:20:07 CDT by Ricardo Luís Vaz Silva
stop stupid clamp asserts
01-Jul-2025 (Tuesday) at 23:58:06 CDT by Boondorl
Improve default starting map
Instead of defaulting to MAP01/E1M1, select the map in the first episode after parsing. This significantly improves the autostart and netgame behavior by warping to the first defined and valid level. Also adds -episode to allow more easily specifying which episode to play for mapsets that don't have simple ExMy naming conventions.
02-Jul-2025 (Wednesday) at 09:52:51 CDT by Boondorl
Fix up saving in multiplayer
By default allow only settings controllers to save the game. Use actual file names to help prevent possible save file overriding as savexx is unreliable online. Prevent quicksave behavior from working with the rotator. Force a unique netgame subfolder for multiplayer saves to remove the ability to override singleplayer saves. Send over the host's -loadgame argument to make loading easier (will not override the guest's -loadgame in case they need a special file name).
01-Jul-2025 (Tuesday) at 19:47:05 CDT by Boondorl
Only print the message for the player trying to initiate a conversation
01-Jul-2025 (Tuesday) at 19:35:03 CDT by Boondorl
Allow limiting NPC conversations to settings controllers
Also cleans up the network menu a little bit.
30-Jun-2025 (Monday) at 09:15:30 CDT by MajorCooke
- Fixed <Pre/Post>Morph() being called twice for monsters.
29-Jun-2025 (Sunday) at 01:27:35 CDT by Boondorl
Count turbo as a cheat
28-Jun-2025 (Saturday) at 18:28:10 CDT by Boondorl
Allow disabling pausing entirely when online
28-Jun-2025 (Saturday) at 19:27:45 CDT by Boondorl
Added -coop switch
Sets some sensible defaults for coop mode.
28-Jun-2025 (Saturday) at 14:46:38 CDT by Chris Cowan
Fix missing null-terminator when writing demos
30-May-2025 (Friday) at 22:18:04 CDT by Boondorl
Added ready system to screen jobs for multiplayer
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.
28-Jun-2025 (Saturday) at 11:19:26 CDT by Boondorl
Tweak tic catchup mechanic
Always chase the available tics.
27-Jun-2025 (Friday) at 02:00:06 CDT by Rachael Alexanderson
- preparing for version 4.15.0
25-Jun-2025 (Wednesday) at 11:33:09 CDT by Boondorl
Move engine verification to front end
This can't be in the backend since it uses game-specific information.
06-Jun-2025 (Friday) at 07:49:08 CDT by Rachael Alexanderson
- implement limits for state loops to prevent infinite state freezes
17-Jun-2025 (Tuesday) at 10:05:30 CDT by Marcus
Added missing check for solaris
16-Jun-2025 (Monday) at 15:13:41 CDT by Marcus Minhorst
Fixed conflicting import under solaris
16-Jun-2025 (Monday) at 15:13:15 CDT by Marcus Minhorst
Added _msize stub for Solaris
16-Jun-2025 (Monday) at 15:11:54 CDT by Marcus Minhorst
Added missing import for Solaris
16-Jun-2025 (Monday) at 15:11:22 CDT by Marcus Minhorst
Fixed typo
16-Jun-2025 (Monday) at 15:08:59 CDT by Marcus Minhorst
Added missing Solaris checks
16-Jun-2025 (Monday) at 15:05:39 CDT by Marcus Minhorst
Fixed conflicting int defs under solaris
16-Jun-2025 (Monday) at 15:04:52 CDT by Marcus Minhorst
Fixed segfault under Solaris
24-Jun-2025 (Tuesday) at 17:37:18 CDT by Boondorl
Clean up network warnings
24-Jun-2025 (Tuesday) at 13:23:45 CDT by Cacodemon345
WorldRailgunFired flags are now passed properly
There's also a new DamageMobj flag to indicate railgun attacks without having to rely on damagetypes.
24-Jun-2025 (Tuesday) at 01:23:12 CDT by Chris Cowan
Set correct git tag in CI
21-Jun-2025 (Saturday) at 09:07:41 CDT by nashmuhandes
Go back to the built-in dark theme for the launcher (for now)
21-Jun-2025 (Saturday) at 03:50:03 CDT by nashmuhandes
Rebrand the launcher to make it more distinctly GZDoom
- Use a Light theme to clearly differentiate GZDoom from VKDoom
- Moved the version label to not visually clash with the banner graphics
- Added unique graphics for the banner and the BOOTLOGO
- Changed the loading bar color to match GZDoom's logo
18-Jun-2025 (Wednesday) at 09:33:16 CDT by Boondorl
Fix SMF_PRECISE flag for seekers
Use the player's actual eye position when calculating.
14-Jun-2025 (Saturday) at 07:58:13 CDT by Boondorl
Update to latest ZWidget version
This adds new features (such as themes) alongside fixing numerous bugs. This should be kept up-to-date with upstream more often and changes to it should be PR'd back to its main repo.
18-Jun-2025 (Wednesday) at 01:43:30 CDT by Ricardo Luís Vaz Silva
CallVM API, plus multi-return and vector support
18-Jun-2025 (Wednesday) at 00:10:36 CDT by Ricardo Luís Vaz Silva
fix unsigned comparison in keysections.cpp
17-Jun-2025 (Tuesday) at 16:28:24 CDT by Boondorl
Scriptified ReactToDamage
Allows pain handling to be overridden without needing to override the entirety of DamageMobj.
16-Jun-2025 (Monday) at 09:26:36 CDT by Boondorl
Added OnRevive virtual
Called when a monster is resurrected (allows resetting properties without needing an event handler).
16-Jun-2025 (Monday) at 02:05:28 CDT by Kevin Caccamo
Remove useless if statement
If conf is at eof, linePos and command.Size() will be 0, and the other statements will not run due to eof checks and pointer checks