Latest Raze Changes

Latest 50 commits

Unofficial development builds at DRD Team

Older commits

07-Feb-2024 (Wednesday) at 17:56:38 EST by Boondorl
Commit 3033fafaa7 (HEAD -> master)
Parents: 6c64a4403c

Improvements to death and cheat handling

Extra safety to ensure dummy Actor deaths properly emulate a real death and aren't duplicate called. Fixed a crash when using the kill command while set to unmorph on death. Super morphing is now possible while using the morphme cheat if passing the morph class directly. Added a flag to ignore player invulnerability completely when morphing.

14-Jan-2024 (Sunday) at 19:41:58 EST by Boondorl
Commit 6c64a4403c
Parents: 12dc5c1506

Improved ZScript interface for morphing

Added getter and setter functions for handling whether or not the player fields should be gotten/set. Added MRF_KEEPARMOR flag to prevent stripping armor on morph. Optimized unmorphed Actor by setting it to NoInteraction and removing it from the blockmap and sector lists.

01-Jan-2024 (Monday) at 11:50:01 EST by Boondorl
Commit 12dc5c1506
Parents: 30730647fe

Further morphing clean up

Players will now use their Alternative field to check if they're morphed instead of their MorphTics. This makes the current state of morphing more reliable, otherwise setting this to 0 manually without unmorphing could have very odd results. Both monsters and players consider 0 morph time to mean infinite now (previously this only applied to monsters). Player unmorphs no longer die in the case of a failed unmorph on death. Removed inventory swapping on player pointer substitution as it's too messy to do here.

01-Jan-2024 (Monday) at 01:31:25 EST by Boondorl
Commit 30730647fe
Parents: 2c09a443b4

Fixed inconsistencies between player and monster morphing

The Tome of Power and Chaos Device will now work on non-players. The STAYMORPHED flag will now work on players.

31-Dec-2023 (Sunday) at 21:41:03 EST by Boondorl
Commit 2c09a443b4
Parents: b469770ecc

Reworked Morphing

Removed StaticPointerSubstitution in favor of a much safer function that only changes select pointers. As a result the ability to properly modify morphing has been opened back up to ZScript. Many missing virtual callbacks were amended and MorphedDeath has been reworked to only be called back on an actual morphed death. MorphedMonster is no longer required to morph an Actor. CheckUnmorph virtual added that gets called back on morphed Actors. Fixed numerous bugs related to morph behavior.

28-Feb-2024 (Wednesday) at 00:32:15 EST by Boondorl
Commit b469770ecc
Parents: 08a093ffda

Reworked view offsetting

View offsets are now added after the base position and angles (accounting for interpolation) are calculated. Behavior was centralized into a singular tracer that all view offsets now use to prevent clipping out of the map. Cleaned up camera rendering behavior. Angles are now properly normalized after all offsetting is accounted for. The chase cam can now update in real-time instead of forcing interpolation.

01-Mar-2024 (Friday) at 05:56:15 EST by Rachael Alexanderson
Commit 08a093ffda (sdladapter)
Parents: ef4c4ee503

27-Feb-2024 (Tuesday) at 01:20:12 EST by Christoph Oelckers
Commit ef4c4ee503
Parents: 205d4b5ff3

fixed resource leak in OpenDecompressor

26-Feb-2024 (Monday) at 21:01:37 EST by RaveYard
Commit 205d4b5ff3
Parents: 47be9c1e54

Support negative fadestep for particles

26-Feb-2024 (Monday) at 13:55:54 EST by Rachael Alexanderson
Commit 47be9c1e54 (staging)
Parents: 49cac88c12

21-Feb-2024 (Wednesday) at 17:06:32 EST by Boondorl
Commit 49cac88c12
Parents: e37c19b5b4

Improvements to Network Commands/Buffers

Fixed a memory leak in DNetworkBuffer. Added native function support to FNetworkCommand and DNetworkBuffer. Exposed EndOfStream() for FNetworkCommand.

19-Feb-2024 (Monday) at 13:35:01 EST by Boondorl
Commit e37c19b5b4
Parents: 4d1590ad82

