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
cb7e797842
- SW: Partially revert changes from df0331a4c3
.
2020-09-08 20:48:01 +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
c00217163b
- SW: Fix turret sound with unsynchronised input.
2020-09-08 19:38:32 +10:00
Mitchell Richters
cda79496ce
- SW: Fix DoPlayerDeathHoriz()
with unsynchronised input.
2020-09-08 18:12:45 +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
f14405f9cc
SW: getinput
-> processMovement()
.
2020-09-08 06:24:26 +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
0619281a34
- SW: Remove unused centering
bool from PLAYERp
struct.
2020-09-07 22:48:25 +10:00
Mitchell Richters
df0331a4c3
- SW: Promote all vehicle angle code to proper Q16.16.
...
* Input still rough with `cl_syncinput 0` for vehicles.
2020-09-07 22:36:11 +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
2e2ca03812
- SW: Promote recoil_horizoff
to Q16.16 to avoid down-scaling only to upscale.
2020-09-07 21:34:13 +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
1cc1c21029
- SW: Add resetinputhelpers()
and hook up within game.
2020-09-07 21:15:53 +10:00
Mitchell Richters
77816bf3d3
- SW: Promote adjustment of helpers to double since some values will be coming in with higher precision.
2020-09-07 21:03:30 +10:00
Mitchell Richters
584ec935ed
- SW: Add Duke's input helpers and adjust to suit SW.
...
* These are temporary until a backend solution is available after all games have had initial uplift.
2020-09-07 20:35:35 +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
57db150ed3
- SW: Fix player sprite on the automap.
...
Now where did that wrong number come from? I have no idea.
2020-09-06 23:30:19 +02:00
Christoph Oelckers
38cd38f0eb
Merge branch 'automap' into back_to_basics2
2020-09-06 23:13:36 +02:00
Christoph Oelckers
1060d74e08
- SW's automap sprite drawer.
2020-09-06 21:50:02 +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
Mitchell Richters
07d4c78e1f
- SW: Manually remove call to MoveScrollMode2D()
in anticipation of branch automap
being merged.
2020-09-06 21:55:37 +10:00
Mitchell Richters
46a12cf58a
- SW: Clean up gi->GetInput()
by removing some unneeded local variables.
2020-09-06 21:47:00 +10:00
Mitchell Richters
dfc3a13428
- SW: Finalise cleanup from remaining code in getinput()
to processWeapopn()
.
2020-09-06 21:46:26 +10:00
Mitchell Richters
e94bd9da04
- SW: Replace use of scaleAdjustmentToInterval()
in lieu of backend solution from 290e615807
.
2020-09-06 21:30:47 +10:00
Mitchell Richters
256e23673d
- SW: Clean up all the game's scaling stuff in processMovement()
.
2020-09-06 21:21:12 +10:00
Mitchell Richters
348be65399
- SW: Commence re-factoring getinput()
into processMovement()
, starting with top-most code.
2020-09-06 21:03:27 +10:00
Mitchell Richters
dd4251da09
- SW: Split getinput()
's input bits code into its own static function.
2020-09-06 20:52:58 +10:00
Mitchell Richters
ce160f7ac1
- SW: Split getinput()
's weapon code into its own static function.
2020-09-06 20:49:21 +10:00
Christoph Oelckers
809f8b5d4b
- hooked up the new automap framework.
2020-09-06 12:44:58 +02:00
Mitchell Richters
0ef9da6a0c
- SW: Make game's local input buffer static within input.cpp.
2020-09-06 20:19:29 +10:00
Mitchell Richters
722537a1f0
- InputState: Make CONTROL_GetInput()
return an object instead of accepting a pointer and provide to games as a function parameter.
...
* Provide read-only/const results from `CONTROL_GetInput()` so games can't change received input.
* Change non-descript `info` to `hidInput` (Human Interface Device).
* Remove a few unused prototypes.
2020-09-06 20:18:26 +10:00
Christoph Oelckers
a6c92aec64
- removed all automap code from SW and the flat drawer from the backend.
...
This should have been the last parts of automap code.
Now on to rebuild this thing in a cleaner fashion...
2020-09-06 12:14:08 +02:00
Mitchell Richters
677efb20ba
- SW: Don't check SB_RUN
as player action in ChopsCheck()
.
...
Fixes #312 .
2020-09-06 19:18:14 +10:00
Mitchell Richters
d73ea118df
- SW: Get cl_syncinput 0
(default) working properly.
...
* Joystick input probably not appropriately scaled. Refactor is coming but lets just get the game workable for now.
* Fixes #328 .
2020-09-06 19:17:58 +10:00
Christoph Oelckers
7dbae8b8f4
- enabled autosaves.
...
Fixes #55
This only creates them but does not auto-resume from them.
2020-09-05 22:39:27 +02:00
Christoph Oelckers
c1786001b2
- route all game state changes through game actions.
...
This is to avoid problems with the main loop not calling Ticker and Render in sync.
2020-09-05 15:43:34 +02:00
Christoph Oelckers
32ec9ff369
- consolidated crosshair drawing and added ZDoom's crosshair code.
...
For Exhumed this is the default, for the other games it is an option.
Fixes #269 .
2020-09-05 13:57:26 +02:00
Christoph Oelckers
adbedd30c4
- consolidated the 4 functions for handling the automap zoom.
2020-09-05 00:58:25 +02:00
Christoph Oelckers
b54fd2f054
- fixed: Entering the menu from SW's intro may not stop the sound.
...
This is a singular special case, everything else must do it.
Fixes #335
2020-09-05 00:07:06 +02:00