Commit graph

14082 commits

Author SHA1 Message Date
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
Mitchell Richters
175f858047 - Make scaletozero() static again within gameinput.cpp. 2023-04-23 09:06:31 +10:00
Mitchell Richters
05cb6563f3 - Add roll output to stat coord since we're now using this angle.
* Do a line split between coords and angles since it was getting a bit long.
* Was going to allow warping to a specific roll as well, but its pretty useless.
2023-04-23 09:03:02 +10:00
Mitchell Richters
0a90ed4802 - Remove some duplicated lines in PlayerAngles::doViewTilting(). 2023-04-23 08:51:14 +10:00
Mitchell Richters
b179079168 - Move constant from previous commit into the class with the other constants. 2023-04-22 22:45:12 +10:00
Mitchell Richters
df30c01472 - Rework cl_viewtilting 1 to be consistent across games.
* Setup before from when it was Exhumed-only assumed a 30Hz clock. Needed adjusted variables and setup for Shadow Warrior.
2023-04-22 21:40:57 +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
6ba227ab8b - Spaces be damned! 2023-04-22 19:50:55 +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
70dd565c50 - Slightly tune mouse formula in GameInput::processVehicle(). 2023-04-21 21:13:17 +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
19da7a61bb - Exhumed: Setup detection for Steam version.
* Buying games for $15 AUD that I already own just so I can add a detection... aren't I super? 🙃.
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
Christoph Oelckers
86637cd20c - fixed typo in NOHITSCANHIT flag export. 2023-04-16 23:38:54 +02:00
Christoph Oelckers
07102fbd39 - fixed missing CANNONBALLS texture alias. 2023-04-16 21:47:06 +02:00
Marisa Heit
1bf03e463a Add more GOG registry search paths
Adds the following GOG registry paths to locate games from GOG:
- Duke Nukem 3D Atomic Edition (no longer sold on GOG)
- Blood: One Unit Whole Blood (no longer sold on GOG)
- Shadow Warrior Classic Complete (Free! on GOG)

There are also three I scraped from their store pages, but commented
out because I don't own them so can't verify if they need any additional
search paths or not:
- Redneck Rampage Collection
- NAM
- Shadow Warrior Classic Redux
2023-04-16 21:37:44 +02:00
Christoph Oelckers
608b4e8e0f - initialize the new temporary actor properties to something useful. 2023-04-16 17:35:23 +02:00
Christoph Oelckers
5da28bf5ad - added new CHANF_SINGULAR flag plus a handler for CHANF_LOCAL in Duke. 2023-04-16 17:35:22 +02:00
Christoph Oelckers
a3da3a4c43 - added a large bunch of script exports. 2023-04-16 17:35:15 +02:00
Christoph Oelckers
5f68291f69 - added skeleton definitions for all new Nuclear Winter items and their base tiles. 2023-04-16 16:53:53 +02:00
Christoph Oelckers
ea96c66a93 - made some annotations in concmd_shoot how to deal with RRRA's merged projectiles. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
712ed44e94 - use names instead of strings with FindActor. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
cb8137c32b - consolidated shoot_d and shoot_r. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
ef412c20cc - scriptified shootrpg.
Due to its ugly special cases this function is most likely not modding-safe.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
3d09be118a - scriptified the freezeblast shooter. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
e97fc54179 - scriptified shootstuff. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
9085157130 - scriptified shootwhip. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
afe7086189 - reimplemented WW2GI's hitscan related events in ZScript. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
3af08ecbac - scriptified and consolidated the hitscan attacks. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
1f5cd93564 - wall flag interface cleanup.
With wall textures now available the workarounds could be removed.
2023-04-16 16:53:51 +02:00
Christoph Oelckers
041d5214a4 - two new flags for the hitscan attack. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
0643ab22c0 - scriptified the melee attack. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
1d887755a5 - scriptified shootfireball. 2023-04-16 16:53:50 +02:00
Christoph Oelckers
76b9314f63 - scriptified shootMortar. 2023-04-16 16:53:50 +02:00
Christoph Oelckers
48f7690756 - scriptified tripbomb 'shooting'. 2023-04-16 16:53:50 +02:00