New API for assigning unique network ids to objects

25-Feb-2024 (Sunday) at 17:52:27 EST by Boondorl
Commit 4d1590ad82
Parents: a1a916a823

Fixed view position forcing camera interpolation

Fixed absolute view position not working. Camera Actor is no longer visible when using view offsets.

24-Feb-2024 (Saturday) at 11:20:44 EST by Boondorl
Commit a1a916a823
Parents: e4ea5ad307

Added real-time client camera tracking for texture cams

23-Feb-2024 (Friday) at 14:39:58 EST by Boondorl
Commit e4ea5ad307
Parents: d848a57bac

Fixes for SCALEDNOLERP

No longer relies on last input fraction to determine offset on frame (now uses TicFrac). No longer modifies Actor angle in real-time. Fixed offsetting breaking when other viewports are being renderer.

22-Feb-2024 (Thursday) at 20:03:01 EST by Ricardo Luís Vaz Silva
Commit d848a57bac
Parents: 144caa0902

Fix readonly for SpecialBounceHit virtual

19-Feb-2024 (Monday) at 06:25:05 EST by Magnus Norddahl
Commit 144caa0902
Parents: c9612b0cab

Fix precache unload bug in FHardwareTextureContainer::UnmarkAll

19-Feb-2024 (Monday) at 04:16:36 EST by Magnus Norddahl
Commit c9612b0cab
Parents: 6de9d83b81

Fix memory leak due to IHardwareTexture forward declaration

16-Feb-2024 (Friday) at 17:08:19 EST by Kevin Caccamo
Commit 6de9d83b81
Parents: 6829a37aa5

Allow GZDoom to use custom Doom 1 E4 soundtracks

Attempt to fix #2403 by assigning E4 music to Doom 1 E4 maps, and adding a SNDINFO lump with $musicalias commands, which will use the existing songs if a custom E4 soundtrack isn't available for Doom 1.

16-Feb-2024 (Friday) at 16:49:36 EST by Ricardo Luís Vaz Silva
Commit 6829a37aa5
Parents: bc26c54b15

Fix structs missing readonly

16-Feb-2024 (Friday) at 16:43:23 EST by Ricardo Luís Vaz Silva
Commit bc26c54b15
Parents: d8ef27e0ed

Fix readonly native structs

09-Feb-2024 (Friday) at 12:27:00 EST by Rachael Alexanderson
Commit ccb2fc6792 (ortho)
Parents: d8ef27e0ed

Revert "Squashed commit of the following:"

This reverts commit d8ef27e0edf0fe1dfa1eb79d19e37e633ea8e5b1.

09-Feb-2024 (Friday) at 12:15:17 EST by Rachael Alexanderson
Commit d8ef27e0ed
Parents: 07d6b1448a

Squashed commit of the following:

commit ad25b50089b6e01b8e4291e34cfe3a008af9128d Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:12:46 2024 -0500

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit d2c2c93cf145b89f4b81b4087e971e89640618eb.

commit 8537f0d8db804f0076b90daa66b750e44dccf44c Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:12:41 2024 -0500

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit dc897eacc0eb9bbd2cbeee8893db860219620017.

commit d45f6ebf11f31d246f2de4f3bbd11f7970783125 Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:10:21 2024 -0500

Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc58237d1662ca26182fc502f99d3be91.

commit be0836feef9b95f12828eeed4319c726ef13780d Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:09:15 2024 -0500

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit 08b03e6b1947c53b35efd17581f7396e3e7ea555.

commit 688288a9199b912203022cb4db37503f6270e0c3 Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:09:06 2024 -0500

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit d3405837ce63cadd48963bdd9ff160d29199eb63.

commit 72b7df9fa1841d665c2846dd31a89c6f48123e55 Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:08:59 2024 -0500

Revert "Restored r_orthographic behavior."

This reverts commit e171f4eb6adadb747b71826be22e2b5455b1a994.

commit aa954132bf29f2f8a51bf09dae127e5ffe2c5670 Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:08:48 2024 -0500

Revert "Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works."

