Mitchell Richters
e8451d3ddb
- 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-12-05 22:39:13 +01:00
Mitchell Richters
af8f3139ed
- Change InputPacket
angles to an FRotator
.
2023-12-05 22:39:12 +01:00
Mitchell Richters
3eaf7d2b87
- Make the last commit compile.
2023-12-05 22:39:12 +01:00
Mitchell Richters
e2a949949c
- 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-12-05 22:39:12 +01:00
Mitchell Richters
8c1e392afc
- 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-12-05 22:39:12 +01:00
Mitchell Richters
592d416485
- Change InputPacket
velocities to an FVector3
.
2023-12-05 22:39:12 +01:00
Mitchell Richters
4e9f2ef3f7
- Duke: Get rid of two InputPacket wrappers.
2023-12-05 22:39:11 +01:00
Mitchell Richters
0087f8e092
- Duke: Restore underwater input scaling to unsynchronised input which was lost back in March (b3c27a177e4787bf9341973039e73c1403e1b230
).
2023-12-05 22:39:11 +01:00
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