Commit graph

22198 commits

Author SHA1 Message Date
kcat
c21b406849
Merge ffab3a1b46 into 6481f8cce9 2025-04-05 02:35:13 +02:00
Christoph Oelckers
6481f8cce9 rewrote XY and XYZ accessors for vectors to be read-only and not use type punning. 2025-04-03 07:51:03 +02:00
Ricardo Luís Vaz Silva
8019b56823 fix comment 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
6cdcad425a convert g_game.cpp VMCalls to use VMCallSingle/VMCallVoid (as an example) 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
d8651420cc fix parameter/return checking 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
278bd0fb7d finish implementing VMCallSingle 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
1f1c271883 VMCallScript -> VMCallSingle 2025-04-01 17:19:03 -03:00
DyNaM1Kk
a0ab9ba25c Added autoSwitch parameter to A_ReFire 2025-03-30 21:59:41 -04:00
MajorCooke
6f3032dc54 Exported:
* GetLumpContainer
* GetContainerName
* GetLumpFullPath
for WADS struct, useful for debugging custom-made parsers and identifying where problems may arise.

All credit goes to Jay for the code.
2025-03-30 20:36:13 -03:00
Dileep V. Reddy
da6730d0a7 Addressing some small regression by conditioning a few calculations on OoB viewpoints. Branching Frustum calculation to old method. 2025-03-29 13:22:23 -03:00
Rachael Alexanderson
3d0663d299
- add new dsquake by Enjay 2025-03-25 13:17:46 -04:00
Sally Coolatta
ac42aa8337 cl_debugprediction console variable
Makes `gametic` run behind `ClientTic` by n ticks, and forces player prediction code to run. Only works if you are in a singleplayer session.

This is intended to be useful for mod development, as you can quickly test prediction issues without creating a multiplayer server. It may also come in handy if any improvements are made to the prediction code in the future.
2025-03-25 10:24:44 -04:00
Boondorl
154eea56e6 Update all players' acks in packet-server mode
Fixes potential issue when host switching in packet-server mode
2025-03-24 22:42:04 -03:00
Boondorl
134e8f2d60 Fixed potential softlock in packet-server mode
Make sure to send over the lowest player's data we got as the ack and not whatever the host specifically had
2025-03-24 22:42:04 -03:00
Boondorl
5b1023c447 Fixed inventory ticking when playing online
No longer tied to the player's latency value as it now runs in the client-side logic.
2025-03-24 22:40:49 -03:00
Christoph Oelckers
302d279785 forgot to save the MAPINFO part. 2025-03-24 09:44:14 +01:00
Christoph Oelckers
c91912567e disable Build light mode due to being broken. 2025-03-24 09:40:30 +01:00
nashmuhandes
2d42438ebd Properly assign tags to various Raven game items 2025-03-22 14:49:27 -03:00
Boondorl
f5a96237e5 You client-side flag instead of storing ACS controller
Prevents old save files from breaking if they were running ACS.
2025-03-20 14:48:55 -03:00
Magnus Norddahl
92cc96a672 Add VMCallScript template for calling ZScript functions with type checking 2025-03-20 00:10:50 -03:00
Magnus Norddahl
b4c3d2331e Fix memory leak in mixins 2025-03-20 00:10:50 -03:00
Boondorl
43031375f4 Added missing return values in VM calls
These are not supported by the JIT and must always be passed.
2025-03-19 15:17:29 -03:00
Boondorl
02b5f9a2c5 Fixed player respawning
Pass appropriate information to the VM
2025-03-19 15:17:29 -03:00
Boondorl
1542ca8e8c Added missing serializing for level script controller 2025-03-19 11:17:40 -03:00
Boondorl
d33df9dba8 Fixed crash with teamplay and the scoreboard
Now checks to make sure the player is on a valid team before fetching its info.
2025-03-17 14:06:36 -03:00
Boondorl
345926f057 Fixed setinv cheat 2025-03-14 21:10:44 -03:00
Boondorl
d0e056565b Exported episode and skill infos 2025-03-13 14:08:25 -03:00
Boondorl
7e410fd5d8 Added cvar for cool downs on repeatable actions when playing online
Currently only applies to doors.
2025-03-12 13:05:31 -03:00
Boondorl
a07a6e7922 Fixed first consistency check 2025-03-12 13:05:24 -03:00
Boondorl
a7fd3852e2 Slow down host if they're too far ahead of the world
Makes packet splitting recover more elegantly during rough net conditions.
2025-03-12 13:05:24 -03:00
Boondorl
918b4a8834 Fixed clients after host not getting quitters 2025-03-12 13:05:24 -03:00
Boondorl
b213b81c92 Auto split packets in packet-server mode
Avoid fragmentation by trying to keep data in each packet to <1500b. Helps avoid possible issues with fragmentation with large player counts and bad network conditions.
2025-03-12 13:05:24 -03:00
Boondorl
a7a9cbe30a Move particle thinking back to server
These need to be ran before anything has spawned them but after the game's pause state has been confirmed
2025-03-12 13:01:14 -03:00
Boondorl
69b0932f23 Use unique flag for clientside Actor handling in GZDoom
This offers different behaviors from Zandronum so should be made exclusive.
2025-03-11 10:14:28 -03:00
Boondorl
f7e62a8cd6 Added client-side Thinkers
Adds support for client-side Thinkers, Actors, and ACS scripts (ACS uses the existing CLIENTSIDE keyword). These will tick regardless of the network state allowing for localized client handling and are put in their own separate lists so they can't be accidentally accessed by server code. They currently aren't serialized since this would have no meaning for other clients in the game that would get saved. Other logic like the menu, console, HUD, and particles have also been moved to client-side ticking to prevent them from becoming locked up by poor network conditions. Additionally, screenshotting and the automap are now handled immediately instead of having to wait for any game tick to run first, making them free of net lag.
2025-03-11 10:14:28 -03:00
Boondorl
e4081df0db Run net events on load barriers 2025-03-10 17:59:38 -04:00
James Le Cuirot
e2103d2508 Fix building with GCC 15 2025-03-10 03:06:50 -03:00
Ricardo Luís Vaz Silva
49e47fe81c fix non-void forward declarations as well 2025-03-10 03:06:50 -03:00
Ricardo Luís Vaz Silva
ce18a556b6 remove K&R C function declaration bullshit from lemon.c
should be enough to fix GCC15 compilation without fucking up size_t/etc
2025-03-10 03:06:50 -03:00
MajorCooke
210ee1780e Added particle rendering to VisualThinkers.
To activate, use `SetParticleType(int type)`. To deactivate, use `DisableParticle()`.

