Commit graph

19148 commits

Author SHA1 Message Date
Christoph Oelckers
7c9c7fa1f7 fixed: AActor's members must all be native.
The morph code added 4 scripted ones, but AActor's size must be known at compile time.
2024-04-25 18:15:47 +02:00
Boondorl
2b697d6c4c Interpolation fix for network prediction
This is a minor fix for interpolation when playing online as predicted movement was not properly having its prev data reset like a real tick would be. This resulted in jittery player sprites in third person.
2024-04-25 11:44:38 -03:00
Rachael Alexanderson
d9f03863bf
- make gcc14 happy 2024-04-25 02:37:51 -04:00
Rachael Alexanderson
586e89954a
- fixed: rollsprites now 'unstretch' properly in regular y-billboarding 2024-04-23 20:31:05 -04:00
Rachael Alexanderson
a3e61ce33b - -norun now implies -stdout on Windows as it's useless without it 2024-04-22 23:26:36 +02:00
nashmuhandes
29e103363e ZDRay specs fix 2024-04-22 10:17:07 -04:00
Christoph Oelckers
d45a4f18d4 fix lifetime of skyinfo variable in HWWall::SkyPlane. 2024-04-22 07:14:04 +02:00
Christoph Oelckers
a938e9c66c moved the NetworkEntityManager into the backend code. 2024-04-21 18:30:19 +02:00
Rachael Alexanderson
fde6c863d1
- hide the additional parameters for now, this needs to be added in later 2024-04-21 09:11:46 -04:00
Boondorl
b0137e50ee Exported FTeam getters 2024-04-21 04:44:54 -04:00
Christoph Oelckers
f2d7bbea99 Instead of going through a global callback function set the string table's default gender at the start of each frame
This will perform the CVAR lookup only once per frame, not once per string.
2024-04-21 10:35:56 +02:00
Christoph Oelckers
ebd4ebf298 StringTable cleanup and improvements
cleaned up function interface to avoid referencing the file system in the worker functions.
replaced StringTable's operators with functions.. The main reason is that these are far easier to look up when browsing the source.
This also fixes a premature translation in SBARINFO that was done in the parsing stage, not the printing stage.
2024-04-21 10:34:44 +02:00
Boondorl
f4a42dae1d Added pistol start gameplay option
Automatically resets the player's inventory and health when changing maps.
2024-04-21 03:21:08 -04:00
Rachael Alexanderson
d63d720d4c
- version g4.13pre 2024-04-21 02:59:39 -04:00
Boondorl
38f14ccd56
Tweaked net ID file management
Should now be easier to stub network entity functions for Raze.
2024-04-20 19:14:29 -04:00
Boondorl
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Rachael Alexanderson
111fd48348
- stretch billboarding sprites properly according to the level's aspect ratio 2024-04-20 17:53:08 -04:00
Christoph Oelckers
f2d3275db5 convert leftover file to UTF-8 2024-04-20 10:38:58 +02:00
Kevin Caccamo
c03b272062 Fix some minor KEYCONV and VOC memory issues 2024-04-20 09:47:05 +02:00
Boondorl
06eee55671
Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-04-20 01:15:47 -04:00
Boondorl
bcd6c6170e
Reapply "Improvements to death and cheat handling"
This reverts commit c7bba2a126.
2024-04-20 01:15:46 -04:00
Ricardo Luís Vaz Silva
949cd5b746 Fix let ignoring const-ness 2024-04-19 13:28:18 -03:00
Rachael Alexanderson
7a1342188a
- add cvar cl_restartondeath - bypasses autoloading savegame when pressing +use after dying - added https://github.com/ZDoom/gzdoom/issues/1563 2024-04-18 04:51:38 -04:00
Rachael Alexanderson
4a80e26ab2
- fix #2248 as suggested in the ticket - fix missing include in FreeBSD 2024-04-18 04:27:41 -04:00
Rachael Alexanderson
558bd4674d
- handle dsda namespace like zdoom in udmf 2024-04-18 03:18:56 -04:00
Rachael Alexanderson
8fe58db311
- allow A_SetCrosshair(-1) to hide the crosshair for effects such as custom scopes 2024-04-18 03:16:38 -04:00
Christoph Oelckers
3d57170e69 removed TObjPtr's constructors that were reinstated for unknown reasons.
This class needs to be constructor-less so that even GCC accepts it as trivial.
2024-04-18 07:09:55 +02:00
Boondorl
b20f09a910 Fixed A_OverlayPivotAlign using bitwise or instead of assigning 2024-04-18 01:08:46 -03:00
Ricardo Luís Vaz Silva
9af3d54a19 Fix Decoupled Animation Crash, Interpolation Bugs, Simplify Interpolation code 2024-04-17 21:38:27 -03:00
Ricardo Luís Vaz Silva
1c3764ec89 remove copying from CreateTexBuffer 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
3b6c8349da do the same for paletted and rgb textues 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
74e9d575e8 store YUV and VPX directly as BGRA to speed up animation 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
64ffe9b97b skip frames when playing back IVF to prevent desyncs 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
5b2673f469 add 444/422/440 support to vp9, remove extra copy of image data 2024-04-17 20:35:49 -04:00
Sean Baggaley
06566c010b Add support for the VP9 codec in the IVF container 2024-04-17 20:35:49 -04:00
Chris Robinson
f12bf069f0 Allow larger denominators for IVF movies 2024-04-17 20:24:10 -04:00
Nash Muhandes
6226f03bb4
Update and correct ZDRay-related stuff in the specs and also in the n… (#2503)
* Update and correct ZDRay-related stuff in the specs and also in the namedef table

* Fix compile error
2024-04-17 18:53:46 -04:00
Rachael Alexanderson
178896d6fb
- am_overlay turns off the overlay when set to zero 2024-04-17 18:32:46 -04:00
Rachael Alexanderson
c7bba2a126
Revert "Improvements to death and cheat handling"
This reverts commit 3033fafaa7.

Revert "Improved ZScript interface for morphing"

This reverts commit 6c64a4403c.

Revert "Further morphing clean up"

This reverts commit 12dc5c1506.

Revert "Fixed inconsistencies between player and monster morphing"

This reverts commit 30730647fe.

Revert "Reworked Morphing"

This reverts commit 2c09a443b4.

- fix compile
2024-04-17 17:55:24 -04:00
Rachael Alexanderson
253d668222
- this function still was needed by raze, keep it for now 2024-04-17 15:19:03 -04:00
Rachael Alexanderson
ef10467ff8
- revert changes in backend code which will not sync properly with raze
This is a combination of 2 commits.

Revert "New API for assigning unique network ids to objects"

This reverts commit e37c19b5b4.

 This is the commit message #2:

Revert "Fix for Morph virtual"

This reverts commit 0ef042562e.
2024-04-17 14:48:02 -04:00
Ricardo Luís Vaz Silva
7c93cfa97b Decoupled Animation fixes and improvements
* fixes looping that uses `loopFrame`
* adds `endFrame`
* adds `SAF_NOOVERRIDE`
* fixes crash on SetAnimation if a BaseFrame isn't defined
2024-04-16 20:27:44 -03:00
Boondorl
f2072cec95 Fixes for spawn farthest DM option
No longer picks a random spot on the first spawn but will account for players spawning in sequentially. No longer fails to return a spawn spot if every player is dead while respawning (instead it picks a random one).
2024-04-16 07:04:59 +02:00
Magnus Norddahl
140ad88003
Embed libwebp and remove it from vcpkg since the package broke over night (GGs package managers) 2024-04-11 13:59:59 -04:00
Ricardo Luís Vaz Silva
f0b96bff00 further fix mouse visibility 2024-04-11 07:18:43 +02:00
Ricardo Luís Vaz Silva
97effb9047 fix mouse cursor randomly becoming invisible outside gzdoom 2024-04-11 07:18:43 +02:00
Professor Hastig
6777423d23 fix bad assert in GetStateLabelIndex. 2024-04-08 19:14:08 +02:00
Professor Hastig
0c5780cc41 added missing file size validation in the voxel loader, anything below 772 bytes cannot be a valid KVX file. 2024-04-08 12:54:30 +02:00
Professor Hastig
f796e55c0d initialize lightmap pointer in ProcessLowerMiniseg. 2024-04-08 12:54:07 +02:00
Rachael Alexanderson
7a43d7f78d - multiply frame measurement by 2.0 to at least divide the total frame render time by half during the load screen 2024-03-30 12:14:07 -04:00
Rachael Alexanderson
a1bdc0582c - slow down frame updates for the start screen for slower GPU's, since this can increase loading time significantly 2024-03-30 12:14:07 -04:00
Boondorl
29a2ca0b13 Added co-op option to remember last used weapon when respawning 2024-03-28 15:48:56 -04:00
Boondorl
3e939b0ec1 Update quake radii from int -> double
Also enables static portal-aware distance checks as cam view offsets will now properly go through them when shaking
2024-03-28 15:48:45 -04:00
Boondorl
96594e0f34 Updated explosion distances from int -> double 2024-03-28 15:48:35 -04:00
Boondorl
442ac3f78b Updated substitution logic to only replace pointers if safe 2024-03-28 15:48:23 -04:00
Ricardo Luís Vaz Silva
e85ec240bf Store type together with pointers to allow safe substitution 2024-03-28 15:48:23 -04:00
Boondorl
6b7065899d Added interpolation to view position 2024-03-28 15:48:05 -04:00
Magnus Norddahl
e8d8dde283
Ignore vid_maxfps when vsync is enabled.
Increase vid_maxfps to 500 as modern computers have monitors in the 240-500 hz range now.
2024-03-28 02:56:29 -04:00
Ricardo Luís Vaz Silva
682dd1b22d Can't narrow down the JIT bug yet, so block JIT for functions that call Function Pointers temporarily 2024-03-22 13:28:02 -03:00
Ricardo Luís Vaz Silva
071b5c5180 fix argument pointer wrapping in function pointers 2024-03-22 13:28:02 -03:00
Kyle Evans
b1f53e7eb5 src: filesystem: move includes out of the FileSys namespace
The previous situation is unfortunately not sustainable; header pollution
isn't consistent across all non-Windows platforms.  As a result, some of
the earlier includes may pull functions/types into the global namespace too
soon, and the later includes will have no visibility of them because they're
in a different namespace.  Re-including the necessary one doesn't work
because include guards will prevent their re-inclusion, and it's not a good
idea to try and #undefine include guards now that we're in a new namespace.

This fixes the build on FreeBSD, and likely some other systems as well.
2024-03-17 22:00:00 -04:00
Ricardo Luís Vaz Silva
458d81cede Make TArray take functions by forward-reference and call them by invoke
(1. avoids copying for lambdas, and 2. allows passing methods)
2024-03-17 18:07:50 -03:00
Ricardo Luís Vaz Silva
ce479e09ff Fix A_ChangeModel serialization
I overlooked this part on my first A_ChangeModel fix
2024-03-17 18:07:50 -03:00
Ru5tK1ng
631eb5847b Use fromDeg for angle of 0. 2024-03-17 21:03:54 +01:00
Ru5tK1ng
e62651e3cf Fixed: A_LookEx did not account for the +LOOKALLAROUND flag. 2024-03-17 21:03:54 +01:00
Ricardo Luís Vaz Silva
caa4728bd4 Export A_DoChase to zscript and make A_Chase a direct native function 2024-03-17 21:02:52 +01:00
Rachael Alexanderson
7f8ce13d24
- add missing include for macos 2024-03-17 00:58:24 -04:00
Rachael Alexanderson
c73ec97027
- accidentally added erroneous quotes to the last commit 2024-03-16 23:22:42 -04:00
Rachael Alexanderson
1e2a491f9e
- don't show path if longsavemessages is false. fixes https://github.com/ZDoom/gzdoom/issues/2467 2024-03-16 22:58:29 -04:00
Ricardo Luís Vaz Silva
cc88dfbe50 Unrevert two changes
* Sorted Delete for TArray
* Typed constructor for TObjPtr
2024-03-15 17:21:59 -03:00
Ricardo Luís Vaz Silva
0092aa0772 Fix crash with DecoupledModels flag defined but no actual model 2024-03-15 21:08:59 +01:00
Christoph Oelckers
520b960ca5 Reverted the path node system
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Ricardo Luís Vaz Silva
c9e678b60e
Fix missing newlines in animation messages 2024-03-15 14:33:17 -03:00
Major Cooke
fe0de5053a - Fixed: ROLLCENTER was always being applied even when the flag wasn't present. 2024-03-15 01:17:19 -03:00
Ricardo Luís Vaz Silva
341c1bbede Fix crash with DecoupledModels flag defined but no actual model 2024-03-14 18:52:04 -03:00
Major Cooke
6d99395b68 - Fixed: Fear checks were incorrect when accounting for player being present or not. 2024-03-13 15:40:24 -03:00
Major Cooke
4682b7172e Fixed typo 2024-03-13 13:12:09 -03:00
Major Cooke
f081ef1850 Enhanced pathing for floaters
Their checks are now 2D instead of 3D.
2024-03-12 18:09:02 -04:00
nashmuhandes
0d9855cfe7 Expose LandingSpeed to ZScript. This controls the minimum Z velocity from falling down that's needed to "squat" the player's view (defaults to -8). 2024-03-12 18:08:42 -04:00
Boondorl
730ef1a23a Adjusted view angle interpolation
Now uses deltaangle to get the shortest interpolation path for angles.
2024-03-10 13:48:25 -03:00
Boondorl
0ef042562e Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-03-08 20:10:40 +01:00
Major Cooke
05167fd4ef Missed this one. 2024-03-05 13:44:38 -05:00
Major Cooke
d71af3683a Clear the path instead of advancing the node when crossing portals.
- If an actor crosses back over a portal because they're blocked, it will result in false positives.
- Fixed nodes not being targeted for aim direction.
2024-03-05 13:44:38 -05:00
Major Cooke
257ddb520a Extra safety checks. 2024-03-05 13:44:38 -05:00
Major Cooke
79fb3dfd31 Implemented KEEPPATH flag. 2024-03-05 13:44:38 -05:00
Major Cooke
69001ad4f7 Added ExcludeNode virtual for actors to reject certain nodes of choice.
- Changed MeleeRange to FriendlySeeBlocks so it's supported by Doom Builder.
2024-03-05 13:44:38 -05:00
Major Cooke
81ebd8c8c4 More progress.
- AMBUSH flag on nodes makes them blind and untargetable when getting `startnode` and `goalnode` for `FindPath()`. This is useful for indicating a node should be skipped when tele/portaling, so the current path can be preserved.
- Setup is simple: place nodes behind lines that tele/portal entities and mark them as AMBUSH.

Other changes:

- Restored global array since blockmap is not a viable option here.
- Added MAPINFO `pathing` flag which enables pathing by default.
- Added NOPATHING flag to disable pathing entirely, useful for maps that have pathing enabled.
- Added `ReachedNode(Actor mo)` virtual, responsible for handling node traversal.
- Nodes now make use of MeleeRange to limit their sight checking functions.
2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
ad52e2cc1e AStar 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
3348822390 ... 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
cc51b486e0 TArray Binary Search 2024-03-05 13:44:38 -05:00
Major Cooke
b2cb4b0a6d Begin adding PathNodes. 2024-03-05 13:44:38 -05:00
Boondorl
3033fafaa7 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.
2024-03-01 08:35:31 -05:00
Boondorl
12dc5c1506 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.
2024-03-01 08:35:31 -05:00
Boondorl
30730647fe 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.
2024-03-01 08:35:31 -05:00
Boondorl
2c09a443b4 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.
2024-03-01 08:35:31 -05:00
Boondorl
b469770ecc 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.
2024-03-01 07:10:26 -05:00
Rachael Alexanderson
08a093ffda
- merge pull request https://github.com/ZDoom/gzdoom/pull/1577/files 2024-03-01 05:56:15 -05:00
Christoph Oelckers
ef4c4ee503 fixed resource leak in OpenDecompressor 2024-02-27 07:20:40 +01:00
RaveYard
205d4b5ff3 Support negative fadestep for particles 2024-02-27 07:03:16 +01:00
Rachael Alexanderson
47be9c1e54
- fix https://github.com/ZDoom/gzdoom/issues/2415 - wait to call V_Init2() until after exec commands are processed 2024-02-26 13:55:54 -05:00
Boondorl
49cac88c12 Improvements to Network Commands/Buffers
Fixed a memory leak in DNetworkBuffer. Added native function support to FNetworkCommand and DNetworkBuffer. Exposed EndOfStream() for FNetworkCommand.
2024-02-26 06:23:25 -05:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Boondorl
4d1590ad82 Fixed view position forcing camera interpolation
Fixed absolute view position not working. Camera Actor is no longer visible when using view offsets.
2024-02-26 06:47:05 +01:00
Boondorl
a1a916a823 Added real-time client camera tracking for texture cams 2024-02-24 17:57:53 +01:00
Boondorl
e4ea5ad307 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.
2024-02-23 22:44:18 +01:00
Ricardo Luís Vaz Silva
d848a57bac Fix readonly for SpecialBounceHit virtual 2024-02-23 07:07:56 +01:00
Magnus Norddahl
144caa0902
Fix precache unload bug in FHardwareTextureContainer::UnmarkAll 2024-02-19 06:45:30 -05:00
Magnus Norddahl
c9612b0cab
Fix memory leak due to IHardwareTexture forward declaration 2024-02-19 06:45:18 -05:00
Ricardo Luís Vaz Silva
bc26c54b15 Fix readonly native structs 2024-02-17 07:23:00 +01:00
Rachael Alexanderson
d8ef27e0ed
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 d2c2c93cf1.

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 dc897eacc0.

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 26908f5bc5.

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 08b03e6b19.

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 d3405837ce.

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 e171f4eb6a.

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 c8a7507e8e.

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 25f1407228.

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 2b555d7556.

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 7fbb4cd06c.

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 c3ca564cfc.
2024-02-09 12:15:17 -05:00
Ștefan Talpalaru
b5eb8f47db GCC-13 support, when precompiled headers are off 2024-02-05 17:40:37 +01:00
Hugo Locurcio
97cfd32677 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).
2024-02-04 20:13:18 -03:00
Christoph Oelckers
5b793958f9 fix uniform buffer size check 2024-02-04 23:06:02 +01:00
nashmuhandes
01a462e9d4 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. 2024-02-04 22:45:34 +01:00
Christoph Oelckers
f1db369883 moved a few things out of the common code that should be defined privately. 2024-02-04 13:54:25 +01:00
Christoph Oelckers
d0a2713820 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.
2024-02-04 13:36:25 +01:00
Major Cooke
3f72f8acd5 Fixed psprites & viewpos being completely broken for non-isometric mode.
This line of code was altering a global cvar.
2024-02-03 11:22:16 -05:00
Christoph Oelckers
b37ea19f86 remove unnecessary #defines 2024-02-03 16:07:12 +01:00
nashmuhandes
f6bdc02a8a Use a better default deadzone value for Linux. Fixes uncontrollable menus 2024-02-02 09:43:40 +01:00
Boondorl
e64e33f4a7 Fixed missing return in DisableLocalRendering 2024-02-01 08:43:49 -05:00
Boondorl
c1539c2286 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.
2024-02-01 08:43:49 -05:00
Dileep V. Reddy
25f1407228 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.
2024-02-01 08:43:34 -05:00
Rachael Alexanderson
47a2a534ec
- add in-built zmusic folder to default rpath 2024-01-31 19:19:36 -05:00
Ricardo Luís Vaz Silva
2002396b8b Fix .. to root folder in relative include 2024-01-31 07:48:59 -05:00
jekyllgrim
3e7d304de0 Fixed missing field definition for mCenterText 2024-01-30 14:09:30 -05:00
jekyllgrim
decaf07637 Add CenterText MENUDEF flag 2024-01-29 15:21:49 -05:00
inkoalawetrust
56803317f5 Added new AutomapOffsets property.
This Vector2 property allows you visually offset the XY position of an actors' sprites on the automap.
2024-01-28 09:48:41 -05:00
inkoalawetrust
b3fabb0a7e Made the automap account for SpriteRotation.
The automap now also accounts for the SpriteRotation property of the actors. it renders as sprites.
2024-01-28 09:48:41 -05:00
Major Cooke
dbd6059894 Fixed player sprites not showing up in chasecam mode. 2024-01-28 09:48:11 -05:00
inkoalawetrust
f369cd7f6d Exposed PerformShadowChecks() to ZScript.
Also made CheckForShadows() and P_CheckForShadowBlock() return a pointer to the SHADOWBLOCK actor instead of a bool.
2024-01-26 07:00:57 +01:00
inkoalawetrust
f2451ff44b Made the damage of polyobjects customizable..
The damage done by polyobjects can now be changed by altering the health value of the start spots. A health of 1 (Default) is the default damage of 3, anything above 1 is instant death, and negative health values are the exact damage the polyobject does with every collision with an actor.
2024-01-26 06:59:52 +01:00
dpjudas
9ff1193dab Update backend to use ColorBlendAttachmentBuilder 2024-01-25 22:50:20 -05:00
inkoalawetrust
e1f585f6fd Exposed FindStateByString() to ZScript.
This allows for using ZScript code to jump to different versions of states without using If/Else blocks or Switch cases.
2024-01-25 14:17:16 -05:00
Dileep V. Reddy
c8a7507e8e Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
e171f4eb6a Restored r_orthographic behavior. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
d3405837ce Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
08b03e6b19 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 12:13:42 -05:00
Rachael Alexanderson
5925a6a8c5
Revert "- use correct isHostile checks for target considerations"
This reverts commit f9a88f10ed.
2024-01-21 11:54:40 -05:00
Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc5.

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

