Commit graph

3396 commits

Author SHA1 Message Date
Mitchell Richters
d6de57095d - 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-10-03 23:07:45 +11:00
Mitchell Richters
1732cd2e83 - Change InputPacket angles to an FRotator. 2023-10-03 23:07:45 +11:00
Mitchell Richters
f88d435335 - 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-10-03 23:07:44 +11:00
Mitchell Richters
828e46a8da - 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-10-03 23:07:44 +11:00
Mitchell Richters
f570cb5d21 - Change InputPacket velocities to an FVector3. 2023-10-03 23:07:44 +11:00
Mitchell Richters
e45d485eb2 - Duke: Get rid of two InputPacket wrappers. 2023-10-03 23:07:43 +11:00
Mitchell Richters
82d029fe28 - Duke: Restore underwater input scaling to unsynchronised input which was lost back in March (b3c27a177e4787bf9341973039e73c1403e1b230). 2023-10-03 23:07:43 +11:00
Mitchell Richters
4876a3145e - Move doslopetilting() into DDukePlayer. 2023-10-03 23:07:43 +11:00
Mitchell Richters
c974e35a6b - Duke: Clean up player/actor accesses in ParseState::parse(). 2023-10-03 23:07:43 +11:00
Mitchell Richters
a1e94f8278 - Duke: Clean up player/actor accesses in game_misc.cpp. 2023-10-03 23:07:43 +11:00
Mitchell Richters
411115304a - Duke: Clean up player/actor accesses in game.cpp. 2023-10-03 23:07:43 +11:00
Mitchell Richters
9086f90e75 - Duke: Clean up player/actor accesses in cheats.cpp. 2023-10-03 23:07:42 +11:00
Mitchell Richters
51b0bd284d - Duke: Remove unused angle rotation from ccmds(). 2023-10-03 23:07:42 +11:00
Mitchell Richters
559ee2f3c6 - Duke: Remove unused angle rotation from animatesprites_r(). 2023-10-03 23:07:42 +11:00
Mitchell Richters
3c51f03def - Duke: Clean up player/actor accesses in animatesprites_r.cpp. 2023-10-03 23:07:42 +11:00
Mitchell Richters
c2196374e8 - Duke: Clean up player/actor accesses in animatesprites_d.cpp. 2023-10-03 23:07:42 +11:00
Mitchell Richters
bc66f2de5c - Duke: Clean up player/actor accesses in actors_lava.cpp. 2023-10-03 23:07:42 +11:00
Mitchell Richters
7493d0cdeb - Duke: Tidy up resetplayerstats() to avoid looping through the players three times. 2023-10-03 23:07:42 +11:00
Mitchell Richters
992a8b3899 - Duke: Fix resetplayerstats() setup. 2023-10-03 23:07:41 +11:00
Christoph Oelckers
b068a19ed9 Duke: fixed bad loop index in gamevar init code. 2023-10-03 12:54:53 +02:00
Christoph Oelckers
7d26d3b87c do not copy players, it is not allowed for polymorphic classes. 2023-10-03 08:30:00 +02:00
Mitchell Richters
ec69e644f7 - Clean up a bunch of serialisers that were saving vector members, and not the whole vector. 2023-10-03 09:33:28 +11:00
Mitchell Richters
03d957ffdf - Centralise the saving of player actions within DCorePlayer's serialiser. 2023-10-03 09:28:01 +11:00
Mitchell Richters
31e3048369 - Duke: Remove some duplicated save variables. 2023-10-03 09:20:16 +11:00
Mitchell Richters
04ba6acd16 - Duke: Clean up player/actor accesses in resetpspritevars(). 2023-10-03 07:51:34 +11:00
Mitchell Richters
c35fbc28db - Duke: Ensure player's pnum is updated during premap. 2023-10-03 07:48:33 +11:00
Christoph Oelckers
d815eff5d1 fix saving. 2023-10-02 21:38:58 +02:00
Christoph Oelckers
dd2ea96d6c turn players into DObjects and fix several bugs with bad memory access.
* DObjects may not be memset to 0.
* There was still code trying to retrieve the player index with pointer artithmetic. With an array of pointers this does not work.
2023-10-02 21:03:59 +02:00
Christoph Oelckers
d60834be3d fixed GC handling of players.
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-10-02 19:03:27 +02:00
Christoph Oelckers
02c6b68581 Merge remote-tracking branch 'remotes/origin/playerArray' into blood-script-export 2023-10-02 18:51:51 +02:00
Mitchell Richters
bdd02953c3 - Duke: Clean up player/actor accesses in rrra_specialstats(). 2023-10-02 21:24:26 +11:00
Mitchell Richters
ca4f00b6b3 - Duke: Clean up player/actor accesses in movetransports_r(). 2023-10-02 21:24:25 +11:00
Mitchell Richters
6c72a2a1fa - Duke: Clean up player/actor accesses in ifhitbyweapon_r(). 2023-10-02 21:24:05 +11:00
Mitchell Richters
8584745ce4 - Duke: Clean up player/actor accesses in addweapon_r.cpp. 2023-10-02 21:23:42 +11:00
Mitchell Richters
9a301d6e06 - Duke: Fix incorrect distance value in handle_se28(). 2023-10-02 21:23:42 +11:00
Mitchell Richters
2d7ab0f581 - Duke: Clean up player/actor accesses in handle_se28(). 2023-10-02 21:23:42 +11:00
Mitchell Richters
9fb63af7b6 - Duke: Clean up player/actor accesses in movetransports_d(). 2023-10-02 21:23:41 +11:00
Mitchell Richters
3274450fe6 - Duke: Clean up player/actor accesses in ifhitbyweapon_d(). 2023-10-02 21:23:05 +11:00
Mitchell Richters
fe5581f3cf - Duke: Clean up player/actor accesses in addweapon_d.cpp. 2023-10-02 21:14:55 +11:00
Mitchell Richters
95d5e1f57d - Duke: Clean up player/actor accesses in gameexec.cpp. 2023-10-02 21:14:32 +11:00
Mitchell Richters
d4999619dc - Duke: Clean up player/actor accesses in movefta(). 2023-10-02 20:45:33 +11:00
Mitchell Richters
6f248ff34c - Duke: Clean up player/actor accesses in alterang(). 2023-10-02 20:45:06 +11:00
Mitchell Richters
5e82e5ab94 - Duke: Clean up player/actor accesses in handle_se31(). 2023-10-02 20:44:40 +11:00
Mitchell Richters
36fd510f2c - Duke: Clean up player/actor accesses in handle_se24(). 2023-10-02 20:44:21 +11:00
Mitchell Richters
6754dd03f1 - Duke: Clean up player/actor accesses in handle_se27(). 2023-10-02 20:43:01 +11:00
Mitchell Richters
c98083bf75 - Duke: Clean up player/actor accesses in handle_se26(). 2023-10-02 20:42:42 +11:00
Mitchell Richters
6764acccb0 - Duke: Clean up player/actor accesses in handle_se20(). 2023-10-02 20:42:20 +11:00
Mitchell Richters
da75e29d5c - Duke: Clean up player/actor accesses in handle_se18(). 2023-10-02 20:42:00 +11:00
Mitchell Richters
c948b4a526 - Duke: Clean up player/actor accesses in handle_se17(). 2023-10-02 20:41:43 +11:00
Mitchell Richters
98eacf83b9 - Duke: Clean up player/actor accesses in handle_se13(). 2023-10-02 20:41:24 +11:00