Commit graph

22,335 commits

Author SHA1 Message Date
Boondorl
0e23b900bb 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.
2025-07-02 21:19:15 -03:00
Ricardo Luís Vaz Silva
54f1f5ad9d stop stupid clamp asserts 2025-07-02 12:34:10 -03:00
Boondorl
ba953b2d6d 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.
2025-07-02 12:34:01 -03:00
Boondorl
cf9a9097b9 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).
2025-07-02 12:33:50 -03:00
Boondorl
5ea8981472 Only print the message for the player trying to initiate a conversation 2025-07-02 07:29:28 -04:00
Boondorl
311e1d09be Allow limiting NPC conversations to settings controllers
Also cleans up the network menu a little bit.
2025-07-02 07:29:28 -04:00
MajorCooke
3fba33204c - Fixed <Pre/Post>Morph() being called twice for monsters. 2025-06-30 22:21:10 -03:00
Boondorl
1a0df14170 Count turbo as a cheat 2025-06-29 07:23:57 -04:00
Boondorl
d182bd9411 Allow disabling pausing entirely when online 2025-06-29 07:22:56 -04:00
Boondorl
61faf95f76 Added -coop switch
Sets some sensible defaults for coop mode.
2025-06-29 07:21:45 -04:00
Chris Cowan
222fbfcf7c Fix missing null-terminator when writing demos 2025-06-28 20:05:01 -03:00
Boondorl
fae43b8120 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.
2025-06-28 14:39:19 -03:00
Boondorl
fc7a480fe8 Tweak tic catchup mechanic
Always chase the available tics.
2025-06-28 14:38:19 -03:00
Boondorl
c36ea479a8 Move engine verification to front end
This can't be in the backend since it uses game-specific information.
2025-06-26 00:24:19 -03:00
Rachael Alexanderson
6b2b8a198f - implement limits for state loops to prevent infinite state freezes 2025-06-25 09:57:11 -04:00
Marcus
128379195b Added missing check for solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
65ce7b7c29 Fixed conflicting import under solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
525e6b9f99 Added _msize stub for Solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
a4b7c95153 Added missing import for Solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
a881e86ff7 Fixed typo 2025-06-24 21:22:55 -03:00
Marcus Minhorst
21a90ab7e1 Added missing Solaris checks 2025-06-24 21:22:55 -03:00
Marcus Minhorst
f6b4740be3 Fixed conflicting int defs under solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
0427ac10f6 Fixed segfault under Solaris 2025-06-24 21:22:55 -03:00
Boondorl
4fff12ec78 Clean up network warnings 2025-06-24 21:22:34 -03:00
Cacodemon345
028256f06f WorldRailgunFired flags are now passed properly
There's also a new DamageMobj flag to indicate railgun attacks without
having to rely on damagetypes.
2025-06-24 21:21:48 -03:00
Chris Cowan
94e73cbe15 Set correct git tag in CI 2025-06-24 07:46:30 -04:00
nashmuhandes
b0e083d61d Go back to the built-in dark theme for the launcher (for now) 2025-06-21 11:52:47 -04:00
nashmuhandes
00a5bce5d7 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
2025-06-21 11:52:47 -04:00
Boondorl
7cac623ecb Fix SMF_PRECISE flag for seekers
Use the player's actual eye position when calculating.
2025-06-18 14:47:43 -03:00
Boondorl
885c1d2920 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.
2025-06-18 14:47:03 -03:00
Ricardo Luís Vaz Silva
f4eebd1ced CallVM API, plus multi-return and vector support 2025-06-18 03:52:23 -03:00
Ricardo Luís Vaz Silva
7dfb5ff70a fix unsigned comparison in keysections.cpp 2025-06-18 03:52:23 -03:00
Boondorl
8071fd1368 Scriptified ReactToDamage
Allows pain handling to be overridden without needing to override the entirety of DamageMobj.
2025-06-18 01:51:57 -03:00
Boondorl
e0baf7a85c Added OnRevive virtual
Called when a monster is resurrected (allows resetting properties without needing an event handler).
2025-06-16 14:46:17 -03:00
Kevin Caccamo
ba050c112e 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
2025-06-16 14:45:59 -03:00
Kevin Caccamo
0835fe0eab Fix code style
Make code style consistent with the rest of the code
2025-06-16 14:45:59 -03:00
Kevin Caccamo
9a2fd53f1d Remove dereferences of comment + 1
If a line ends with a single slash, then you'll get an invalid read
2025-06-16 14:45:59 -03:00
Kevin Caccamo
f9536ec918 Fix some things I overlooked
Remove some useless lines of code which may cause a read error
Fix the casing of linepos variable
2025-06-16 14:45:59 -03:00
Kevin Caccamo
6f1422aec5 Attempt to fix KEYCONF reader memory issues
Fix Windows-style line-ending assumptions
Make inQuote a bool, since that's how it's used
Make pointer usage smarter
Add more eof checks, since ASan builds will crash without them
Use a better name than 'i'
Properly truncate ini names of key sections
2025-06-16 14:45:59 -03:00
Boondorl
1e281bfce2 Added player iterators
Allows for easily iterating through players currently in the game.
2025-06-16 14:42:15 -03:00
Boondorl
e981064e5c Fixed BT_RUN getting toggled off on command clear
This doesn't get delta'd when networking so its state has to be kept between wipes since it's built entirely from client data.
2025-06-14 14:04:44 -03:00
Boondorl
989a355f80 Moved BobTimer to playerinfo
This was a bit too invasive for mods that used full PlayerThink overrides.
2025-06-14 14:04:11 -03:00
Boondorl
4e71ec9d46 Fixed camera interpolating when using outdated information
If it's been more than a tick since the last render then disable interpolation as the data for the Actor at this point is likely too outdated. Also fixes quaking while the console and menu are open.
2025-06-14 14:03:40 -03:00
Boondorl
c6825a9881 Added ViewModelFOV field for models
Allows manually setting FOV for models instead of scaling from 90 degrees. Positive values are exact FOVs while negative FOVs are scalars from 90. SCALEWEAPONFOV does not work with exact values since it automatically scales based on FOV.
2025-06-13 14:04:08 -03:00
nashmuhandes
8be9f700d9 Some fixes for the inventory hotkey localizations 2025-06-13 14:04:00 -03:00
nashmuhandes
2641689216 Expose direct inventory hotkeys for Heretic, Hexen and Strife in the controls menu 2025-06-12 19:29:02 -03:00
nashmuhandes
033ea084a6 Lightmap parsing update 2025-06-12 19:28:23 -03:00
Boondorl
e435a4ef64 Fixed player assignments when loading multiple players 2025-06-12 11:27:57 -04:00
Marcus Minhorst
11809748a1 Fixed outdated example in config file
Config file said to use 'doom.doom2.Autoload' and 'doom.doom2.commercial.Autoload',
which do not seem to work anymore. Replaced with 'doom.id.doom2.Autoload' and
'doom.id.doom2.commercial.Autoload', respectively.
2025-06-11 01:26:59 -04:00
Ricardo Luís Vaz Silva
a8eed72b38 wrong comparison sign 🤦‍♀️ 2025-06-09 17:35:20 -03:00