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
8e3df00b8b
- SW: Hook up InputPacket::uvel
to relevant code.
2023-04-24 21:01:32 +10:00
Mitchell Richters
e60e767232
- Break down some increasingly long lines in GameInput::processMovement()
.
2023-04-23 19:19:26 +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
bb19997a2c
- Apply pitch/yaw input along-side the key inputs.
...
* Removes a lot of duplicated code.
2023-04-21 21:13:18 +10:00
Christoph Oelckers
ecd0c8c1ff
- fixed a few bad scaling values.
2023-04-15 12:20:10 +02:00
Mitchell Richters
a68fcfc71c
- Remove GameInterface::getConsoleAngles()
, it's not needed anymore.
2023-04-04 07:02:39 +10:00
Mitchell Richters
3ef431a428
- Make scaleAdjust
a float since it's what's needed anyway.
2023-04-03 19:38:00 +10:00
Mitchell Richters
69c65dfe7e
- Internalise InputPacket
used in movement functions.
2023-04-03 19:35:35 +10:00
Mitchell Richters
dbba0abb2e
- Move all mouse handling into GameInput
class.
2023-04-03 18:47:14 +10:00
Mitchell Richters
8d11fef916
- Initial conversion of game input into class GameInput
.
2023-04-03 18:46:36 +10:00
Mitchell Richters
10445635cf
- Tidy up autosaving for all the games.
...
* There's not really any reason to need the game's world to tic once, it's already fully loaded during the `gi->NewGame()`/`gi->NextLevel()` calls.
2023-04-02 19:56:52 +10:00
Mitchell Richters
272dfa762d
- Remove backend crouch toggle solution redeploy with Duke/Exhumed/Blood using new ESyncBit
bit.
...
* I tried to make this work in 2020 but its been nothing but headache. It's something for the game to control via a flag, not the backend to determine.
* For SW, this restores its original implementation.
2023-04-02 18:32:40 +10:00
Mitchell Richters
43febd5aa1
- Stop passing inputBuffer
around within gameinput.cpp since everything's local now.
2023-04-02 18:32:38 +10:00
Mitchell Richters
d665037075
- Clean out where Net_ClearFifo()
is called.
...
* We can do this from one place and achieve the same result as having it sprinkled everywhere did.
2023-03-29 09:04:38 +11:00
Mitchell Richters
96055fbc03
- Clean out all games setting gameaction = ga_level
and do it centrally.
2023-03-29 03:10:16 +11:00
Mitchell Richters
9618ba1e78
- Don't serialise player angles twice.
2023-03-28 09:15:58 +11:00
Mitchell Richters
4fa12a9e30
- Exhumed/SW: Make sure the pitch keys are done after the slope tilting.
...
* Pitch key code does player horizon bounding.
2023-03-27 08:28:32 +11:00
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