Christoph Oelckers
01b6d9f27f
- eliminated all remaining uses of picnum in Exhumed.
2023-04-29 11:32:03 +02:00
Christoph Oelckers
44e9a66319
- handle 3 more of Exhumed's picnums that were quick to refactor
2023-04-29 11:32:03 +02:00
Christoph Oelckers
0e097903c4
- got rid of a large chunk of picnum accesses in Exhumed.
2023-04-29 11:32:03 +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
ef81e713e2
- Exhumed: Clamp off vale in fix from adbd5c3c69
.
...
* Fixes example situations where the player is underwater and smashing against the ceiling, etc.
2023-04-28 19:30:14 +10:00
Mitchell Richters
742d76a4bf
- Exhumed: Tidy up some unnecessarily nested if statements in movespritez()
.
2023-04-27 22:51:30 +10:00
Mitchell Richters
adbd5c3c69
- Exhumed: Fix velocity loss in movespritez()
when warping.
...
* Old code was adjusting the actor's Z to right off the ceiling with no factoring in of the old interpolation position.
* Due to this, we were hitting the `nCamerapos.Z = min(max(nCamerapos.Z, pSector->ceilingz + 1), pSector->floorz - 1);` bounding in the draw code.
* Since game puts you right at the ceiling, we apply this to the old interpolation position, as well as the current position, however we then add their velocity back onto the current position to make the warp seamless.
2023-04-27 22:51:30 +10:00
Mitchell Richters
78df82e1ed
- Exhumed: Clean up loHit
global in move.cpp
.
...
* More lazy arg passing via a global...
2023-04-27 22:51:30 +10:00
Mitchell Richters
4c5339274d
- Exhumed: Fix bad velocity zeroing from ece41ac84c
.
2023-04-27 21:32:36 +10:00
Mitchell Richters
3edc1a5a5a
- Exhumed: Make getSequence()
return a pointer instead of a reference.
...
* Gets rid of the awkward `operator[]()` calls.
* Gets rid of `std::ref()` setup in gun.cpp.
* Ensures a copy isn't made if the caller accidentally leaves off an ampersand.
* Allows us to use a consistent getter for native code and VM exports.
2023-04-27 20:16:14 +10:00
Mitchell Richters
ea7fe0e0b4
- Exhumed: Add fixSeqs()
and use it to patch OOB issue with skulstrt.seq
.
2023-04-26 20:27:28 +10:00
Mitchell Richters
33d4809663
- Exhumed: Ensure sequence data cannot be changed via the getters.
2023-04-26 20:13:26 +10:00
Mitchell Richters
64c47b0385
- Exhumed: Slightly tune damage pushback from previous commit.
...
* The logic here is that the player's running/double speed velocity is scaled by 0.375 in `updatePlayerVelocity()`, so 0.1875 is half of that scale.
2023-04-25 20:07:10 +10:00
Mitchell Richters
64745dff89
- Exhumed: Allow damage pushback behind CVAR cl_exdamagepush
.
...
* Fixes #907 .
* Works in conjunction with ece41ac84c
by using the player actor's velocity.
* Original game blanket reset the sprite/actor's vel each tic which cancelled this out.
* Original damage value is far, far too high. Had to scale it back by 1024 units to make it reasonable!
2023-04-25 19:55:05 +10:00
Mitchell Richters
0a6ff79f4f
- Exhumed: Give runlist_CheckRadialDamage()
a bit of a tidy.
2023-04-25 19:44:25 +10:00
Mitchell Richters
ece41ac84c
- Exhumed: Move player's velocity back into the actor, again.
...
* Was done in 67c7dd65f9
but caused issues.
* Reverted in 3d6f1e1a04
to ensure the game worked as expected.
* Actual problem identified and isolated to remove this duplication.
2023-04-25 19:36:46 +10:00
Mitchell Richters
7c2bd266b9
- Exhumed: Fix incorrect distance check operator for the rat.
2023-04-25 18:39:56 +10:00
Mitchell Richters
fe356f3183
- Exhumed: Fix OOB frame with the rat.
...
* No idea what this does in the original source... plays the first frame of the next sequence?
2023-04-25 18:18:26 +10:00
Mitchell Richters
6004a9fb5a
- Exhumed: Fix bad jump setup from c252b19e9a
.
2023-04-24 23:27:02 +10:00
Mitchell Richters
11181f51f8
- Allow roll input through the packet system, giving us 6DOF for VR usage, etc.
2023-04-24 21:31:21 +10:00
Mitchell Richters
c252b19e9a
- Exhumed: Hook up InputPacket::uvel
to relevant code.
2023-04-24 19:06:48 +10:00
Mitchell Richters
80f2afd6a4
- Exhumed: Slightly tidy up updatePlayerWeapon()
.
2023-04-24 19:06:46 +10:00
Mitchell Richters
e29726370c
- Exhumed: Tidy up two if statements in AIPlayer::Damage()
.
2023-04-24 19:03:04 +10:00
Mitchell Richters
eca8526c11
- Exhumed: Unlimit the SeqNames[]
array.
2023-04-23 19:20:19 +10:00
Mitchell Richters
19501f3ed0
- Exhumed: Fix some typos in comments.
2023-04-23 19:19:47 +10:00
Mitchell Richters
83365a9a14
- Fix typo in menu and clean up leftover variable in Exhumed's doPlayerCameraEffects()
.
2023-04-23 10:20:10 +10:00
Mitchell Richters
71d833f9ea
- Make Exhumed's new view tilting features accessible for all games.
2023-04-22 19:34:53 +10:00
Mitchell Richters
faaffa0d40
- Exhumed: Change formula for cl_exviewtilting 2
.
...
* Makes this proper strafe rolling based on the actual strafe velocity.
* Implement movement rolling as `cl_exviewtilting 3` as well.
2023-04-22 14:10:10 +10:00
Mitchell Richters
b93a2cf61b
- Exhumed: Move UpdateCreepySounds()
into MoveThings()
so its processing time can be clocked.
2023-04-21 21:13:19 +10:00
Mitchell Richters
b958ae2340
- Exhumed: Move bobangle
global into Player struct.
2023-04-21 21:13:19 +10:00
Mitchell Richters
6799322544
- Exhumed: Add view bobbing, with defaults matching intensity of Powerslave Exhumed.
...
* `cl_viewbob` extended from bool to int, and allowing two modes: 1 == Powerslave Exhumed bobbing, 2 == Duke 3D-style bobbing.
* Height and speed of bobbing customisable.
2023-04-21 21:13:19 +10:00
Mitchell Richters
8283895828
- Exhumed: Increase precision of Player::totalvel
.
2023-04-21 21:13:18 +10:00
Mitchell Richters
e0964eef7a
- Exhumed: Add toggle-able jump rebounding.
2023-04-21 21:13:18 +10:00
Mitchell Richters
8255a23833
- Exhumed: Move bTouchFloor
into Player
struct.
...
* No need to save this out either, it's reset at the start of every tic.
2023-04-21 21:13:18 +10:00
Mitchell Richters
bb19997a2c
- Apply pitch/yaw input along-side the key inputs.
...
* Removes a lot of duplicated code.
2023-04-21 21:13:18 +10:00
Mitchell Richters
f9b9345e01
- Exhumed: Tidy up a long ternary in updatePlayerAction()
.
2023-04-21 21:13:17 +10:00
Mitchell Richters
258ab0db89
- Exhumed: Initial setup of view rolling effects.
...
* `cl_exviewtilting 1` enables a console-like view rolling upon yaw input.
* `cl_exviewtilting 2` enables a Quake-like view rolling upon strafe input.
2023-04-21 21:13:17 +10:00
Mitchell Richters
83a371e23d
- Exhumed: Remove Player::nPlayerD
, since we have the player actor's opos.
2023-04-21 21:13:16 +10:00
Mitchell Richters
29bf5e4cce
- Exhumed: Move updatePlayerTarget()
call back to main ticker loop.
...
* While it's cleaner in the AIPlayer ticker, AIRa requires its target set (which is done in this func also) and I don't know whether AIPlayer is ticked before AIRa is.
2023-04-21 21:13:16 +10:00
Mitchell Richters
28893663a5
- Exhumed: Reduce length of stack arrays in addSeq()
.
2023-04-21 21:13:16 +10:00
Mitchell Richters
4c49b91635
- Exhumed: Incorporate player weapon bobbing into pilot light angle.
2023-04-21 21:13:16 +10:00
Mitchell Richters
a28ca29493
- Exhumed: Repair pilot light angle that's been broken for some time.
...
* Interpolate it as well 🙂 .
2023-04-21 21:13:15 +10:00
Mitchell Richters
dc857aec3d
- Exhumed: Tidy up remainder of DrawWeapons()
.
2023-04-21 21:13:15 +10:00
Mitchell Richters
d309406473
- Exhumed: Rename sequence texture getters to separate frame/chunks.
...
* This will make it easier to compare against the source if there's a mistake, etc.
2023-04-21 21:13:15 +10:00
Mitchell Richters
1162954b03
- Exhumed: Move AISpider's null chunk texture check into the getter.
...
* It's needed for the rat as well...
2023-04-21 21:13:15 +10:00
Mitchell Richters
408c71513b
- Exhumed: Manually review all nAction
changes and ensure nFrame
is reset also.
2023-04-21 21:13:14 +10:00
Mitchell Richters
ba8bdf347e
- Exhumed: Repair OOB seq access with Anubis.
...
* Everytime `nAction` changes, `nFrame` must be reset as well.
* One `AnubisSeq[]` index has an `nSeqId` of `-1`, this must be handled.
2023-04-21 21:13:14 +10:00
Mitchell Richters
27b9b0d2f8
- Exhumed: Reduce repeated hashtable lookups when building chunks.
2023-04-21 21:13:14 +10:00
Mitchell Richters
04eb0fe926
- Exhumed: Tidy up a few remaining globals in the sequence system.
2023-04-21 21:13:14 +10:00
Mitchell Richters
4a37453765
- Exhumed: Convert sequence system to FTextureIDs.
2023-04-21 21:13:13 +10:00
Mitchell Richters
fcfee9addc
- Exhumed: Convert remainder of statusbar code and delete old system.
2023-04-21 21:13:13 +10:00
Mitchell Richters
7ca73aa562
- Exhumed: Initial setup of new statusbar sequence exports, starting with DrawStatusSequence()
.
2023-04-21 21:13:12 +10:00
Mitchell Richters
95e84ba1f8
- Exhumed: Make playFrameSound()
a method of SeqFrame
.
2023-04-21 21:13:12 +10:00
Mitchell Richters
32cc320195
- Exhumed: Refactor new sequence setup to not use naked TArray of frames.
...
* Also gives access to the previously discarded sequence flags that are currently not in any kind of use.
2023-04-21 21:13:12 +10:00
Mitchell Richters
4b223ab26d
- Exhumed: Tidy up DExhumedActor
variables for clarity.
2023-04-21 21:13:11 +10:00
Mitchell Richters
5efc14411a
- Exhumed: Use actor variables for sequences, not player ones.
2023-04-21 21:11:55 +10:00
Mitchell Richters
5c0b6858b1
- Exhumed: Remove seq_GetSeqPicnum()
.
2023-04-21 21:11:55 +10:00
Mitchell Richters
b4502626fa
- Exhumed: Tidy up some picnum accesses.
2023-04-21 21:11:55 +10:00
Mitchell Richters
d7161a7368
- Exhumed: Convert the weapon code.
2023-04-21 21:11:54 +10:00
Mitchell Richters
33bfe4601f
- Exhumed: Convert seq_DrawPilotLightSeq()
.
2023-04-21 21:11:54 +10:00
Mitchell Richters
4428ea5612
- Exhumed: Fix null chunk access for spider.
2023-04-21 21:11:54 +10:00
Mitchell Richters
d8441f712e
- Exhumed: Converted out most remaining files.
2023-04-21 21:11:54 +10:00
Mitchell Richters
34e984d836
- Exhumed: Convert out bullet system to new backend hashtable.
2023-04-21 21:11:54 +10:00
Mitchell Richters
6f242b901d
- Exhumed: Convert out anim system to new backend hashtable.
2023-04-21 21:11:53 +10:00
Mitchell Richters
f404708f51
- Exhumed: Initial conversion of seq_PlotSequence()
to new backend hashtable.
2023-04-21 21:11:52 +10:00
Mitchell Richters
4d1466217b
- Exhumed: Remove unused/unneeded union from DExhumedActor
.
2023-04-21 21:10:47 +10:00
Mitchell Richters
80125e11f3
- Exhumed: Separate out seq variables within DExhumedActor
.
2023-04-21 21:10:45 +10:00
Mitchell Richters
57ffb0e251
- Exhumed: Tidy up internals of seq_PlotSequence()
.
...
* Renames disassembly variables.
* Removes abusive reuse of arg variables.
2023-04-17 08:52:54 +10:00
Mitchell Richters
27c87b247c
- Exhumed: Rename actionSeq
members for clarity.
2023-04-17 08:52:54 +10:00
Mitchell Richters
310f615c8c
- Exhumed: Initial setup of new sequence loader.
...
* Untested in-game but looks good in the debugger.
2023-04-17 08:52:54 +10:00
Mitchell Richters
8a0d09ce8b
- Exhumed: Wrap all access to FrameSound[]
array and make static.
2023-04-17 08:52:54 +10:00
Mitchell Richters
86c559ff1c
- Exhumed: Wrap all access to ChunkFlag[]
array and make static.
2023-04-17 08:52:54 +10:00
Mitchell Richters
01148a8c29
- Exhumed: Wrap all access to ChunkPict[]
array and make static.
2023-04-17 08:52:54 +10:00
Mitchell Richters
78489dbc78
- Exhumed: Wrap all access to ChunkXpos[]
and ChunkYpos[]
arrays and make static.
2023-04-17 08:52:53 +10:00
Mitchell Richters
924ac25df1
- Exhumed: Wrap all access to FrameSize[]
array and make static.
2023-04-17 08:52:53 +10:00
Mitchell Richters
93fe699b78
- Exhumed: Wrap all access to FrameFlag[]
array and make static.
2023-04-17 08:52:53 +10:00
Mitchell Richters
3e38d01e4b
- Exhumed: Wrap all access to FrameBase[]
array and make static.
2023-04-17 08:52:53 +10:00
Mitchell Richters
fbddddcccc
- Exhumed: Mark unused array SeqFlag[]
as static and annotate it.
2023-04-17 08:52:53 +10:00
Mitchell Richters
e9c9f070eb
- Exhumed: Wrap all access to SeqStatic[]
array and make static.
2023-04-17 08:52:52 +10:00
Mitchell Richters
8df52e1265
- Exhumed: Wrap all access to SeqBase[]
array and make static.
2023-04-17 08:52:52 +10:00
Mitchell Richters
53b7235adf
- Exhumed: Wrap all access to SeqOffsets[]
array and make static.
2023-04-17 08:52:52 +10:00
Mitchell Richters
4cc3664287
- Exhumed: Minor tidy-up for seq_ReadSequence()
prior to start.
2023-04-17 08:52:52 +10:00
Mitchell Richters
e82981929d
- Exhumed: Make overridesect
global local to movespritez()
.
...
* Fixes #933 .
2023-04-16 19:30:35 +10:00
Christoph Oelckers
ecd0c8c1ff
- fixed a few bad scaling values.
2023-04-15 12:20:10 +02:00
Christoph Oelckers
ec9ed9588c
- Exhumed: don't pass uninitialized data to the sound engine.
...
This was creating very noisy warnings.
2023-04-10 09:49:38 +02:00
Mitchell Richters
a68fcfc71c
- Remove GameInterface::getConsoleAngles()
, it's not needed anymore.
2023-04-04 07:02:39 +10:00
Mitchell Richters
8d11fef916
- Initial conversion of game input into class GameInput
.
2023-04-03 18:46:36 +10:00
Mitchell Richters
2c6d8b50ea
- Exhumed: Tidy up bubbles.cpp.
...
* Extend `BuildBubbles()` to use the actual player's angle for if we ever get multiplayer going.
2023-04-02 19:56:54 +10:00
Mitchell Richters
4c11fb1b2a
- Exhumed: Tidy up remainder of anubis.cpp.
2023-04-02 19:56:54 +10:00
Mitchell Richters
754d27a8f0
- Exhumed: Tidy up AIAnubis::Tick()
.
2023-04-02 19:56:54 +10:00
Mitchell Richters
8d48252f1a
- Exhumed: Backup actor location in BuildAnubis()
.
2023-04-02 19:56:54 +10:00
Mitchell Richters
b10b909440
- Exhumed: Rename last argument in seq_MoveSequence()
to nFrame
.
2023-04-02 19:56:53 +10:00
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
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
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
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