Mitchell Richters
e5f3f5f149
- Make setForcedSyncInput()
require a player index.
...
* This should only ever apply to the console player.
2023-03-23 17:09:02 +11:00
Mitchell Richters
183ad0c61c
- Adjust a few setForcedSyncInput()
calls.
2023-03-23 16:34:33 +11:00
Mitchell Richters
88e6a6e894
- Rework ff652f454c
slightly to accept an InputPacket
pointer.
2023-03-22 20:08:53 +11:00
Mitchell Richters
ff652f454c
- Tidy up how games reapply needed bits at start of tic.
2023-03-22 18:17:50 +11:00
Mitchell Richters
de5b73c60f
- SW: Fix strafing issue due to missing bool negation.
2023-03-19 11:14:04 +11:00
Mitchell Richters
1147030bca
- Remove concept of InputOptions
, its messy and unnecessary.
2023-03-18 21:16:50 +11:00
Mitchell Richters
b3c27a177e
- Consolidate each game's gi-GetInput()
into a unified function.
...
* Eliminates a lot of boilerplate.
* Consolidation of input accumulation buffers discretely used in each game.
* Allows privatisation of `PlayerAngles::CameraAngles`.
2023-03-18 19:49:25 +11:00
Mitchell Richters
65ee4b14d6
- Move gi->getConsoleActor()
directly into the header.
2023-03-18 19:29:29 +11:00
Mitchell Richters
bd3e9b305e
- Adjust signatures of input functions slightly for consistency.
2023-03-18 19:29:29 +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
446218dd7b
- Get mouse/controller input by pointed variable and not copy on return.
2023-03-17 20:58:11 +11:00
Mitchell Richters
81caf74721
- Tidy up coord
stat to use gi->getConsoleActor()
and also print pitch.
2023-03-17 17:28:26 +11:00
Mitchell Richters
3c4b4e4483
- Tidy up warptocoords
CCMD since everything is in an actor now.
...
* Now accepts floating point inputs.
* Restores lost pitch capability.
2023-03-17 17:28:04 +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
0fca5b14a2
- SW: Ensure automap uses untouched interpolated actor position.
...
* Using chase cam while the automap was on was drawing the player sprite incorrectly.
2023-03-17 13:45:29 +11:00
Mitchell Richters
b42b9de2a2
Revert "- SW: Tune shadow drawing code so that it by default uses the sector's interpolated floorz when possible."
...
This reverts commit 3271c2011e
.
* Fixes #884
* Fixes #892
2023-03-16 11:23:05 +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
cbcc4f7729
- SW: Repair pitch setup for all weapons not accounting for the player's view pitch offset.
...
* Long-standing omission from back in 0e3604ac9e
.
2023-02-04 17:18:47 +11:00
Simon
e28088380f
Fix crash in Shadow Warrior when player dies
2023-02-04 17:05:20 +11:00
Christoph Oelckers
2198782ecb
- SW: make player sounds always follow the source.
...
Let's hope this fixes the issues with weapon sounds.
2023-01-21 12:01:32 +01:00
Christoph Oelckers
81f6899e72
- C++20 constant fixes.
...
Use of enums is deprecated in floating point calculations.
2023-01-21 10:34:44 +01:00
Mitchell Richters
4f8909db96
- SW: Don't interpolate the player's sprite in InterpSectorSprites()
, it's interpolated elsewhere.
...
* Fixes #845 .
2023-01-08 23:25:45 +11:00
Mitchell Richters
3271c2011e
- SW: Tune shadow drawing code so that it by default uses the sector's interpolated floorz when possible.
...
* Partially addresses #845 .
2023-01-08 23:03:59 +11:00
Christoph Oelckers
7262184d53
- SW: account for invalid player actors being passed to the sound engine.
2023-01-08 12:41:34 +01:00
Mitchell Richters
1f489d5dbe
- SW: Don't back up the actor's Z after changing it in KeepActorOnFloor()
.
...
* This seems completely wrong and kills Z interpolation on slopes, vators, etc.
* Thanks Graf 😁
* Fixes #844 .
* Partially addresses #845 .
2023-01-08 22:24:17 +11:00
Mitchell Richters
165afbbfa9
- SW: Restore lost SetAngleFromChange(actor)
call from previous commit.
2023-01-07 22:49:22 +11:00
Christoph Oelckers
ae6af08cf1
- SW: cleaned up SlopeBounce and fixed some bad math.
2023-01-07 12:23:29 +01:00
Mitchell Richters
f69bfe4959
- SW: Remove leftover debug prints from previous commit.
2023-01-06 12:10:19 +11:00
Christoph Oelckers
32ce8a97bf
- SW: do not double interpolate sectors that are both part of a sector object but also have a global interpolation attached.
...
In this case the SO interpolation must be skipped. The only use case for this combination is sine-wave animated water.
2023-01-05 19:26:42 +01:00
Mitchell Richters
179ec32d5f
- SW: Fix automap sprite angle which was not right with unsynchronised input.
2023-01-05 21:00:32 +11:00
Mitchell Richters
c5f27f28b7
- SW: Tidy up the player sprite pos variable a little.
2023-01-02 17:06:01 +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
ac13bd81af
- Fix bad Z test in WarpPlane()
.
...
* Originates from incomplete change in 7eba7aacbd
.
* Fixes #832 .
2023-01-02 11:00:47 +11:00
Christoph Oelckers
c72f5e2242
- SW: SECT_WALL_MOVE must consider tilenum 0 as 'no change'.
2022-12-29 14:40:18 +01:00
Christoph Oelckers
d064706f93
- got rid of wallpicnum and overpicnum.
...
All map geometry npw uses texture IDs and no longer depends on Build's tile system.
(What's missing is a new map format, though, but this was a necessary prerequisite to make that worthwile...)
2022-12-29 14:14:53 +01:00
Christoph Oelckers
f5e9e7d981
- got rid of most remaining references to wallpicnum and overpicnum.
...
What remains now needs changing the variables to texture IDs first.
2022-12-29 14:14:53 +01:00
Christoph Oelckers
bfdfff7a42
- named all of SW's breakable wall textures.
...
We need this later when these get exported.
2022-12-29 14:14:53 +01:00
Mitchell Richters
e528c3fbb8
- SW: Repair whoopsie in BunnyCheat()
.
2022-12-29 21:50:29 +11:00
Mitchell Richters
fbee05e760
- SW: Restore two original cheat codes lost long ago.
...
* Fixes #810 .
2022-12-29 20:59:19 +11:00
Mitchell Richters
9d5bae0c8e
- SW: Fix clipmove call within DoPlayerMoveVehicle()
.
...
* Originating from 05ad1e38e9
.
* Fixes #829 .
2022-12-29 20:32:58 +11:00