Commit graph

21205 commits

Author SHA1 Message Date
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
Mitchell Richters
8d205bc896 - Clean up a bunch of serialisers that were saving vector members, and not the whole vector. 2023-12-05 22:39:08 +01:00
Mitchell Richters
8bed6c9241 - Centralise the saving of player actions within DCorePlayer's serialiser. 2023-12-05 22:39:08 +01:00
Mitchell Richters
7a408582bc - Blood: Fix missing call to Super while saving. 2023-12-05 22:39:08 +01:00
Mitchell Richters
60c69f3344 - Duke: Remove some duplicated save variables. 2023-12-05 22:39:08 +01:00
Mitchell Richters
8281e5b324 - Exhumed: Remove some duplicated save variables. 2023-12-05 22:39:07 +01:00
Mitchell Richters
9df739186c - SW: Remove some duplicated save variables. 2023-12-05 22:39:07 +01:00
Mitchell Richters
176d027a3f - Duke: Clean up player/actor accesses in resetpspritevars(). 2023-12-05 22:39:07 +01:00
Mitchell Richters
9325759a48 - Duke: Ensure player's pnum is updated during premap. 2023-12-05 22:39:07 +01:00
Christoph Oelckers
c02cff1e48 fix saving. 2023-12-05 22:39:07 +01:00
Christoph Oelckers
5448f6ec2c 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-12-05 22:38:34 +01:00
Christoph Oelckers
1ce8ceac5d fixed GC handling of players.
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-12-05 22:03:57 +01:00
Christoph Oelckers
049bd41efe fixed warning 2023-12-05 22:03:57 +01:00
Christoph Oelckers
0d3bac8da9 tewak .gitignore. 2023-12-05 22:02:21 +01:00
Christoph Oelckers
6dd27f2262 directory structure cleanup 2023-12-05 21:58:36 +01:00
Christoph Oelckers
5f8cd74ba5 added missing license to Duke's vmexports.cpp 2023-12-05 21:57:15 +01: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