Commit graph

1404 commits

Author SHA1 Message Date
Mitchell Richters
71be467065 - Duke: Fix missing ammo counter on modern HUD for WT's flamethrower.
* Fixes #156.
2020-11-06 22:07:11 +11:00
Mitchell Richters
c823e33bb3 - Duke/RR: Fix remaining issues with drug mode.
* Primary issue was call to `renderSetAspect()` within `setdrugmode()` wasn't mulscaling with `viewingrange`.
* Changed `setdrugmode()` to `getdrugmode()` to return `p->drug_aspect`. This is so `renderSetAspect()` needs to only be called from one place only.
2020-11-06 20:52:43 +11:00
Christoph Oelckers
d5ff87fa4f - RRRA: fixed vehicle collision with psychedelic cactuses.
This did not fully match the original source which had a critical difference here between RR and RRRA.
2020-11-05 14:31:55 +01:00
Christoph Oelckers
977223287e - cap the frame rate of RRRA's cactus drug mode.
This was running at full render speed.
2020-11-05 07:31:48 +01:00
Christoph Oelckers
d8e331ef0f - changed Duke/RR palette handling to only retrieve the currently active palette right before rendering.
Storing this in the player_struct is pointless and a relic from having to use real hardware palette switches.
With this now just being a translation index being passed to the backend it can be cheaply retrieved right when used and nowhere else.
Also making some changes to how RRRA's psychedelic cactus handles the projection. This fixes issues with occasionally passing a bad matrix.
2020-11-05 07:31:48 +01:00
Mitchell Richters
e8ccd9bc8c - Fix compilation. 2020-11-05 11:14:04 +11:00
Christoph Oelckers
60263ccad9 - fixed destroyit.
This caused parts of the exploding house in RRRA E1L5 not to disappear.
2020-11-04 21:53:56 +01:00
Christoph Oelckers
6729859e39 - fixed the crane.
Cannot take the special value out of the owner field. :(
2020-11-04 21:25:59 +01:00
Christoph Oelckers
721efae0d3 - fixed camera loop. 2020-11-04 20:44:12 +01:00
Christoph Oelckers
083454986b - made camsprite an actor variable. 2020-11-04 20:40:26 +01:00
Christoph Oelckers
25c93e65fc - more script ID wrappers for sectors. 2020-11-04 20:40:26 +01:00
Christoph Oelckers
aac5ab55a3 - movesprite cleanup. 2020-11-04 20:40:25 +01:00
Christoph Oelckers
7a95c1661e - wrap actor index storage in sector in the script index API. 2020-11-04 20:40:25 +01:00
Christoph Oelckers
471a25f819 - operaterespawns.
# Conflicts:
#	source/games/duke/src/sectors_d.cpp
#	source/games/duke/src/sectors_r.cpp
2020-11-04 20:40:25 +01:00
Christoph Oelckers
5cf288a05c - changed the trip bomb indexing to use a separate counter for robustness. 2020-11-04 20:40:25 +01:00
Christoph Oelckers
0eb10f0313 - newowner and related code. 2020-11-04 20:40:25 +01:00
Christoph Oelckers
c90e7d9b5f - almost the last owners 2020-11-04 20:40:08 +01:00
Christoph Oelckers
d0db810ab0 - ud.camerasprite -> actor. 2020-11-04 20:40:08 +01:00
Christoph Oelckers
212b99d0f3 - use owner wrappers in spawn code. 2020-11-04 20:40:08 +01:00
Christoph Oelckers
24cfd841f2 - lotsofglass - final function in spawn.cpp 2020-11-04 20:40:07 +01:00
Christoph Oelckers
4add2b5839 - two more 2020-11-04 20:40:07 +01:00
Christoph Oelckers
ac5ea2f1c9 - 3 more wrappers gone. 2020-11-04 20:40:07 +01:00
Christoph Oelckers
8f754d163d - removed inline wrappers that are not needed anymore.
# Conflicts:
#	source/games/duke/src/spawn_r.cpp
2020-11-04 20:40:07 +01:00
Christoph Oelckers
f3f0fd0a3a - ported the sound code to actors and removed the inline helpers. 2020-11-04 20:40:07 +01:00
Christoph Oelckers
4c3435bacf - moved some non-owner info out of the owner field.
This only handles items where both reading and writing can be located.
2020-11-04 20:40:07 +01:00
Christoph Oelckers
15fc884909 - owners in spawn.cpp 2020-11-04 20:40:06 +01:00
Christoph Oelckers
90511a97e7 - initcrane and spawneffector. 2020-11-04 20:40:06 +01:00
Christoph Oelckers
e2e24fc508 - spawn.cpp part 2.
(Beware of the crane! That one's hacky!)
2020-11-04 20:40:06 +01:00
Christoph Oelckers
edb991e47d - first part of spawn.cpp. 2020-11-04 20:40:06 +01:00
Christoph Oelckers
60977ef4dc - the spawn dispatcher is no longer used. 2020-11-04 20:40:06 +01:00
Christoph Oelckers
c54f17a6d5 - hittype in spawn code. 2020-11-04 20:40:05 +01:00
Christoph Oelckers
e427668373 - the remaining iterators in sectors_r.cpp 2020-11-04 20:39:43 +01:00
Christoph Oelckers
6a8dc8217f - 6 simple loops in sectors_r.cpp. 2020-11-04 20:39:43 +01:00
Christoph Oelckers
bb23d9131e - player.i, part 4. 2020-11-04 20:39:43 +01:00
Christoph Oelckers
d773601d81 - player.i, part 3 2020-11-04 20:39:43 +01:00
Christoph Oelckers
cc0a668da3 - player.i, part 2
# Conflicts:
#	source/games/duke/src/sectors_r.cpp
2020-11-04 20:39:43 +01:00
Christoph Oelckers
770897b8b9 - player.i, part 1 2020-11-04 20:39:42 +01:00
Christoph Oelckers
d5a74e4290 - handled several GetIndex calls. 2020-11-04 20:39:39 +01:00
Christoph Oelckers
64c83d166e - fixed a few parameters 2020-11-04 20:39:39 +01:00
Christoph Oelckers
eb5cd98d9a - fixed a few bad parameters. 2020-11-04 20:39:39 +01:00
Christoph Oelckers
a8212f0756 - crash fix in spawn and camera fix. 2020-11-04 20:25:02 +01:00
Christoph Oelckers
afd059d6a1 - the remaining loops in sectors_d.cpp 2020-11-04 19:55:18 +01:00
Christoph Oelckers
7c6ea9cff7 - activatebysector. 2020-11-04 19:55:17 +01:00
Christoph Oelckers
7aca51a6c4 - 6 more loops. 2020-11-04 19:55:17 +01:00
Christoph Oelckers
d8a7821b4f - cleaned up a few more loops. 2020-11-04 19:55:17 +01:00
Christoph Oelckers
618c739318 - spawninitdefault. 2020-11-04 19:55:17 +01:00
Christoph Oelckers
4d4cb2da9b - handle the cheap-ass ROR code. 2020-11-04 19:55:17 +01:00
Christoph Oelckers
10d4f92232 - use a dedicated variable to store the vehicle ammo for RRRA's bike and boat.
owner should be reserved for pointers.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
803cf4aece - the last two loops in premap_r.cpp 2020-11-04 19:55:16 +01:00
Christoph Oelckers
a63c62bf7c - the geometry effect loop 2020-11-04 19:55:16 +01:00
Christoph Oelckers
9f3b74f4a2 - 3 loops in premap_r.cpp 2020-11-04 19:55:16 +01:00
Christoph Oelckers
8360ba99ff - fixed cacheit_r sector loop. 2020-11-04 19:55:16 +01:00
Christoph Oelckers
68f9037883 - pointer replacements. 2020-11-04 19:55:16 +01:00
Christoph Oelckers
86909c9068 - fixed cacheit_d sector loop. 2020-11-04 19:55:16 +01:00
Christoph Oelckers
2b0f56a94c - changed setsectinterpolate to receive a sector number, not a sprite number. 2020-11-04 19:55:16 +01:00
Christoph Oelckers
32fc9329de - another iterator.
This one's for init code that needs to iterate sprites in spawn order.
2020-11-04 19:55:15 +01:00
Christoph Oelckers
12ef8c4543 This completes player_r.cpp 2020-11-04 19:55:15 +01:00
Christoph Oelckers
34d0219d06 - nullptr fixes 2020-11-04 19:55:15 +01:00
Christoph Oelckers
36370b71e2 - wrapped neartag to return an actor. 2020-11-04 19:55:15 +01:00
Christoph Oelckers
bc6ae872ae - cleaned up the checkhitswitch interface to receive sprites as pointers. 2020-11-04 19:55:15 +01:00
Christoph Oelckers
3e7c8adc1e - checkhitswitch_r part 4 2020-11-04 19:55:15 +01:00
Christoph Oelckers
4ce19b74b0 - checkhitswitch_r part 3 2020-11-04 19:55:14 +01:00
Christoph Oelckers
e81b37b31a - checkhitswitch_r part 2 2020-11-04 19:55:14 +01:00
Christoph Oelckers
2a23dfa0a8 - checkhitswitch_r part 1 2020-11-04 19:55:14 +01:00
Christoph Oelckers
f13a8943ab - checkhitswitch_d part 2 2020-11-04 19:55:14 +01:00
Christoph Oelckers
f1ab8f03ef - checkhitswitch_d part 1 2020-11-04 19:55:14 +01:00
Christoph Oelckers
87e8801531 - handle the clipmove result in processinput. 2020-11-04 19:55:14 +01:00
Christoph Oelckers
419cf9af5e - processinput part 1. 2020-11-04 19:55:13 +01:00
Christoph Oelckers
ef2c773e02 - RR processweapon pass 1 2020-11-04 19:55:13 +01:00
Christoph Oelckers
d4dabee52d - OnMotorcycle/BoatHit. 2020-11-04 19:55:13 +01:00
Christoph Oelckers
454b2315d4 - use actors instead of indices for sound calls. 2020-11-04 19:55:13 +01:00
Christoph Oelckers
8d55138db0 - checkweapons_r. 2020-11-04 19:55:13 +01:00
Christoph Oelckers
635b53f78f - RR-movement + dummyplayersprite 2020-11-04 19:55:13 +01:00
Christoph Oelckers
60ec6b8c7d - handled the last remaining sprite references in player_d.cpp. 2020-11-04 19:55:12 +01:00
Christoph Oelckers
70e1b87160 - Duke underwater. 2020-11-04 19:55:12 +01:00
Christoph Oelckers
b302f2535f - player index and hittypes in player_d.cpp 2020-11-04 19:55:12 +01:00
Christoph Oelckers
f598c16e03 - use the script interface where needed.
Later the scripts should only see some token representing an actor, not an index.
2020-11-04 08:24:17 +01:00
Christoph Oelckers
773aa9976d - fixed compilation of release build. 2020-11-04 07:01:25 +01:00
Christoph Oelckers
29b08b2115 - access_spritenum 2020-11-03 22:49:17 +01:00
Christoph Oelckers
b891646c37 - all of player_w.cpp 2020-11-03 22:41:24 +01:00
Christoph Oelckers
be591e9cf9 - the last bit of shoot_d. 2020-11-03 22:41:24 +01:00
Christoph Oelckers
16089e56f0 - the rest of shoot_r. 2020-11-03 22:41:24 +01:00
Christoph Oelckers
47f77a97e4 - RR shootrpg and shootwhip. 2020-11-03 22:41:24 +01:00
Christoph Oelckers
aa6dd72688 - RR shootstuff 2020-11-03 22:41:23 +01:00
Christoph Oelckers
32a7c2349e - shoot interface transitioned/operateweapon mostly done. 2020-11-03 22:01:58 +01:00
Christoph Oelckers
513744aa56 - this was nonsense. atwith is a tile number, not a sprite index. 2020-11-03 21:51:17 +01:00
Christoph Oelckers
7e29be7569 - switched checkhitwall interface to actors. 2020-11-03 21:49:57 +01:00
Christoph Oelckers
4258c27248 - switched the checkhitsprite interface to actors. 2020-11-03 21:43:50 +01:00
Christoph Oelckers
30f4057451 - removed the remaining references to 'i' from checkhitsprite_d. 2020-11-03 21:43:50 +01:00
Christoph Oelckers
a31cb23be1 - checkhitsprite_r references to 'i' removed. 2020-11-03 21:43:49 +01:00
Christoph Oelckers
1ab13688a7 - RR shootweapon 2020-11-03 21:43:49 +01:00
Christoph Oelckers
51705e5a61 - RR shootmelee. 2020-11-03 21:43:49 +01:00
Christoph Oelckers
f276a5f443 - shootlaser and shootgrowspark 2020-11-03 21:43:49 +01:00
Christoph Oelckers
badf536fef - shootstuff and shootrpg. 2020-11-03 21:43:49 +01:00
Christoph Oelckers
ca78ed9b63 - shootweapon 2020-11-03 21:43:49 +01:00
Christoph Oelckers
617c2c2503 - replaced index for sound origin in checkhitsprite_r. 2020-11-03 21:43:48 +01:00
Christoph Oelckers
41f2fe5e06 - same for checkhitsprite_r. 2020-11-03 21:43:48 +01:00
Christoph Oelckers
4443234126 - replacing sprite[sn] in checkhitsprite_d. 2020-11-03 21:43:48 +01:00
Christoph Oelckers
faa4248c5c - lotsofglass wrapper and variable renaming in checkhitsprite_d. 2020-11-03 20:43:38 +01:00
Christoph Oelckers
17737eea85 - wrapped hitscan in a variant returning an actor. 2020-11-03 20:43:38 +01:00
Christoph Oelckers
768487584e - aim and all calling instances.
This also takes care of RR's chicken arrow storing an actor reference in lotag.
2020-11-03 20:42:03 +01:00
Christoph Oelckers
8268c1b538 - shootfireball, shootflamethrowerflame, shootknee 2020-11-03 20:21:53 +01:00
Christoph Oelckers
6ee856b8c1 - added missing 'break' to SE code.
This caused the car in RR's first level to go too fast.
2020-11-03 20:21:30 +01:00
Christoph Oelckers
3fdeedcae7 - player.cpp is free of array references, except one that's unavoidable for now. 2020-11-03 19:25:07 +01:00
Christoph Oelckers
79f850d126 - PlayerColorChanged, hits, hitasprite. 2020-11-03 19:21:44 +01:00
Christoph Oelckers
1fcd5eef47 - CON game access interface done. 2020-11-03 19:21:44 +01:00
Christoph Oelckers
f5cccb0df2 - actorflag, actorfella, automap, animateaccess, holoduke spawn, initreactor.
# Conflicts:
#	source/games/duke/src/game_misc.cpp
2020-11-03 19:21:43 +01:00
Christoph Oelckers
2db8ace275 - eliminated all array accesses in game_misc.cpp. 2020-11-03 19:21:43 +01:00
Christoph Oelckers
61013af910 - fixed three crashes found when testing WW2GI. 2020-11-03 19:21:43 +01:00
Christoph Oelckers
a514910aa4 - use an actor pointer in Get/SetGameVarID's parameters to weed out the ordering screwups. 2020-11-03 19:21:43 +01:00
Christoph Oelckers
de92287d0b - fixed the messed up parameter order of OnEvent.
This should serve as a textbook example why passing around indices is a very, very bad idea!
2020-11-03 19:21:42 +01:00
Christoph Oelckers
c1b5b17541 - removed a few references in animatesprites. 2020-11-03 19:21:42 +01:00
Christoph Oelckers
3ea6887c43 - replaced a bit more. 2020-11-03 19:21:42 +01:00
Christoph Oelckers
2c573a720b - starting at the bottom of player_r.cpp. 2020-11-03 19:21:42 +01:00
Christoph Oelckers
33f730baf3 - replaced "sprite[p->i]" globally. 2020-11-03 19:21:42 +01:00
Christoph Oelckers
b5309a6410 - some quick'n easy replacements. 2020-11-03 19:21:42 +01:00
Christoph Oelckers
cd70818d54 - added a few NULL checks. 2020-11-03 07:12:11 +01:00
Christoph Oelckers
b2497b346c - use GetActor() wrapper in hud weapon code. 2020-11-03 07:06:30 +01:00
Christoph Oelckers
f729f7d7a3 - renamed a few things in animatesprites.
This function will need special handling later, for now let's just reduce the work surface to a few pointers.
2020-11-03 07:06:30 +01:00
Christoph Oelckers
ac58dd8017 - execute. 2020-11-03 07:06:30 +01:00
Christoph Oelckers
8f815f9391 - LoadActor. 2020-11-03 07:06:29 +01:00
Christoph Oelckers
da9c4d90a2 - parse - part 7. 2020-11-03 07:06:29 +01:00
Christoph Oelckers
38817c3bee - parse - part 6. 2020-11-03 07:06:29 +01:00
Christoph Oelckers
aa3d1fdcad - parse - part 5. 2020-11-03 07:06:29 +01:00
Christoph Oelckers
7438b57f23 - parse - part 4. 2020-11-03 07:06:29 +01:00
Christoph Oelckers
59d9138b77 - parse - part 3. 2020-11-03 07:06:28 +01:00
Christoph Oelckers
65fc6dd3c7 - parse - part 2. 2020-11-03 07:06:28 +01:00
Christoph Oelckers
8bdeb66dcb - parse - part 1. 2020-11-03 07:06:28 +01:00
Christoph Oelckers
0fac102c26 - renamed variables in ifcansee. 2020-11-03 07:06:28 +01:00
Christoph Oelckers
83217ee620 - ifcansee. 2020-11-03 07:06:27 +01:00
Christoph Oelckers
83b47f60b3 - ifcanshoottarget. 2020-11-03 07:06:27 +01:00
Christoph Oelckers
ea9a8642b0 - doactor.
# Conflicts:
#	source/games/duke/src/gameexec.cpp
2020-11-03 07:06:27 +01:00
Christoph Oelckers
669fcc967f - cheats.cpp and ccmds.cpp handled.
# Conflicts:
#	source/games/duke/src/cheats.cpp
2020-11-03 07:06:27 +01:00
Christoph Oelckers
ad84c8149e - the rest of sectors.cpp 2020-11-03 07:06:27 +01:00
Christoph Oelckers
4236f800f6 - operateactivators and operatemasterswitches. 2020-11-03 07:06:26 +01:00
Christoph Oelckers
7635fc9ad6 - operatesectors. 2020-11-03 07:06:26 +01:00
Christoph Oelckers
326ca9e172 - handle_st28, 2020-11-03 07:06:26 +01:00
Christoph Oelckers
06695073d0 - handle_st27. 2020-11-03 07:06:26 +01:00
Christoph Oelckers
d4c53226d0 - handle_st25. 2020-11-03 07:06:26 +01:00
Christoph Oelckers
fd8ee214f5 - handle_st23. 2020-11-03 07:06:25 +01:00
Christoph Oelckers
e6507887d3 - handle_st20. 2020-11-03 07:06:25 +01:00
Christoph Oelckers
2afbbcb157 - handle_st29. 2020-11-03 07:06:25 +01:00
Christoph Oelckers
7c491742f9 - handle_st15. 2020-11-03 07:06:25 +01:00
Christoph Oelckers
c9c649d3f8 - crash fix with null pointer. 2020-11-03 07:05:51 +01:00
Christoph Oelckers
88adef3caa - split up operatesectors into more digestable pieces. 2020-11-03 07:03:01 +01:00
Christoph Oelckers
4dd9be7b6d ..
- activatewarpelevators
2020-11-03 06:52:26 +01:00
Christoph Oelckers
8d1409a708 - bring weaprec handling of RR in line with Duke.
This code set a sprite index where a tile number is expected by all other code checking this array.
In the stock game this should never trigger, though, as the actor being checked is the burning dynamite which cannot be picked up again as-is.
2020-11-03 06:51:29 +01:00
Christoph Oelckers
595a2156e4 - fixed bad spawn owner in refactored loop. 2020-11-02 21:45:36 +01:00
Christoph Oelckers
6adc2f8e55 - findplayer 2020-11-01 17:07:47 +01:00
Christoph Oelckers
fa5b48d270 - check_activator_motion, doanimations. 2020-11-01 17:07:47 +01:00
Christoph Oelckers
b2a2232260 - callsound 2020-11-01 17:07:46 +01:00
Christoph Oelckers
3c19f8e44e - the last remaining small functions in actors_d.cpp and actors_r.cpp. 2020-11-01 17:07:46 +01:00
Christoph Oelckers
52c342a2ff - renamed variables in move functions. 2020-11-01 17:07:46 +01:00
Christoph Oelckers
e6e53d1954 - move, fakebubbaspawn and destroyit. 2020-11-01 17:07:46 +01:00
Christoph Oelckers
a6f9673403 - moveeffectors. 2020-11-01 17:07:46 +01:00
Christoph Oelckers
c438061b83 - made SE06 and SE28 separate functions. 2020-11-01 17:07:45 +01:00
Christoph Oelckers
f5338d0acb - moveexplosions. 2020-11-01 17:07:45 +01:00
Christoph Oelckers
76c4eeddc4 - moveactors. 2020-11-01 17:07:45 +01:00
Christoph Oelckers
2ad31247ec - henstand and bowling. 2020-11-01 17:07:45 +01:00
Christoph Oelckers
a31a19d430 - fixed 2 bad iterators. 2020-11-01 17:07:45 +01:00
Christoph Oelckers
0c2a7de550 - fixed uninitialized variable with 'hitasprite'. 2020-11-01 17:06:52 +01:00
Christoph Oelckers
fd83b87b94 - rr_specialstats. 2020-11-01 15:25:18 +01:00
Christoph Oelckers
0ec7732bd4 - rrra_specialstats. 2020-11-01 15:22:34 +01:00
Christoph Oelckers
63646e7c5c - heavyhbomb 2020-11-01 15:19:51 +01:00
Christoph Oelckers
441ed6bdc5 - flamethrowerflame 2020-11-01 15:17:49 +01:00
Christoph Oelckers
44fc4f9243 - greenslime. 2020-11-01 15:11:49 +01:00
Christoph Oelckers
d4ee8a1c48 - removed a few redundant GetIndex calls. 2020-11-01 15:08:48 +01:00
Christoph Oelckers
9826ff54f9 - movetransports. 2020-11-01 15:05:21 +01:00
Christoph Oelckers
076dcef5d0 - renamed variables in movetransports. 2020-11-01 14:56:23 +01:00
Christoph Oelckers
2d1b8a2b4b - use the cleaned up movesprite interface in moveweapons. 2020-11-01 14:51:32 +01:00
Christoph Oelckers
3aaf2e80a9 - moveweapons. 2020-11-01 14:46:05 +01:00
Christoph Oelckers
00b12c5fd6 - weaponcommon subfunctions. 2020-11-01 12:27:43 +01:00
Christoph Oelckers
c5f7c29ead - chickenarrow and movefireball. 2020-11-01 12:23:14 +01:00
Christoph Oelckers
a3860de440 - movestandables. 2020-11-01 12:09:01 +01:00
Christoph Oelckers
1af39eb29d - move*bolt. 2020-11-01 12:08:39 +01:00
Christoph Oelckers
dc75037d01 - movecrack, movefireext, moveviewscreen. 2020-11-01 12:06:20 +01:00
Christoph Oelckers
a4ac7764de - movetripbomb. 2020-11-01 12:02:58 +01:00
Christoph Oelckers
d9b6be83b3 - movefallers. 2020-11-01 12:00:29 +01:00
Christoph Oelckers
7e8be10b04 - movefta and ifhitsectors. 2020-11-01 11:58:41 +01:00
Christoph Oelckers
861342a278 - guts_d and guts_r. 2020-11-01 11:32:34 +01:00
Christoph Oelckers
90d1c5f7bb - ifsquished. 2020-11-01 10:55:38 +01:00
Christoph Oelckers
4c9655b110 - check_fta_sounds. 2020-11-01 10:53:45 +01:00
Christoph Oelckers
b9aa5de217 - fixed merge error in handle_se00. 2020-11-01 10:52:38 +01:00
Christoph Oelckers
7967391728 - actors_lava.cpp handled. 2020-11-01 10:50:10 +01:00
Christoph Oelckers
6a97b3d58e - renamed variables. 2020-11-01 10:49:50 +01:00
Christoph Oelckers
f0b1ab504d - fall_common and its fallspecial subfunction. 2020-11-01 10:48:26 +01:00
Christoph Oelckers
185b795481 - renamed variables in alterang. 2020-11-01 10:45:09 +01:00
Christoph Oelckers
85ea1df76a - alterang 2020-11-01 10:44:16 +01:00
Christoph Oelckers
31e5023004 - dodge, furthestcanseepoint, furthestangle. 2020-11-01 10:41:25 +01:00
Christoph Oelckers
4e675ea322 - makeitfall 2020-11-01 10:41:24 +01:00
Christoph Oelckers
291edcdab8 - getglobalz 2020-11-01 10:41:16 +01:00
Christoph Oelckers
8f75a58343 - shared SE31 code. 2020-11-01 10:31:41 +01:00
Christoph Oelckers
21fb3fb7bb - shared SE25 code. 2020-11-01 10:27:54 +01:00
Christoph Oelckers
00f5a08390 - shared SE24 code. 2020-11-01 10:27:41 +01:00
Christoph Oelckers
02813802d4 - the 5 remaining shared SE handlers. 2020-11-01 10:12:27 +01:00
Christoph Oelckers
769bc3bd22 - handle_se20-26. 2020-11-01 10:02:58 +01:00
Christoph Oelckers
5d837176de - handle_se18+19 2020-11-01 09:58:39 +01:00
Christoph Oelckers
5b096ea35e - handle_se15-17. 2020-11-01 09:53:50 +01:00
Christoph Oelckers
33377e1810 - renamed a few things. 2020-11-01 09:45:37 +01:00
Christoph Oelckers
b585192721 - handle_se11-13. 2020-11-01 09:37:41 +01:00
Christoph Oelckers
83a9d99bd9 - use symbolic constants in spawneffectors. 2020-11-01 09:00:16 +01:00
Christoph Oelckers
45905b9137 - handle_se05, 08, 10. 2020-11-01 08:51:13 +01:00
Christoph Oelckers
2edc7168ca - handle SE02-SE04. 2020-11-01 08:43:24 +01:00
Christoph Oelckers
3e62550489 - consolidated gutsdir functions by making the spawn offset for Duke's commander an actor property. 2020-11-01 08:23:03 +01:00
Christoph Oelckers
80aab4b5f7 - handle_se30. 2020-11-01 08:22:47 +01:00
Christoph Oelckers
a6468970c6 - renamed some variables. 2020-11-01 08:14:40 +01:00
Christoph Oelckers
2dd2ba1469 - handle_SE14 function signature and recordoldspritepos 2020-11-01 08:13:29 +01:00
Christoph Oelckers
d2b4cf6770 - reformatting 2020-11-01 08:03:07 +01:00
Christoph Oelckers
1b6161d472 - SE14 part 4 2020-11-01 08:00:43 +01:00
Christoph Oelckers
1cffc76c4e - SE14 part 3 2020-11-01 08:00:03 +01:00
Christoph Oelckers
92f95ea195 - SE14 part 2 2020-11-01 07:56:49 +01:00
Christoph Oelckers
e13b61f496 - SE14 part 1
Doing this in smaller chunks because this function requires quite extensive adjustments.
2020-11-01 07:51:50 +01:00
Christoph Oelckers
1ce2600a43 - SE 0 and 1 handlers. 2020-11-01 07:36:49 +01:00
Christoph Oelckers
a37cfe2913 - renamed variables in handle_se00. 2020-11-01 07:28:49 +01:00
Christoph Oelckers
e9d6fb2bb5 - jibs, bloodpool, shell, glasspieces and scrap. 2020-11-01 07:27:15 +01:00
Christoph Oelckers
6cbe74e115 - forcesphere, watersplash2, frameeffect and money. 2020-11-01 07:24:00 +01:00
Christoph Oelckers
6e1d3a025a - ooz, reactor and camera. 2020-11-01 07:23:27 +01:00
Christoph Oelckers
876b6d5081 - forcesphere and recon. 2020-11-01 07:20:17 +01:00
Christoph Oelckers
d0e12586ba - added a higher level interface tp clipmove that unmangles its return. 2020-11-01 07:16:44 +01:00
Christoph Oelckers
3d16d9f44a - respawnmarker, rat and queball. 2020-11-01 07:15:57 +01:00
Christoph Oelckers
6257ebc30c - bounce, movetongue and rpgexplode. 2020-11-01 07:11:49 +01:00
Christoph Oelckers
e001b3117f - movetouchplate, moveooz, movecanwithsomething.
# Conflicts:
#	source/games/duke/src/funct.h
2020-11-01 07:07:59 +01:00
Christoph Oelckers
b7f26c064d - 3 smaller functions. 2020-11-01 06:54:14 +01:00
Christoph Oelckers
c42ff35dc5 - hitradius
# Conflicts:
#	source/games/duke/src/actors_d.cpp
#	source/games/duke/src/actors_r.cpp
2020-10-31 13:24:31 +01:00
Christoph Oelckers
7dbe9d4bfb - renaming in hitradius 2020-10-31 13:24:30 +01:00
Christoph Oelckers
81717b54ee - detonate and movemasterswitch.
# Conflicts:
#	source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
89d750c94f - renaming in movemasterswitch and detonate. 2020-10-31 13:24:30 +01:00
Christoph Oelckers
38e0ac1e3f - movefountain and moveflammable.
# Conflicts:
#	source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
544078c9ba - moveflammable renaming. 2020-10-31 13:24:29 +01:00
Christoph Oelckers
7a482c6284 - make DHUDFont an object. 2020-10-31 13:20:54 +01:00
Christoph Oelckers
7de6528a1f - the status bars work as objects.
# Conflicts:
#	source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
3a0c84d3ca - split statusbar.cpp in two.
To keep Raze-exclusive content out of the main file that's about to be edited.
2020-10-31 13:19:59 +01:00
Christoph Oelckers
41e1e9b51c - ifhitbyweapon.
# Conflicts:
#	source/games/duke/src/actors_d.cpp
#	source/games/duke/src/actors_r.cpp
2020-10-31 13:19:26 +01:00
Christoph Oelckers
92c21e7259 - ifhitbyweapon cleanup.
Variables renamed and array accesses replaced with pointers in RR version.
2020-10-31 13:19:26 +01:00
Christoph Oelckers
28d0bc7477 - movecrane interface cleanup. 2020-10-31 13:19:26 +01:00
Christoph Oelckers
08f3e9e722 - variable renaming in movecrane for clarity 2020-10-31 13:19:25 +01:00
Christoph Oelckers
d95131cb4d - actor iterators for movefx and its RRRA subfunction. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
801e94ca54 - renamed variables in movefx for clarity. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
be0880f106 - iterators in movedummyplayers and moveplayers updated. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
cf8da6c6e3 - variable renaming for clarity. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
b03a637e10 - ms function. 2020-10-31 13:19:24 +01:00
Christoph Oelckers
94892cc1f8 - set up the main menu background as default console background for Duke and its offspring games. 2020-10-25 15:06:06 +01:00
Christoph Oelckers
1a21e73cd9 - fixed bad collision state check in movesprite.
Fixes #147
2020-10-24 21:36:27 +02:00
Christoph Oelckers
9a6a98ada9 - RR: Picking up the crossbow should also enable the dynamite as a separate weapon. 2020-10-24 20:43:36 +02:00
Christoph Oelckers
acda4b7799 - fixed Duke's RPG explosion
Fixes #146
2020-10-24 19:44:10 +02:00
Christoph Oelckers
82d87deb30 - added missing includes for release build. 2020-10-24 10:01:14 +02:00
Christoph Oelckers
8fd0fe5955 - changed the spriteq to use pointers instead of indices. 2020-10-24 09:40:10 +02:00
Christoph Oelckers
34e39dd221 - pass spawner as an actor pointer to 'lotsofstuff'.
Allows doing this without using sprite indices.
2020-10-24 09:36:35 +02:00
Christoph Oelckers
a5b3681630 - foundation for a better collision info management.
The way this is handled is the main reason why Build maps are size limited, but since it is extremely invasive it needs to be taken out of the game code piece by piece, this is the framework for doing this for Duke.
2020-10-24 09:31:15 +02:00
Christoph Oelckers
16e49ac1fd - use pointer for sprite access in movesprite_r.
Bringing it in line with movesprite_d.
2020-10-24 09:20:45 +02:00
Christoph Oelckers
42e5201e9f - replaced a few array accesses where a pointer is already available. 2020-10-24 09:11:45 +02:00
Christoph Oelckers
87e4c0fa7d - experimented a bit with optimizing the spawn function's use. 2020-10-24 09:05:54 +02:00
Christoph Oelckers
356060e127 - optimized another batch of array accesses in the spawn functions. 2020-10-24 08:52:21 +02:00
Christoph Oelckers
6311898152 - renamed a few disassembly variables. 2020-10-24 07:48:51 +02:00
Christoph Oelckers
5cde56de28 - another case of replacing a long list of array accesses with a pointer. 2020-10-24 07:39:51 +02:00
Christoph Oelckers
03da2011b6 - array cleanup in spawn.cpp. 2020-10-24 07:34:54 +02:00
Christoph Oelckers
d237471b79 - DoActor cleanup.
Using pointers instead of repeated array accesses now.
2020-10-24 07:25:25 +02:00
Christoph Oelckers
00b8a75de4 - made cheatGod function less ugly. 2020-10-24 07:19:53 +02:00
Christoph Oelckers
46d90f5d49 - clearcamera and ssp. 2020-10-23 22:37:38 +02:00
Mitchell Richters
be21cb0602 - Duke: Fix give CCMD to ensure it works after being resurrected from the dead via god cheat.
* Extension to 63cb7dd2bd.
2020-10-22 20:18:41 +11:00
Mitchell Richters
f46d9499a5 - Duke (RR): Adjust when to call DrawWeaponBar() within Statusbar().
* Partially addresses #1 of https://forum.zdoom.org/viewtopic.php?f=340&t=70284.
2020-10-22 19:54:39 +11:00
Mitchell Richters
e63f5e1ae7 - Duke (RR): Fix bad text setup in DrawWeaponBar().
* Fixes #2 of https://forum.zdoom.org/viewtopic.php?f=340&t=70284.
2020-10-22 19:40:39 +11:00
Mitchell Richters
63cb7dd2bd - Duke: Fix rotscrnang locked when reviving player after death via DNKROZ cheat.
* Fixes #138.
2020-10-22 09:21:35 +11:00
Christoph Oelckers
9440bc0c6d - avoid using ptrdiff_t in templated contexts.
Some systems map this to 'long' instead of 'long long' and not everything provides handlers for this type.
2020-10-21 19:19:45 +02:00
Christoph Oelckers
9cdaaff42b - migrated EGS and deletesprite to new actor interface.
Inline wrappers for old code exist.
The backupplayer inline was moved into player.cpp because that's the only place it gets used.
2020-10-21 19:14:41 +02:00
Christoph Oelckers
b8b79b6fa9 - renamed a few things. 2020-10-21 18:42:47 +02:00
Christoph Oelckers
b1f2475230 - serialize null pointers correctly. 2020-10-21 16:31:18 +02:00
Christoph Oelckers
6f4a0c94e8 - something on player is now a pointer as well 2020-10-21 16:31:18 +02:00
Christoph Oelckers
72329eb01b - wackedbyactor, too. 2020-10-21 16:31:18 +02:00
Christoph Oelckers
e94274a543 - holoduke_on is now a pointer as well. 2020-10-21 16:31:18 +02:00
Christoph Oelckers
d7604a3160 - made on_crane a pointer as well. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
7c88de0b42 - made player.actorsqu a pointer and added the needed infrastructure for that. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
39c154dc15 - fixed compile errors 2020-10-21 16:31:17 +02:00
Christoph Oelckers
8aca0774dc - adding more helper wrappers. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
0f2c19522e - defined the iterators. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
78afb67c7f - setup for Duke actor data transition to something more scripting friendly.
The main problem here is that there's two data arrays representing an actor - sprite and hittype and the engine only uses indices for reference.
By setting up hittype to contain a sprite reference, the function and iterator interface can be rewritten to use a single pointer instead to represent an actor.
The main objective is to reduce the number of accesses to the global arrays which constitute the biggest refactoring blocker.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
05c095e448 - fixed parameter ordering for WW2GI's change weapon event call.
This happens when variables are ambiguously named... :?
2020-10-21 07:31:21 +02:00
Christoph Oelckers
99e3eeb19e - split up shoot_r as well and consolidated both blood splat functions. 2020-10-21 01:03:38 +02:00
Christoph Oelckers
4d1e229734 - split shoot_d into smaller, easier to manage chunks.
1100 lines for a single function is too much.
2020-10-21 00:17:09 +02:00
Christoph Oelckers
a17f529c49 - fixed freezer projectile not moving.
These endless fallthrough switch/case blocks are a genuine menace. :(
Fixes #136
2020-10-20 23:21:38 +02:00
Christoph Oelckers
3004185646 - fixed bossguy. 2020-10-19 23:58:30 +02:00
Christoph Oelckers
66c097b3b8 - fixed bad Holoduke check in alterang. 2020-10-18 21:54:30 +02:00
Christoph Oelckers
a8eaf3575f - warning fixed and constants used. 2020-10-18 12:18:19 +02:00
Christoph Oelckers
f4c79161ad - fixed crash when opening the first gate in RRRA's E1L1.
There was some poor coding at play here that fell victim to changed execution order.
Changed everything so that problem cases always get dealt with properly.
2020-10-18 12:10:46 +02:00
Christoph Oelckers
4d3135f4b8 - cleanup and consolidation of moveweapons_r. 2020-10-18 10:42:26 +02:00
Christoph Oelckers
08e29396e5 - split moveweapons_d further up into more smaller parts. 2020-10-18 09:45:41 +02:00
Christoph Oelckers
2b79b29fef - further splitting of moveweapons_d.
Progress with this but still not enough yet to break it down into manageable parts.
2020-10-18 08:38:29 +02:00
Christoph Oelckers
94e8213caf - split fireball handling out of moveweapons_d to reduce the function's size. 2020-10-17 19:53:04 +02:00
Mitchell Richters
3582717c43 - Duke: Fix issues in recordoldspritepos() following changes in 7043092fd0.
* Fixes #129.
2020-10-16 14:17:19 +11:00
Mitchell Richters
b1536d8a0b - Duke (RRRA): Fix potential issue originating from 1bc51a7367 where horizon might have needed adjustment to 0 but wouldn't have done so.
* Previously used to determine whether to apply a horizon adjustment on whether local variable `horiz` was 0 or not (since baseline horizon was 100).
* For no particular reason, initalise `horiz` as FRACUNIT and process if it is not equal to one.
2020-10-15 20:33:28 +11:00
Mitchell Richters
db419fd618 - Duke (RRRA): Fix vehicle avel while cl_syncinput 1.
* Fully fixes #128.
2020-10-15 20:12:48 +11:00
Mitchell Richters
fb91fc49a3 - processMovement(): Add commentary around avel constants used within function and how they came to be. Also clean up some left-over code. 2020-10-15 20:12:34 +11:00
Christoph Oelckers
76e4661eea - more simple pointer replacements - lots of them... 2020-10-15 01:34:28 +02:00
Christoph Oelckers
0b80ad8fb1 - handled the last remaining stat iterators in Duke. 2020-10-15 01:34:28 +02:00
Christoph Oelckers
53414afbe5 - all stat iterators in sectors.cpp handled. 2020-10-15 01:34:28 +02:00
Christoph Oelckers
3d36381752 - converted all stat iterators outside sector*.cpp. 2020-10-15 01:34:28 +02:00
Christoph Oelckers
760a557f73 - converted the remaining sector iterators in Duke. 2020-10-15 01:34:27 +02:00
Christoph Oelckers
758fab1804 - replaced several sector iterators in Duke code. 2020-10-15 01:34:27 +02:00
Christoph Oelckers
5c9b261823 - all sector iterators in actors_d.cpp, actors_r.cpp and actors_lava.cpp. 2020-10-15 01:34:27 +02:00
Christoph Oelckers
060b66b96b - replaced all stat iterators in actors_r.cpp. 2020-10-15 01:34:27 +02:00