Commit graph

7490 commits

Author SHA1 Message Date
Mitchell Richters
eacc882096 - Exhumed: Manual sweep for last replacements of player index for pointer. 2023-10-04 19:28:25 +11:00
Mitchell Richters
69347e80e7 - Exhumed: Clean up player accesses in player.cpp. 2023-10-04 19:28:25 +11:00
Mitchell Richters
2ae3a5362e - Exhumed: Clean up player accesses in map.cpp and move.cpp. 2023-10-04 19:28:24 +11:00
Mitchell Richters
3d7b7f8a3e - Exhumed: Clean up player accesses in items.cpp and associated utilities. 2023-10-04 19:28:24 +11:00
Mitchell Richters
f3ef64b2ac - Exhumed: Clean up player accesses in gun.cpp and associated utilities. 2023-10-04 19:28:24 +11:00
Mitchell Richters
27a41121ec - Exhumed: Clean up player accesses in grenade code. 2023-10-04 19:28:24 +11:00
Mitchell Richters
0411598ee0 - Exhumed: Clean up player accesses in cheats.cpp. 2023-10-04 12:52:29 +11:00
Mitchell Richters
8e49d24ddc - Exhumed: Clean up player accesses in AddAmmo(). 2023-10-04 12:52:16 +11:00
Mitchell Richters
e1cbc4ffc6 - Exhumed: Convert most of Ra to pointers. 2023-10-04 12:45:02 +11:00
Mitchell Richters
2e83f46861 - Duke: Clean up player accesses in weapons code. 2023-10-04 12:41:11 +11:00
Mitchell Richters
e39002ddb3 - SW: Clean up player accesses in DoGet(). 2023-10-04 12:17:11 +11:00
Mitchell Richters
79995ba8ce - Duke: Manual sweep for last replacements of GetActor() calls for stack pointer. 2023-10-04 12:13:42 +11:00
Mitchell Richters
c67af979cb - Duke: Manual sweep for last replacements of player index for pointer. 2023-10-04 12:00:04 +11:00
Mitchell Richters
06a7118dcb - Duke: Clean up player/actor accesses in checksectors_*(). 2023-10-04 11:36:47 +11:00
Mitchell Richters
5ddd201b33 - Duke: Clean up player/actor accesses in checkhitswitch() and associated utilities. 2023-10-04 11:32:15 +11:00
Mitchell Richters
b36c6af6cd - Duke: Clean up player/actor accesses in moveclouds(). 2023-10-04 11:21:29 +11:00
Mitchell Richters
2fb1dea9e0 - Duke: Clean up player/actor accesses in checkhitdefault(). 2023-10-04 11:21:17 +11:00
Mitchell Richters
07466f6080 - Duke: Clean up player/actor accesses in doanimations(). 2023-10-04 11:17:56 +11:00
Mitchell Richters
9161d152de - Duke: Clean up player/actor accesses in findplayer utilities. 2023-10-04 11:15:22 +11:00
Mitchell Richters
a2c8066f78 - Duke: Clean up actor accesses in premap.cpp. 2023-10-04 11:07:52 +11:00
Mitchell Richters
89708731a3 - Duke: Clean up actor accesses in player_d.cpp. 2023-10-04 10:57:23 +11:00
Mitchell Richters
9c8b2abf07 - Duke: Clean up player/actor accesses in processinput_*(). 2023-10-04 10:53:56 +11:00
Mitchell Richters
df673952d9 - Duke: Clean up player/actor accesses in processweapon(). 2023-10-04 10:40:20 +11:00
Mitchell Richters
3ee76dee66 - Duke: Clean up player/actor accesses in player_w.cpp. 2023-10-04 10:38:02 +11:00
Mitchell Richters
2c78fba4a2 - Duke: Clean up player/actor accesses in operateweapon(). 2023-10-04 10:30:13 +11:00
Mitchell Richters
f14d7f3612 - Duke: Clean up player/actor accesses in fireweapon(). 2023-10-04 10:25:46 +11:00
Mitchell Richters
e025e0d2a1 - Duke: Clean up player/actor accesses in operateTripbomb(). 2023-10-04 10:22:20 +11:00
Mitchell Richters
c4792b1273 - Duke: Clean up player/actor accesses in movement(). 2023-10-04 10:20:07 +11:00
Mitchell Richters
2d4a1779a5 - Duke: Clean up player/actor accesses in operateJetpack(). 2023-10-04 10:16:15 +11:00
Mitchell Richters
a8f03ed10d - Duke: Clean up actor accesses in player.cpp. 2023-10-03 23:07:50 +11:00
Mitchell Richters
a51521381f - Duke: Clean up player/actor accesses in underwater(). 2023-10-03 23:07:50 +11:00
Mitchell Richters
5d628d712c - Duke: Clean up player/actor accesses in checkp(). 2023-10-03 23:07:50 +11:00
Mitchell Richters
f80290d80e - Duke: Clean up player/actor accesses in haslock(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
31a43cdd79 - Duke: Clean up player/actor accesses in shoot(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
8b62cf63fb - Duke: Clean up player/actor accesses in all input look functions. 2023-10-03 23:07:49 +11:00
Mitchell Richters
2225fea10c - Duke: Clean up player/actor accesses in playerJump(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
f135097193 - Duke: Clean up player/actor accesses in playerCrouch(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
ce2487e18a - Duke: Clean up player/actor accesses in timedexit(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
2e2efaea11 - Duke: Clean up player/actor accesses in endoflevel(). 2023-10-03 23:07:49 +11:00
Mitchell Richters
497d2d26dd - Duke: Clean up player/actor accesses in playerisdead(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
7186c3e9f7 - Duke: Clean up player/actor accesses in footprints(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
079df4dd8f - Duke: Clean up player/actor accesses in makepainsounds(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
0749a65c81 - Duke: Clean up player/actor accesses in dokneeattack(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
2ff4aaf6b8 - Duke: Clean up player/actor accesses in PlayerColorChanged(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
50acc673c9 - Duke: Clean up player/actor accesses in noise.cpp. 2023-10-03 23:07:48 +11:00
Mitchell Richters
20ba784ab7 - Duke: Clean up player/actor accesses in hudweapon_*(). 2023-10-03 23:07:48 +11:00
Mitchell Richters
a508dfff31 - Duke: Clean up player/actor accesses in checkcursectnums(). 2023-10-03 23:07:47 +11:00
Mitchell Richters
454c1bfec0 - Duke: Clean up player/actor accesses in selectweapon_*(). 2023-10-03 23:07:47 +11:00
Mitchell Richters
6dbe43716a - Duke: Clean up player/actor accesses in hud_input(). 2023-10-03 23:07:47 +11:00
Mitchell Richters
f3bc7d9ce0 - Duke: Clean up player/actor accesses in displayweapon_*(). 2023-10-03 23:07:47 +11:00
Mitchell Richters
27d859229f - Duke: Clean up player/actor accesses in displaymasks_*(). 2023-10-03 23:07:47 +11:00
Mitchell Richters
d8b670276a - Duke: Convert all the aplWeapon* crap to work on player pointers. 2023-10-03 23:07:47 +11:00
Mitchell Richters
836ed7d931 - Duke: Pass player pointer through to alterang(). 2023-10-03 23:07:46 +11:00
Mitchell Richters
cd755a8336 - Duke: Move PlayerUseItem() wrapper into DDukePlayer. 2023-10-03 23:07:46 +11:00
Mitchell Richters
ab47cf185e - Duke: Move PlayerUseItem() wrapper into DDukePlayer.
* Regex used: `PlayerUseItem\(\w+\,\s?(\w+)\)` -> `p->itemUsed($1)`.
2023-10-03 23:07:46 +11:00
Mitchell Richters
0d25bbe84a - Duke: Remove PlayerInput() wrapper.
* Regex used: `PlayerInput\(\w+\,\s?(SB_\w+)\)` -> `!!(p->cmd.ucmd.actions & $1)`.
2023-10-03 23:07:46 +11:00
Mitchell Richters
68bf5f6997 - Duke: Remove PlayerInputBits() wrapper. 2023-10-03 23:07:46 +11:00
Mitchell Richters
ec5cc18470 - Duke: Remove PlayerSetInput() wrapper. 2023-10-03 23:07:46 +11:00
Mitchell Richters
7cd1780004 - Duke: Remove PlayerNewWeapon() wrapper. 2023-10-03 23:07:46 +11:00
Mitchell Richters
af99ba9ae2 - Duke: Got rid of two more InputPacket wrappers. 2023-10-03 23:07:45 +11:00
Mitchell Richters
984ae6b098 - SW: Shorten the setup in DoPlayerVehicleInputScaling(). 2023-10-03 23:07:45 +11:00
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
6cff02d33b - SW: Consistently apply SOP angle scaling to pitch as well as yaw. 2023-10-03 23:07:43 +11:00
Mitchell Richters
3c4eb21484 - SW: Remove DSWPlayer::drive_avel, we can just use DCoreActor::lastcmd for this. 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
8dc0505a65 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-10-03 12:27:15 +02:00
Christoph Oelckers
a8f2af7257 SW: fix serialization of panel sprites 2023-10-03 09:21:08 +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
27ae6a4c20 - Blood: Fix missing call to Super while saving. 2023-10-03 09:20:17 +11:00
Mitchell Richters
31e3048369 - Duke: Remove some duplicated save variables. 2023-10-03 09:20:16 +11:00
Mitchell Richters
559197a6d1 - Exhumed: Remove some duplicated save variables. 2023-10-03 09:20:16 +11:00
Mitchell Richters
656cafffb5 - SW: Remove some duplicated save variables. 2023-10-03 09:20:15 +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
a941bbf89c fixed warning 2023-10-02 18:54:12 +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
Mitchell Richters
0c8539b0dd - Duke: Clean up player/actor accesses in handle_se05(). 2023-10-02 20:41:07 +11:00
Mitchell Richters
10ede7ce16 - Duke: Clean up player/actor accesses in handle_se02(). 2023-10-02 20:41:06 +11:00
Mitchell Richters
3aea097f87 - Duke: Clean up player/actor accesses in handle_se30(). 2023-10-02 20:41:05 +11:00
Mitchell Richters
c19ac0a916 - Duke: Clean up player/actor accesses in handle_se14(). 2023-10-02 20:39:26 +11:00
Mitchell Richters
f992ec9221 - Duke: Clean up player/actor accesses in handle_se00(). 2023-10-02 20:39:03 +11:00
Mitchell Richters
eb8a359c77 - Duke: Clean up player/actor accesses in move(). 2023-10-02 20:38:48 +11:00
Mitchell Richters
091c6cb9dd - Duke: Clean up player/actor accesses in hitradius(). 2023-10-02 20:38:22 +11:00
Mitchell Richters
76f47a61bb - Duke: Clean up player/actor accesses in moveplayers(). 2023-10-02 20:38:06 +11:00
Mitchell Richters
7a6e036849 - Duke: Clean up player/actor accesses in movedummyplayers(). 2023-10-02 20:37:40 +11:00
Mitchell Richters
77eb44fd54 - Duke: Clean up player/actor accesses in clearcamera(). 2023-10-02 20:37:18 +11:00
Mitchell Richters
892eb16d8b - Duke: Clean up player/actor accesses in checkavailweapon(). 2023-10-02 20:36:58 +11:00
Mitchell Richters
3925af453a - Duke: Clean up player/actor accesses in moveactor(). 2023-10-02 20:36:39 +11:00
Mitchell Richters
ac35e09d1c - Move each game's stored nPlayer/pnum value to CorePlayer. 2023-10-02 18:44:04 +11:00
Mitchell Richters
16189ff7f9 - Remove GameInterface::getConsoleActor() in place of direct access. 2023-10-02 18:11:53 +11:00
Mitchell Richters
6de8fc91d6 - Remove GameInterface::reapplyInputBits() and directly perform operation in GameTicker(). 2023-10-02 18:11:51 +11:00
Mitchell Richters
02bd017d07 - Directly set CorePlayer::ucmd rather than copying it to a temporary array. 2023-10-02 17:00:50 +11:00
Mitchell Richters
d90aca9640 - Directly store a ticcmd_t object within CorePlayer. 2023-10-02 17:00:50 +11:00
Mitchell Richters
23d4cbc3bd - Remove all game-side PlayerArray[] objects and store within common code. 2023-10-02 15:43:00 +11:00
Mitchell Richters
789c4669f1 - SW: Initial setup to convert PlayerArray array to array of SWPlayer pointers. 2023-10-02 15:43:00 +11:00
Mitchell Richters
f9c3a64f35 - Exhumed: Initial setup to convert PlayerArray array to array of ExhumedPlayer pointers. 2023-10-02 15:43:00 +11:00
Mitchell Richters
6d2124dd01 - Duke: Initial setup to convert PlayerArray array to array of DukePlayer pointers. 2023-10-02 15:43:00 +11:00
Mitchell Richters
0aac044da6 - Blood: Initial setup to convert PlayerArray array to array of BloodPlayer pointers. 2023-10-02 15:43:00 +11:00
Mitchell Richters
1604cf009c - Move the actor pointer for each game's player structures into CorePlayer.
* Something strange was going on here with Blood where the static_cast would not work... Moved the player structure into `bloodactor.h` for now to work around it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6beec5eed2 - Set up initial implementation of CorePlayer struct and make game-side player structs inherit from it. 2023-10-02 15:42:59 +11:00
Mitchell Richters
6a7eabd23f - SW: Rename Player[] array to PlayerArray[] and wrap its access. 2023-10-02 15:42:59 +11:00
Mitchell Richters
2327e08acb - SW: Replace remaining Player + pointer arithmetic with array accesses. 2023-10-02 15:42:58 +11:00
Mitchell Richters
2733c90237 - SW: Replace all pp (.)\= Player \+ (.+)\) with array accesses. 2023-10-02 15:42:58 +11:00
Mitchell Richters
3c499b060f - SW: Replace all pp = Player \+ (.+); with array accesses. 2023-10-02 15:42:58 +11:00
Mitchell Richters
3cc2aa7af4 - SW: Replace remaining Player+ pointer arithmetic with array accesses. 2023-10-02 15:42:57 +11:00
Mitchell Richters
edd089cc0d - SW: Replace Player+pnum pointer arithmetic with array accesses. 2023-10-02 15:42:57 +11:00
Mitchell Richters
6a72b3dd83 - SW: Replace all pp (.)\= Player\+(.+)\) with array accesses. 2023-10-02 15:42:57 +11:00