Commit graph

457 commits

Author SHA1 Message Date
Mitchell Richters
be41bbcd28 - Move gi->getCrouchState() into DCorePlayer. 2023-12-05 22:39:33 +01:00
Mitchell Richters
59366d3ffc - Internalise player velocity setup for DCorePlayer::doRollInput().
* Would have been nice to have this constexpr, but can only do that when we switch to C++20.
2023-12-05 22:39:30 +01:00
Mitchell Richters
ce75f7d7ef - Internalise player InputPacket access. 2023-12-05 22:39:30 +01:00
Mitchell Richters
531c95c7ca - Move PlayerAngles class directly into DCorePlayer.
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-12-05 22:39:30 +01:00
Christoph Oelckers
0c397033f1 added the remaining needed GetChars calls. 2023-12-05 22:39:27 +01:00
Mitchell Richters
b83f062037 - Exhumed: A little bit more cleanup. 2023-12-05 22:39:25 +01:00
Mitchell Richters
52b20e1f59 - Move syncinput mechanism into GameInput object. 2023-12-05 22:39:24 +01:00
Mitchell Richters
526db7f8b0 - Fix all GCC warnings in the game-side code.
* Most of these were due to mixed spaces/tabs playing nastiness with non-braced if/else statements.
2023-12-05 22:39:23 +01:00
Mitchell Richters
9871bb4a73 - Exhumed: Clean up player accesses in player.cpp. 2023-12-05 22:39:22 +01:00
Mitchell Richters
51b5393a23 - Exhumed: Clean up player accesses in items.cpp and associated utilities. 2023-12-05 22:39:22 +01:00
Mitchell Richters
692d995257 - Exhumed: Clean up player accesses in gun.cpp and associated utilities. 2023-12-05 22:39:22 +01:00
Mitchell Richters
a9ca3d7375 - Exhumed: Clean up player accesses in grenade code. 2023-12-05 22:39:22 +01:00
Mitchell Richters
ad5f1d9f7d - Exhumed: Clean up player accesses in AddAmmo(). 2023-12-05 22:39:22 +01:00
Mitchell Richters
02f8ac3bb3 - Duke: Clean up player accesses in weapons code. 2023-12-05 22:39:21 +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
592d416485 - Change InputPacket velocities to an FVector3. 2023-12-05 22:39:12 +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
8281e5b324 - Exhumed: Remove some duplicated save variables. 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
Mitchell Richters
ac35e09d1c - Move each game's stored nPlayer/pnum value to CorePlayer. 2023-10-02 18:44:04 +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
f9c3a64f35 - Exhumed: Initial setup to convert PlayerArray array to array of ExhumedPlayer pointers. 2023-10-02 15:43:00 +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
61bc8c23cf - Exhumed: Wrap access to player's actor pointer. 2023-10-02 15:30:35 +11: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
32480dde16 - Ensure all games preserve SB_CENTERVIEW and SB_CROUCH bits upon loading. 2023-09-24 17:22:38 +10:00
Mitchell Richters
29e021b5bf - Move crouch toggling back into the backend so the toggle key can be used as a swim key.
* Reverts 272dfa762d, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
01b6d9f27f - eliminated all remaining uses of picnum in Exhumed. 2023-04-29 11:32:03 +02:00
Christoph Oelckers
44e9a66319 - handle 3 more of Exhumed's picnums that were quick to refactor 2023-04-29 11:32:03 +02:00
Mitchell Richters
4c5339274d - Exhumed: Fix bad velocity zeroing from ece41ac84c. 2023-04-27 21:32:36 +10:00
Mitchell Richters
3edc1a5a5a - Exhumed: Make getSequence() return a pointer instead of a reference.
* Gets rid of the awkward `operator[]()` calls.
* Gets rid of `std::ref()` setup in gun.cpp.
* Ensures a copy isn't made if the caller accidentally leaves off an ampersand.
* Allows us to use a consistent getter for native code and VM exports.
2023-04-27 20:16:14 +10:00
Mitchell Richters
ece41ac84c - Exhumed: Move player's velocity back into the actor, again.
* Was done in 67c7dd65f9 but caused issues.
* Reverted in 3d6f1e1a04 to ensure the game worked as expected.
* Actual problem identified and isolated to remove this duplication.
2023-04-25 19:36:46 +10:00
Mitchell Richters
6004a9fb5a - Exhumed: Fix bad jump setup from c252b19e9a. 2023-04-24 23:27:02 +10:00
Mitchell Richters
11181f51f8 - Allow roll input through the packet system, giving us 6DOF for VR usage, etc. 2023-04-24 21:31:21 +10:00
Mitchell Richters
c252b19e9a - Exhumed: Hook up InputPacket::uvel to relevant code. 2023-04-24 19:06:48 +10:00
Mitchell Richters
80f2afd6a4 - Exhumed: Slightly tidy up updatePlayerWeapon(). 2023-04-24 19:06:46 +10:00
Mitchell Richters
e29726370c - Exhumed: Tidy up two if statements in AIPlayer::Damage(). 2023-04-24 19:03:04 +10:00
Mitchell Richters
19501f3ed0 - Exhumed: Fix some typos in comments. 2023-04-23 19:19:47 +10:00
Mitchell Richters
83365a9a14 - Fix typo in menu and clean up leftover variable in Exhumed's doPlayerCameraEffects(). 2023-04-23 10:20:10 +10:00
Mitchell Richters
71d833f9ea - Make Exhumed's new view tilting features accessible for all games. 2023-04-22 19:34:53 +10:00
Mitchell Richters
faaffa0d40 - Exhumed: Change formula for cl_exviewtilting 2.
* Makes this proper strafe rolling based on the actual strafe velocity.
* Implement movement rolling as `cl_exviewtilting 3` as well.
2023-04-22 14:10:10 +10:00
Mitchell Richters
b958ae2340 - Exhumed: Move bobangle global into Player struct. 2023-04-21 21:13:19 +10:00
Mitchell Richters
6799322544 - Exhumed: Add view bobbing, with defaults matching intensity of Powerslave Exhumed.
* `cl_viewbob` extended from bool to int, and allowing two modes: 1 == Powerslave Exhumed bobbing, 2 == Duke 3D-style bobbing.
* Height and speed of bobbing customisable.
2023-04-21 21:13:19 +10:00
Mitchell Richters
8283895828 - Exhumed: Increase precision of Player::totalvel. 2023-04-21 21:13:18 +10:00