Commit graph

1134 commits

Author SHA1 Message Date
Christoph Oelckers
a3162f6ccf - renamed testnewrenderer CVAR. 2022-01-07 12:49:41 +01: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
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
7205319853 - Blood: clean up some variable mess in actFireVector 2022-01-02 17:23:01 +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
3b833029b0 - Blood: fixed interpolation of sprites on rotating sectors. 2022-01-02 13:00:55 +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
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
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
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
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
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
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
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
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
00a7be545d - added a map preview to the user map browser. 2021-12-30 09:58:08 +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
6dcc8761fe - replaced the last remaining s() calls in Blood's interface and deleted the method. 2021-12-30 09:57:51 +01:00
Christoph Oelckers
032c597fa5 - renamed shadowing variables in Blood. 2021-12-30 09:57:32 +01:00
Mitchell Richters
36fc6ede8e - Blood: Repair actor variable collision in GetZRange() causing all kinds of weirdness. 2021-12-30 09:57:31 +01:00
Christoph Oelckers
1bb7f3764d - handle all s() cases in Exhumed using pSprite but not pActor->s(). 2021-12-30 09:57:23 +01:00
Christoph Oelckers
bd47f56a5c - x() is gone entirely. 2021-12-30 09:57:22 +01:00
Christoph Oelckers
e940fe1931 - the rest of nnexts.cpp 2021-12-30 09:57:22 +01:00
Christoph Oelckers
4177c31deb - next batch of nnexts.cpp 2021-12-30 09:57:22 +01:00
Christoph Oelckers
d3e4f591f2 - third x() batch in nnexts.cpp. 2021-12-30 09:57:21 +01:00
Christoph Oelckers
60382d9992 - all pXCond's. 2021-12-30 09:57:21 +01:00
Christoph Oelckers
fd234984f5 - first batch of x() in nnexts.cpp. 2021-12-30 09:57:21 +01:00
Christoph Oelckers
a291364606 - the big 'pXSprite = &actor->x()' replacement. 2021-12-30 09:57:21 +01:00
Christoph Oelckers
8d8e0550df - got rid of PLAYER::pXSprite.
Now the player references its actor through ONE pointer only.
2021-12-30 09:57:21 +01:00
Christoph Oelckers
b848a9c980 - some more. 2021-12-30 09:57:21 +01:00
Christoph Oelckers
0d5ea0f314 - handle most of PLAYER::pXSprite 2021-12-30 09:57:20 +01:00
Christoph Oelckers
aa3b930a4d - several x()'s in nnexts.cpp. 2021-12-30 09:57:20 +01:00
Christoph Oelckers
812a4ccd7b - handle sourceactor->x() in nnexts.cpp.
Almost exclusively done with search & replace.
2021-12-30 09:57:20 +01:00
Christoph Oelckers
5699488bea - get rid of spritetype in inactive code. (Search noise removal) 2021-12-30 09:57:20 +01:00
Christoph Oelckers
2254dacdf1 - forgot to save the last change. 2021-12-30 09:57:20 +01:00
Christoph Oelckers
5ad43256cc - the final s()'s in Blood. 2021-12-30 09:57:20 +01:00
Christoph Oelckers
582b83601d - targets in weapon.cpp, plus removal of the now redundant spritetype variants of IsTargetTeammate. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
bf25428225 - upper/lower in CheckLink. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
c67c6ed3da - the rest of triggers.cpp. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
06d8db1470 - deal with the markers in triggers.cpp. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
8d66c8468d - the remaining s()'s of nnexts.cpp. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
46320aabac - third batch of nnexts.cpp. 2021-12-30 09:57:19 +01:00
Christoph Oelckers
b8bee4dfe5 - upper/lower stuff in nnexts.cpp. 2021-12-30 09:57:18 +01:00
Christoph Oelckers
929fd7be99 - another block in nnexts.cpp. 2021-12-30 09:57:18 +01:00
Christoph Oelckers
e460d90f37 - several s() in nnexts.cpp. 2021-12-30 09:57:18 +01:00
Christoph Oelckers
6766a5922a - pass actors to calcChaseCamPos. 2021-12-30 09:57:18 +01:00
Christoph Oelckers
87894a5640 - deleted PLAYER::pSprite. 2021-12-30 09:57:18 +01:00
Christoph Oelckers
648537a96b - deal with most of PLAYER::pSprite. 2021-12-30 09:57:17 +01:00
Christoph Oelckers
f59af2cc2d - deal with most of PLAYER::pSprite in weapon.cpp. 2021-12-30 09:57:17 +01:00
Christoph Oelckers
b7ee813712 - global search & replace for many uses of PLAYER's pSprite pointer. 2021-12-30 09:57:17 +01:00
Christoph Oelckers
8dac94326a - s() stuff in player.cpp and gib.cpp 2021-12-30 09:57:17 +01:00
Christoph Oelckers
0a1184b388 - the last one in gameutil.cpp. 2021-12-30 09:57:17 +01:00
Christoph Oelckers
2f9848a459 - deal with pSource in nnexts.cpp. 2021-12-30 09:57:17 +01:00
Christoph Oelckers
5623832b17 - deleted the pSprite definitions from last commit. 2021-12-30 09:57:16 +01:00
Christoph Oelckers
6b8ec17017 - the ultimate 'replace pSprite-> with actor->spr. commit.
This takes care of the majority of s() uses in Blood with a single search&replace action after ensuring that pSprite never gets used for other things.
(There were two small functions in nnexts.cpp left that still did.)
2021-12-30 09:57:16 +01:00
Christoph Oelckers
1f11eb24dd - use actor pointers in preload.cpp 2021-12-30 09:57:16 +01:00
Christoph Oelckers
d8134c3fe8 - handle a few pSprite assignments which are not &actor->s(). 2021-12-30 09:57:16 +01:00
Christoph Oelckers
91214b5350 - xsprite in animatesprite.cpp. 2021-12-30 09:57:16 +01:00
Christoph Oelckers
773d7d118f - pXSprite in callback.cpp 2021-12-30 09:57:16 +01:00
Christoph Oelckers
a0b6873446 - handle s() in callback.cpp. 2021-12-30 09:57:15 +01:00
Christoph Oelckers
a1f6b363fb - asound.cpp, blood.cpp, db.cpp and parts of callback.cpp 2021-12-30 09:57:15 +01:00
Christoph Oelckers
09634c4993 - use actors instead of sprites in the new renderer's API. 2021-12-30 09:57:15 +01:00
Christoph Oelckers
1f57322d56 - the last one in aiunicult.cpp which the search did not show. 2021-12-30 09:57:14 +01:00
Christoph Oelckers
627318c39b - handle pXSprite in aiunicult.cpp 2021-12-30 09:57:14 +01:00
Christoph Oelckers
be9d71ca6b - non-pXSprite x()'s in aiunicult.cpp. 2021-12-30 09:57:14 +01:00
Christoph Oelckers
49c43297cd - pXSprite in AI... code. 2021-12-30 09:57:14 +01:00
Christoph Oelckers
f678e55daa - pSprite in aiunicult.cpp. 2021-12-30 09:57:14 +01:00
Christoph Oelckers
ff0b8ac5a9 - handle the hitactor parts missed in the last commit. 2021-12-30 09:57:13 +01:00
Christoph Oelckers
b1bd8f3eef - non-pSprite occurences of s() in aiunicult.cpp. 2021-12-30 09:57:13 +01:00
Christoph Oelckers
d0143db8fe - got rid of sx() and sm() inlines. 2021-12-30 09:57:13 +01:00
Christoph Oelckers
f67e39450e - deal with a handful of s() uses that do not match the more common patterns. 2021-12-30 09:57:13 +01:00
Christoph Oelckers
723e22743e - handle all x() calls in AI code. 2021-12-30 09:57:12 +01:00
Christoph Oelckers
389933fe3a - missed two... 2021-12-30 09:57:12 +01:00
Christoph Oelckers
1ebdb81e13 - deleted the actor->s() calls in AI code. 2021-12-30 09:57:12 +01:00
Christoph Oelckers
e123e61f99 - quick replace of 'pSprite->' with 'actor->spr.' in AI files. 2021-12-30 09:57:12 +01:00
Christoph Oelckers
612167cbf1 - handle all non- "pSprite = actor->s();" calls of s() in Blood AI code. 2021-12-30 09:57:12 +01:00
Christoph Oelckers
bff3bbea73 - handle all target sprites in AI code. 2021-12-30 09:57:12 +01:00
Christoph Oelckers
18c32d8fe9 - eliminated all x() in ai.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
9e6943ec83 - eliminated all s() in ai.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
41e003c831 - the remaining x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
bc42978295 - x() in actor.cpp callbacks. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
bd07313017 - almost the last x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
692a269d92 - still more x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
3f65aee70b - even more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
3201f85ab9 - yet more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
a1b2d4a21e - more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
ffeb52198a - lots of ->x() calls removed in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
6e0128eb4c - handle the remaining uses of s() in actor.cpp 2021-12-30 09:57:10 +01:00
Christoph Oelckers
b91fe45fc3 - handled all pSprite-> in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
27e9894ece - handled all parts of actor.cpp which are not "pSprite = &actor->s();" 2021-12-30 09:57:10 +01:00
Christoph Oelckers
88c77ec71a - some pSprite2's plus CheckSector. 2021-12-30 09:57:09 +01:00
Christoph Oelckers
fbb8f1ee70 - pSprite replacements in blood/src/actor.cpp 2021-12-30 09:57:09 +01:00
Christoph Oelckers
a87948677a - globally replaced ->x(). with ->xspr. 2021-12-30 09:57:09 +01:00
Mitchell Richters
dd0ff465b0 - Replace spritetypebase oz with opos.Z calls and eliminate spritetypebase opos union. 2021-12-30 09:57:07 +01:00
Mitchell Richters
a79b4b5ffc - Replace spritetypebase oy with opos.Y calls. 2021-12-30 09:57:06 +01:00
Mitchell Richters
e0fb92bb01 - Replace spritetypebase ox with opos.X calls. 2021-12-30 09:57:06 +01:00
Mitchell Richters
baf78848eb - Replace spritetypebase z with pos.Z calls and eliminate spritetypebase pos union. 2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e - Replace spritetypebase y with pos.Y calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f - Replace spritetypebase x with pos.X calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
09e00a69fe - Replace walltype y with pos.Y calls and eliminate walltype pos union. 2021-12-30 09:57:04 +01:00
Mitchell Richters
51b647da87 - Replace walltype x with pos.X calls. 2021-12-30 09:57:04 +01:00
Mitchell Richters
b2ab64bb62 - Capitalise vec3_t z variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
68e2691be7 - Capitalise vec3_t y variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276 - Capitalise vec3_t x variable. 2021-12-30 09:57:02 +01:00
Mitchell Richters
118ceb18ca - Capitalise vec2_t y variable. 2021-12-30 09:57:02 +01:00
Mitchell Richters
3c9cd926ba - Capitalise vec2_t x variable. 2021-12-30 09:57:02 +01:00
Christoph Oelckers
3221ecf800 - refactored xsprite use in aibat.cpp. 2021-12-30 09:57:01 +01:00
Christoph Oelckers
33a00869d8 - shortened the name of DBloodActor::xsprite to xspr. 2021-12-30 09:57:01 +01:00
Christoph Oelckers
f8171ac5d9 - eliminate pSprite pointers in aibat.cpp. 2021-12-30 09:57:01 +01:00
Christoph Oelckers
d9d05e90b5 - globally replaced all occurences of '->s().' with '->spr.' 2021-12-30 09:57:00 +01:00
Christoph Oelckers
f816f2fb22 - ->s in non-gameplay files. 2021-12-30 09:56:59 +01:00
Christoph Oelckers
156369ac8a - Blood: don't crash when cultists accidentally target themselves. 2021-12-30 09:56:54 +01:00
Christoph Oelckers
785c7d4ceb - removed numsectors and numwalls entirely.
With Blood's Polymost mirror hack the risk of getting out of sync with the arrays was a genuine issue, so now only the array size counts.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
df0c577cf4 - replaced most of numsectors, too. 2021-12-30 09:56:54 +01:00
Christoph Oelckers
f1c0298825 - replaced numwalls with wall.Size in several places. 2021-12-30 09:56:54 +01:00
Christoph Oelckers
65bc6e6aef - removed the now redundant wall() and sector() interator helper functions.
With both wall and sector now being TArrays they are not needed anymore.
2021-12-30 09:56:53 +01:00
Mitchell Richters
1e63c8305b - Fix build issues under GCC. 2021-12-30 09:56:51 +01:00
Christoph Oelckers
5ff36f491e - fixed the remaining places where the compiler complained about cstat. 2021-12-30 09:56:51 +01:00
Christoph Oelckers
955996dddc - the rest of Blood's flags, part II 2021-12-30 09:56:50 +01:00