Mitchell Richters
cf63d1ab74
- Exhumed: Tidy up remainder of anims.cpp.
2023-04-02 19:56:53 +10:00
Mitchell Richters
a2bd2b17a2
- Exhumed: Tidy up BuildAnim()
.
...
* Also rename two rather unnamed args to something more appropriate.
2023-04-02 19:56:53 +10:00
Mitchell Richters
b5d4bc8573
- Exhumed: Tidy up 2d.cpp.
2023-04-02 19:56:53 +10:00
Mitchell Richters
345f45ed12
- Fixed messed up formatting in savegamehelp.cpp
.
2023-04-02 19:56:53 +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
0052ae4172
- Duke: Ensure we backup player angles and not just pos when loading a save.
2023-04-02 19:51:12 +10:00
Mitchell Richters
bcbebc5c1a
- Blood: Fix potential null actor access in gi->CanSave()
.
2023-04-02 19:51:12 +10:00
Mitchell Richters
9dfb805b38
- Duke: Fix potential null actor access in gi->CanSave()
.
2023-04-02 19:51:12 +10:00
Mitchell Richters
7217ce6ff9
- Duke: Ensure hard landing check is done after pitch keys.
...
* Oversight from e9a5f745fc
.
2023-04-02 19:51:12 +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
b9cf8a13c6
- Inline the remainder of InputState
methods.
2023-04-02 18:32:40 +10:00
Mitchell Richters
ea4e850674
- Move remaining mouse CVARs from inputstate.cpp
to gameinput.cpp
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
13cb52a0db
- Move HIDInput
struct from inputstate.h
to gameinput.h
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
10cd63f383
- Use an FVector2
inside HIDInput
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
4387294aff
- Eliminate the duplicate mouse storage since we have things in the right spot now.
2023-04-02 18:32:39 +10:00
Mitchell Richters
eeb67a2cdd
- Move all mouse CVARs from inputstate.cpp
to gameinput.cpp
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
64b05b6f06
- Move remaining CCMDs and non-inputstate related items to gameinput.cpp
.
2023-04-02 18:32:38 +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
3c82014d0e
- Move ApplyGlobalInput()
into gameinput.cpp
.
...
* Doesn't really belong in inputstate.cpp, it was just placed there in 2020 for lack of a better spot at the time.
2023-04-02 18:32:38 +10:00
Mitchell Richters
9e1ca0cb8f
- Make the turbo turn functions static within gameinput.cpp
.
2023-04-02 18:32:38 +10:00
Mitchell Richters
359371527b
- Move Duke's vehicle input processor into gameinput.cpp
.
2023-04-02 18:32:36 +10:00
Mitchell Richters
563c79322d
- Duke: Make vehicle input code work generically for possible reusage.
2023-04-02 18:25:04 +10:00
Mitchell Richters
5e153d6404
- Duke: Merge vehicle input code into one function.
2023-04-02 18:24:05 +10:00
Mitchell Richters
03eb105df1
- Duke: Move RRRA vehicle tilting out of the input code and into the playsim.
2023-04-02 18:24:05 +10:00
Mitchell Richters
c13745efc8
- Remove the mouse input negation out of the event handler.
2023-04-02 18:24:05 +10:00
Mitchell Richters
b340807a6b
- Remove now-unneeded inline wrapper getHidInput()
.
2023-04-02 18:24:05 +10:00
Mitchell Richters
46b5977a6a
- Recover two ESyncBit
values for other uses.
...
* By masking aiming+centering, we have look bits :)
2023-04-02 18:24:05 +10:00
Christoph Oelckers
e1ea0492e1
- savegame version bump.
2023-04-02 08:50:05 +02:00
Christoph Oelckers
1e7850b17e
- fixed last commit
2023-04-01 12:27:48 +02:00
Christoph Oelckers
a64f19c16d
- had to apply the RapidJson NaN workaround to another place.
...
So instead of fixing the bug they actually replicated it into a second function. :(
It's too bad that we cannot enable proper writing of NaNs and Infs because it makes most JSON formatters emit an error on this undefined extension of the format.
2023-04-01 10:26:51 +02:00
Christoph Oelckers
5f3065d9f1
- Duke: fixed weapon spread with non-pistol hitscan weapons.
2023-04-01 09:49:22 +02:00
Mitchell Richters
86711f666b
- Exhumed: Tidy up StartDeathSeq()
.
2023-03-29 19:41:05 +11:00
Mitchell Richters
3e4dd94fe5
- Exhumed: Tidy up a bunch of small player functions.
2023-03-29 19:40:42 +11:00
Mitchell Richters
0467b02393
- Exhumed: Mark all player static arrays as const.
2023-03-29 19:39:54 +11:00
Mitchell Richters
daf63ce209
Revert "- InputState::ClearAllInput()
: Only clear crouch_toggle
bool if outside of a level, and resend SB_CROUCH
sync bit if inside a level and crouch_toggle
is true."
...
This reverts commit c076310e34
.
* It's no longer needed with 70706d3da8
.
2023-03-29 13:21:14 +11:00
Mitchell Richters
70706d3da8
- Don't stop getting input when we're paused.
...
* This is the cause of the long-standing crouch toggle issues, as well as a few other things.
2023-03-29 13:20:55 +11:00
Mitchell Richters
7feb5a9a9b
Revert "- Duke: Temporary workaround for last commit so the player returns to centre on level load."
...
This reverts commit 2b22e49a9b
.
* It's no longer needed with 06dd971291
.
2023-03-29 13:20:55 +11:00
Mitchell Richters
06dd971291
- When the gameaction
is ga_level
, return and don't break.
...
* This was causing the first input packet to only be sent to the playsim after the first tic occurred.
* Previous: player 1 of 1 (1 nodes); E1L1: Hollywood Holocaust; PlayClock: 4; PlayClock: 4; PlayClock: 12;, etc.
* Current: player 1 of 1 (1 nodes); E1L1: Hollywood Holocaust; PlayClock: 0; PlayClock: 4; PlayClock: 8;, etc.
* Fixes #900 .
2023-03-29 13:20:47 +11:00
Mitchell Richters
7caec5fa69
- Clean out where inputState.ClearAllInput()
is called.
...
* We can do this from just a few places and achieve the same result as having it sprinkled everywhere did.
2023-03-29 09:05:49 +11:00
Mitchell Richters
9f8cda4be3
- Move call to I_GetInputFrac()
to ensure we're never stalled waiting for a tic.
2023-03-29 09:04:40 +11: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
72be2623c3
- Exhumed: Remove useless sectortype
extern pointer.
2023-03-28 08:51:51 +11:00
Mitchell Richters
c6a53265eb
- Exhumed: Misc tidy-ups.
...
* The setting of `Player::bIsFiring` needs to be done before setting a new weapon.
* Tidy up some weird reverse engineering `while (1)` loop which GDX doesn't do.
2023-03-28 08:45:14 +11:00
Mitchell Richters
42d791e7c2
- Exhumed: Fix clip calculation setup.
...
* Since game maintains its own clip capacities, we need to use them instead of the generic handler for the games that do not.
* Clean up the game-side code in `CheckClip()` to use `min()`.
* Repair issue with pistol clip calculation that was using modulo when it shouldn't. A full weapon with 300 will divide into 6 with no remainder, therefore nothing in the clip.
* Fixes #906 .
2023-03-27 22:05:35 +11:00
Mitchell Richters
892dde030f
- Tidy up nested branch in calcChaseCamPos()
.
2023-03-27 20:43:55 +11:00
Mitchell Richters
6c2717fcde
- Avoid testing if we're synchronising input twice in getInput()
.
2023-03-27 20:01:56 +11:00
Mitchell Richters
79745668a6
- Exhumed: Take advantage of getWrappedIndex()
in updatePlayerInventory()
as well.
2023-03-27 18:47:30 +11:00
Mitchell Richters
1ed655e0e7
- Exhumed: Further clean up updatePlayerWeapon()
.
...
* Rename a few variables for better clarity as to what's going on.
* Add new inline to the backend `getWrappedIndex()` that properly wraps around negative values based on the supplied maximum using modulo.
* Directly set the weapon when doing the next/prev tests to avoid unnecessary tests to see whether the player has the weapon or not.
2023-03-27 18:47:05 +11:00