This reverts commit dc897eacc0.

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

This reverts commit d2c2c93cf1.
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
26908f5bc5 Restored r_orthographic behavior. 2024-01-21 03:34:00 -05:00
Dileep V. Reddy
dc897eacc0 Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 03:34:00 -05:00
Dileep V. Reddy
d2c2c93cf1 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 03:34:00 -05:00
Major Cooke
278ebf3202 Aded FLIPSPRITEOFFSET<X/Y> for actors and bFlipOffset<X/Y> for visual thinkers.
- Inverts the direction that (Sprite)Offset pushes the sprite without affecting *any* other offsets, allowing them to combine seemlessly.
2024-01-21 03:33:48 -05:00
Major Cooke
4e48250cf2 CalculateVertices Refactor
- Added roll support for Y billboarding
- Fixed a bunch of broken checks that prevented Y billboarding from working properly
- Y billboarding takes precedence over sprite facing
- Optimized ROLLCENTER: now combines the sprite's embedded offsets with SpriteOffsets instead of doing wasteful transforms before/after rotations
- Greatly cleaned up a bunch of cruft
2024-01-21 03:33:48 -05:00
Rachael Alexanderson
1c7f195353
- reverse y offset for SpriteOffset to be consistent with software renderer and past versions 2024-01-18 03:00:44 -05:00
Rachael Alexanderson
f9a88f10ed
- use correct isHostile checks for target considerations 2024-01-18 02:59:48 -05:00
Professor Hastig
cfb4e4f105 fix file names in mounted directories.
This used the normalized file name for access which only works on case insensitive file systems and only as long as no character gets mangled by Unicode normalization.
2024-01-18 07:05:32 +01:00
Ricardo Luís Vaz Silva
b708e16193 fix serialization 2024-01-16 10:27:08 -05:00
Ricardo Luís Vaz Silva
98e6330eaa allow modeldef flags to be overriden 2024-01-16 10:27:08 -05:00
Major Cooke
d789676b26 Fixed music unpausing when alt-tabbing back. 2024-01-12 16:53:56 +01:00
Christoph Oelckers
04e6eba9e0 activate localization of tabs and text update. 2024-01-11 17:50:26 +01:00
Magnus Norddahl
63f1326e62 Add support for changing the tab labels 2024-01-11 16:52:12 +01:00
Andrey Shustov
0aa140194d Fix "unexpected end of TTF file" error
Changed returnv vector size to 3 by default and set size 5 for WIN32
only.
2024-01-11 16:35:38 +01:00
Rachael Alexanderson
64096658e5
- reverse allowduplicates check since it is a misnomer to what it actually did 2024-01-11 08:02:44 -05:00
Christoph Oelckers
55d90a18dc fix render API selection 2024-01-10 23:26:45 +01:00
Magnus Norddahl
8cc531e283 Implement mouse event propagation 2024-01-10 23:23:13 +01:00
Magnus Norddahl
a0f52411d3 Add tabs to the launcher window 2024-01-10 17:09:50 +01:00
Christoph Oelckers
c7778b9332 implemented language selection on the IWAD picker. 2024-01-09 20:52:52 +01:00
Christoph Oelckers
eb9e9133c9 use the string table for the picker's texts. 2024-01-09 18:18:51 +01:00
Christoph Oelckers
ab010f9830 Text update. 2024-01-09 18:13:41 +01:00
Christoph Oelckers
f7a4f00177 adapted string table so that it can be initialized without full game data being available.
This is for the IWAD picker which runs before many things are known.
2024-01-09 17:22:59 +01:00
Christoph Oelckers
963209e8af removed external stuff from tarray.h 2024-01-09 16:47:24 +01:00
Christoph Oelckers
0838433d1f make adjustments to the font substitution and load Japanese and Korean fonts from the Windows font folder. 2024-01-09 16:37:17 +01:00
Ricardo Luís Vaz Silva
b7e5d3d052 rename SPF_STANDALONE_ANIMATIONS to SPF_LOCAL_ANIM 2024-01-09 06:38:08 -05:00
Ricardo Luís Vaz Silva
8ae93fb87f use map instead of linear search to find texture indices for animation 2024-01-09 06:38:08 -05:00
Ricardo Luís Vaz Silva
3bd80ab8f6 Do the same for Visual Thinkers 2024-01-09 06:38:08 -05:00
Ricardo Luís Vaz Silva
7eab519795 Implement animated particles that aren't tied to the global animation timer 2024-01-09 06:38:08 -05:00
Christoph Oelckers
ea65768e0b fixed compile errors. 2024-01-07 12:28:21 +01:00
Christoph Oelckers
0e51c5832d fix compilation 2024-01-07 10:05:03 +01:00
Christoph Oelckers
f13ae3b706 addressed a few things pointed out by static analysis
* marking move assignments noexcept
* using [[fallthrough]] consistently.
* getting rid of alloca.
2024-01-07 08:46:47 +01:00
Ricardo Luís Vaz Silva
35e56d3f42 Minor optimizations to VisualThinker
* remove duplicated fields
* make native functions use direct calls
* remove unnecessary pointer from particle_t
* create HWSprite directly in Construct
2024-01-06 20:06:57 -05:00
Boondorl
5895b88799 Fixed bytes being written incorrectly 2024-01-06 15:40:31 -05:00
Christoph Oelckers
83aa9388ca backend update from Raze
* moving large allocations off the stack
* use proper printf formatters for size_t and ptrdiff_t.
* adding some missing 'noexcept'.
2024-01-06 15:24:10 +01:00
Boondorl
df9b2cd9bf Added 64-bit networking support
Mainly for use with doubles as ZScript can now take advantage of it. Enforced sizing on ints passed to and read from net functions.
2024-01-05 23:33:15 +01:00
Boondorl
a8e350aed8 Renamed Networking Functions
New names more appropriately match the size of the value they write to/read from the stream.
2024-01-05 23:33:15 +01:00
Christoph Oelckers
e3d13af33b use FSoundID for script provided sounds instead of FString. 2024-01-05 17:41:58 +01:00
inkoalawetrust
ce2a0c9295 Added LightningSound MAPINFO property.
Also added a tempSound parameter to ForceLightning(). Allowing for changing the specific sound that particular thunderbolt makes when it hits.
2024-01-05 17:35:03 +01:00
inkoalawetrust
ecdf6f7cb2 Expose ForceLightning() to ZScript.
This makes it possible to call the function in ZScript without the Light_ForceLightning special.
2024-01-05 17:35:03 +01:00
Christoph Oelckers
a020b8c2f5 do not compile the first shader in the shader manager's constructor
This was crashing with the move of the V_Init2 call. Instead do it when we first render something so that we can open the window without immediately making the full backend operational.
This was only working on GLES because it performs lazy shader compilation.
2024-01-05 16:55:11 +01:00
Magnus Norddahl
8ad15de138 Remember last selected item 2024-01-05 16:43:56 +01:00
Professor Hastig
c446af41ae fixed TArray::push_back 2024-01-05 16:42:40 +01:00
Professor Hastig
8cec6094d2 open the main game window earlier in the startup procedure. 2024-01-05 16:42:29 +01:00
Boondorl
4b3cfc6ab7 Converted NetworkBuffer to Object
Fixed a memory leak with _buffer in DNetworkBuffer. Added more wrapper functions to ZScript for basic scenarios.
2024-01-05 16:42:13 +01:00
Boondorl
b8b322f4ce Added wrapper functions for adding and reading arrays 2024-01-05 16:42:13 +01:00
Boondorl
202d0d747f Added NetworkBuffer
Allows for a command to be built before sending it off. Added wrapper functions for certain data types. Changed command from a number to a Name.
2024-01-05 16:42:13 +01:00
Boondorl
9565c94cd2 Added SendNetworkCommand
Allows for a custom message to be sent over the network without the need for SendNetworkEvent. This includes all the possible valid types of byte, word, long, float, and string.
2024-01-05 16:42:13 +01:00
Christoph Oelckers
c62ecc44e2 eliminated the small white part of the initial window content after the IWAD picker. 2024-01-04 22:21:27 +01:00
Christoph Oelckers
9ced091b19 fixed Linux include 2024-01-04 21:10:00 +01:00
Christoph Oelckers
e7ac2fe741 moved launcher window out of common.
This needs to be different for Raze so it cannot be in shared code.
2024-01-04 20:44:27 +01:00
Christoph Oelckers
a2a7667442 added render backend selection to the new IWAD picker.
Unlike VkDoom we still need this.
2024-01-04 19:25:25 +01:00
Christoph Oelckers
15e9c95419 fixed playback of external sound files over cutscenes when started from the console. 2024-01-04 18:22:24 +01:00
Major Cooke
1a860185ee Exposed viewactive, allowing checks for overlay automaps.
- Made `automapactive` UI scoped since checking this on the play side may cause desyncs.
2024-01-04 07:23:57 -05:00
Major Cooke
f647545c1d Disabled player sprites when crossing through portals. 2024-01-04 07:23:24 -05:00
Boondorl
cf7654bb5a Added Z collision detection 2024-01-04 07:17:13 -05:00
Boondorl
fc6191deb9 Added CollidedWith
Guarantees a collision happened unlike CanCollideWith. Called in TryMove so it only calls when an actual movement was attempted and not just a potential positional check.
2024-01-04 07:17:13 -05:00
Magnus Norddahl
99fc43932b Add the additional parameters edit control from the mac version 2024-01-03 16:50:57 +01:00
Magnus Norddahl
b463c8e656 Fix text word wrapping under scrollbar 2024-01-03 16:50:57 +01:00
Magnus Norddahl
e953f3a0c7 Add scrollbar to the log 2024-01-03 16:50:57 +01:00
Christoph Oelckers
e27cbe5bd9 convert more files to UTF-8.
It was mostly degree signs causing these issues.
2024-01-02 21:54:29 +01:00
Christoph Oelckers
243006987d remove old GTK-based Linux picker dialog. 2024-01-02 21:30:28 +01:00