Commit graph

1283 commits

Author SHA1 Message Date
Mitchell Richters
1da71c3ca8 - Rename DCorePlayer::StrafeVel to DCorePlayer::RollVel as it better matches its usage. 2024-01-05 20:59:28 +11:00
Mitchell Richters
d25f6597b8 - Move DCorePlayer::resetCameraAngles() call from each game into GameInput::getInput(). 2024-01-05 20:59:28 +11:00
Mitchell Richters
e58d5f7637 - Move GameInput::ResetInputSync() call from each game into GameInput::getInput(). 2024-01-05 20:59:27 +11:00
Mitchell Richters
baa28dc6a8 - Exhumed: Adjust c66b9795b9 to always return the last sequence instead of a nullptr.
* Returning a nullptr and having the caller return from that potentially results in no animation being drawn at all.
* Change here is akin to fix applied in 1cb15ed878.
2024-01-05 20:59:26 +11:00
Mitchell Richters
f800d6937c Revert "- Exhumed: Fix OOB frame with the rat."
This reverts commit fe356f3183.

* The applied fix in 1cb15ed878 covers this and probably does it in a better manner (i.e., play the last frame again vs. resetting the frame sequence).
2024-01-05 20:55:51 +11:00
Christoph Oelckers
36930d44bd filesystem update from GZDoom. 2023-12-17 12:48:03 +01:00
Christoph Oelckers
c0d166c307 backend update from GZDoom. 2023-12-10 13:30:50 +01:00
Christoph Oelckers
c66b9795b9 Exhumed: fix crash on bad player animation sequence. 2023-12-05 22:40:59 +01:00
Christoph Oelckers
8e6f0b0acd Exhumed: do raw serialization of FreeListArray.
This is for robustness reasons, there were occurences where this did not properly restore everything as intended.
2023-12-05 22:40:58 +01:00
Mitchell Richters
1d6b001884 - Exhumed: Return early in movesprite() if the actor's sector is null.
* This is what PowerSlaveGDX does.
* Fixes #1010.
2023-12-05 22:39:35 +01:00
Mitchell Richters
f60b0ea823 - Exhumed: Adjust angle change in 47a77fc8f1 to be 1:1 with the source. 2023-12-05 22:39:35 +01:00
Christoph Oelckers
98f2257aad Exhumed: fix handling of angles for the queen's eggs when colliding with a wall. 2023-12-05 22:39:34 +01:00
Mitchell Richters
d753c92cfa - Exhumed: Remove sequence post-processing since range checks from c039882dcc handle this. 2023-12-05 22:39:34 +01:00
Mitchell Richters
23a557a361 - Exhumed: Clean up push factor in runlist_CheckRadialDamage() for players.
* Some fudging was added due to issues that have now been properly resolved in 40265e649f.
2023-12-05 22:39:34 +01:00
Christoph Oelckers
5b56fb7939 Exhumed: fixed a few more bad velocities in queen code. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
1cb15ed878 Exhumed: Always perform a range check on a sequence's length.
Too many of these are not correct and prone to overflows so ignoring this is not good.
2023-12-05 22:39:34 +01:00
Christoph Oelckers
8dfb21636a Exhumed: fixed radial damage push factor.
The original did 'bsin(x) >> 3' with vel being Q18.14 and bsin also returning Q18.14. So for fully floatified values we still must multiply by 1/8, not 128.
2023-12-05 22:39:33 +01:00
Christoph Oelckers
5a176fdf3d Exhumed: sanitize stupid implementation of UpdateEnemy and fixed bad use of it for the queen's eggs. 2023-12-05 22:39:33 +01:00
Mitchell Richters
aea71092cc - Clean up some GCC const warnings. 2023-12-05 22:39:33 +01:00
Mitchell Richters
be41bbcd28 - Move gi->getCrouchState() into DCorePlayer. 2023-12-05 22:39:33 +01:00
Mitchell Richters
fcc09afa18 - Consolidate Exhumed's nCamerapos and SW's DSWPlayer::si into something inside DCorePlayer. 2023-12-05 22:39:31 +01:00
Mitchell Richters
59366d3ffc - Internalise player velocity setup for DCorePlayer::doRollInput().
* Would have been nice to have this constexpr, but can only do that when we switch to C++20.
2023-12-05 22:39:30 +01:00
Mitchell Richters
ce75f7d7ef - Internalise player InputPacket access. 2023-12-05 22:39:30 +01:00
Mitchell Richters
531c95c7ca - Move PlayerAngles class directly into DCorePlayer.
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-12-05 22:39:30 +01:00
Christoph Oelckers
54035f9396 replace sprintf with snprintf. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
0c397033f1 added the remaining needed GetChars calls. 2023-12-05 22:39:27 +01:00
Mitchell Richters
b83f062037 - Exhumed: A little bit more cleanup. 2023-12-05 22:39:25 +01:00
Mitchell Richters
83cd140d75 - Exhumed: Remove static copy of last yaw input from draw code. 2023-12-05 22:39:25 +01:00
Mitchell Richters
52b20e1f59 - Move syncinput mechanism into GameInput object. 2023-12-05 22:39:24 +01:00
Mitchell Richters
526db7f8b0 - Fix all GCC warnings in the game-side code.
* Most of these were due to mixed spaces/tabs playing nastiness with non-braced if/else statements.
2023-12-05 22:39:23 +01:00
Mitchell Richters
bdf566b348 - Remove GameInput friendships inside PlayerAngles in lieu of a local inline function. 2023-12-05 22:39:23 +01:00
Mitchell Richters
23dd0bab87 - Exhumed: Manual sweep for last replacements of player index for pointer. 2023-12-05 22:39:23 +01:00
Mitchell Richters
9871bb4a73 - Exhumed: Clean up player accesses in player.cpp. 2023-12-05 22:39:22 +01:00
Mitchell Richters
33296e61fb - Exhumed: Clean up player accesses in map.cpp and move.cpp. 2023-12-05 22:39:22 +01:00
Mitchell Richters
51b5393a23 - Exhumed: Clean up player accesses in items.cpp and associated utilities. 2023-12-05 22:39:22 +01:00
Mitchell Richters
692d995257 - Exhumed: Clean up player accesses in gun.cpp and associated utilities. 2023-12-05 22:39:22 +01:00
Mitchell Richters
a9ca3d7375 - Exhumed: Clean up player accesses in grenade code. 2023-12-05 22:39:22 +01:00
Mitchell Richters
856b6630f1 - Exhumed: Clean up player accesses in cheats.cpp. 2023-12-05 22:39:22 +01:00
Mitchell Richters
ad5f1d9f7d - Exhumed: Clean up player accesses in AddAmmo(). 2023-12-05 22:39:22 +01:00
Mitchell Richters
d4b0cb14b4 - Exhumed: Convert most of Ra to pointers. 2023-12-05 22:39:22 +01:00
Mitchell Richters
02f8ac3bb3 - Duke: Clean up player accesses in weapons code. 2023-12-05 22:39:21 +01:00
Mitchell Richters
e8451d3ddb - Take better advantage of InputPacket::ang's FRotator status.
* Change it to a DRotator as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-12-05 22:39:13 +01:00
Mitchell Richters
af8f3139ed - Change InputPacket angles to an FRotator. 2023-12-05 22:39:12 +01:00
Mitchell Richters
e2a949949c - Take better advantage of InputPacket::vel's FVector3 status.
* Change it to a DVector3 as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-12-05 22:39:12 +01:00
Mitchell Richters
8c1e392afc - Remove the TVector2 (const TVector3<vec_t> &other) constructor.
* This narrowing constructor was causing a problem with a `clamp()` overload in the next commit.
* Believe this is a product of a by-gone time before we had the `XY()` method on `TVector3<T>` objects.
2023-12-05 22:39:12 +01:00
Mitchell Richters
592d416485 - Change InputPacket velocities to an FVector3. 2023-12-05 22:39:12 +01:00
Mitchell Richters
8d205bc896 - Clean up a bunch of serialisers that were saving vector members, and not the whole vector. 2023-12-05 22:39:08 +01:00
Mitchell Richters
8bed6c9241 - Centralise the saving of player actions within DCorePlayer's serialiser. 2023-12-05 22:39:08 +01:00
Mitchell Richters
8281e5b324 - Exhumed: Remove some duplicated save variables. 2023-12-05 22:39:07 +01:00
Christoph Oelckers
c02cff1e48 fix saving. 2023-12-05 22:39:07 +01:00