Christoph Oelckers
2cf474bddc
Duke/RR: fixed player dying when falling from great heights while god mode being on.
2023-11-11 09:45:19 +01:00
Mitchell Richters
f4fee750d5
- Duke: Remove incur_damage()
from dispatcher.
...
* Only used locally within `processinput()` for each game.
2023-11-10 12:00:50 +11:00
Mitchell Richters
7dbd38c84a
Revert "- clamp player sprite's xvel between 0 and 512 to stop it going into the negative with rapid posx/posy changes due to teleporting."
...
This reverts commit cf548e055e
.
* Shouldn't be necessary now with doubles instead of integers for coordinates.
* Affected spot in commit message appears fine upon testing.
2023-11-10 12:00:50 +11:00
Mitchell Richters
7921eedda2
- Interalise slope tilting checks for DCorePlayer::doViewPitch()
.
2023-11-04 19:10:05 +11:00
Mitchell Richters
cf2f3e20f8
- Internalise player velocity setup for DCorePlayer::doRollInput()
.
...
* Would have been nice to have this constexpr, but can only do that when we switch to C++20.
2023-11-04 19:10:04 +11:00
Mitchell Richters
3d7b742bed
- Internalise player InputPacket
access.
2023-11-04 19:10:03 +11:00
Mitchell Richters
3625a6af52
- Move PlayerAngles
class directly into DCorePlayer
.
...
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-11-04 19:10:03 +11:00
Mitchell Richters
03a69c24b3
- Move syncinput mechanism into GameInput
object.
2023-10-05 13:10:47 +11:00
Mitchell Richters
bd5fff4040
- Duke: Remove casts from setting RR vehicle velocities and consolidate setup into an inline.
2023-10-04 22:05:03 +11:00
Mitchell Richters
79995ba8ce
- Duke: Manual sweep for last replacements of GetActor() calls for stack pointer.
2023-10-04 12:13:42 +11:00
Mitchell Richters
c67af979cb
- Duke: Manual sweep for last replacements of player index for pointer.
2023-10-04 12:00:04 +11:00
Mitchell Richters
5ddd201b33
- Duke: Clean up player/actor accesses in checkhitswitch()
and associated utilities.
2023-10-04 11:32:15 +11:00
Mitchell Richters
9c8b2abf07
- Duke: Clean up player/actor accesses in processinput_*()
.
2023-10-04 10:53:56 +11:00
Mitchell Richters
df673952d9
- Duke: Clean up player/actor accesses in processweapon()
.
2023-10-04 10:40:20 +11:00
Mitchell Richters
2c78fba4a2
- Duke: Clean up player/actor accesses in operateweapon()
.
2023-10-04 10:30:13 +11:00
Mitchell Richters
f14d7f3612
- Duke: Clean up player/actor accesses in fireweapon()
.
2023-10-04 10:25:46 +11:00
Mitchell Richters
c4792b1273
- Duke: Clean up player/actor accesses in movement()
.
2023-10-04 10:20:07 +11:00
Mitchell Richters
a51521381f
- Duke: Clean up player/actor accesses in underwater()
.
2023-10-03 23:07:50 +11:00
Mitchell Richters
8b62cf63fb
- Duke: Clean up player/actor accesses in all input look functions.
2023-10-03 23:07:49 +11:00
Mitchell Richters
2225fea10c
- Duke: Clean up player/actor accesses in playerJump()
.
2023-10-03 23:07:49 +11:00
Mitchell Richters
f135097193
- Duke: Clean up player/actor accesses in playerCrouch()
.
2023-10-03 23:07:49 +11:00
Mitchell Richters
ce2487e18a
- Duke: Clean up player/actor accesses in timedexit()
.
2023-10-03 23:07:49 +11:00
Mitchell Richters
2e2efaea11
- Duke: Clean up player/actor accesses in endoflevel()
.
2023-10-03 23:07:49 +11:00
Mitchell Richters
497d2d26dd
- Duke: Clean up player/actor accesses in playerisdead()
.
2023-10-03 23:07:48 +11:00
Mitchell Richters
7186c3e9f7
- Duke: Clean up player/actor accesses in footprints()
.
2023-10-03 23:07:48 +11:00
Mitchell Richters
079df4dd8f
- Duke: Clean up player/actor accesses in makepainsounds()
.
2023-10-03 23:07:48 +11:00
Mitchell Richters
0749a65c81
- Duke: Clean up player/actor accesses in dokneeattack()
.
2023-10-03 23:07:48 +11:00
Mitchell Richters
50acc673c9
- Duke: Clean up player/actor accesses in noise.cpp
.
2023-10-03 23:07:48 +11:00
Mitchell Richters
454c1bfec0
- Duke: Clean up player/actor accesses in selectweapon_*()
.
2023-10-03 23:07:47 +11:00
Mitchell Richters
0d25bbe84a
- Duke: Remove PlayerInput()
wrapper.
...
* Regex used: `PlayerInput\(\w+\,\s?(SB_\w+)\)` -> `!!(p->cmd.ucmd.actions & $1)`.
2023-10-03 23:07:46 +11:00
Mitchell Richters
ec5cc18470
- Duke: Remove PlayerSetInput()
wrapper.
2023-10-03 23:07:46 +11:00
Mitchell Richters
af99ba9ae2
- Duke: Got rid of two more InputPacket wrappers.
2023-10-03 23:07:45 +11:00
Mitchell Richters
d6de57095d
- Take better advantage of InputPacket::ang
's FRotator
status.
...
* Change it to a DRotator as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-10-03 23:07:45 +11:00
Mitchell Richters
1732cd2e83
- Change InputPacket
angles to an FRotator
.
2023-10-03 23:07:45 +11:00
Mitchell Richters
828e46a8da
- Remove the TVector2 (const TVector3<vec_t> &other)
constructor.
...
* This narrowing constructor was causing a problem with a `clamp()` overload in the next commit.
* Believe this is a product of a by-gone time before we had the `XY()` method on `TVector3<T>` objects.
2023-10-03 23:07:44 +11:00
Mitchell Richters
f570cb5d21
- Change InputPacket
velocities to an FVector3
.
2023-10-03 23:07:44 +11:00
Mitchell Richters
82d029fe28
- Duke: Restore underwater input scaling to unsynchronised input which was lost back in March (b3c27a177e4787bf9341973039e73c1403e1b230
).
2023-10-03 23:07:43 +11:00
Mitchell Richters
4876a3145e
- Move doslopetilting()
into DDukePlayer
.
2023-10-03 23:07:43 +11:00
Christoph Oelckers
dd2ea96d6c
turn players into DObjects and fix several bugs with bad memory access.
...
* DObjects may not be memset to 0.
* There was still code trying to retrieve the player index with pointer artithmetic. With an array of pointers this does not work.
2023-10-02 21:03:59 +02:00
Mitchell Richters
d90aca9640
- Directly store a ticcmd_t
object within CorePlayer
.
2023-10-02 17:00:50 +11:00
Mitchell Richters
23d4cbc3bd
- Remove all game-side PlayerArray[]
objects and store within common code.
2023-10-02 15:43:00 +11:00
Mitchell Richters
6d2124dd01
- Duke: Initial setup to convert PlayerArray
array to array of DukePlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
6a367c6184
- Duke: Rename ps[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:41:15 +11:00
Mitchell Richters
bd9e42bb40
- Duke: Rename player_struct
struct to DukePlayer
.
2023-10-02 15:41:13 +11:00
Mitchell Richters
719cc75fd2
- Duke: Rename player_struct::sync
to player_struct::input
to match the other games.
2023-10-02 15:30:32 +11:00
Mitchell Richters
ad87f9ba54
- Duke: Adjust doVehicleTilting()
somewhat.
...
* Don't adjust and scale the player's roll, we can rely on `player_struct::TiltStatus` alone for this.
* Ensure maximum tilt via full keyboard turn == (20. * 360. / 2048. * 0.5), same as original code.
2023-09-28 22:16:31 +10:00
Christoph Oelckers
5ba01bb38d
- fix crash in RR when dying with an item-less weapon.
2023-05-20 07:19:35 +02:00
Christoph Oelckers
44f4104eda
- got rid of the last tilenum uses in Duke.
...
This meant refactoring the crosshair drawer to work on a named texture called "CROSSHAIR" and hard coding the magic numbers for spawndebris.
2023-04-29 09:54:15 +02:00
Mitchell Richters
52ab0fae19
- Duke: Allow reversing while moving forwards to act as the brake.
...
* Much more intuitive for controllers.
2023-04-25 11:30:48 +10:00
Mitchell Richters
6d2e114dec
- Duke: Move moto tilt scaling into main tilt function, not within the draw code.
2023-04-25 08:37:38 +10:00