This reverts commit c8a7507e8e8e55c75fa35ea00d08a13a4524c650.

commit 3ce90e87a3a9956b615995b57b90619e89bbcff4 Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 12:00:46 2024 -0500

Revert "Cleaning up implementation of isometric camera with optional orthographic projection."

This reverts commit 25f1407228be4604693df78d1a771b78df1ce601.

commit 3aafd363e40c8d1d2ebbe3c61aeb2b80a74e565a Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 11:59:25 2024 -0500

Revert "Small change to SpectatorCamera actor."

This reverts commit 2b555d7556a20396fefb51381b4bd96e4920334a.

commit a41911f8907731c098de71ca3e14261ac432ec8c Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 11:59:16 2024 -0500

Revert "SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow."

This reverts commit 7fbb4cd06c64baa75549b1e62ad1a3f1698ebd1e.

commit 19398edd065b7b483b8c7be42cb16026695e241a Author: Rachael Alexanderson madame-rachelle@users.noreply.github.com Date: Fri Feb 9 11:59:05 2024 -0500

Revert "Minor addition toe SpectatorCamera. Added three chase modes to lazy follow. 0: Catch up until tracer is centered again. 1: Same but don't move if tracer isn't moving (camera moving when character is not is jarring). 2: Stop chasing if tracer is closer than lagdistance. Game modes benefit from a 'center camera' button but that doesn't have to be hard-baked into the engine."

This reverts commit c3ca564cfc91c4288af57a533e91d08aa864a44c.

05-Feb-2024 (Monday) at 07:38:22 EST by Ștefan Talpalaru
Commit 07d6b1448a
Parents: b5eb8f47db

undo CI change

04-Feb-2024 (Sunday) at 20:06:28 EST by Ștefan Talpalaru
Commit b5eb8f47db
Parents: 97cfd32677

GCC-13 support, when precompiled headers are off

03-Feb-2023 (Friday) at 10:23:19 EST by Hugo Locurcio
Commit 97cfd32677
Parents: 5b793958f9

Add a cvar to swap health and armor position on alternative HUD

When enabled, this makes the layout identical to the standard HUD (similar to how most other games lay out health and armor on a HUD).

04-Feb-2024 (Sunday) at 17:06:02 EST by Christoph Oelckers
Commit 5b793958f9
Parents: 01a462e9d4

fix uniform buffer size check

03-Feb-2024 (Saturday) at 11:43:05 EST by nashmuhandes
Commit 01a462e9d4
Parents: d744f8f983

Fix the default controller axes on Linux. The third axis is actually the Left Trigger, which causes the player to uncontrollably look upwards. Fixed by mapping said axis to nothing.

03-Feb-2024 (Saturday) at 11:32:08 EST by nashmuhandes
Commit d744f8f983
Parents: f1db369883

Add more gamepad bindings for Joystick API devices. Most beneficial for Steam Deck and Linux users

04-Feb-2024 (Sunday) at 07:54:25 EST by Christoph Oelckers
Commit f1db369883
Parents: d0a2713820

moved a few things out of the common code that should be defined privately.

04-Feb-2024 (Sunday) at 07:36:25 EST by Christoph Oelckers
Commit d0a2713820
Parents: 3f72f8acd5

limit uniform blocks to 64kb.

The GL uniform code is not capable of dealing with large blocks, so restrict it to what most drivers report as their maximum.

03-Feb-2024 (Saturday) at 11:11:29 EST by Major Cooke
Commit 3f72f8acd5
Parents: b37ea19f86

Fixed psprites & viewpos being completely broken for non-isometric mode.

This line of code was altering a global cvar.

11-Jan-2024 (Thursday) at 18:00:22 EST by Christoph Oelckers
Commit b37ea19f86
Parents: cf4841c7de

remove unnecessary #defines

02-Feb-2024 (Friday) at 06:26:46 EST by nashmuhandes
Commit cf4841c7de
Parents: 481b2c1a70

Allow the Joy2 button to cancel binding a key in the controls menu

02-Feb-2024 (Friday) at 06:14:07 EST by nashmuhandes
Commit 481b2c1a70
Parents: 662b4b07a4

