Commit graph

4104 commits

Author SHA1 Message Date
Mitchell Richters
771a84338e - Fix typo in MOVEFTA flag (was NOVEFTA). Thanks Gaerzi! 2022-01-08 22:30:34 +11:00
Christoph Oelckers
a3162f6ccf - renamed testnewrenderer CVAR. 2022-01-07 12:49:41 +01:00
Mitchell Richters
e5bcb8ee61 - Duke: Repair issues with handle_se32() following lost Sgn() call.
* Originated from "- first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.".
2022-01-05 22:45:33 +11:00
Christoph Oelckers
e1d32bdbf5 - removed the error messages in GetOverlapSector(2).
These can actually be triggered in legitimate scenarios by hitscans so just returning 0 looks like the best way of handling it.
2022-01-05 09:23:30 +01:00
Mitchell Richters
eca3c29261 - Duke: Fix nullptr issue in RR's processinput_r(). 2022-01-05 19:22:21 +11:00
Christoph Oelckers
5ff7d45f7f - Duke/RR: better handling for one random kill scenario in the player movement code.
Using the same appoach as EDuke32 - instead of outright killing the player it will first reset its position and retry the pushmove check.
2022-01-05 09:20:54 +01:00
Mitchell Richters
9de4b4753a - Duke: Add nullptr check to haskey(). 2022-01-05 18:05:15 +11:00
Mitchell Richters
b422b049c1 - Duke: Fix bad interp check in RR's dofurniture(). 2022-01-05 10:03:33 +11:00
Mitchell Richters
874f9952f8 - Duke: Fix bad clipmove result check in movesprite_ex_r(). 2022-01-05 09:50:22 +11:00
Christoph Oelckers
47b9de1fb4 - RR: interpolate moving furniture. 2022-01-04 17:18:25 +01:00
Christoph Oelckers
33aee54113 - RR: interpolate jaildoors and minecarts. 2022-01-04 17:18:25 +01:00
Christoph Oelckers
45b88277a3 - Platoon Leader: Set explicit sky offset for the third episode's orange sky. 2022-01-04 17:17:58 +01:00
Christoph Oelckers
8dedcf94d3 - Duke: removed special precaching for sky texture
Due to precomposition these single tiles will never be rendered anyway.
2022-01-04 17:17:58 +01:00
Mitchell Richters
6414a4ce78 - Duke: Add nullptr check to footprints() code. 2022-01-04 22:44:11 +11:00
Christoph Oelckers
468aea78ef - SW: fixed wrong actor being checked in ContinueHitscan. 2022-01-04 12:42:46 +01:00
Christoph Oelckers
2f66377511 - Exhumed: use the loop flag when starting music. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
9c07f05f0f - Exhumed: clear all pointers in the player struct when starting a level. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
78f02fbd55 - avoid larger time jumps in Ramses text scroll. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
8267f327e3 - Exhumed: hide all screen overlays when Ramses is talking. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
894f9a6b0a - Exhumed: fix Ramses text overlay display. 2022-01-04 12:42:44 +01:00
Mitchell Richters
57d54a2105 - Exhumed: Don't force the framerate to reduce to ticrate at end of each level, instead interpolate player's position to prevent draw errors. 2022-01-04 21:43:08 +11:00
Christoph Oelckers
226807db34 - RR: fixed wakeup check logic in movefta.
Essentially the feature must be on for all RR actors and off for all Duke actors.
RR's original logic here to exclude animals was broken and non-functional.
2022-01-04 09:39:55 +01:00
Mitchell Richters
783dd98641 - Duke: Fix nullptr check for Duke and RR that was causing a crash in a glitched spot in RR's E1L1. 2022-01-04 14:00:18 +11:00
Christoph Oelckers
b683c31ef7 - fixed bad GC setup for Blood's collision struct.
This is a union so the pointers must also be conditionally marked based on the union's state.
2022-01-03 16:18:07 +01:00
Christoph Oelckers
9f83fd3575 - SW: added a double deletion guard to KillBreakSprite.
This code can easily run into the case where SpawnShrap kills the actor but then further operations are performed, including deleting it again.
2022-01-03 12:28:25 +01:00
Christoph Oelckers
7915fb7ef1 - allow using "Mario" cheat with a space between name and number. 2022-01-03 07:13:34 +01:00
Mitchell Richters
aee4388a03 - Blood: Add nullptr check to OperatePath() to fix crash in Eviction's sgarage.map. 2022-01-03 10:19:08 +11:00
Christoph Oelckers
00ffc8b6a2 - Blood: fixed vertical wall texture interpolations. 2022-01-02 17:53:07 +01:00
Christoph Oelckers
e302c45a0b Revert "- added two FAFcansee variants that take shorter parameter lists for clearer code."
This reverts commit 29da39dda0.

