Commit graph

7352 commits

Author SHA1 Message Date
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
Mitchell Richters
5d5327c427 - Replace direct pointer access to Player[] array with array accesses. 2023-10-02 15:42:57 +11:00
Mitchell Richters
dbb11eed4d - SW: Rename PLAYER struct to SWPlayer. 2023-10-02 15:42:55 +11:00
Mitchell Richters
d107b6a1fa - Exhumed: Rename PlayerList[] array to PlayerArray[] and wrap its access. 2023-10-02 15:42:09 +11:00
Mitchell Richters
5008ac08ac - Exhumed: Rename Player struct to ExhumedPlayer. 2023-10-02 15:41:15 +11:00
Mitchell Richters
6a367c6184 - Duke: Rename ps[] array to PlayerArray[] and wrap its access. 2023-10-02 15:41:15 +11:00
Mitchell Richters
bd9e42bb40 - Duke: Rename player_struct struct to DukePlayer. 2023-10-02 15:41:13 +11:00
Mitchell Richters
0ed54ed719 - Blood: Rename gPlayer[] array to PlayerArray[] and wrap its access. 2023-10-02 15:31:05 +11:00
Mitchell Richters
49104f9b24 - Blood: Rename PLAYER struct to BloodPlayer. 2023-10-02 15:30:51 +11:00
Mitchell Richters
a20e2b64f9 - SW: Wrap access to player's actor pointer. 2023-10-02 15:30:35 +11:00
Mitchell Richters
61bc8c23cf - Exhumed: Wrap access to player's actor pointer. 2023-10-02 15:30:35 +11:00
Mitchell Richters
6d6872fea7 - Duke: Ensure player_struct::GetActor() is exclusively used to get the player's actor. 2023-10-02 15:30:34 +11:00
Mitchell Richters
2755b17fd5 - Blood: Wrap access to player's actor pointer. 2023-10-02 15:30:34 +11:00
Mitchell Richters
719cc75fd2 - Duke: Rename player_struct::sync to player_struct::input to match the other games. 2023-10-02 15:30:32 +11:00
Christoph Oelckers
762263671a exported the main structures in Blood that make up a BloodActor.
nnext stuff was omitted for now.
This also eliminates the DUDEEXTRA_STATS substructure and integrates its content directly into DUDEEXTRA.
2023-10-01 22:25:08 +02:00
Christoph Oelckers
3aafcb94f1 exported XSECTOR and XWALL.
this required an extension to the ZScript front end to allow defining the bitfield flag variables which cannot have their address taken.
2023-10-01 20:39:40 +02:00
Christoph Oelckers
5a26989d06 exported the game specific sector/wall properties. 2023-10-01 18:54:10 +02:00
Christoph Oelckers
30d259f8b4 actually use the shifted type range for FX actors, now that the spawning is handled. 2023-10-01 14:06:59 +02:00
Christoph Oelckers
72bab35ab4 spawn the actual classes assigned to the various actor types. 2023-10-01 14:06:59 +02:00
Christoph Oelckers
f71000fe6f wrapped all remaining access to type. 2023-10-01 14:06:59 +02:00
Christoph Oelckers
0dd22f3071 Blood: make sure FX sprites have a unique type.
There were overlaps with other types which for ZScript would be a problem, this also caused undefined behavior with the kSectorCounter event callback.
2023-10-01 14:06:58 +02:00
Christoph Oelckers
eb043f7fab wrapped all remaining spr.type not related to kStatFX 2023-10-01 14:06:58 +02:00
Christoph Oelckers
e5d8b097fc wrapped many more accesses to spr.type. 2023-10-01 14:06:58 +02:00
Christoph Oelckers
93df21bca1 replaced a few more spr.type's. 2023-10-01 14:06:58 +02:00
Christoph Oelckers
8f8e8c4d87 replaced more access to spr.type. 2023-10-01 14:06:58 +02:00
Christoph Oelckers
9b22d9a811 add a getDudeInfo variant that only takes an actor pointer as parameter 2023-10-01 14:06:57 +02:00
Christoph Oelckers
658646323c use IsDudeActor where appropriate. 2023-10-01 14:06:57 +02:00
Christoph Oelckers
b2582dcb84 quick replacements of many spr.type uses 2023-10-01 14:06:48 +02:00
Christoph Oelckers
95290c65b2 wrap all write access to spr.type. 2023-10-01 14:04:01 +02:00
Christoph Oelckers
7379288f4b directory structure cleanup 2023-10-01 14:03:44 +02:00
Christoph Oelckers
5cbca32967 added missing license to Duke's vmexports.cpp 2023-10-01 14:03:23 +02:00
Christoph Oelckers
295d9e690b remove unneeded non-standard includes from inifile.cpp 2023-10-01 14:00:26 +02:00
Christoph Oelckers
716e059374 use shared SplitPath function 2023-10-01 13:09:22 +02:00
Christoph Oelckers
ee07ae35aa retrieve time in fillSummary. 2023-10-01 12:10:56 +02:00
Christoph Oelckers
4dcf0fd3c4 get rid of the GetStats interface function.
Now that all data it retrieves is available in shared code it is no longer needed.
2023-10-01 11:48:32 +02:00
Christoph Oelckers
19dfd84320 use global stat manager in SW 2023-10-01 10:33:07 +02:00
Christoph Oelckers
da3df98484 use global stat manager in Exhumed 2023-10-01 10:17:27 +02:00
Christoph Oelckers
3e821c5849 use global stat manager in Duke 2023-10-01 10:07:54 +02:00
Christoph Oelckers
4af7a649b6 move kill/secret management into the shared code
Implemented for Blood so far, this gets rid of gKillMgr and gSecretMgr
2023-10-01 10:07:45 +02:00