Commit graph

4196 commits

Author SHA1 Message Date
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
Mitchell Richters
9bbb54fe2e - Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries. 2021-12-30 20:30:21 +11:00
Mitchell Richters
1b077251e3 - SW: Use BIT() inline in a few places that were changed in "- SW: Replace the last few remaining TEST() macro uses and remove from mytypes.h."
Originally, `BIT()` was going to be dropped in a subsequent commit but we've elected not to.
2021-12-30 20:14:01 +11:00
Christoph Oelckers
f9cea2b1db - turning one check in hitradius into a flag. 2021-12-30 09:58:48 +01:00
Christoph Oelckers
5061d5b37c - tabified the rest of Blood's code. 2021-12-30 09:58:48 +01:00
Christoph Oelckers
b7d095b943 - tabified more Blood files. 2021-12-30 09:58:48 +01:00
Christoph Oelckers
c25641c631 - db.cpp cleanup.
There were too many pointless global variables here and quite a bit of code doing nothing useful.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
1d28e166c6 - fixed nnexts comparison with statcount.
This value is no longer maintained, so we got to count when the value is needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
69283bfb0c - tabified several Blood source files. 2021-12-30 09:58:47 +01:00
Christoph Oelckers
e670cf2786 - re-tabified several files that got mangled by repeated merging 2021-12-30 09:58:47 +01:00
Christoph Oelckers
3fcecedf32 - deleted ClearContent functions from actor classes.
this is a leftover from pre-DObject times and no longer needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
bf9defc062 - SW: moved some Polymost hack stuff to its proper place. 2021-12-30 09:58:46 +01:00
Mitchell Richters
bf7437c827 - SW: Remove ON pre-processor define and eliminate mytypes.h. 2021-12-30 09:58:46 +01:00
Mitchell Richters
3cf9450bd8 - SW: Remove OFF pre-processor define. 2021-12-30 09:58:45 +01:00
Mitchell Richters
ae49a55fce - SW: Replace the last few remaining TEST() macro uses and remove from mytypes.h. 2021-12-30 09:58:45 +01:00
Mitchell Richters
1439d5f268 - SW: Replace TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\) with ($1 & ($2)). 2021-12-30 09:58:45 +01:00
Mitchell Richters
48b0058d38 - SW: Replace TEST\(([\w\-\>.()]+),\s?(\w+)\) with ($1 & $2). 2021-12-30 09:58:45 +01:00
Mitchell Richters
5316e23737 - SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\) with !($1 & ($2)) 2021-12-30 09:58:45 +01:00
Mitchell Richters
8df3966d08 - SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?(\w+)\) with !($1 & $2). 2021-12-30 09:58:44 +01:00
Christoph Oelckers
b1d8f92ded - added wall edge splitting for gl_seamless. 2021-12-30 09:58:44 +01:00
Christoph Oelckers
3fee8f3c4e - replaced dragpoint (both the generic and the Blood variant) with a newly written vertexscan function.
This is a template allowing to run any task on a set of walls with equivalent start point.
Code was redesigned from scratch to be more clear than the existing variants.

