Commit graph

21333 commits

Author SHA1 Message Date
Mitchell Richters
d44d14a770 - Duke: Clean up player/actor accesses in makepainsounds(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
6c067d4c38 - Duke: Clean up player/actor accesses in dokneeattack(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
387ed6ceac - Duke: Clean up player/actor accesses in PlayerColorChanged(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
0425cc82fa - Duke: Clean up player/actor accesses in noise.cpp. 2023-12-05 22:39:15 +01:00
Mitchell Richters
dbf7872243 - Duke: Clean up player/actor accesses in hudweapon_*(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
74a5a7584e - Duke: Clean up player/actor accesses in checkcursectnums(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
9e56237f99 - Duke: Clean up player/actor accesses in selectweapon_*(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
287df1c18a - Duke: Clean up player/actor accesses in hud_input(). 2023-12-05 22:39:14 +01:00
Mitchell Richters
823e032c9a - Duke: Clean up player/actor accesses in displayweapon_*(). 2023-12-05 22:39:14 +01:00
Mitchell Richters
8f64af1f04 - Duke: Clean up player/actor accesses in displaymasks_*(). 2023-12-05 22:39:14 +01:00
Mitchell Richters
1e55b12e61 - Duke: Convert all the aplWeapon* crap to work on player pointers. 2023-12-05 22:39:14 +01:00
Mitchell Richters
b8ffcf3799 - Duke: Pass player pointer through to alterang(). 2023-12-05 22:39:14 +01:00
Mitchell Richters
2720c6f8c6 - Duke: Move PlayerUseItem() wrapper into DDukePlayer. 2023-12-05 22:39:14 +01:00
Mitchell Richters
4aeb19df84 - Duke: Move PlayerUseItem() wrapper into DDukePlayer.
* Regex used: `PlayerUseItem\(\w+\,\s?(\w+)\)` -> `p->itemUsed($1)`.
2023-12-05 22:39:14 +01:00
Mitchell Richters
487459afd7 - Duke: Remove PlayerInput() wrapper.
* Regex used: `PlayerInput\(\w+\,\s?(SB_\w+)\)` -> `!!(p->cmd.ucmd.actions & $1)`.
2023-12-05 22:39:13 +01:00
Mitchell Richters
14cf143739 - Duke: Remove PlayerInputBits() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
97504df124 - Duke: Remove PlayerSetInput() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
d7fbd8b348 - Duke: Remove PlayerNewWeapon() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
beb083e471 - Duke: Got rid of two more InputPacket wrappers. 2023-12-05 22:39:13 +01:00
Mitchell Richters
2b0b98a49c - SW: Shorten the setup in DoPlayerVehicleInputScaling(). 2023-12-05 22:39:13 +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
3eaf7d2b87 - Make the last commit compile. 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
4e9f2ef3f7 - Duke: Get rid of two InputPacket wrappers. 2023-12-05 22:39:11 +01:00
Mitchell Richters
0087f8e092 - Duke: Restore underwater input scaling to unsynchronised input which was lost back in March (b3c27a177e4787bf9341973039e73c1403e1b230). 2023-12-05 22:39:11 +01:00
Mitchell Richters
19c64e55c4 - SW: Consistently apply SOP angle scaling to pitch as well as yaw. 2023-12-05 22:39:11 +01:00
Mitchell Richters
d683a6900a - SW: Remove DSWPlayer::drive_avel, we can just use DCoreActor::lastcmd for this. 2023-12-05 22:39:11 +01:00
Mitchell Richters
54d307a7e6 - Move doslopetilting() into DDukePlayer. 2023-12-05 22:39:11 +01:00
Mitchell Richters
c029273e19 - Duke: Clean up player/actor accesses in ParseState::parse(). 2023-12-05 22:39:11 +01:00
Mitchell Richters
cec1893852 - Duke: Clean up player/actor accesses in game_misc.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
9529e8fa67 - Duke: Clean up player/actor accesses in game.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
5d67edf6db - Duke: Clean up player/actor accesses in cheats.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
cbe977bfec - Duke: Remove unused angle rotation from ccmds(). 2023-12-05 22:39:10 +01:00
Mitchell Richters
f93dcf253f - Duke: Remove unused angle rotation from animatesprites_r(). 2023-12-05 22:39:10 +01:00
Mitchell Richters
f570167f48 - Duke: Clean up player/actor accesses in animatesprites_r.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
b1391cb482 - Duke: Clean up player/actor accesses in animatesprites_d.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
f8d403739a - Duke: Clean up player/actor accesses in actors_lava.cpp. 2023-12-05 22:39:10 +01:00
Mitchell Richters
cfc24a3697 - Duke: Tidy up resetplayerstats() to avoid looping through the players three times. 2023-12-05 22:39:09 +01:00
Mitchell Richters
4e1148e1ff - Duke: Fix resetplayerstats() setup. 2023-12-05 22:39:09 +01:00
Mitchell Richters
ae0de2d6aa - Clean up serialisers in savegamehelp.cpp. 2023-12-05 22:39:09 +01:00
Christoph Oelckers
a6467d2c9a use a TArray for the screenshot buffer. 2023-12-05 22:39:09 +01:00
Christoph Oelckers
3e47edb677 Revert "fixed CollisionData export."
This reverts commit fe02190604.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
2096b74421 Duke: fixed bad loop index in gamevar init code. 2023-12-05 22:39:09 +01:00
Christoph Oelckers
330e2af217 made SW's panel sprites into actual DObjects
so that they can a) cleanly be exposed to scripting later and b) serialized for savegames without using gross hacks.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
88d5d15094 fixed bad assumption about object destruction state in garbage collector.
The assumption was made that every object in the ToDestroy list wasn't destroyed yet.
This assumption is wrong in case one object destroys an owned one on its own destruction.
Instead this case must be properly dealt with and duplicate destruction be avoided.

This happened with the panel sprite sentinel in SW's player object.
2023-12-05 22:39:08 +01:00
Christoph Oelckers
0463623daf SW: fix serialization of panel sprites 2023-12-05 22:39:08 +01:00
Christoph Oelckers
3a37bda806 do not copy players, it is not allowed for polymorphic classes. 2023-12-05 22:39:08 +01:00