Mitchell Richters
ff652f454c
- Tidy up how games reapply needed bits at start of tic.
2023-03-22 18:17:50 +11:00
Mitchell Richters
b1888a44c3
- SW: Process weapon bits within the ticker and not the input handler.
2023-03-18 19:17:30 +11:00
Mitchell Richters
a4f0a75a58
- SW: Simplify unsynchronised input setup.
...
* Had complicated flagging and setup for SO vehicles that never worked and doubt I'd ever get to work.
* Setup now lends itself well to a potential more generic input setup.
2023-03-18 19:17:30 +11:00
Mitchell Richters
130c5315e9
- Call PlayerAngles::resetCameraAngles()
from within the player loop of each game.
...
* I was only thinking of the console player initially but since each game can draw the view of other players in network games, each game will need to update and reset the camera angles for all players.
2023-03-17 14:40:18 +11:00
Mitchell Richters
d329328191
- Rename PlayerAngles::RenderAngles
to CameraAngles
.
...
* Better conveys what it is and separates it from the already established `getRender*()` methods around the place.
* Sorry Simon!
2023-03-17 14:20:36 +11:00
Mitchell Richters
a4bca328bc
- SW: Remove Player::siang
since we have the same data in
2023-03-15 19:57:45 +11:00
Mitchell Richters
39624da390
- SW: Remove getViewHeightDiff()
call in player sprite draw code.
...
* I added this when removing the player's pos vector in lieu of the sprite vector to further smooth out the sprite's Z in chase cam mode, but it just doesn't look good.
2023-03-15 19:42:33 +11:00
Mitchell Richters
a90665732c
- Clean up other PlayerAngles interfaces for consistency.
2023-03-14 21:45:38 +11:00
Mitchell Richters
62561d863e
- Tidy up PlayerAngles::doPitchKeys()
interface by passing the whole sync packet through.
2023-03-14 21:45:37 +11:00
Mitchell Richters
18ef460a99
- Tidy up interface for PlayerAngles::doViewPitch()
since we have internal access to the player's actor.
2023-03-14 21:45:36 +11:00
Mitchell Richters
577099284f
- SW: Increment PlayClock
at the end of the tic, not at the start.
2023-01-02 16:49:02 +11:00
Mitchell Richters
b03d674a74
- SW: Fix tank track velocity.
...
* Originating from 8efe6f638b
.
* Velocity was correctly floatified initially but because it was unwrapped, it never got adjusted for Q28.4 later on.
2023-01-02 14:41:43 +11:00
Mitchell Richters
56d9ccfc9c
- SW: Fix tank tracks not working.
...
* Originating from 0c146e7ccb
.
2023-01-02 14:39:43 +11:00
Mitchell Richters
7760eff4ba
- SW: Fix issue with RC tank in $seabase.
...
* Originated from 8efe6f638b
.
* I'm sure this was meant to be 0.05, but became 0.5 by mistake.
* Use something closer to `12800. / 262144.`.
* Fixes #831 .
2023-01-02 14:36:55 +11:00
Mitchell Richters
f431d51c2f
- SW: Add inertia correction to PlayerWarpUpdatePos()
.
...
* Warping between sectors such as the clouds in $volcano now maintains perfect velocity, etc.
2023-01-02 11:53:10 +11:00
Mitchell Richters
9d5bae0c8e
- SW: Fix clipmove call within DoPlayerMoveVehicle()
.
...
* Originating from 05ad1e38e9
.
* Fixes #829 .
2022-12-29 20:32:58 +11:00
Mitchell Richters
b0b2f1bf1b
- SW: Only bring the weapon back up after doing chops if not on a vehicle with a weapon.
2022-12-29 19:25:17 +11:00
Mitchell Richters
c240c8e6ee
- SW: Fix two bad calls to pushmove()
where a fixed point adjustment was used.
...
* Came in from 3ac4e7ed2d
.
* Fixes #816 .
2022-12-29 19:02:56 +11:00
Mitchell Richters
dcd0e62466
- SW: Remove call to doYawKeys()
from DoPlayerDeathFollowKiller()
.
2022-12-29 14:35:42 +11:00
Mitchell Richters
572ec96467
- SW: Reset player's render angle state only for the console player.
2022-12-29 14:35:41 +11:00
Mitchell Richters
7593114fc7
- SW: Tidy up UpdatePlayerSprite()
a bit.
2022-12-29 14:35:41 +11:00
Mitchell Richters
774c7795b1
- SW: Apply same fix to DoPlayerClimb()
.
2022-12-29 14:35:38 +11:00
Mitchell Richters
7e1e447f98
- SW: Apply same fix to DoPlayerFly()
.
2022-12-29 14:27:59 +11:00
Mitchell Richters
09304ef298
- SW: Fix player diving height issues.
...
* Fixes #822 .
2022-12-29 14:27:59 +11:00
Mitchell Richters
6c7797a9f0
- SW: Clean up some noisy commented out calls to DoPlayerHeight()
.
2022-12-29 13:50:27 +11:00
Mitchell Richters
4890f1d9dc
- SW: Adjustments to the death height code on the back of the last commit.
2022-12-23 19:18:07 +11:00
Mitchell Richters
5f1581be9d
- SW: Rework the player's height adjustment to use the pos.Z setter from during the refactor.
...
* I tried to get smart during the refactor when I should have kept it simple.
* Fixes #813 .
2022-12-23 19:18:07 +11:00
Mitchell Richters
cf5ba0886a
- SW: Properly guard the call to PlayerDeathReset()
in TerminateLevel()
.
...
* Stems from an oversight in 28b97486cd
.
* Fixes #796 .
2022-12-17 06:32:03 +11:00
Mitchell Richters
8bbf7f4e00
Revert "- SW: Revert last commit and apply changes directly in pp->setHeightAndZ()
so all bases are covered."
...
This reverts commit a643a74083
.
* Fixes #795
2022-12-16 08:44:38 +11:00
Mitchell Richters
a643a74083
- SW: Revert last commit and apply changes directly in pp->setHeightAndZ()
so all bases are covered.
2022-12-15 18:16:38 +11:00
Mitchell Richters
b83d321c4b
- SW: Don't use pp->setHeightAndZ()
when setting PLAYER_CRAWL_HEIGHTF
.
2022-12-15 18:06:07 +11:00
Mitchell Richters
28b97486cd
- SW: For single player games, call PlayerDeathReset()
from TerminateLevel()
and not DoPlayerDeathCheckKeys()
.
...
* This fixes issues where player stats like health, etc are shown onscreen as reset before the entire view reloads.
2022-12-11 19:46:27 +01:00
Mitchell Richters
b8a8164b24
- SW: Don't call DoSpawnTeleporterEffect()
upon death.
...
* This causes an air bubble to spawn above the player for a single tic, even while on land until the level truly restarts.
* Since we're restarting, its better to just not do this.
2022-12-11 19:46:27 +01:00
Mitchell Richters
9b73f46aff
- SW: Don't reset player pitch upon death.
...
* This _somewhat_ addresses #770 by hiding the effects of it.
* Since we re-init `Player::Angles` when a new actor is spawned, this all resets anyway.
2022-12-11 19:46:27 +01:00
Mitchell Richters
2c592405fa
- Separate pitch/yaw key input into separate functions and apply from the ticker.
2022-12-11 19:43:56 +01:00
Mitchell Richters
470b4efac8
- Remove PlayerAngles::setYaw()
method usage and remaining associated code.
2022-12-11 19:43:56 +01:00
Mitchell Richters
491a42d2bb
- Remove PlayerAngles::addYaw()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa
- Remove PlayerAngles::addPitch()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
968d0ae0d2
- Implement new scaled angle change setup and remove enforcement of synchronised input.
2022-12-11 19:43:55 +01:00
Mitchell Richters
9437ea9622
- Move input vector rotation for Duke and SW into the playsim.
...
* The next commit needs this to ensure the vector is rotated using the most current angle.
2022-12-11 19:43:55 +01:00
Mitchell Richters
6c0493868e
- Implement new method for applying scaled angle changes.
...
* This method works more accurately to how an angle change would occur under interpolated circumstances.
2022-12-11 18:42:01 +01:00
Mitchell Richters
2a284c73c9
- SW: Remove all remaining angle wrapper usage and the wrappers themselves.
2022-12-11 18:42:00 +01:00
Mitchell Richters
abdeeac205
- Rework PlayerAngles::doViewPitch()
to apply at ticrate like PlayerAngles::doViewYaw()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
f9aeee5b4a
- Split out view angle stuff out of PlayerAngles::applyYaw()
into PlayerAngles::doViewYaw()
.
...
* Do all the view angle stuff as interpolated changes in the playsim as well, there's no need for these to be done at ticrate.
2022-12-11 18:41:59 +01:00
Mitchell Richters
d7d76d5fc4
- Move all PlayerAngles view angle properties into new DRotator objects.
2022-12-11 18:41:58 +01:00
Mitchell Richters
bef4536c1f
- Remove old PlayerAngles
backup/restore methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
630c10856e
- Re-write PlayerAngles
scaled adjustment methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
aa868232c8
- Clean up all previously annotated angle/yaw checks.
2022-12-11 18:41:58 +01:00
Mitchell Richters
a84e09048e
- Change wrapper internals for current yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
7f5b97a0b7
- Change wrapper internals for current pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00