The idea here is to reuse the base algorithm for other things that need to operate on the equivalent set of a given wall's start point.
2021-12-30 09:58:15 +01:00
Christoph Oelckers
c8b5fa6556 - SW: fixed signed-ness issue with SP_TAG13 2021-12-30 09:58:14 +01:00
Christoph Oelckers
16635e53fc - renamed DDukeActor::picnum to attackertype.
This one having the same name here as spritetype::picnum is just confusing as hell and badly describes this variable's function.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
fb53f32603 - handle the remaining write accesses to ceilingz and floorz.
Everything is routed through the wrapper functions now.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
059412b75e - first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.
We need this for implementing "precise" rendering to flag vertices as dirty.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
c24aafd3d6 - SW: game.h cleanup
Turned almost all #defines into enums or inline functions, removed unused declarations and all leftover MONO_PRINT fragments elsewhere.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
96396385e7 - more TEST() replacements.
This covers roughly half of the original use.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
61564ab96a - one third of TEST(). 2021-12-30 09:58:13 +01:00
Christoph Oelckers
7727597bd7 - removed FLIP macro
was only used 3 times
2021-12-30 09:58:12 +01:00
Christoph Oelckers
08fcfb382c - the remaining RESET() calls. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
e29d0f50cf - lots of RESET() flags replaced. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
1ae7565a2a - SW macro cleanup. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
d15c3aeff6 - got rid of the DIV2 macro. 2021-12-30 09:58:11 +01:00
Christoph Oelckers
387d65abb4 - the remaining SET()s.
These had to be done manually.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
fe292fce0d - yet more SET flag replacements
90% done.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
12ad85f6f8 - SW: turned flag #defines into enums. 2021-12-30 09:58:11 +01:00
Christoph Oelckers
92ed3fa728 - replaced more SET() macros.
This covers another 30-35%.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
dc3f2473ba - quick search & replace on ~40% of SET( macros in SW. 2021-12-30 09:58:10 +01:00
Christoph Oelckers
12619671e6 - Duke/RR: added fudging to work around aiming randomization issues with the pistol when autoaim is off.
Solution is the same as in RedNukem/EDuke32: do one hitscan directly in aiming order and if that hits a sprite, use it as aiming target.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
913f6e713d - Hack for Exhumed: palette 4 does not fade to black so sprites should not have shades above numshades.
The new renderer will treat such shades as completely black to ensure proper rendering of shadows - but for this palette this must be skipped.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
ce1daa82c2 - Duke: make camera actors temporarily invisible before rendering a scene.
Mainly needed for voxel/model replacements of the security camera sprite.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
00a7be545d - added a map preview to the user map browser. 2021-12-30 09:58:08 +01:00
Christoph Oelckers
745794a1f1 - where did that comma go? 2021-12-30 09:58:07 +01:00
Christoph Oelckers
34f14aa4c3 - added vector variants of FindDistance2D and FindDistance3D 2021-12-30 09:58:07 +01:00
Christoph Oelckers
29da39dda0 - added two FAFcansee variants that take shorter parameter lists for clearer code. 2021-12-30 09:58:06 +01:00
Christoph Oelckers
e3ce0da111 - make all actor pointers in the player struct regular pointers. 2021-12-30 09:58:06 +01:00
Christoph Oelckers
de3e66016c - removed the Actor() access method from Exhumed's player as well. 2021-12-30 09:58:06 +01:00
Christoph Oelckers
bf3f580d52 - deleted PLAYER::Actor()
Also made actor a regular pointer. Unlike the other ones this may not be prematurely nulled ever.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
d340a7e80c - u() and USERp are gone. 2021-12-30 09:58:05 +01:00
Christoph Oelckers
26f93ab724 - the final u()'s. 2021-12-30 09:58:05 +01:00
Christoph Oelckers
cf88bcbecb - handle u-> in player.cpp 2021-12-30 09:58:05 +01:00
Christoph Oelckers
bfea02a192 - a few in player.cpp 2021-12-30 09:58:05 +01:00
Christoph Oelckers
cc161fe66a - deleted u variables in track.cpp 2021-12-30 09:58:05 +01:00
Christoph Oelckers
c544046fb3 - renamed u-> in track.cpp 2021-12-30 09:58:05 +01:00
Christoph Oelckers
055982f0db - smaller u in track.cpp 2021-12-30 09:58:04 +01:00
Christoph Oelckers
050d93a92c - deleted unused pointers and handled u() in the script interface. 2021-12-30 09:58:04 +01:00
Christoph Oelckers
6df854d612 - replaced one sprite inline with its actor variant. 2021-12-30 09:58:04 +01:00
Christoph Oelckers
4e7724ece2 - deleted all leftover SPRITEp stuff. 2021-12-30 09:58:04 +01:00
Christoph Oelckers
f1c60e4a52 - fixed SpawnFireballFlames and deleted leftover sprite pointers. 2021-12-30 09:58:04 +01:00
Christoph Oelckers
2543a46278 - deleted all u variables from weapon.cpp 2021-12-30 09:58:03 +01:00
Christoph Oelckers
8739ef9182 - renamed all u-> in weapon.cpp 2021-12-30 09:58:03 +01:00
Christoph Oelckers
3e79c917f2 - the last u in weapon.cpp that are not actor->u() 2021-12-30 09:58:03 +01:00
Christoph Oelckers
b522356120 - stuff that was missed. 2021-12-30 09:58:03 +01:00
Christoph Oelckers
85b687ba13 - all eu, which are expActor. 2021-12-30 09:58:03 +01:00
Christoph Oelckers
e16caa0c62 - eu, that are not expActor 2021-12-30 09:58:03 +01:00
Christoph Oelckers
7147d3c89e - several non-u users in weapon.cpp 2021-12-30 09:58:02 +01:00
Christoph Oelckers
9485816cf7 - deleted u variables from sprite.cpp. 2021-12-30 09:58:02 +01:00
Christoph Oelckers
b9a8647d73 - renamed u-> in sprite.cpp 2021-12-30 09:58:02 +01:00
Christoph Oelckers
02d8551330 - non "u = actor" Users in sprite.cpp 2021-12-30 09:58:02 +01:00
Christoph Oelckers
221f1dc69a - handle u-> in slidor.cpp 2021-12-30 09:58:02 +01:00
Christoph Oelckers
9f27e05fef - deleted u variables in sector.cpp 2021-12-30 09:58:02 +01:00
Christoph Oelckers
121ae62108 - renamed u-> in sector.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
65b9841666 - handle u-> in rotator.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
be1d53db56 - deleted u variables in vator.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
ab359844aa - renamed u-> in vator.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
2ef7fc9bc2 - handle u-> in zilla.cpp and zombie.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
936febd505 - deleted u variables in player.cpp 2021-12-30 09:58:01 +01:00
Christoph Oelckers
3e21dd40a7 - renamed u-> in half of player.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
bc15bdf92c - renaming stuff in player.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
b606d01ca8 - u-> in panel.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
d84c4b4f20 - u() in sumo.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
9b18316fd7 - delete u variables in spike.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
d95a22485b - rename u-> in spike.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
9df3400a91 - deleted u variables in skull.cpp 2021-12-30 09:58:00 +01:00
Christoph Oelckers
cbec67dbf5 - renamed u-> in skull.cpp 2021-12-30 09:57:59 +01:00
Christoph Oelckers
1da38cbc8e - u-> in skel.cpp 2021-12-30 09:57:59 +01:00
Christoph Oelckers
4aed4a6965 - u() in serp.cpp 2021-12-30 09:57:59 +01:00
Christoph Oelckers
0274fa5b4b - deleted u variables in ripper2.cpp 2021-12-30 09:57:59 +01:00
Christoph Oelckers
574deb2111 - renamed u-> in ripper2.cpp 2021-12-30 09:57:59 +01:00
Christoph Oelckers
401f1f8dbc - deleted u variables in ripper.cpp. 2021-12-30 09:57:59 +01:00
Christoph Oelckers
4691da132d - renamed u-> in ripper.cpp 2021-12-30 09:57:58 +01:00
Christoph Oelckers
d14907e847 - deleted u variables in ninja.cpp 2021-12-30 09:57:58 +01:00
Christoph Oelckers
8ab8d219b3 - renamed u-> in ninja.cpp 2021-12-30 09:57:58 +01:00
Christoph Oelckers
704a730a45 - non "u = actor" Users in ninja.cpp. 2021-12-30 09:57:58 +01:00
Christoph Oelckers
e8e85c5816 - deleted u variables in miscactr.cpp. 2021-12-30 09:57:58 +01:00
Christoph Oelckers
8ffa12442c - renamed u-> in miscactr.cpp 2021-12-30 09:57:58 +01:00
Christoph Oelckers
a1c5c06e27 - u() in lava.cpp, light.cpp and predict.cpp 2021-12-30 09:57:58 +01:00
Christoph Oelckers
78fa76678d - deleted u variables in jweapon.cpp 2021-12-30 09:57:57 +01:00
Christoph Oelckers
08244a70f3 - renamed u-> in jweapon.cpp 2021-12-30 09:57:57 +01:00
Christoph Oelckers
a023087e2d - handle non u = actor->u() cases in jweapon.cpp. 2021-12-30 09:57:57 +01:00
Christoph Oelckers
f59fa8b13e - deleted all wu variables. 2021-12-30 09:57:57 +01:00
Christoph Oelckers
dc60cd7689 - renamed all wu-> in weapon.cpp. 2021-12-30 09:57:57 +01:00
Christoph Oelckers
521ad37618 - handle wu-> in weapon.cpp which do not reference actorNew. 2021-12-30 09:57:57 +01:00
Christoph Oelckers
6b0e944e7b - deleted wu variables in jweapon.cpp 2021-12-30 09:57:56 +01:00
Christoph Oelckers
7be6bfeb0e - replacing wu-> in jweapon.cpp 2021-12-30 09:57:56 +01:00
Christoph Oelckers
4eb32d5b18 - renaming stuff 2021-12-30 09:57:56 +01:00
Christoph Oelckers
388b3062fd - u() in input.cpp, interpso.cpp and inv.cpp 2021-12-30 09:57:56 +01:00
Christoph Oelckers
41753240dd - deleted u in hornet.cpp 2021-12-30 09:57:56 +01:00
Christoph Oelckers
64598f6167 - renamed u-> in hornet.cpp 2021-12-30 09:57:56 +01:00