Commit graph

7090 commits

Author SHA1 Message Date
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
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
Mitchell Richters
6004a9fb5a - Exhumed: Fix bad jump setup from c252b19e9a. 2023-04-24 23:27:02 +10:00
Mitchell Richters
fd1c3dffe8 - Duke: Allow view tilting for RRRA vehicles on separate CVAR.
* Tilts at the same angle as the HUD.
2023-04-24 23:20:14 +10:00
Mitchell Richters
918789705f - Duke: Use the player's angle when adjusting vehicle's HUD rotation. 2023-04-24 22:44:22 +10:00
Mitchell Richters
6ac2af9f3c - Duke: Convert RRRA's vehicle HUD tilting to a DAngle. 2023-04-24 22:17:37 +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
8e3df00b8b - SW: Hook up InputPacket::uvel to relevant code. 2023-04-24 21:01:32 +10:00
Mitchell Richters
67390511b7 - Blood: Hook up InputPacket::uvel to relevant code. 2023-04-24 19:06:48 +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
afcc65c332 - Duke: Hook up InputPacket::uvel to remainder of relevant code. 2023-04-24 18:27:44 +10:00
Mitchell Richters
09ab66b8c9 - Duke: Clean up p->GetActor() calls in movement() funcs. 2023-04-24 16:16:07 +10:00
Christoph Oelckers
1c7ca7b63a - moved all indirect precaching info to external definition files. 2023-04-23 17:43:22 +02:00
Christoph Oelckers
6924869895 - store texture IDs in the sprite set. 2023-04-23 17:42:07 +02:00
Christoph Oelckers
1bace1d508 - use texture IDs in the spawn records. 2023-04-23 17:33:50 +02:00
Christoph Oelckers
4692cc55f7 - cleaned up checkhitdefault
Only required 4 new flags plus one property...
2023-04-23 17:33:36 +02:00
Christoph Oelckers
125ea52e57 - handle special case for activation sounds when player bumps into other actors. 2023-04-23 17:33:35 +02:00
Christoph Oelckers
fd7a4e050a - no more picnum in gameexec.cpp 2023-04-23 12:15:36 +02:00
Christoph Oelckers
cd2cb8d60e - minor cleanup 2023-04-23 12:15:36 +02:00
Mitchell Richters
a731db95ae - Add initial support for up/down movement within the game, either by key or joystick axis.
* Started with Duke's jetpack, other games to follow for swimming, etc.
2023-04-23 19:53:45 +10:00
Mitchell Richters
87144564fd - Duke: Consolidate the mostly duplicate underwater() functions. 2023-04-23 19:21:04 +10:00
Mitchell Richters
02325c37bc - Duke: Fix incorrect scaling of underwater bubble. 2023-04-23 19:21:04 +10:00
Mitchell Richters
8db8d43f89 - Duke: Tidy up underwater(). 2023-04-23 19:21:04 +10:00
Mitchell Richters
95fe3d1bc4 - Duke: Tidy up operateJetpack(). 2023-04-23 19:21: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
e60e767232 - Break down some increasingly long lines in GameInput::processMovement(). 2023-04-23 19:19:26 +10:00
Christoph Oelckers
07c4b61260 - make sure that the aplWeapon* stuff is never accessed outside of WW2GI. 2023-04-23 10:45:44 +02:00
Christoph Oelckers
f0a6c4ecd8 - check for NOGRAVITY in 'fall'. 2023-04-23 10:45:44 +02:00
Christoph Oelckers
17a8dd5c2e - added tile names for all of Vacation's new actors.
Although several just replace existing actors, we want different names for these when replacing them.
2023-04-23 10:45:44 +02:00
Christoph Oelckers
4c1e379149 - only declare the weapon gamevars for WW2GI.
none of the other games uses any of this.
2023-04-23 10:45:44 +02:00
Christoph Oelckers
d5fa2d73ad - removed code for unused ATWITH gamevar. 2023-04-23 10:45:44 +02:00
Christoph Oelckers
fc0c8e0787 - NOHITJIBS flag. 2023-04-23 10:45:44 +02:00
Christoph Oelckers
91ee3cb7b8 - got rid of the picnum CreateActor variant. 2023-04-23 10:45:43 +02:00
Christoph Oelckers
a6600c200f - a lot of simple picnum or TILE_* replacements. 2023-04-23 10:45:43 +02:00
Christoph Oelckers
5d43975467 - store class pointers in weaprecs. 2023-04-23 10:36:39 +02:00
Christoph Oelckers
2f78a10ce1 - don't use picnum to address gs.actorinfo 2023-04-23 10:36:39 +02:00
Christoph Oelckers
b56aa1e1a3 - no more picnum in spawn CCMD 2023-04-23 10:36:38 +02:00
Christoph Oelckers
745275dc24 - use texture names for special player sprites, 2023-04-23 10:36:38 +02:00
Christoph Oelckers
bfc8862071 - use texture IDs in the sprite animator 2023-04-23 10:36:27 +02:00
Christoph Oelckers
cc83438e31 - replace dispicnum with dispictex 2023-04-23 10:32:58 +02:00
Christoph Oelckers
b2493116f8 - use texture IDs in the model interface. 2023-04-23 09:52:56 +02:00
Christoph Oelckers
1bc9de1cf0 - the last picnums in actors_r.cpp 2023-04-23 09:52:56 +02:00
Christoph Oelckers
14bf74c0f9 - turned adjustfall into a 'gravityfactor' property. 2023-04-23 09:51:24 +02:00
Christoph Oelckers
687cfd610f - copied ST160/161 handling to movetransports_d. 2023-04-23 09:43:21 +02:00
Christoph Oelckers
ac50daf5f3 - split a large bunch of code out of movetransports that can be consolidated between Duke and RR. 2023-04-23 09:43:21 +02:00
Christoph Oelckers
a0de956bef - got rid of tilenum checks in movetransports_r. 2023-04-23 09:43:21 +02:00
Christoph Oelckers
4812e1431e - made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall. 2023-04-23 09:43:20 +02:00
Christoph Oelckers
7f19a120a0 - clean out RRRA move flags in the CON parser for the other games.
This allows keeping their function enabled everywhere so that they can become a common feature without further need for validation.
2023-04-23 09:42:30 +02:00
Christoph Oelckers
b2b4d432fc - handle tilenum access in movetransports_d. 2023-04-23 09:42:30 +02:00
Christoph Oelckers
91d864ac8f - use classtypes in fallspecial. 2023-04-23 09:42:30 +02:00
Christoph Oelckers
35a088ba04 - added map flags to enable RR's special sector types in Duke as well. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
c8853de0ef - use the symbolic constants for ST_160 and ST_161 in the last remaining places where they hadn't been put before. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
0b3f18a903 - consolidated move functions. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
5a2410cbbb - more properties to get rid of the remaining actor type checks in move_d and move_r. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
c4c035a527 - handle more of move's special cases with flags and properties. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
2d4eee4153 - eliminated the last references to picnum in actors.cpp. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
0249725ed8 - got rid of all TILE_* globals, except TILE_CROSSHAIR. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
b78d268ef2 - clean up the lotsofstuff calls by correcting the class pointers on game load. 2023-04-23 09:42:27 +02:00
Christoph Oelckers
1b64b207bb - consolidated movesprite_ex functions. 2023-04-23 09:42:27 +02:00
Christoph Oelckers
46f7e38e46 - cleaned up movesprite_ex.
This needed 5 actor flags to handle some really inane special cases!
2023-04-23 09:42:27 +02: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
Christoph Oelckers
542083af30 - merged both hitradius variants, now that all the critical differences are properly handled by actor flags. 2023-04-22 12:08:47 +02:00
Christoph Oelckers
927d014cea - final cleanup on hitradius.
Several dead code paths were also removed that are unable to be triggered by any event in the game - due to the spaghetti-style checks this hadn't been obvious before.
Also one more flag that handles the WT flamethrower's special case of not hurting any actors of the shooter's kind in a more generalized form
2023-04-22 12:08:47 +02:00
Christoph Oelckers
ac430e6bc7 - another flag and the second old one renamed. 2023-04-22 12:08:47 +02:00
Christoph Oelckers
9ddb5987cd - two new flags and one renamed one for hitradius.
slowly getting closer to sorting this one out. The new flags already make operation a lot clearer.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
19f4e4ff63 - added a new flag and split out the geometry destruction part from the hitradius functions
... which suddenly look a lot less menacing...
2023-04-22 12:08:47 +02:00
Christoph Oelckers
53e92097ac - converted weaponsandammosprites into a class pointer array and fixed RR's bogus content.
It's a Duke only feature. RR can use it but would have spawned some non-functional items.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
f78c971eac - refactored shoot API to exclusively work with class pointers. 2023-04-22 12:08:46 +02:00
Christoph Oelckers
65e66a573d - Duke: look up all internally used actor classes at game startup.
This allows early validation of the names but is also more efficient.
2023-04-22 12:08:46 +02:00
Christoph Oelckers
36d5ab74bb - eliminated lots of direct tile references in spawn() calls. 2023-04-22 12:08:46 +02: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