Commit graph

22185 commits

Author SHA1 Message Date
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
Ricardo Luís Vaz Silva
b0889b9814 Fix deprecation version checks on class fields/pointers 2025-03-06 08:59:02 -03:00
inkoalawetrust
ecdfe39ddf Exposed DElevator to ZScript. 2025-03-05 12:54:49 -05:00
inkoalawetrust
f0d0f259f7 Exposed more of the Floor thinker. 2025-03-05 12:54:49 -05:00
inkoalawetrust
8299f91cd1 Exposed more of the Ceiling thinker.
- Exposed the rest of the ceiling member fields and getters.
- Added an IsCrusher() method.
- Added getOldDirection() getter.
- Fixed Door direction enum.
- Forgot to make Plat readonly on previous commit.
2025-03-05 12:54:49 -05:00
inkoalawetrust
b0e7a698f6 Exposed DPlat to ZScript. 2025-03-05 12:54:49 -05:00
inkoalawetrust
b80572e400 Exposed DDoor to ZScript.
Also added a ZScript-only enum for the movement direction..
2025-03-05 12:54:49 -05:00
Dileep V. Reddy
093d3e32e6 Small correction to OoB viewpoint stacked-sector portal visibility. OoB is not the same as Ortho. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
2c4ac886aa Stacked sector portals now render for OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
dc5a250797 Reflective flats now work with OoB viewpoints, including ortho. Had to create a new type of portal stencil for the HWPlaneMirrorPortal. Stacked sector portals could be made to work the same way, but there are clipper issues, revealing out-of-view sections of the map on the other side. Hence sector portal rendering is still disabled in OoB viewpoints. 2025-03-05 12:54:34 -05:00
Dileep V. Reddy
0acfd9661b Making 3D-floors respond to r_dithertransparency properly. 2025-03-05 12:54:34 -05:00