Something in here was wrong, so back to the start with it.
The positive effect was too small anyway.
2022-01-02 17:35:12 +01:00
Christoph Oelckers
7205319853 - Blood: clean up some variable mess in actFireVector 2022-01-02 17:23:01 +01:00
Christoph Oelckers
1d091ae395 - merged both movefta functions, using the already defined flags instead of explicit picnum checks. 2022-01-02 15:59:24 +01:00
Christoph Oelckers
a6845f55e4 - comments 2022-01-02 15:59:24 +01:00
Mitchell Richters
84e9356bf2 Revert "- Blood: Force synchronised input while a revolving door is busy/in-use."
This reverts commit 232dd5e07a. The true fix was in "- Blood: fixed interpolation of sprites on rotating sectors.".
2022-01-03 01:50:17 +11:00
Christoph Oelckers
2ac83b733c - SW: clear some pointers before killing actors in TerminateLevel.
KillActor is an in-game function which may produce undefined behavior if being run on a partially deinitialized level.
All actor pointers it may operate upon should be cleared before taking down the actors.cpp
2022-01-02 15:06:57 +01:00
Christoph Oelckers
3b833029b0 - Blood: fixed interpolation of sprites on rotating sectors. 2022-01-02 13:00:55 +01:00
Christoph Oelckers
e42fc5e743 - use the newly added flag to consolidate ifhitsector. 2022-01-02 12:27:36 +01:00
Christoph Oelckers
cc6d52013d - made Duke actor flags type safe and added a few new definitions that are not active yet. 2022-01-02 10:17:44 +01:00
Christoph Oelckers
8c9b810b16 Revert "- removed Interp_Sprite_Z."
Sadly, SW's sprite interpolation is too screwed up to do a better fix on short notice.
It's the same with interpolating sprites attached to SOP's, it is only needed because generally interpolating sprites in SW is problematic.
2022-01-01 19:50:30 +01:00
Christoph Oelckers
0bfb4abc1c - undid some leftover placeholder code in FAFhitscan. 2022-01-01 18:39:59 +01:00
Christoph Oelckers
d215ae0c63 - fixed bad target check for Ripper2's jump attack 2022-01-01 18:25:18 +01:00
Christoph Oelckers
1294f10cd7 - SW: fixed negated FAFcansee call in explosion code. 2022-01-01 17:14:49 +01:00
Christoph Oelckers
27eae52228 - fixed incorrect argument in FAFcansee call. 2022-01-01 17:11:15 +01:00
Christoph Oelckers
3499049976 - Blood: save basepoint for all actors, not just for those with an XSPRITE. 2022-01-01 15:52:05 +01:00
Mitchell Richters
45057ff8a0 - SW: Fix all GCC warning: suggest parentheses around assignment used as truth value [-Wparentheses] warnings.
Regex to match such conditions: `while (\([\w]+\s?=\s?.+\.Next\(\)\))`.
2022-01-01 20:49:31 +11:00
Christoph Oelckers
17de3a08e8 - deal with bad start sectors.
The engine will now try to find a proper sector in the map loader if there's a mismatch.
2022-01-01 10:39:59 +01:00
Christoph Oelckers
8575447e37 - Blood: fixed bad parameter in aiPatrolMove 2022-01-01 09:56:45 +01:00
Christoph Oelckers
3e21db19be - Blood: fixed Life Leech no longer gettable after having fired.
This was the direct result of dumb use of two pointers to different parts of the same objects.
2022-01-01 09:31:57 +01:00
Mitchell Richters
dcd006d34b - Blood: Add missing actorHit nullptr test in actImpactMissile(). 2022-01-01 11:38:43 +11:00
Christoph Oelckers
87cace6e6c - Blood: fixed wrong actor being used for key checks 2022-01-01 00:58:35 +01:00
Mitchell Richters
0375dfdf83 - SW: Replace SECTOR_OBJECT zmid with pmid.Z calls and eliminate pmid union. 2022-01-01 09:34:30 +11:00
Mitchell Richters
9145895b47 - SW: Replace SECTOR_OBJECT ymid with pmid.Y calls. 2022-01-01 09:33:30 +11:00
Mitchell Richters
5e2bbb12b5 - SW: Replace SECTOR_OBJECT xmid with pmid.X calls. 2022-01-01 09:32:40 +11:00
Mitchell Richters
1c0ba71c69 - SW: Eliminated ANIMATORp typedef. 2022-01-01 09:09:41 +11:00
Mitchell Richters
1d51903a9e - SW: Eliminated Voc3D_Flags typedef. 2022-01-01 08:36:56 +11:00
Christoph Oelckers
cd599a7a15 - Duke: abstracted all checks for TILE_APLAYER with an isPlayer method. 2021-12-31 18:51:43 +01:00
Christoph Oelckers
84ca96c52c eliminated STATEp 2021-12-31 16:00:14 +01:00
Christoph Oelckers
d1be430fbf - eliminated PLAYERp 2021-12-31 15:59:11 +01:00
Christoph Oelckers
69b5d502e2 - renamed PLAYERstruct. 2021-12-31 15:57:55 +01:00
Christoph Oelckers
392397c2b0 - replaced SECTOR_OBJECTp 2021-12-31 15:50:44 +01:00
Christoph Oelckers
74593feab1 - replaced PANEL_SPRITEp 2021-12-31 15:49:07 +01:00
Christoph Oelckers
699bf9c4f5 - anim typedef eliminated. 2021-12-31 15:47:10 +01:00
Christoph Oelckers
8fb769649b - eliminated sectortype aliases. 2021-12-31 15:43:47 +01:00
Christoph Oelckers
98492aae54 - eliminated walltype aliases. 2021-12-31 15:41:39 +01:00
Christoph Oelckers
72962cc098 - the last batch of small scale typedefs eliminated. 2021-12-31 15:40:29 +01:00
Christoph Oelckers
87d2b3274b - cleaned out most of the less frequent typedef types in SW. 2021-12-31 15:27:18 +01:00
Christoph Oelckers
10187e892f - handle track typedefs. 2021-12-31 15:13:05 +01:00
Christoph Oelckers
f43f63adec - all typedefs in jsector.h and inv.h plus a bit of cleanup and #define removal. 2021-12-31 15:10:37 +01:00
Christoph Oelckers
6b50344417 - eliminated PANEL_SPRITEp 2021-12-31 15:03:12 +01:00
Christoph Oelckers
994a575435 - panel.h cleanup. 2021-12-31 13:49:34 +01:00
Christoph Oelckers
12c63d2337 - eliminated a few more typedefs, 2021-12-31 13:37:57 +01:00
Christoph Oelckers
89ab00fe99 - eliminated typedefs in sound code.cc.obj 2021-12-31 13:31:13 +01:00
Christoph Oelckers
085eb8a36e - eliminated SHRAP typedefs. 2021-12-31 13:26:07 +01:00
Christoph Oelckers
271af39a59 - consolidated MISSILE_PLACEMENT definitions. 2021-12-31 13:20:56 +01:00
Christoph Oelckers
90ad4b8ef1 - eliminated typedefs for DECISION and BREAK_INFO. 2021-12-31 13:16:38 +01:00
Christoph Oelckers
3eb640658f - don't typedef MATTGAMEVAR 2021-12-31 13:12:20 +01:00
Christoph Oelckers
0cba0e19b5 - SW: fixed some pointer mixup in UpdatePlayerUnderSprite 2021-12-30 23:39:54 +01:00
Christoph Oelckers
61d4d06783 - RRRA: fixed typo in portal setup. 2021-12-30 22:16:39 +01:00
Christoph Oelckers
a9b162b8e9 - moved the tsprite flags from cstat2 to clipdist which was already holding other ones.
cstat2 should only hold flags for game-side sprites.
2021-12-30 19:00:35 +01:00
Christoph Oelckers
552668418a - moved opos and oang to DCoreActor. 2021-12-30 18:21:02 +01:00
Christoph Oelckers
2bb7cecf27 - eliminated spritetype::clear.
Most uses were bad anyway, and the legitimate ones are just clearing the object.
2021-12-30 17:55:17 +01:00
Christoph Oelckers
7f62df517d - moved all interpolate* methods from spritetypebase to DCoreActor.
The places where it was used on tsprites were redone to use the actor's base coordinate, which at the point of the operation would always be the same.
2021-12-30 17:32:31 +01:00
Christoph Oelckers
c10fb1278a - moved the backup... methods to DCoreActor. 2021-12-30 17:10:08 +01:00
Christoph Oelckers
6c381d4392 - removed sector() method from low level sprite type. 2021-12-30 16:58:48 +01:00
Christoph Oelckers
5498699faf - use DCoreActor::sector() wherever possible. 2021-12-30 16:51:56 +01:00
Christoph Oelckers
88e4bb9f79 - moved sectno method to DCoreActor. 2021-12-30 16:39:43 +01:00
Christoph Oelckers
f0b7fe4add - use setsector from DCoreActor.
Also did a bit of cleanup
2021-12-30 16:36:04 +01:00
Christoph Oelckers
af6ca40e3d - use DCoreActor::insector instead of spritetype::insector. 2021-12-30 16:24:51 +01:00
Christoph Oelckers
4bc32e2777 - use actors in the sloped sprite utilities. 2021-12-30 16:11:14 +01:00
Mitchell Richters
dc50ad154e - SW: Replace PANEL_SPRITEstruct yorig with bobpos.Y calls. 2021-12-31 00:36:13 +11:00
Mitchell Richters
d8aab1ecea - SW: Replace PANEL_SPRITEstruct xorig with bobpos.X calls. 2021-12-31 00:34:46 +11:00
Mitchell Richters
36b549b7f1 - SW: Replace PANEL_SPRITEstruct oy with opos.Y calls. 2021-12-31 00:34:03 +11:00
Mitchell Richters
81b74c2cdf - SW: Replace PANEL_SPRITEstruct ox with opos.X calls. 2021-12-31 00:32:55 +11:00
Mitchell Richters
145028bc16 - SW: Replace PANEL_SPRITEstruct y with pos.Y calls. 2021-12-31 00:32:00 +11:00
Mitchell Richters
defdb23533 - SW: Replace PANEL_SPRITEstruct x with pos.X calls. 2021-12-31 00:30:42 +11:00
Mitchell Richters
ab6b9fd083 - SW: Replace USER zchange with change.Z calls. 2021-12-31 00:23:30 +11:00
Mitchell Richters
50cb85e389 - SW: Replace USER ychange with change.Y calls. 2021-12-31 00:22:48 +11:00
Mitchell Richters
ad0ea3f2f1 - SW: Replace USER xchange with change.X calls. 2021-12-31 00:22:42 +11:00
Mitchell Richters
424b9c5f34 - SW: Replace REMOTE_CONTROL pos* variables with a vector. 2021-12-31 00:19:34 +11:00
Mitchell Richters
287351e678 - SW: Replace REMOTE_CONTROL *vect variables with vectors. 2021-12-31 00:19:34 +11:00
Mitchell Richters
5d10b32301 - SW: Replace PLAYERstruct oldpos* variables with a vector. 2021-12-31 00:19:33 +11:00
Mitchell Richters
e4d19a0bbe - SW: Replace PLAYERstruct slide_yvect with slide_vect.Y calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
8c1c5f3d55 - SW: Replace PLAYERstruct slide_xvect with slide_vect.X calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
8c99053ebd - SW: Replace PLAYERstruct oyvect with ovect.Y calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
75cc539c58 - SW: Replace PLAYERstruct oxvect with ovect.X calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
5515830e2b - SW: Replace PLAYERstruct yvect with vect.Y calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
f2497d7d08 - SW: Replace PLAYERstruct xvect with vect.X calls. 2021-12-31 00:19:33 +11:00
Mitchell Richters
03da70b3b9 - SW: Replace PLAYERstruct si* variables with a vector. 2021-12-31 00:19:33 +11:00
Mitchell Richters
6e130d026e - SW: Replace PLAYERstruct lv_* variables with a vector. 2021-12-31 00:19:33 +11:00
Mitchell Richters
8f468607ff - Exhumed: Replace Player velocity and damage variables with vectors. 2021-12-31 00:19:33 +11:00
Mitchell Richters
225a2a39da - Duke: Replace player_struct noise_* variables with a vector. 2021-12-31 00:19:33 +11:00
Mitchell Richters
1e90b0bbbe - Duke: Replace player_struct bobposy with bobpos.Y calls. 2021-12-30 23:00:44 +11:00
Mitchell Richters
034e1fd175 - Duke: Replace player_struct bobposx with bobpos.X calls. 2021-12-30 23:00:44 +11:00
Mitchell Richters
f9b728d188 - Duke: Replace DDukeActor lastvy with ovel.Y calls. 2021-12-30 23:00:44 +11:00
Mitchell Richters
8932b2fc1d - Duke: Replace DDukeActor lastvx with ovel.X calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
0bc26e78ba - Duke: Replace player_struct loogiey[64] with loogie[64].Y calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
e196a4daa3 - Duke: Replace player_struct loogiex[64] with loogie[64].X calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
2d6bc783c4 - Duke: Replace player_struct exity with exit.Y calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
8d2595ea84 - Duke: Replace player_struct exitx with exit.X calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
19a9fc462f - Duke: Replace CraneDef poley with pole.Y calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
034727d902 - Duke: Replace CraneDef polex with pole.X calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
4b1fbf13df - Duke: Replace CraneDef z with pos.Z calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
3dfcbafd93 - Duke: Replace CraneDef y with pos.Y calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
8006d8e394 - Duke: Replace CraneDef x with pos.X calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
788be33c1a - Duke: Replace player_orig oz with opos.Z calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
f5dd8ba3b9 - Duke: Replace player_orig oy with opos.Y calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
c5d94f9a8e - Duke: Replace player_orig ox with opos.X calls. 2021-12-30 23:00:42 +11:00
Mitchell Richters
8a94022f5d - Duke: - Duke: Replace FireProj position and velocity variables with vectors. 2021-12-30 23:00:42 +11:00
Mitchell Richters
fd8c7bfa52 - Duke: Replace player_struct poszv with vel.Z calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
b2023efb44 - Duke: Replace player_struct posyv with vel.Y calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
31ed257f39 - Duke: Replace player_struct posxv with vel.X calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
10a167ab42 - Blood: Replace XWALL panYVel with panVel.Y calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
a325dfec62 - Blood: Replace XWALL panXVel with panVel.X calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
f091a72db1 - Blood: Replace XSPRITE targetz with TargetPos.Z calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
431749cf6e - Blood: Replace XSPRITE targety with TargetPos.Y calls. 2021-12-30 23:00:40 +11:00
Mitchell Richters
1d29716e6b - Blood: Replace XSPRITE targetx with TargetPos.X calls. 2021-12-30 23:00:40 +11:00
Mitchell Richters
22275a16f6 - Blood: Replace DBloodActor zvel with vel.Z calls. 2021-12-30 23:00:40 +11:00
Mitchell Richters
ce08fd4304 - Blood: Replace DBloodActor yvel with vel.Y calls. 2021-12-30 23:00:40 +11:00
Mitchell Richters
a9e66ec553 - Blood: Replace DBloodActor xvel with vel.X calls. 2021-12-30 23:00:39 +11:00
Christoph Oelckers
9158796284 - partial replacement of tspriteptr_t. 2021-12-30 11:48:10 +01:00
Mitchell Richters
5badbd7884 - Blood: Replace game-side scale() with backend Scale(). 2021-12-30 20:46:38 +11:00
Mitchell Richters
4db3e91f24 - Blood: Remove some unused templated functions in common_game.h. 2021-12-30 20:46:38 +11:00
Mitchell Richters
13639a09b7 - SW: Remove unused PLAYERstruct variable turn180_target that was deprecated with 7bf1cacc7f. 2021-12-30 20:46:36 +11:00
Mitchell Richters
cf68018909 - SW: Replace PLAYERstruct RevolveY with Revolve.Y calls. 2021-12-30 20:41:27 +11:00
Mitchell Richters
acc11f34bf - SW: Replace PLAYERstruct RevolveX with Revolve.X calls. 2021-12-30 20:41:27 +11:00
Mitchell Richters
05de974080 - SW: Replace PLAYERstruct ly with LadderPosition.Y calls. 2021-12-30 20:41:27 +11:00
Mitchell Richters
a18fc5b66f - SW: Replace PLAYERstruct lx with LadderPosition.X calls. 2021-12-30 20:41:26 +11:00
Mitchell Richters
9c1e54a148 - SW: Replace USER sz with pos.Z calls. 2021-12-30 20:40:29 +11:00
Mitchell Richters
0d70d26625 - SW: Replace USER sy with pos.Y calls. 2021-12-30 20:31:09 +11:00
Mitchell Richters
fcf18c8c63 - SW: Replace USER sx with pos.X calls. 2021-12-30 20:31:09 +11:00
Mitchell Richters
620f0fa7b8 - SW: Use correct function name in GetOverlapSector2() I_Error() call. 2021-12-30 20:31:09 +11:00