Types are:
- PT_DEFAULT (default value; uses `gl_particles_style`)
- PT_SQUARE
- PT_ROUND
- PT_SMOOTH

While in this mode:
- `Texture` & `Translation` are ignored
- `Scale.X` sets the size
- `SColor` sets the color

Misc changes:
- Removed warning on textureless destruction
2025-03-09 16:17:07 -03:00
dileepvr
74594e4c34 Remove bitwise opeartion on bool
Visual Studio compiler was giving the warning:
`warning C4805: '|=': unsafe mix of type 'bool' and type 'int' in operation`
2025-03-08 13:01:39 -03:00
dileepvr
e24c6fa4db Update hw_portal OoB height clip
Hopefully the last bug squash.
2025-03-08 13:01:39 -03:00
Boondorl
3c470019de Fixed default value of consoleplayer
Needs to be 0 since certain cvars will try and use it on initial callback when the engine boots up.
2025-03-08 02:18:50 -05:00
Dileep V. Reddy
60ebd71fea Handle sectors within sectors for stacked portals and plane mirrors (affects OoB only). 2025-03-08 02:16:31 -05:00
Dileep V. Reddy
def3082ed8 Forgot to account for when both floor and ceiling of a sector are portals. 2025-03-08 02:16:31 -05:00
Boondorl
ad3bcfddba Lobby Overhaul
Rewrote lobby to unify common and Doom-specific packet structure, allowing for saner handling of in-game joining. Added a new per-client stage system that allows individual clients to be handled at a time when gathering and sharing info. Reworked lobby UI to display user info and added kick/ban functionalities. Bans are only a temporary per-game IP ban (use passwords to keep unwanted users out). Increased max player count to 64 and unified engine constant.
2025-03-07 20:32:52 -05:00
Boondorl
80d5450af9 Updated ZWidget ListView
Added column support for consistent spacing between elements. Improved item adding functionality. Added Update and Remove item functionalities. Update ListView scrollbar on item add/remove.
2025-03-07 20:32:52 -05:00
Ricardo Luís Vaz Silva
c82c6bff16 fix function-pointer cast parsing 2025-03-07 17:22:24 -03:00
nashmuhandes
2e05e196db Interpolate turning 180 degrees 2025-03-07 14:35:08 -03:00
Dileep V. Reddy
0b30b4a493 Revert using older stencil method for stacked sectors (and reflective flats) if viewpoint is not allowed OoB. There was some bug with nearby skyplanes otherwise. 2025-03-06 23:29:12 -03:00