Latest Raze Changes

Latest 50 commits

Unofficial development builds at DRD Team

Older commits

20-Mar-2025 (Thursday) at 06:04:51 CDT by Boondorl
Commit f5a96237e5 (HEAD -> master)
Parents: 92cc96a672

You client-side flag instead of storing ACS controller

Prevents old save files from breaking if they were running ACS.

19-Mar-2025 (Wednesday) at 16:15:29 CDT by Magnus Norddahl
Commit 92cc96a672
Parents: b4c3d2331e

Add VMCallScript template for calling ZScript functions with type checking

16-Mar-2025 (Sunday) at 12:54:35 CDT by Magnus Norddahl
Commit b4c3d2331e
Parents: 43031375f4

Fix memory leak in mixins

19-Mar-2025 (Wednesday) at 12:57:26 CDT by Boondorl
Commit 43031375f4
Parents: 02b5f9a2c5

Added missing return values in VM calls

These are not supported by the JIT and must always be passed.

19-Mar-2025 (Wednesday) at 09:24:21 CDT by Boondorl
Commit 02b5f9a2c5
Parents: 1542ca8e8c

Fixed player respawning

Pass appropriate information to the VM

19-Mar-2025 (Wednesday) at 07:11:29 CDT by Boondorl
Commit 1542ca8e8c
Parents: d33df9dba8

Added missing serializing for level script controller

17-Mar-2025 (Monday) at 11:53:10 CDT by Boondorl
Commit d33df9dba8
Parents: 345926f057

Fixed crash with teamplay and the scoreboard

Now checks to make sure the player is on a valid team before fetching its info.

14-Mar-2025 (Friday) at 18:39:29 CDT by Boondorl
Commit 345926f057
Parents: d0e056565b

Fixed setinv cheat

13-Mar-2025 (Thursday) at 11:46:49 CDT by Boondorl
Commit d0e056565b
Parents: 7e410fd5d8

Exported episode and skill infos

12-Mar-2025 (Wednesday) at 07:15:19 CDT by Boondorl
Commit 7e410fd5d8
Parents: a07a6e7922

Added cvar for cool downs on repeatable actions when playing online

Currently only applies to doors.

12-Mar-2025 (Wednesday) at 06:18:38 CDT by Boondorl
Commit a07a6e7922
Parents: a7fd3852e2

Fixed first consistency check

11-Mar-2025 (Tuesday) at 09:44:49 CDT by Boondorl
Commit a7fd3852e2
Parents: 918b4a8834

Slow down host if they're too far ahead of the world

Makes packet splitting recover more elegantly during rough net conditions.

11-Mar-2025 (Tuesday) at 08:19:57 CDT by Boondorl
Commit 918b4a8834
Parents: b213b81c92

Fixed clients after host not getting quitters

11-Mar-2025 (Tuesday) at 07:59:47 CDT by Boondorl
Commit b213b81c92
Parents: a7a9cbe30a

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.

12-Mar-2025 (Wednesday) at 10:35:45 CDT by Boondorl
Commit a7a9cbe30a
Parents: 69b0932f23

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

10-Mar-2025 (Monday) at 08:35:02 CDT by Boondorl
Commit 69b0932f23
Parents: f7e62a8cd6

Use unique flag for clientside Actor handling in GZDoom

This offers different behaviors from Zandronum so should be made exclusive.

09-Nov-2024 (Saturday) at 21:18:04 CST by Boondorl
Commit f7e62a8cd6
Parents: e4081df0db

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.

10-Mar-2025 (Monday) at 16:50:48 CDT by Boondorl
Commit e4081df0db
Parents: e2103d2508

Run net events on load barriers

09-Mar-2025 (Sunday) at 07:34:44 CDT by James Le Cuirot
Commit e2103d2508
Parents: 49e47fe81c

Fix building with GCC 15

09-Mar-2025 (Sunday) at 14:57:28 CDT by Ricardo Luís Vaz Silva
Commit 49e47fe81c
Parents: ce18a556b6

fix non-void forward declarations as well

09-Mar-2025 (Sunday) at 14:54:41 CDT by Ricardo Luís Vaz Silva
Commit ce18a556b6
Parents: 210ee1780e

remove K&R C function declaration bullshit from lemon.c

should be enough to fix GCC15 compilation without fucking up size_t/etc

08-Mar-2025 (Saturday) at 14:14:53 CST by MajorCooke
Commit 210ee1780e
Parents: 74594e4c34

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

08-Mar-2025 (Saturday) at 08:33:58 CST by dileepvr
Commit 74594e4c34
Parents: e24c6fa4db

Remove bitwise opeartion on bool

Visual Studio compiler was giving the warning: warning C4805: '|=': unsafe mix of type 'bool' and type 'int' in operation

08-Mar-2025 (Saturday) at 08:10:59 CST by dileepvr
Commit e24c6fa4db
Parents: 3c470019de

Update hw_portal OoB height clip

Hopefully the last bug squash.

08-Mar-2025 (Saturday) at 01:10:05 CST by Boondorl
Commit 3c470019de
Parents: 60ebd71fea

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.

08-Mar-2025 (Saturday) at 00:47:12 CST by Dileep V. Reddy
Commit 60ebd71fea
Parents: def3082ed8

Handle sectors within sectors for stacked portals and plane mirrors (affects OoB only).

07-Mar-2025 (Friday) at 22:57:10 CST by Dileep V. Reddy
Commit def3082ed8
Parents: ad3bcfddba

Forgot to account for when both floor and ceiling of a sector are portals.

05-Mar-2025 (Wednesday) at 16:52:13 CST by Boondorl
Commit ad3bcfddba
Parents: 80d5450af9

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.

