Christoph Oelckers
ae36ea88c3
- wrap all checks of cl_syncinput in an inline function.
2020-11-30 23:40:16 +01:00
Christoph Oelckers
48b16d5233
- cleanup on player CVAR use.
2020-11-29 13:22:04 +01:00
Mitchell Richters
94bd45569c
- buildutils: Replace sintable[]
use within SW's input.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
6e3d414b3c
- inputstate.cpp: Move checkCrouchToggle()
from gameinput.ccp into ApplyGlobalInput()
and use static bool for crouch toggling vs. game-side bool.
2020-11-07 18:16:16 +11:00
Mitchell Richters
a153ebab7e
- SW: Migrate crouch toggling to backend solution implemented in 4ef0d20e0e
.
2020-11-07 17:53:11 +11:00
Mitchell Richters
fb91fc49a3
- processMovement(): Add commentary around avel constants used within function and how they came to be. Also clean up some left-over code.
2020-10-15 20:12:34 +11:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Mitchell Richters
9bcdeae6cd
- InputPacket: Change q16avel
to avel
, changing type from fixed_t to float.
2020-10-08 14:47:30 +11:00
Mitchell Richters
d758a0ae28
- SW: Cut q16ang
/q16look_ang
/q16rotscrnang
over to PlayerAngle struct.
2020-10-08 14:23:44 +11:00
Mitchell Richters
6a30d6880e
- InputPacket: Change q16horz
to horz
, changing type from fixed_t to float.
2020-10-07 18:22:07 +11:00
Mitchell Richters
d16b4651bb
- gamecontrol: Remove old horizon code left behind while cutting over each game.
2020-10-07 18:12:09 +11:00
Mitchell Richters
6476430be6
- SW: Cut q16horiz
/q16horizoff
over to PlayerHorizon struct.
2020-10-07 18:08:57 +11:00
Christoph Oelckers
82612a1330
- it compiles again (with lots of code commented out.)
2020-10-04 20:11:02 +02:00
Mitchell Richters
9b12675f4e
- processMovement()
: Re-arrange parameter variables somewhat so game-specific parameters are at the end and to allow some common defaults so they don't need specifying.
2020-09-25 22:26:50 +10:00
Mitchell Richters
73f52b2cee
- SW: Fix turn scaling while pp->sop_control
and specify !pp->sop
to processMovement()
s allowstrafe
bool instead of an unconditional true.
2020-09-25 22:17:21 +10:00
Mitchell Richters
04af1d9ce8
- All Games: Unify processMovement()
.
2020-09-24 22:32:37 +10:00
Mitchell Richters
8690c633d8
- Blood: Add extra call to inputState.ClearAllInput()
in StartLevel()
.
2020-09-24 00:20:40 +10:00
Mitchell Richters
e078ea6ebd
- Blood/Exhumed/SW: Hook up gi->clearlocalinputstate()
.
2020-09-24 00:15:51 +10:00
Mitchell Richters
f806cdcec6
- Blood/Duke/RR/SW: Unify the player's angle/horizon helper functions.
2020-09-21 17:12:51 +10:00
Mitchell Richters
1900cf1fcc
- Move Duke's getincangle()
function to the backend, create Q16.16 variant (getincangleq16()
) and replace Shadow Warrior's discrete implementations shared versions.
...
* Need SW's input helpers available for Blood but therefore also need an angle delta function that does not seem to exist in Blood.
* Realise that gamecontrol.h/cpp might not be the most appropriate place, but it's a shared location and these will go into binaryangle.h when its utilisation can be more realised.
* Because SW's logic was reversed, in that param #1 was the new angle and param #2 was the current, all calls have been reversed.
* By happenstance, also fixes an issue with multiple 180° turns in quick succession.
2020-09-20 16:21:13 +10:00
Christoph Oelckers
867b8f006f
Reverted key input changes from yesterday.
...
At least the SW version did not work right so let's take no chances here.
2020-09-15 21:54:10 +02:00
Christoph Oelckers
eb4e0b1b83
- restrict keyboard input to the actual tic in SW as well.
...
Also fixed the blocking of the strafe key with sector objects - this must have gotten lost somewhere.
2020-09-14 21:25:53 +02:00
Mitchell Richters
c5648be2bd
- SW: Properly scale controller input.
2020-09-14 19:29:12 +10:00
Mitchell Richters
3fc96e8840
- SW: Stop keyboard fvel/svel from allowing loc.fvel
/loc.svel
like Duke.
...
* Stops overshooting keymove when playing with `cl_syncinput 0`.
* Keymove is never as high as MAXFVEL/MAXSVEL, which is used as a thrash point for controller input.
* Fixes #390 .
2020-09-14 18:54:03 +10:00
Mitchell Richters
3df0d40312
- SW: Fix stupid issue with playerSetAngle()
and tweak how angTarget
/horizTarget
is determined to have been met.
2020-09-10 20:26:19 +10:00
Christoph Oelckers
1a647e8104
- globally search and replaced TRUE and FALSE in SW.
...
There were a handful of warnings afterward which were also addressed.
The SWBOOL type has not been handled yet.
2020-09-09 19:52:52 +02:00
Mitchell Richters
b2272bd377
SW: Partially revert 73d0772e87
and do in a way that's more fidele to the original workflow.
2020-09-09 23:01:37 +10:00
Mitchell Richters
e24521b189
- SW: Uplift playerSetHoriz()
similar to uplift to playerSetAngle()
in b832442e31
.
2020-09-09 22:04:59 +10:00
Mitchell Richters
b832442e31
- SW: New implementation of playerSetAngle()
that works better for intended purpose. This corrects the issues with angle not being quite right when getting onto a ladder.
2020-09-09 21:29:03 +10:00
Mitchell Richters
48630914b1
- SW: Remove boat code from new input code for cleanliness.
2020-09-09 00:34:51 +10:00
Mitchell Richters
1e3199413c
- SW: Rename all Tank-related function code to Vehicle.
2020-09-08 21:54:48 +10:00
Mitchell Richters
8625ac573d
- SW: Comment out all boat code, it's actually not used within the game at all and was very confusing...
2020-09-08 21:40:20 +10:00
Mitchell Richters
73d0772e87
- SW: Call DoPlayerMoveTurret()
in processMovement()
in lieu of DoPlayerTurnTurret()
and don't interpolate sector object's sprite while !cl_syncinput
.
...
* Makes operating the tank silky smooth while unsynchronised.
2020-09-08 19:42:22 +10:00
Mitchell Richters
083ed3e9b7
- SW: Handle angAdjust
and horizAdjust
directly in processMovement()
instead of via DoPlayerTurn()
/DoPlayerHorizon()
.
...
* Eliminates issues with when to call when player is dead, etc. Handles cases like climbing a ladder which doesn't trigger `DoPlayerTurn()`.
2020-09-08 06:50:38 +10:00
Mitchell Richters
5145bf907a
- SW: Hook up all vehicle turn code in processMovement()
except for DoPlayerTurnTankRect()
, which still needs considerations.
...
* Issue in `DoPlayerTurnTurret()` with `PlaySOsound()` calls occurring too frequently, still requires investigation on how to best handle this.
2020-09-08 06:22:47 +10:00
Mitchell Richters
e1a5e37126
- SW: Handle DoPlayerTurn()
/DoPlayerHorizon()
better while dead.
2020-09-07 21:50:43 +10:00
Mitchell Richters
681a8ebec2
- SW: Hook up horizAdjust
and adjust all ticrate amendments of q16horiz
via playerAddHoriz()
/playerSetHoriz()
.
2020-09-07 21:47:15 +10:00
Mitchell Richters
e36c9fc78c
- SW: Hook up angAdjust
and adjust all ticrate amendments of q16ang
via playerAddAngle()
/playerSetAngle()
.
...
* Promoted some uses of `getangle()` upscaled to Q16.16 with `gethiq16angle()` for higher precision.
2020-09-07 21:30:06 +10:00
Mitchell Richters
40a00be202
- SW: Remove inputScale
const from processMovement()
. Isn't needed anymore since input scaling in DoPlayerTurn()
has been removed.
2020-09-07 20:25:26 +10:00
Mitchell Richters
3667116274
- SW: Uplift of DoPlayerHorizon()
and PlayerAutoLook()
.
...
* Set `PF2_INPUT_CAN_AIM` explicitly where `DoPlayerHorizon()` would have been done within the original game.
* Replace original centering code and route `SB_CENTERVIEW` through the `SB_LOOK_UP`/`SB_LOOK_DOWN` code.
* With this commit, first person input is now nice again. Vehicle code still to be looked at.
2020-09-07 20:20:41 +10:00
Mitchell Richters
e84c8379d9
- SW: Uplift of DoPlayerTurn()
.
...
* Set `PF2_INPUT_CAN_TURN` explicitly where `DoPlayerTurn()` would have been done within the original game.
* Uplift the turn 180 code to full Q16.16.
* Eliminate stupid input scaling so input matches that provided by the input device.
* Ticrate angle adjustments outside of the player's control still to be uplifted.
2020-09-07 19:23:48 +10:00
Mitchell Richters
6e6373deda
- SW: Remove camq16*
variables from game and backend code that supported them.
...
* `cl_syncinput 0` is very raw at the moment.
2020-09-07 08:40:14 +10:00
Mitchell Richters
d1d40c6982
- SW: Move SW's input scaler into processMovement()
. Doesn't need to be available to any other function.
2020-09-07 08:07:53 +10:00
Mitchell Richters
6c091a116f
- SW: Fix issues from fa9fa88fce
while merging back_to_basics2
into working branch.
2020-09-07 07:56:42 +10:00
Mitchell Richters
fa9fa88fce
Merge branch 'back_to_basics2' into InputStuffs
...
# Conflicts:
# source/core/gamestruct.h
# source/games/duke/src/duke3d.h
# source/sw/src/input.cpp
# source/sw/src/player.cpp
2020-09-07 07:51:37 +10:00
Christoph Oelckers
38cd38f0eb
Merge branch 'automap' into back_to_basics2
2020-09-06 23:13:36 +02:00
Mitchell Richters
cc3551dcaa
- SW: Ensure player's fvel/svel is calculated using q16ang
, and not camq16ang
.
...
Fixes #328 , again.
2020-09-07 05:21:00 +10:00
Mitchell Richters
613c32e6a2
- SW: Ensure player's fvel/svel is calculated using q16ang
, and not camq16ang
.
...
Fixes #328 , again.
2020-09-07 05:19:49 +10:00
Christoph Oelckers
18b39fd952
- first stage of generic automap code.
...
Lines and textures get rendered, not all colors are correct - sprites yet to do...
2020-09-06 20:49:43 +02:00
Mitchell Richters
c183143ec6
- SW: Clear out the local input buffer while paused like Duke does.
2020-09-06 21:57:33 +10:00