Expose the main menu key in the controls menu so that it can be assigned (most useful for gamepad users)

02-Feb-2024 (Friday) at 05:37:36 EST by nashmuhandes
Commit 662b4b07a4
Parents: f6bdc02a8a

Swap the default binding for the "Start" and "Select" buttons on gamepads. Using "Start" to access the main menu is a more commonly-accepted standard set by most released games out there - players would tend to reach for that button first to access the menu.

02-Feb-2024 (Friday) at 02:59:29 EST by nashmuhandes
Commit f6bdc02a8a
Parents: 989123b5f8

Use a better default deadzone value for Linux. Fixes uncontrollable menus

29-Jan-2024 (Monday) at 17:10:42 EST by Magnus Norddahl
Commit 989123b5f8
Parents: 0b54e7e91d

Fix null pointer crash

01-Feb-2024 (Thursday) at 08:44:50 EST by Rachael Alexanderson

Merge pull request #2380 from Boondorl/ItemSharing

Improved key sharing functionality

01-Feb-2024 (Thursday) at 08:44:35 EST by Rachael Alexanderson

Merge branch 'master' into ItemSharing

28-Jan-2024 (Sunday) at 19:56:46 EST by Boondorl
Commit c90a3290fe
Parents: e64e33f4a7

Items set to stay or respawn no longer get picked up locally

28-Jan-2024 (Sunday) at 16:37:51 EST by Boondorl
Commit e64e33f4a7
Parents: c1539c2286

Fixed missing return in DisableLocalRendering

28-Jan-2024 (Sunday) at 15:30:03 EST by Boondorl
Commit c1539c2286
Parents: c3ca564cfc

Added client-side item pick ups

Includes feature to disable Actor rendering locally (this cannot be checked from the playsim) and options for disabling co-op only things.

30-Jan-2024 (Tuesday) at 08:44:54 EST by Dileep V. Reddy
Commit c3ca564cfc
Parents: 7fbb4cd06c

Minor addition toe SpectatorCamera. Added three chase modes to lazy follow. 0: Catch up until tracer is centered again. 1: Same but don't move if tracer isn't moving (camera moving when character is not is jarring). 2: Stop chasing if tracer is closer than lagdistance. Game modes benefit from a 'center camera' button but that doesn't have to be hard-baked into the engine.

29-Jan-2024 (Monday) at 05:19:42 EST by Dileep V. Reddy
Commit 7fbb4cd06c
Parents: 2b555d7556

SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow.

26-Jan-2024 (Friday) at 09:56:46 EST by Dileep V. Reddy
Commit 2b555d7556
Parents: 25f1407228

Small change to SpectatorCamera actor.

25-Jan-2024 (Thursday) at 23:40:25 EST by Dileep V. Reddy
Commit 25f1407228
Parents: a9c567ab9b

Cleaning up implementation of isometric camera with optional orthographic projection. All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone. A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs

The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h: VPSF_ALLOWOUTOFBOUNDS = 1 << 3, // Allow viewpoint to go out of bounds (hardware renderer only). VPSF_ORTHOGRAPHIC = 1 << 4, // Use orthographic projection. VPSF_ISOMETRICSPRITES = 1 << 5, // Displace sprites towards camera and don't billboard (drawn from isometric perspective).

Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera. See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file

Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals. Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.

01-Feb-2024 (Thursday) at 01:35:12 EST by Rachael Alexanderson
Commit a9c567ab9b
Parents: 47a2a534ec

Update vcpkg.json

vcpkg is not providing a proper sdl2 implementation on linux, so ditch it from vcpkg for now and only use distro packages for it.

31-Jan-2024 (Wednesday) at 19:19:36 EST by Rachael Alexanderson
Commit 47a2a534ec
Parents: 797bdb7396

  • add in-built zmusic folder to default rpath

31-Jan-2024 (Wednesday) at 19:10:32 EST by Rachael Alexanderson
Commit 797bdb7396
Parents: c9965c4890

  • update copyright in windows build script

Older commits