06-Mar-2025 (Thursday) at 18:41:40 CST by Boondorl
Commit 80d5450af9
Parents: c82c6bff16

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.

07-Mar-2025 (Friday) at 14:22:24 CST by Ricardo Luís Vaz Silva
Commit c82c6bff16
Parents: 2e05e196db

fix function-pointer cast parsing

06-Mar-2025 (Thursday) at 23:47:56 CST by nashmuhandes
Commit 2e05e196db
Parents: 0b30b4a493

Interpolate turning 180 degrees

06-Mar-2025 (Thursday) at 11:55:11 CST by Dileep V. Reddy
Commit 0b30b4a493
Parents: b0889b9814

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.

06-Mar-2025 (Thursday) at 05:59:02 CST by Ricardo Luís Vaz Silva
Commit b0889b9814
Parents: ecdfe39ddf

Fix deprecation version checks on class fields/pointers

22-Feb-2025 (Saturday) at 21:19:16 CST by inkoalawetrust
Commit ecdfe39ddf
Parents: f0d0f259f7

Exposed DElevator to ZScript.

22-Feb-2025 (Saturday) at 21:02:10 CST by inkoalawetrust
Commit f0d0f259f7
Parents: 8299f91cd1

Exposed more of the Floor thinker.

22-Feb-2025 (Saturday) at 07:07:45 CST by inkoalawetrust
Commit 8299f91cd1
Parents: b0e7a698f6

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.

22-Feb-2025 (Saturday) at 06:41:27 CST by inkoalawetrust
Commit b0e7a698f6
Parents: b80572e400

Exposed DPlat to ZScript.

22-Feb-2025 (Saturday) at 06:32:19 CST by inkoalawetrust
Commit b80572e400
Parents: 093d3e32e6

Exposed DDoor to ZScript.

Also added a ZScript-only enum for the movement direction..

17-Feb-2025 (Monday) at 21:18:33 CST by Dileep V. Reddy
Commit 093d3e32e6
Parents: 2c4ac886aa

Small correction to OoB viewpoint stacked-sector portal visibility. OoB is not the same as Ortho.

17-Feb-2025 (Monday) at 20:23:26 CST by Dileep V. Reddy
Commit 2c4ac886aa
Parents: dc5a250797

Stacked sector portals now render for OoB viewpoints.

15-Feb-2025 (Saturday) at 22:44:15 CST by Dileep V. Reddy
Commit dc5a250797
Parents: 0acfd9661b

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.

13-Feb-2025 (Thursday) at 22:54:36 CST by Dileep V. Reddy
Commit 0acfd9661b
Parents: 42947d04dc

Making 3D-floors respond to r_dithertransparency properly.

11-Feb-2025 (Tuesday) at 20:51:21 CST by Dileep V. Reddy
Commit 42947d04dc
Parents: 2223ea6227

Added visual rendering for LinePortals and SkyPortals for OoB viewpoints. SkyPortals will be stenciled, and will always use perspective projection. Disabled interpolation when portalgroup changes (portal transition occurs) if viewpoint is OoB (was necessary for fog of war when r_radarclipper is set to true). Tightened up radar clipper by making it more aggressive. Voided walls wont' get filled in by a floor or ceiling sky (because of the stencil). Ceiling sky will be half-infinitely tall upwards, and floor sky will be half-infinitely tall downwards. Use only floor skies and a good GLSKYBOX for top-down/isometric cameras. Level.ReplaceTextures("F_SKY1", "SKY1", TexMan.NOT_FLOOR); (zscript) is a nice trick for WorldLoaded().

30-Jan-2025 (Thursday) at 23:10:45 CST by Dileep V. Reddy
Commit 2223ea6227
Parents: 232b93534d

3D floor flats now respect r_dithertransparency flag (how did this make it into vkdoom but not gzdoom?)

19-Jan-2025 (Sunday) at 18:19:54 CST by Dileep V. Reddy
Commit 232b93534d
Parents: 94be307225

Better flat visibility checks for Ortho projection.

24-Nov-2024 (Sunday) at 17:26:06 CST by Boondorl
Commit 94be307225
Parents: abfd91e8f1

Netcode Overhaul

Rewrote netcode to be more stable and functional. Packet-server mode has been restrategized and will now be the default netmode when playing with 3+ non-LAN players. TryRunTics has been cleaned up with older tick control behavior removed to account for the rewritten renderer. The main thread is now more consistent when playing online to prevent potential slow downs and lock ups. Load barriers are better accounted for to prevent spikes on level transition. Improvements to chat and lobby systems including a force start game button. Added a suite of new host options such as kicking and controlling who can pause the game. Max players increased from 8 to 16 since the new code can now handle it.

Note: Demo functionality is untested. This will be rewritten at a later time alongside improvements to GZDoom's playback features (e.g. freecam mode).

04-Mar-2025 (Tuesday) at 07:37:33 CST by Ricardo Luís Vaz Silva
Commit abfd91e8f1
Parents: a09dba6b8b

stop game from getting stuck in chat mode if the main menu is open

04-Mar-2025 (Tuesday) at 07:25:02 CST by Ricardo Luís Vaz Silva
Commit a09dba6b8b
Parents: 909d211137

fix crash if chat key is pressed during the loading screen

04-Mar-2025 (Tuesday) at 05:59:03 CST by Ricardo Luís Vaz Silva
Commit 909d211137
Parents: 0d963166f1

rename vm internal structs to make room for compilation-unit-internal structs/classes

04-Mar-2025 (Tuesday) at 05:36:13 CST by Ricardo Luís Vaz Silva
Commit 0d963166f1
Parents: 7685553af8

Allow >> in parser for aggregate types

makes stuff like Array<Class> parse properly (bit hacky but can't do much better without restructuring the scanner/lexer)

Older commits