Mitchell Richters
64a3141f6f
- Duke/RR: Add VEH_TURNING
flag instead of testing left/right in places.
2023-03-21 10:21:30 +11:00
Mitchell Richters
f240b6c623
- Duke/RR: Fix bad flag test that needed to confirm two flags set, not any one of the two.
2023-03-21 10:12:38 +11:00
Mitchell Richters
19ddc1ee51
- Duke/RR: Repair angle test when adjusting velocity.
...
* Initially figured I could just use the sign of the angle adjustment, but the vehicle code makes left/right reversals that necessitate using the flags for this.
2023-03-21 09:39:36 +11:00
Mitchell Richters
a24b8499fc
- Duke/RR: Swap out all 5-6 bools for a bitfield.
2023-03-21 09:39:35 +11:00
Mitchell Richters
a3a150558b
- Duke/RR: Consolidate (mostly) identical vehicle throttle code.
2023-03-20 21:54:47 +11:00
Mitchell Richters
c8238d9646
- Duke/RR: Consolidate (mostly) identical vehicle sound code.
2023-03-20 21:46:18 +11:00
Mitchell Richters
cc977d510a
- Duke/RR: Consolidate identical vehicle drinking code.
2023-03-20 21:46:16 +11:00
Mitchell Richters
07b1ec518b
- Duke/RR: Consolidate identical vehicle bumping code.
2023-03-20 21:07:52 +11:00
Mitchell Richters
d5bc7718d1
- Duke/RR: Tidy up angle changes/accesses in vehicle ticker code.
...
* Already have an actor pointer on the stack we can use.
* Other tidy-ups.
2023-03-20 21:07:52 +11:00
Mitchell Richters
134b635966
- Duke/RR: Ensure braking sync bit is always cleared in onBoat()
.
2023-03-20 21:07:50 +11:00
Mitchell Richters
c6f6cf5933
- Duke/RR: Fix vehicle controller sign that got lost along the way.
...
* Issue from 9d74a5c60b
.
2023-03-19 22:45:02 +11:00
Mitchell Richters
ebd8ab985e
- Duke/RR: Don't archive off MotoSpeed for reuse at end of vehicle functions.
...
* Kept the workflow identical to the old setup in the other commits, but does not seem necessary and all it does is make the speed one tic behind where it would be otherwise.
2023-03-19 21:58:30 +11:00
Mitchell Richters
ba8f1069ab
- Duke/RR: Fix an issue with reversing.
...
* Got the position of the bools wrong here when removing something unsafe from the input handler.
2023-03-19 21:35:39 +11:00
Mitchell Richters
a9e606ca68
- Duke/RR: Shorten a long ternary.
2023-03-19 21:08:43 +11:00
Mitchell Richters
81650036e6
- Duke/RR: Remove vehForward/Reverse variables from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* The original game misused network bits here, however I don't see why the player's angle can't just be tested for signedness. Again, something I didn't see way back when...
2023-03-19 20:55:39 +11:00
Mitchell Richters
37e9cfed45
- Duke/RR: Remove vehBraking variable from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* We must continue the misuse of network bits like the original game did to make sure the RRRA vehicles are network aware.
2023-03-19 20:54:43 +11:00
Mitchell Richters
31f8de3854
- Duke/RR: Remove vehTurn variables from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* The original game misused network bits here, however I don't see why the player's angle can't just be tested for signedness. Something I didn't see way back when...
2023-03-19 20:54:19 +11:00
Mitchell Richters
76e6efd204
- Duke/RR: Fix oversight in previous commit.
...
* Unknowingly had forced synchronised input on!
2023-03-19 20:09:14 +11:00
Mitchell Richters
d380e73cfd
- Duke: Consolidate boat/moto turn functions into one.
2023-03-19 14:59:35 +11:00
Mitchell Richters
c13c244dca
- Simplify moto velocity sign determination.
2023-03-19 14:35:02 +11:00
Mitchell Richters
9d74a5c60b
- Duke: Consolidate vehicle turning code between boat/moto.
2023-03-19 14:35:00 +11:00
Mitchell Richters
56b95a46f7
- Duke: Consolidate vehicle tilting code between boat/moto.
2023-03-19 13:31:47 +11:00
Mitchell Richters
056330863c
- Duke: Eliminate GetActor()
calls in playerisdead()
.
2023-03-19 09:10:14 +11:00
Mitchell Richters
a7d829d539
- Duke: Change where centering view locks the input.
2023-03-19 09:08:24 +11:00
Mitchell Richters
3ad50d5045
- Duke: Don't reset synchronised input flag if centering view.
...
* The way the playsim works, because the horizon functions come after the yaw ones, yaw was not being applied while pitch was locked.
2023-03-18 22:21:38 +11:00
Mitchell Richters
5b382ac2c6
- Duke: Remove everyothertime
global, we can just use PlayClock
.
2023-03-18 22:21:38 +11:00
Christoph Oelckers
792f977d46
- fixed STAT_ACTORS must handle actors where scale.X is 0 as 'deleted' and destroy them.
2023-03-18 12:08:53 +01: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
4355a44721
- Duke: Rework input blocking setup.
...
* Takes the duplicated conditions out of the input handler and makes the ticker responsible by forcing synchronised input.
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
401236980c
- Duke: Tidy up some unnecessarily deep branches in vehicle input code.
2023-03-18 19:19:21 +11:00
Mitchell Richters
51a20211f3
- Duke: Tidy up some repeated bools in vehicle input code.
2023-03-18 19:19:21 +11:00
Mitchell Richters
37dda1aa0e
- Duke: Move input bit pre-processing into hud_input()
.
...
* Really, _really_ need to do something about this `crouch_toggle` malarkey...
2023-03-18 19:19:20 +11:00
Mitchell Richters
5a6495956f
- Duke: Move Quick_Kick
button test into ApplyGlobalInput()
as it doesn't seem to share a bit with any other game anymore.
2023-03-18 19:17:30 +11:00
Mitchell Richters
292030b59e
- Duke: Repair issues with going underwater after taking some stuff out of the global state.
...
* Really, need to do something about this `crouch_toggle` malarkey...
2023-03-18 19:17:28 +11:00
Mitchell Richters
b07732bae4
- Duke: Remove duplicated call to SetupGameButtons()
that's done globally in RunGame()
.
2023-03-18 09:15:17 +11:00
Mitchell Richters
a45890e064
- Move some Duke-specific stuff out of ApplyGlobalInput()
.
2023-03-18 09:15:15 +11:00
Mitchell Richters
eed9716d86
- Move joyaxes[]
array from getHidInput()
directly into ControlInfo
.
2023-03-17 20:58:38 +11:00
Mitchell Richters
fc069feac6
- Negate ControlInfo::dyaw
to match data out of backend.
2023-03-17 20:58:13 +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
1f97e73501
- Rename ControlInfo joystick variables to names matching backend.
2023-03-17 20:16:58 +11:00
Mitchell Richters
686bec5664
- Duke: Make vehicle input functions work on floats and not doubles and FAngles.
...
* It's what's natively needed at the end of the day.
2023-03-17 19:40:46 +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
e6cffbaefb
- Duke: Remove unnecessary playrunning()
test within a loop.
2023-03-17 14:41:17 +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
d6b68dec5e
- Duke: Remove player_struct::resurrected
flag I added in 2021 and fix issue properly.
...
* The check for `player_struct::dead_flag` in `FinalizeInput()` was overzealous and is not checked in the original code in this instance.
2023-03-17 12:29:37 +11:00