Commit graph

1942 commits

Author SHA1 Message Date
Christoph Oelckers
02c6b68581 Merge remote-tracking branch 'remotes/origin/playerArray' into blood-script-export 2023-10-02 18:51:51 +02: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
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
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
2755b17fd5 - Blood: Wrap access to player's actor pointer. 2023-10-02 15:30:34 +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
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
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
Christoph Oelckers
26ba62dc62 Blood: cleanup of INI loading
* use snprintf instead of sprintf
* keep the IniFile object local
* get rid of the FreeGameData interface function, it only existed to free the global INI object.
2023-09-30 22:34:09 +02:00
Christoph Oelckers
bb6d6ae83b replaced Ini-parser with a reworked version from Blood RE.
This was mainly for the license.
2023-09-30 21:47:17 +02:00
Christoph Oelckers
31541fd8ae correct else placement in calebSwimChase. 2023-09-29 20:22:56 +02:00
Christoph Oelckers
e072380470 Blood: fixed bad order of random numbers. 2023-09-29 20:11:34 +02:00
Mitchell Richters
8f9b413d38 - Always clear object in PlayerAngles::initialize() rather than expecting the caller to do it. 2023-09-28 22:16:30 +10:00
Mitchell Richters
7fa5df934b - Make playercmds[] non-global and pass through as pointer. 2023-09-28 22:16:30 +10:00
Mitchell Richters
4958241c57 - Blood: Slight cleanup on 32480dde16. 2023-09-28 22:16:29 +10:00
Christoph Oelckers
b05b409695 Blood: removed 3 unused members in PLAYER 2023-09-28 11:45:16 +02:00
Christoph Oelckers
f46db83ab3 removed two leftover floatification helpers. 2023-09-28 11:43:14 +02:00
Christoph Oelckers
aea46548bd moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
Naked sprite pointers have been removed everywhere else.
2023-09-28 11:41:35 +02:00
Christoph Oelckers
7e63ccd57a Blood: get rid of the mirror struct and related data.
This is a relic of Polymost.
2023-09-26 23:34:08 +02:00
Christoph Oelckers
bcad8a85d2 renamed at* fields in gib.cpp 2023-09-26 23:34:08 +02:00
Christoph Oelckers
3625a510d2 took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was. 2023-09-26 23:34:08 +02:00
Christoph Oelckers
8a0f79141b code cleanup
* gave reverb functions the proper 'S_' prefix for consistency.
* Blood: fixed license of 4 files which do not contain any NBlood code anymore (sound code was completely rewritten, and all such code has long been moved out of d_menu.cpp)
* Blood: renamed VIEWPOS_* constants
2023-09-26 23:30:38 +02:00
Mitchell Richters
ce236c795f - Blood: Don't attenuate view rolling when swimming.
* Blood's input and drag system is much more developed than the other games and further attenuation is not needed here.
2023-09-25 17:00:10 +10:00
Mitchell Richters
9ad0af4479 - Blood: Better fix for view rolling under all circumstances.
* Why is everything so difficult in Blood? 😕
* Do StrafeVel drag/resistance before `MoveDude()` as it may never be called if there's no velocity.
* Avoid using `mulscale16r()` in algorithm as we simply don't need to here.
* Move `doRollInput()` call into same area where drag is applied so all the code is concentrated in one spot.
2023-09-25 16:42:11 +10:00