Commit graph

9732 commits

Author SHA1 Message Date
Christoph Oelckers
bbb860ccf3 - consolidate the iterators in the backend.
Using a template class that can adapt to the game specific types.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
12f6b05cbe - use access functions, all done by search & replace. 2021-12-26 23:09:44 +01:00
Christoph Oelckers
6748a39c8f - deprecate the sector index variant of pushmove 2021-12-26 23:09:43 +01:00
Christoph Oelckers
2aefe4398b - sector[tspr->sectnum] globally replaced. 2021-12-26 23:09:43 +01:00
Christoph Oelckers
02ef323086 - SW: handle getzrangepoint 2021-12-26 23:09:43 +01:00
Christoph Oelckers
53be5d1622 - use a sector pointer in FAFgetzrange. 2021-12-26 23:09:43 +01:00
Christoph Oelckers
70d7e81f4f - adapted getzrange to the new interface.
This was mainly removing game side solutions in favor of a common one in the backend.
2021-12-26 23:09:42 +01:00
Christoph Oelckers
729076b79d - adapted neartag in SW and Exhumed. 2021-12-26 23:09:42 +01:00
Christoph Oelckers
91e2391911 - adapted neartag in Duke. 2021-12-26 23:09:42 +01:00
Christoph Oelckers
1840ab0d05 - deal with a few ->sectnum's in SW. 2021-12-26 23:09:42 +01:00
Christoph Oelckers
321608e5ac - made cursectnum et. al. real pointers. 2021-12-26 23:09:41 +01:00
Christoph Oelckers
f19f656dd9 - deal with SW's Warp functions. 2021-12-26 23:09:41 +01:00
Christoph Oelckers
10d0ea29ce - renamed some sectnum variables. 2021-12-26 23:09:41 +01:00
Christoph Oelckers
ef6bc9db56 - do the remaining clipmove calls. 2021-12-26 23:09:41 +01:00
Christoph Oelckers
bdbb3b4004 - handled the main actor movement functions. 2021-12-26 23:09:40 +01:00
Christoph Oelckers
afd05add96 - adapted several clipmove calls in SW. 2021-12-26 23:09:40 +01:00
Christoph Oelckers
c0b0b00f96 fixed collision access. 2021-12-26 23:09:09 +01:00
Christoph Oelckers
30f36e4871 - use backend's collision struct in SW. 2021-12-26 23:08:58 +01:00
Christoph Oelckers
b3bbf8932e - same procedure for Exhumed. 2021-12-26 23:08:58 +01:00
Christoph Oelckers
8ce34c7772 - use refactored Collision struct and clipmove in Blood, too. 2021-12-26 23:08:57 +01:00
Christoph Oelckers
4788c7ba5e - made Collision derive from a common base class and refactored clipmove to a single engine-side entry point.
Done for Doom so far.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
96b9572905 - moved parts of the HitInfo subclasses into the backend.
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
a5ccd2ccd2 - adapted FAFhitscan to the new backend API.
Lots of search & replace to change the names of the HitInfo struct, no manual edits outside of FAFhitscan.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
3f43f48b57 - adapted all SW hitscan calls outside of FAFhitscan. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
4bfb03b6b3 - adapted hitscan calls in Exhumed. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
10dce7dd2d - adapted all hitscan calls in Duke/RR. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
129ce0aea8 - migrated Blood's hitscan calls and its global gHitInfo struct. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
9380819e4e - initialize actorArray for all games.
- the foundation for an actor aware backend.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
52c80f187a - added coreactor.h 2021-12-26 23:08:55 +01:00
Christoph Oelckers
e526686d1e - the really final ones. 2021-12-26 23:08:55 +01:00
Christoph Oelckers
7dd2f79676 - the final ones before moving to the backend. 2021-12-26 23:08:55 +01:00
Christoph Oelckers
33d2d80c42 - sector references in remote, some cursectnum replacements. 2021-12-26 23:08:55 +01:00
Christoph Oelckers
104e80e34a - NEAR_TAG_LIST, also deleted useless OperateWall code. 2021-12-26 23:08:55 +01:00
Christoph Oelckers
b7cfb07245 - all sectnums that can trivially be replaced.
Most of the rest is in backend calling code and should be done while cleaning up the backend API.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
19f8458f01 - FindCeilingView, FindFloorView and related things. 2021-12-26 23:08:54 +01:00
Christoph Oelckers
db95dc95d1 - FAF_Sector + SpawnQuake 2021-12-26 23:08:54 +01:00
Christoph Oelckers
98c3d57b73 - ->sectnum in ai.cpp and draw.cpp. 2021-12-26 23:08:54 +01:00
Christoph Oelckers
cf6e75ad54 - the final doable sector[] replacements.
The rest needs to be done with the backend.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
e2e0f69393 - deleted deprecated Warp... functions. 2021-12-26 23:08:54 +01:00
Christoph Oelckers
c4f29772ae - SpawnVis 2021-12-26 23:08:53 +01:00
Christoph Oelckers
1457cf2c0d - track stuff 2021-12-26 23:08:53 +01:00
Christoph Oelckers
b3eceb3b56 - the remaining trivial sector[] replacements 2021-12-26 23:08:53 +01:00
Christoph Oelckers
1a7cc6d782 - FAFgetzrangepoint + ActorDrop 2021-12-26 23:08:53 +01:00
Christoph Oelckers
959c3bc18b - springboard 2021-12-26 23:08:53 +01:00
Christoph Oelckers
0345615518 - some smaller changes. 2021-12-26 23:08:52 +01:00
Christoph Oelckers
9a6bd0b7e1 - SectorWallBits 2021-12-26 23:08:52 +01:00
Christoph Oelckers
1763fbc7ff - OperateSector 2021-12-26 23:08:52 +01:00
Christoph Oelckers
df558bd9a2 - GetUpperLowerSector 2021-12-26 23:08:52 +01:00
Christoph Oelckers
0c9d465e4c - FAF_Connect* functions and related code. 2021-12-26 23:08:52 +01:00
Christoph Oelckers
96915a646b - SectorZadjust 2021-12-26 23:08:52 +01:00
Christoph Oelckers
b076edcc6f - PlayerRemoteReset 2021-12-26 23:08:51 +01:00
Christoph Oelckers
75af6966c9 - FAFHitscan cleanup. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
1a7c70cbbd - use pointers in FAFHitscan 2021-12-26 23:08:51 +01:00
Christoph Oelckers
6ae8e93de8 - hitinfo.hitwall is also gone. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
270a443c88 - hitinfo.hitsect is gone. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
bcc61470a2 - mostly deal with hitinfo.hitsect. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
f495097663 - first step of replacing hitinfo.hitsect with a pointer.
This takes care of easy to handle common patterns
2021-12-26 23:08:50 +01:00
Christoph Oelckers
1162442068 - handle most GetOverlapSector callers. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
11d3a660ad - GetOverlapSector internals. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
4d5c255b08 - adjust a few warp functions. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
c4e388ef56 - merged SpawnActor wrapper. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
d447e3e86f - make the sector reference in SINE_WAVE_FLOOR a pointer. 2021-12-26 23:08:49 +01:00
Christoph Oelckers
16480ccfcc - use sector wrappers where applicable. 2021-12-26 23:08:49 +01:00
Christoph Oelckers
52d9451cbc - SOP::op_main_sector 2021-12-26 23:08:49 +01:00
Christoph Oelckers
f388efc5ef - eliminated the redundant SOP::sector array. 2021-12-26 23:08:49 +01:00
Christoph Oelckers
c43d594f34 - SectorIsUnderwaterArea 2021-12-26 23:08:49 +01:00
Christoph Oelckers
4149a335a3 - SOP::mid_sector 2021-12-26 23:08:48 +01:00
Christoph Oelckers
b936345e11 - sectnum() cleanup and AnimSet return type. 2021-12-26 23:08:48 +01:00
Christoph Oelckers
f68d17133a - SectorSetup, SetupSectorObject 2021-12-26 23:08:48 +01:00
Christoph Oelckers
3b16db7a0f - SectorMidPoint 2021-12-26 23:08:48 +01:00
Christoph Oelckers
da8a5f282d - CopySectorMatch 2021-12-26 23:08:48 +01:00
Christoph Oelckers
de5377cb2c - WallBreakPosition 2021-12-26 23:08:48 +01:00
Christoph Oelckers
d6cd291030 - use a wall pointer in SINE_WAVE 2021-12-26 23:08:47 +01:00
Christoph Oelckers
33b3864d14 - final wall not related to hitscan/neartag. 2021-12-26 23:08:47 +01:00
Christoph Oelckers
f0dd018ad4 - use pointers in sparks interface. 2021-12-26 23:08:47 +01:00
Christoph Oelckers
4acca06c71 - the final wall iterators. 2021-12-26 23:08:47 +01:00
Christoph Oelckers
bb315f8148 - more wall cleanup 2021-12-26 23:08:47 +01:00
Christoph Oelckers
031ad6e4a5 - wall[] in wallmove.cpp 2021-12-26 23:08:47 +01:00
Christoph Oelckers
01c8662c3c - wall[] in track.cpp 2021-12-26 23:08:46 +01:00
Christoph Oelckers
770b242c76 - wall[] in sector.cpp 2021-12-26 23:08:46 +01:00
Christoph Oelckers
5cafd7b591 - QueueHole 2021-12-26 23:08:46 +01:00
Christoph Oelckers
e3ad05d4d7 - quick cursectnum replacements. 2021-12-26 23:08:46 +01:00
Christoph Oelckers
c0496420ec - LadderSector 2021-12-26 23:08:46 +01:00
Christoph Oelckers
991795df4b - CollectPortals 2021-12-26 23:08:46 +01:00
Christoph Oelckers
d0eece244b - got rid of most nextsector references. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
612a9e258e - auto replacement. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
b7a2687a7b - all nextwall references removed. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
ca536ce5bd - quick wall[] replacements. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
ce4a44dd84 - hitinfo.hitwall. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
9f9c01284b - all wall loops using point2. 2021-12-26 23:08:44 +01:00
Christoph Oelckers
7e6de45e46 - WallSetup + SpriteSetup 2021-12-26 23:08:44 +01:00
Christoph Oelckers
d8893f3521 - DoSlidorInstantClose 2021-12-26 23:08:44 +01:00
Christoph Oelckers
9c21483279 - wall[] in light.cpp and player.cpp 2021-12-26 23:08:44 +01:00
Christoph Oelckers
732aa2023b - over_sp/under_sp sectnums 2021-12-26 23:08:44 +01:00
Christoph Oelckers
302016956f - sector parameters in SpawnActor calls. 2021-12-26 23:08:43 +01:00
Christoph Oelckers
e17da708e7 - lots of ->sectnum search & replace. 2021-12-26 23:08:43 +01:00
Christoph Oelckers
d1f156dec3 - most InsertActor calls. 2021-12-26 23:08:43 +01:00
Christoph Oelckers
cab2181ddc - PrevWall 2021-12-26 23:08:43 +01:00
Christoph Oelckers
5cf776daaa - sector save struct. 2021-12-26 23:08:43 +01:00
Christoph Oelckers
eb82f60981 - FAFcansee. 2021-12-26 23:08:42 +01:00
Christoph Oelckers
3ccf3ab52d - pointers in mirror struct. 2021-12-26 23:08:42 +01:00
Christoph Oelckers
4d8434ffd2 - CircleCamera and interpso.cpp 2021-12-26 23:08:42 +01:00
Christoph Oelckers
317aa3f217 - CopySectorWalls 2021-12-26 23:08:42 +01:00
Christoph Oelckers
75d59196fc - WallBreakPosition (wall pointer only) 2021-12-26 23:08:42 +01:00
Christoph Oelckers
6e018bd056 - DoSlidorMoveWalls 2021-12-26 23:08:42 +01:00
Christoph Oelckers
ac655abc42 - search & replace only. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
82447233a7 - several getangle(delta) blocks. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
0a0cc85407 - renamed HITINFO fields. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
993d460420 - another delta. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
fe3a02420a - major cleanup and condensing of DoSlidorInterp
The logic here still looks very weird but let's keep it to ensure proper functioning.
2021-12-26 23:08:41 +01:00
Christoph Oelckers
a93dbaf5fe - SW: simplified rotation interpolation functions. 2021-12-26 23:08:40 +01:00
Christoph Oelckers
33c707c708 - Duke: getangle simplification 2021-12-26 23:08:40 +01:00
Christoph Oelckers
5d78b228b7 - the final bits and pieces in Blood 2021-12-26 23:08:40 +01:00
Christoph Oelckers
41506f35db - calcviewpitch 2021-12-26 23:08:40 +01:00
Christoph Oelckers
879407538e - several 'sectnum's. 2021-12-26 23:08:40 +01:00
Christoph Oelckers
9388f839b6 - main view render function and dependencies. 2021-12-26 23:08:40 +01:00
Christoph Oelckers
0797e7ac90 - trInit 2021-12-26 23:08:39 +01:00
Christoph Oelckers
7442edc59f - more trigger stuff 2021-12-26 23:08:39 +01:00
Christoph Oelckers
2967edf827 - triggers.cpp subfunctions. 2021-12-26 23:08:39 +01:00
Christoph Oelckers
8f3c97dde4 - SetSectorState 2021-12-26 23:08:39 +01:00
Christoph Oelckers
7f94eee9bb - busy interface + unlimiting. 2021-12-26 23:08:00 +01:00
Christoph Oelckers
28840b3afa - pass sectors to AddBusy and ReverseBusy. 2021-12-26 22:35:08 +01:00
Christoph Oelckers
9d423d19cd - partial transition of busy interface to sector pointers. 2021-12-26 22:25:59 +01:00
Christoph Oelckers
9017fee74f - FindSector. 2021-12-25 21:29:17 +01:00
Christoph Oelckers
b8953849ee - secnum in fx.cpp 2021-12-25 21:29:17 +01:00
Christoph Oelckers
765ff7609d - all remaining ->sectnum in nnexts.cpp. 2021-12-25 21:29:16 +01:00
Christoph Oelckers
d0376e5485 - nnext sound functions. 2021-12-25 21:29:16 +01:00
Christoph Oelckers
b7c4e4b9fa - useSlopeChanger 2021-12-25 21:29:16 +01:00
Christoph Oelckers
36d66f14b5 - smaller stuff 2021-12-25 21:29:16 +01:00
Christoph Oelckers
4438c20cb4 - fxProcess 2021-12-25 21:29:16 +01:00
Christoph Oelckers
f52a542fad - callback interface. 2021-12-25 21:29:15 +01:00
Christoph Oelckers
e4e5bd0966 - CFX::fxSpawnActor 2021-12-25 21:29:15 +01:00
Christoph Oelckers
331a7654bf - actSpawnThing 2021-12-25 21:29:15 +01:00
Christoph Oelckers
443cfc991c - actSpawnSprite, ZONE, startsectnum and dbLoadMap 2021-12-25 21:29:15 +01:00
Christoph Oelckers
b187f3c028 - CheckProximity 2021-12-25 21:29:15 +01:00
Christoph Oelckers
e172d0c138 - actRadiusDamage 2021-12-25 21:29:14 +01:00
Christoph Oelckers
3d336c13ac - GetClosestSpriteSectors 2021-12-25 21:29:14 +01:00
Christoph Oelckers
f9b2b6311f - slope checks in sprite display code. 2021-12-25 21:29:14 +01:00
Christoph Oelckers
b063e19980 - gFX.fxSpawnActor and a few other simple replacements. 2021-12-25 21:29:14 +01:00
Christoph Oelckers
d99542a678 - get*slope and sfxPlay3DSound 2021-12-25 21:29:14 +01:00
Christoph Oelckers
9343e3f9c4 - handle most cansee calls. 2021-12-25 21:29:13 +01:00
Christoph Oelckers
c8f4caf364 - animatesprite.cpp. 2021-12-25 21:29:13 +01:00
Christoph Oelckers
a34e89c8b7 - debrisMove + getting rid of the index based ClipMove variant. 2021-12-25 21:29:13 +01:00
Christoph Oelckers
94671c5b05 - MoveMissile + GetZRangeXYZ 2021-12-25 21:29:13 +01:00
Christoph Oelckers
9a85ff9bad - MoveThing 2021-12-25 21:29:13 +01:00
Christoph Oelckers
611d35222e - MoveDude 2021-12-25 21:29:13 +01:00
Christoph Oelckers
6ee9ae7ec6 - actFloorBounceVector 2021-12-25 21:29:12 +01:00
Christoph Oelckers
38c0bc915d - get rid of '.sectnum'. 2021-12-25 21:29:12 +01:00
Christoph Oelckers
669aa033e9 - wrap the bit tests for GetClosestSpriteSectors's return.
They need to check spritenum which is supposed to go away, so this function avoids keeping obsolete references.
2021-12-25 21:29:12 +01:00
Christoph Oelckers
368a21f75e - useDataChanger + setDataValueOfObject 2021-12-25 21:29:12 +01:00