Commit graph

4049 commits

Author SHA1 Message Date
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
Christoph Oelckers
a7fc5d2193 - refactored most wall[] references.
What's left is in either setup code or the mirror setup.
2021-12-25 21:29:12 +01:00
Christoph Oelckers
dd1e7dd94f - use HITINFO to let ActionScan return its result. 2021-12-25 21:29:11 +01:00
Christoph Oelckers
6fcc652111 - usePictureChanger + useIncDecGen
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-12-25 21:29:11 +01:00
Christoph Oelckers
96b6bb21ef - several smaller places.
This gets rid of the less frequent names to look for.
2021-12-25 21:29:11 +01:00
Christoph Oelckers
063e3fb34e - changed parameters of several modern action functions. 2021-12-25 21:29:11 +01:00
Christoph Oelckers
759a8428fa - dragPoint 2021-12-25 21:29:11 +01:00
Christoph Oelckers
7bffcad49f - trMessage* functions.
# Conflicts:
#	source/games/blood/src/eventq.cpp
2021-12-25 21:29:10 +01:00
Christoph Oelckers
45a8654fc2 - use EventObject in SEQINST 2021-12-25 21:29:10 +01:00
Christoph Oelckers
2721a59dc4 - use wall pointers in gib code. 2021-12-25 21:29:10 +01:00
Christoph Oelckers
f07fafea9c - use EventObject for OBJECTS_TO_TRACK. 2021-12-25 21:29:10 +01:00
Christoph Oelckers
dbbca2972a - use EventObject for condition serials. 2021-12-25 21:29:10 +01:00
Christoph Oelckers
da4ec51782 - convert info to an event object in condCheckMixed before doing any checks. 2021-12-25 21:29:09 +01:00
Christoph Oelckers
2b2a8c3ec8 - condPush cleanup in nnexts.cpp. 2021-12-25 21:29:09 +01:00
Christoph Oelckers
2c3d2f4850 - remove the RXBUCKET alias 2021-12-25 21:29:09 +01:00
Christoph Oelckers
9e02da6380 - alias RXBucket to EventObject. 2021-12-25 21:29:09 +01:00
Christoph Oelckers
483b28b258 - uses bucket interface in evSend. 2021-12-25 21:29:09 +01:00
Christoph Oelckers
1de75d2c0f - use wrapper stuff in GetBucketChannel. 2021-12-25 21:29:09 +01:00
Christoph Oelckers
042520e447 - variants of nnExtTriggerObject and getDataFieldOfObject that work directly on an RXBUCKET element. 2021-12-25 21:29:08 +01:00
Christoph Oelckers
10dc47a9bf - some remaining RXBUCKET access in nnexts.cpp 2021-12-25 21:29:08 +01:00
Christoph Oelckers
f775fe577c - use RXBUCKET interface in nnext's fight code. 2021-12-25 21:29:08 +01:00
Christoph Oelckers
f0c74981fe - use the new RXBUCKET interface for nnext's wind code. 2021-12-25 21:29:08 +01:00
Christoph Oelckers
546dee2724 - added accessors to RXBUCKET to match EventObject and renamed some of its members.
As a first preparation for replacement.
2021-12-25 21:29:08 +01:00
Christoph Oelckers
5787ec9618 - use EventObject as storage in EVENT. 2021-12-25 21:29:07 +01:00
Christoph Oelckers
5bec3be5e9 - abstracted access to event target objects. 2021-12-25 21:29:07 +01:00
Christoph Oelckers
32874414fd - evSendSector, too. 2021-12-25 21:29:07 +01:00
Christoph Oelckers
0472c78ddc - same for walls. 2021-12-25 21:29:07 +01:00
Christoph Oelckers
37f4843953 - changed evPostSector to receive a sector pointer instead of index. 2021-12-25 21:29:07 +01:00
Christoph Oelckers
292f100114 - pass an array of wall pointers to GetClosestSpriteSectors 2021-12-25 21:29:06 +01:00
Christoph Oelckers
d5e660a40c - converted gHitInfo.hitwall to a pointer. 2021-12-25 21:29:06 +01:00
Christoph Oelckers
2f6bd64746 - SetWallState parameters 2021-12-25 21:29:06 +01:00
Christoph Oelckers
79da890c6e - TranslateSector cleanup. 2021-12-25 21:29:06 +01:00
Christoph Oelckers
3f46507313 - some wall[] replaced. 2021-12-25 21:29:06 +01:00
Christoph Oelckers
378bf40143 - got rid of the mostly redundant GetWallType function. 2021-12-25 21:29:05 +01:00
Christoph Oelckers
1fc99d4733 - Blood: use wall pointers in wall utilities exclusively. 2021-12-25 21:29:05 +01:00
Christoph Oelckers
93cdaee9f0 - Blood: simplify GetWallAngle 2021-12-25 21:29:05 +01:00
Christoph Oelckers
7a7537961b - Blood: remove GetWallAngle variant with index parameter 2021-12-25 21:29:05 +01:00
Christoph Oelckers
624ad6a2ad - cleanup stuff.
Removed unneeded prototypes, renamed some variables; no logic changes.
2021-12-25 21:29:05 +01:00
Christoph Oelckers
943641d18e - renamed all nSector pointers to pSector
No logic changes!
2021-12-25 21:29:04 +01:00
Christoph Oelckers
a3ecbe6371 - MoveQS 2021-12-25 21:29:04 +01:00
Christoph Oelckers
b1b7608cf7 - most remaining sectnum references. 2021-12-25 21:29:04 +01:00
Christoph Oelckers
2027c6ebaf - the last sector[] 2021-12-25 21:29:04 +01:00
Christoph Oelckers
6e786fcf1e - RadialDamage + DimSector 2021-12-25 21:29:04 +01:00
Christoph Oelckers
24d4680f6e - sector[] in move.cpp 2021-12-25 21:29:03 +01:00
Christoph Oelckers
80f80ed5e5 - initsect 2021-12-25 21:29:03 +01:00
Christoph Oelckers
f09e7ed32f - spawn functions. 2021-12-25 21:29:03 +01:00
Christoph Oelckers
40ae38c173 - calcChaseCamPos. 2021-12-25 21:29:03 +01:00
Christoph Oelckers
a3f1821670 - nPlayerViewSect 2021-12-25 21:29:03 +01:00
Christoph Oelckers
eaa155d52e - various sectnums, 2021-12-25 21:29:02 +01:00
Christoph Oelckers
9b19845dfb - AddMovingSector/CheckPushBlock 2021-12-25 21:29:02 +01:00
Christoph Oelckers
63d66e95c5 - runlist_ProcessSectorTag 2021-12-25 21:29:02 +01:00
Christoph Oelckers
1163a79da9 - renamed sectp in runlist_ProcessSectorTag 2021-12-25 21:29:02 +01:00
Christoph Oelckers
a58548c2f9 - AIElev 2021-12-25 21:29:02 +01:00
Christoph Oelckers
7713723045 - Bullets and bobs. 2021-12-25 21:29:02 +01:00
Christoph Oelckers
b191bca49e - BuildAnim 2021-12-25 21:29:01 +01:00
Christoph Oelckers
2394420f48 - quick replacements 2021-12-25 21:29:01 +01:00
Christoph Oelckers
109ff8c3cb - Above and Below 2021-12-25 21:29:01 +01:00
Christoph Oelckers
7b84a1464c - don't access invalid sector in DrawView.
Old bug exposed by having operator[] assert on bad access to sector[].
2021-12-25 21:29:01 +01:00
Christoph Oelckers
aee560624d - some more sectors. 2021-12-25 21:29:01 +01:00
Christoph Oelckers
78d9b78193 - most of the rest of the walls. 2021-12-25 21:29:00 +01:00
Christoph Oelckers
5374dafb56 - switches 2021-12-25 21:29:00 +01:00
Christoph Oelckers
ec12eb11f6 - palette loops for renderer. 2021-12-25 21:29:00 +01:00
Christoph Oelckers
cdef530597 - PlayerPushSect 2021-12-25 21:29:00 +01:00
Christoph Oelckers
5e01841f1e - MoveSector et.al. 2021-12-25 21:29:00 +01:00
Christoph Oelckers
0b254255e2 - sector ambience 2021-12-25 21:28:59 +01:00
Christoph Oelckers
c933eff59f - Traps 2021-12-25 21:28:59 +01:00
Christoph Oelckers
e57f9e08e9 - slides. 2021-12-25 21:28:59 +01:00
Christoph Oelckers
44639faabb - Flickers 2021-12-25 21:28:59 +01:00
Christoph Oelckers
e90d1266ae - Glows. 2021-12-25 21:28:59 +01:00
Christoph Oelckers
dfbb5192fb - addFlash at.al. 2021-12-25 21:28:59 +01:00
Christoph Oelckers
20891f276d - use pointers in runlist_ProcessWallTag and all its subfunctions. 2021-12-25 21:28:58 +01:00
Christoph Oelckers
2d937891ac - 3x twoSided 2021-12-25 21:28:58 +01:00
Christoph Oelckers
2d1f5fc576 - Exhumed: some cleanup. 2021-12-25 21:28:58 +01:00
Christoph Oelckers
61d5680950 more wall loops 2021-12-25 21:28:58 +01:00
Christoph Oelckers
269bac76cd loop cleanup in SnapSectors 2021-12-25 21:28:58 +01:00
Christoph Oelckers
9203ca425e Exhumed: ExplodeEnergyBlock 2021-12-25 21:28:57 +01:00
Christoph Oelckers
38d64fc437 spritetype::setsector 2021-12-25 21:28:57 +01:00
Christoph Oelckers
c2613d9720 EventObject 2021-12-25 21:28:57 +01:00
Christoph Oelckers
4928187b02 - handle the RR geometry hack 2021-12-25 21:28:57 +01:00
Christoph Oelckers
9c7eecb55f - the rest of Duke’s sectnum, except RR's geo hack 2021-12-25 21:28:57 +01:00
Christoph Oelckers
714b5ac872 - movesprite handled 2021-12-25 21:28:56 +01:00
Christoph Oelckers
3bd1272e08 - sectnum removal step 2021-12-25 21:28:56 +01:00
Christoph Oelckers
6aac952658 - started eliminating sectnum 2021-12-25 21:28:56 +01:00
Christoph Oelckers
d1f7269ca8 replaced cursectnum with a cursector pointer 2021-12-25 21:28:56 +01:00
Christoph Oelckers
69a7b4d0bc - final cleanup before replacement 2021-12-25 21:28:55 +01:00
Christoph Oelckers
fcbf861ad4 - final preparations for changing type of cursectnum 2021-12-25 21:28:55 +01:00
Christoph Oelckers
22b2f64016 dukeplayer stuff 2021-12-25 21:28:55 +01:00
Christoph Oelckers
312b1fd39f - cursectnum first half 2021-12-25 21:28:55 +01:00
Christoph Oelckers
265abf7fa6 — Duke: Use BFSSectorSearch to handle the hitradius searches without using indices.
(and a bit nicer looking loop condition.)
2021-12-25 21:28:55 +01:00
Christoph Oelckers
b1b0c5d25c — Duke: use twoSided utility where appropriate. 2021-12-25 21:28:54 +01:00
Christoph Oelckers
d115d90961 - Duke: prefer calling the sector pointer variants of engine functions. 2021-12-25 21:28:54 +01:00
Christoph Oelckers
ef7fcd824f - use insector and sector pointer initialization for iterator 2021-12-25 21:28:54 +01:00
Christoph Oelckers
2979fb9e03 - new access methods for spritetype and DDukeActor. 2021-12-25 21:28:54 +01:00
Christoph Oelckers
16bdea1b2e More SW shorts 2021-12-25 21:28:54 +01:00
Christoph Oelckers
6a9b377724 SW de-shortification 2021-12-25 21:28:53 +01:00
Christoph Oelckers
4d7b45b68e - SW: first batch of short handling. 2021-12-25 21:28:53 +01:00
Christoph Oelckers
e179b9332d - all shorts reviewed.
Should be all clear now - the biggest limiter in Exhumed is the run list with ~25000 entries which may need more work if it is to be extended.
2021-12-25 21:28:53 +01:00
Christoph Oelckers
83a928adde - next 100 shorts reviewed.
seq.cpp/seq.h was just renamed to int16_t.
2021-12-25 21:28:52 +01:00
Christoph Oelckers
d73c7aa543 - short review and disasm variable renaming
(down to 200 shorts)
2021-12-25 21:28:52 +01:00
Christoph Oelckers
033a73bce0 - Exhumed short review, part 2.
Down to 350.
2021-12-25 21:28:52 +01:00
Christoph Oelckers
1790ced1f8 - Exhumed: renamed disassembly fields in player struct. 2021-12-25 21:28:52 +01:00
Christoph Oelckers
30b42d24a0 - Exhumed short review
(down to < 550)
2021-12-25 21:28:52 +01:00
Christoph Oelckers
4e30ba339b - got rid of the tempsector... arrays in Duke's polymost interface.
Instead use some of the free parts in sectortype thats needed for the other games.
2021-12-25 21:28:51 +01:00
Christoph Oelckers
c5e45f1021 - use actor->sector() to initialize iterators. 2021-12-25 21:28:51 +01:00
Christoph Oelckers
aada3f3d19 - renamed DDukeActor::getSector. 2021-12-25 21:28:51 +01:00
Christoph Oelckers
2247509a67 - Blood baseWall optimzation 2021-12-25 21:28:51 +01:00
Christoph Oelckers
d5c27e6239 - unlimited the bit arrays for the automap and the bunch drawer, removed some leftover constants/declarations. 2021-12-25 21:28:50 +01:00
Christoph Oelckers
d30bf8c8bb - fixed Blood's mirror render hack for Polymost.
This adds 4 walls and 1 sector without counting them, so we must adjust allocations and array access to handle OOB access and temporarily increase the counter for the mirror render pass.

The new renderer does not need this stuff.
2021-12-25 21:28:50 +01:00
Christoph Oelckers
8cca55c24a - made wall a TArray. 2021-12-25 21:28:50 +01:00
Christoph Oelckers
fded90c491 - SW: deleted SECT_USER. 2021-12-25 21:28:49 +01:00
Christoph Oelckers
7d2404ce76 - made sector a TArray. 2021-12-25 21:28:49 +01:00
Christoph Oelckers
a21f6b6240 - migrated Exhumed's sector extensions to the actual struct. 2021-12-25 21:28:49 +01:00
Christoph Oelckers
e034635e12 - migrated Blood's xsector and got rid of the static global array. 2021-12-25 21:28:48 +01:00
Christoph Oelckers
993821b75f - migrated Blood's other non-X sector properties. 2021-12-25 21:28:48 +01:00
Christoph Oelckers
f7e61eeef7 - migrated Blood's portal links into sectortype. 2021-12-25 21:28:48 +01:00
Christoph Oelckers
cc41f4e7c6 - migrated Duke's added sector properties. 2021-12-25 21:28:48 +01:00
Christoph Oelckers
14907a9a97 - sector extension basics. 2021-12-25 21:28:48 +01:00
Mitchell Richters
46f4f17644 - Blood: Fix linker error under POSIX compilation environments. 2021-12-25 21:28:47 +01:00
Christoph Oelckers
94a37dfcdc - extended walltype to directly manage Blood's XWALL.
Unfortunately this had to be done in the base class so that we can still maintain the walls in a global array.
The tradeoffs of better abstractions would be far too costly here than the added 16 bytes to the wall struct.
2021-12-25 21:28:47 +01:00
Christoph Oelckers
6217623c24 - Blood: removed unused/redundant functions. 2021-12-25 21:28:47 +01:00
Christoph Oelckers
56a1836e68 - all SectUsers replaced, except for the maintenance code of the array. 2021-12-25 21:28:47 +01:00
Christoph Oelckers
bd43f49c29 - replaced half of the remaining SectUser accesses. 2021-12-25 21:28:46 +01:00
Christoph Oelckers
5cda292d98 - lots of search& replace actions.
This takes care of roughly 2/3 of the SectUser accesses.
2021-12-25 21:28:46 +01:00
Christoph Oelckers
4266edfa04 - SW: automatic ->sector() replacements (lots of them) 2021-12-25 21:28:46 +01:00
Christoph Oelckers
5b87370b5e - SW: wall[] replacements in CopySectorWalls 2021-12-25 21:28:45 +01:00
Christoph Oelckers
a5fac26a90 - DIVx macro removal.
Only DIV2 left because there are too many calls to quickly remove them.
2021-12-25 21:28:45 +01:00
Christoph Oelckers
a6bf9c7208 - use proper owner interface in nnext sound check. 2021-12-25 21:28:45 +01:00
Christoph Oelckers
72da21a7e3 - renamed variable for clarification. 2021-12-25 21:28:45 +01:00
Christoph Oelckers
bee70155d2 - make XSPRITE::target a pointer 2021-12-25 21:28:45 +01:00
Christoph Oelckers
d576e8f438 - removed a few of the remaining shorts. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
28f7303af3 - a few automatic replacements. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
93f5a111bf - all direct references to xsector have been removed. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
c54137766c - iterator loops in sectorfx.cpp. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
b3bf1bc037 - some simple replacements, mostly search & replace. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
8f5b9d2f03 - nXSector is gone. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
a0ef54cb54 - remove XSECTOR::reference. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
4ed1ee77c7 - several more xsector references removed. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
adaa132515 - lots of boilerplate sections to get a pXSector pointer replaced.
Looks like this was originally an inline function, judging from how this was repeated all over again.
2021-12-25 21:28:43 +01:00
Christoph Oelckers
2e8e5544c5 - ActionScan internals cleaned up. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
1a8cf9b2f9 - removed pX... parameter from ActionScan. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
f06697ed29 - removed pX... parameter from from trTriggerSector. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
ccd6af6272 - Blood: transitioned several functions in actor.cpp to the new method to acces the x() data. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
32f141ad39 - XSECTOR::reference is gone. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
576a473ec8 -XWALL::references is not needed anymore. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
db9d12d19f - evrListRedirectors
The wall/sector parts of this look currently unused,
2021-12-25 21:28:42 +01:00
Christoph Oelckers
b23a2865b8 - useSectorLightChanger 2021-12-25 21:28:41 +01:00
Christoph Oelckers
1472d021f6 - use regular indices instead of xindices for the SEQ list.
This also fixes incorrect use of walls in the nnext sector checks for sequences.
2021-12-25 21:28:41 +01:00
Christoph Oelckers
c019e118a5 - cleanup of shadeList, panList and wallPanList.
Made them TArrays and let them store pointers to the contained objects instead of xoffsets.
2021-12-25 21:28:41 +01:00
Christoph Oelckers
c182900425 - cleanup of trTriggerWall's API. 2021-12-25 21:28:41 +01:00
Christoph Oelckers
59312c42bb - eliminated ca. half of the xwall references. 2021-12-25 21:28:41 +01:00
Christoph Oelckers
9cad3196ed - getSourceBusy 2021-12-25 21:28:40 +01:00
Christoph Oelckers
4cfc1577e2 - some simple xwall[] replacements. 2021-12-25 21:28:40 +01:00
Christoph Oelckers
70da9e2526 - first xwall[] removal in Blood. 2021-12-25 21:28:40 +01:00
Christoph Oelckers
19f3365efc - Blood: add x-access functions to spritetype and walltype.
This is merely a refactoring aid to get everything in a state that later allows merging these into one.
2021-12-25 21:28:40 +01:00
Christoph Oelckers
9ab35816ea - the crane still stored a sector index in temp_data. 2021-12-25 21:28:40 +01:00
Christoph Oelckers
69c21407a7 - pass a sector pointer to checkcursectnums. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
3ce2375a3e - LocateTheLocator + related sector storage in temp_data 2021-12-25 21:28:39 +01:00
Christoph Oelckers
64f1029416 - Duke: pass a sector pointer to callsound. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
f6db4a8e51 - SW: move User into DSWActor. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
fe83487c77 - missed one bit of old savegame 2021-12-25 21:28:39 +01:00
Christoph Oelckers
47e207f158 - eliminated spritetype::index.
# Conflicts:
#	source/games/sw/src/swactor.h
2021-12-25 21:28:38 +01:00
Christoph Oelckers
fa48b740c0 -proper owner storage for Duke. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
b9602bbb05 - store owner outside the sprite. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
10e6486744 - fixed typo in GenDudeExtra save check. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
771f5e3338 - removed all old savegame handling 2021-12-25 21:28:38 +01:00
Christoph Oelckers
77a23e39c5 - Blood: added closing EndObject() call to DUDEEXTRA serializer. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
6705e8e51e - moved xsprite into DBloodActor and save all relevant parts of DBloodActor.
This completes Blood's transition.
2021-12-25 21:28:37 +01:00
Christoph Oelckers
766d87106a - we do not need XSPRITE::reference anymore. 2021-12-25 21:28:37 +01:00
Christoph Oelckers
3d22bfa362 - do not crunch condition info to an int.
Once the global sprite array is gone we need full actor info here.
2021-12-25 21:28:37 +01:00
Mitch Richters
c6f2aaf1b7 - Miscellaneous fixes to commit to change sector checks over to validSectorIndex().
* Fix missed changeover in Blood's `actSpawnSprite()`.
* Fix non-negated check on a `validSectorIndex()` call in Blood's `debrisMove()`.
* Removed a superfluous terminator in Duke's `actor.cpp`.
* Fixed bad call to `validSectorIndex()` in Exhumed's `AIAnim::Tick()`.
2021-12-25 21:28:37 +01:00
Christoph Oelckers
999ec3c95a use validSectorIndex checks where appropriate.
Let’s hope that this sloppiness doesn’t have negative effects with broken maps.

# Conflicts:
#	source/games/sw/src/sprite.cpp

# Conflicts:
#	source/games/duke/src/prediction.cpp
#	source/games/duke/src/render.cpp
2021-12-25 21:28:37 +01:00
Christoph Oelckers
2d7c085617 - SW: fixed bad user in SpawnSplash 2021-12-25 21:27:36 +01:00
Christoph Oelckers
d1c6c783a6 - SW: fixed user spawned for wrong actor. 2021-12-25 20:35:53 +01:00
Christoph Oelckers
3ec904d5c0 - SW: fixed several bad User references in missile seeking code. 2021-12-25 20:11:40 +01:00
Christoph Oelckers
1c5fc16fa5 - SW: fixed two bad user assignments 2021-12-25 19:54:45 +01:00
Christoph Oelckers
a94f298600 - print new errors in red. 2021-12-16 11:56:26 +01:00
Christoph Oelckers
d011f3c201 - Blood: validate upper/lower sector links before starting a level.
Originally this just performed an OOB memory access, but with Raze's setup it would dereference a null pointer so these must be eliminated.
2021-12-16 11:54:55 +01:00
Christoph Oelckers
7f1a3431ca - SW: fixed accidentally inverted colliision check in DoMirvMissile. 2021-12-15 20:51:31 +01:00
Christoph Oelckers
4daad25e5c - use WORDS_BIGENDIAN directly in place of B_BIG_ENDIAN 2021-12-14 12:27:41 +01:00
Christoph Oelckers
7c4233bcf7 - replaced fallthrough__ with [[fallthrough]] as we are requiring C++17 and don't need workarounds for that. 2021-12-14 12:27:28 +01:00
Christoph Oelckers
7daa501a4d - removed all #include "compat.h" except the one in build.h
Still all compiles fine.
2021-12-14 12:24:10 +01:00
Christoph Oelckers
6e43f1a15a - Blood: refine picnum 0 filter to apply to face sprites only. 2021-12-13 17:58:11 +01:00
Mitchell Richters
6aecc18c35 - SW: Use floating point radians instead of converting integer Build angle into radians for when updating a sound's angle. 2021-12-13 23:37:11 +11:00
Christoph Oelckers
8abd67a3b1 - fixed sound listener angle for the remote control case.
It was taking the angle of the rotating sector object instead of the angle from the listener's position to it.
2021-12-13 13:24:33 +01:00
Christoph Oelckers
498abf25f3 - Blood: make sure that invalid sprites don't get rendered at all.
Seems the game may have depended on them being clipped by the floor or ceiling.
2021-12-13 11:45:28 +01:00
Christoph Oelckers
e104316e75 - fixed bad parameter to getzrange.
This originated from 1d39bb371e where the getzrange_old function was removed
2021-12-13 09:39:57 +01:00
Christoph Oelckers
507dc10e4f - Duke/RR: Fixed sprite validation checks in animatesprites. 2021-12-11 09:57:02 +01:00
Mitchell Richters
3269d6a398 - Duke: Ensure all weapon variables used for interpolation have the o values set when CON updates them.
* Hasn't been an issue to date but could become one should a mod set these.
* Can't simply back the variable up and set the main one because unless the mod knows we're interpolating, it could have undesirable effects.
2021-12-10 17:31:51 +11:00
Mitchell Richters
ee1ffd2347 - Duke: Fix lotag signedness issue affecting SE10 (door auto-close).
* Originated in 01abe7b2ac while removing a casting to short.
* Fixes #594.
2021-12-10 17:26:56 +11:00
Mitch Richters
5aa4243327 - Duke: Test tsprite's sector in animatesprites_d() following crash while noclipping in Duke WT's E5L1. Apply same fix to animatesprites_r() as well. 2021-12-07 22:55:08 +11:00
Mitch Richters
6aba76cfe5 - Duke/RR: Fix RR crash while operating weapon outside of a sector (noclipping, etc). 2021-12-07 21:42:21 +11:00
Mitchell Richters
af96180123 - Duke/RR; Don't lose the precision of p->MotoSpeed when calculating p->VBumpTarget. 2021-12-07 20:02:30 +11:00
Mitch Richters
63a19bbb15 - Port spritetype::insector() over from develop and use with sector nullptr checks in 6539d72663. 2021-12-07 19:56:50 +11:00
Mitch Richters
6539d72663 - Duke/RR: Add three sector nullptr checks after receiving crash in Redneck Rampage Route 66 while noclipping. 2021-12-07 19:44:35 +11:00
Mitch Richters
85a2e3bd06 - Duke/RR: Do nullptr test in floorspace_d()/floorspace_r() functions to match ceilingspace_*() functions. 2021-12-07 19:41:25 +11:00
Mitch Richters
a7e99a3bd1 - Duke/RR: Do nullptr test in ceilingspace_r() after receiving crash in Redneck Rampage Route 66 (do Duke for parity). 2021-12-07 19:41:22 +11:00
Mitch Richters
96867e15d5 - Duke: Apply same nullptr fix in 2e7496888a to prelevel_r(), and rename sect to sectp for 1:1 match between _d.cpp and _r.cpp files. 2021-12-07 19:41:18 +11:00
Mitch Richters
2e7496888a - Duke: Re-add lost nullptr check in prelevel_d() that was causing a crash while loading Duke Nukem's Penthouse Paradise. 2021-12-03 10:14:41 +01:00
Christoph Oelckers
81268cb9b6 partial Revert of "- optimized vector math."
This reverts commit 826fd7ddb2.

Looks like there's dependencies on the intermediate variables. The optimized code gave the same result but did not work anymore.
2021-12-02 23:32:20 +01:00
Christoph Oelckers
c2baa68160 - fixed camera textures breaking in SW when restarting a level.
This was caused by attempting to delete the camera textures when cleaning up the mirror array.
The Build tile manager was not prepared for such a use case and left a broken texture behind.

To allow this to function it now resets the texture replacement type when deleting a tile and to avoid creating new camera textures these will now be stored in a cache and recycled later.
2021-12-02 21:40:43 +01:00
Christoph Oelckers
60630f5b84 - do not init pointers to 0xffffffffffffffff.
These will most certainly crash when used in any way.
2021-12-02 18:42:02 +01:00
Christoph Oelckers
cb099b1b66 - added two missing semicolons.
Unbelievable that this was legal C++ and didn't even get a warning!
2021-12-01 23:30:02 +01:00
Christoph Oelckers
57aca0ed07 - SW: fixed sector object setup with vator effect.
This used some weird initialization logic that was missed when first modifying this code.
2021-12-01 21:00:00 +01:00
Christoph Oelckers
324e35e776 - SW: fixed use of uninitialized variable in WallSetup 2021-12-01 19:55:18 +01:00
Christoph Oelckers
5bb114ba6e - fixed two bad actor references in Exhumed's radial damage code.
The radial source is passed through pRadialActor, not pObjActor.
2021-11-30 22:44:54 +01:00
Christoph Oelckers
690994ea1e - Duke: fix missing sectp update in processinput_d.
RR version had this correct
2021-11-30 00:20:16 +01:00
Christoph Oelckers
64cad55d73 - fixed updatesector and changed updatesectorz to use the same search algorithm.
The initial distance check in updatesectorneighbor had a far too low threshold which would skip the breadth-first search for relatively small distances already.
Exhumed's LEV1 and Duke's Lunatic Fringe were the most obvious candidates where this could cause problems.
Changed to use a mixture of the original updatesector with the revised algorithm so that all immediate neighbors of the start sector will get visited unconditionally.

updatesectorz was still the original function from Shadow Warrior, this also was changed to use the same algorithm as uodatesector.
2021-11-30 00:15:25 +01:00
Christoph Oelckers
71dfe7ecfe - fixed handling for cl_capfps and cl_nointerpolate to never use any smoothratio value other than 1.0. 2021-11-29 00:57:11 +01:00
Christoph Oelckers
b54e52330c - Blood: don't play the same looped sound multiple times on the same actor.
This caused some strong echoing on E4M6.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
1de9c63d45 - fixed center aligned rendering of 2D content.
This calculates the centered pivot point in integer texel coordinate space so for odd numbers it must round down instead of using a fractional position.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
ec63dd4cb3 - SW: precacheMap cleanup 2021-11-29 00:57:09 +01:00
Christoph Oelckers
b73ea76c18 - cleaned out Bunny_Count declarations.
One is enough.
2021-11-29 00:57:09 +01:00
Mitch Richters
73c5bef580 - Blood: Remove duplicated code from render3DViewPolymost() that's already performed in viewDrawScreen(). 2021-11-29 00:56:33 +01:00
carnivoroussociety
61cafc7d57 [Blood] Fix self collisions for lifeleech projectiles 2021-11-29 00:56:33 +01:00
carnivoroussociety
958d004119 [Blood] Match view height clamping behavior to 1.21 2021-11-29 00:56:32 +01:00
Christoph Oelckers
cd3288860a - fixed automap player drawing for follpw mode off in all games. 2021-11-29 00:56:32 +01:00
Christoph Oelckers
2949361c82 - Duke/RR: added null checks to all spawn() calls 2021-11-29 00:56:32 +01:00
Christoph Oelckers
d5a6be3d96 - cleaned up Duke's spawn code.
The paths for initializing a map placed sprite and spawning a new actor at run time are now fully separate aside from the actual initialization of the actor.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
4c7662b4ea - Duke/RR: guard all calls to EGS with a null pointer check.
Spawning sprites into the void will crash the engine so these must be blocked which requires a failure check here.
With this pressing fire while in the void no longer crashes the game - it won't fire anything, either, though.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
fcbb7320a8 - Duke/RR: added all checks needed for not letting Duke crash with noclip when not accepting -1 as a valid sector pointer.
All places that were causing a crash are now guared by calling 'insector()'.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
8972dbe5da - actorstayput 2021-11-29 00:56:31 +01:00
Christoph Oelckers
4a81d45630 - the remaining sector[] stuff in Duke/RR.
What remains is either engine interface code or not easily replaced.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
5e66a3331d - getanimationgoal. 2021-11-29 00:56:30 +01:00
Christoph Oelckers
baf36a321b - inside, haskey and removed unused processmove functions. 2021-11-29 00:56:30 +01:00
Christoph Oelckers
3970c9a757 - use sector pointers in actors_lava.cpp 2021-11-29 00:56:30 +01:00
Christoph Oelckers
9b6d6eb7f9 - sector[] in render interface 2021-11-29 00:56:30 +01:00
Christoph Oelckers
db96e93adc - animatesect, setanimation and related stuff. 2021-11-29 00:56:30 +01:00
Christoph Oelckers
b0ced98d5e - changed main EGS function. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
09c2677fe7 - lots of EGS calls. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
876d1dbe1f - operatesectors and activatebysector. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
c57c007010 - do the remaining st handlers. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
2aec8f47d3 - more st functions. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
2a290dec48 - handle_st15 / handle_st16. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
da4df04e7d - sector[] in handle_st09. 2021-11-29 00:56:28 +01:00
Christoph Oelckers
45519f67c1 - Duke: let neartag return pointers 2021-11-29 00:56:28 +01:00
Christoph Oelckers
a9aadfd63d - neartag cleanup in checksectors. 2021-11-29 00:56:28 +01:00
Christoph Oelckers
3d05020f4c - checkhitceiling + ceilingglass are sector[] free. 2021-11-29 00:56:28 +01:00
Christoph Oelckers
747fc11eb7 - Duke: use sector pointer in movement code 2021-11-29 00:56:28 +01:00
Christoph Oelckers
931c71a78c - use sector iterator for cheatUnlock 2021-11-29 00:56:27 +01:00
Christoph Oelckers
a7634c4cad - Duke: use pointers in interpolation interface. 2021-11-29 00:56:27 +01:00
Christoph Oelckers
0d8b380b05 - use wallsofsector for all remaining iterations over a sector's walls. 2021-11-29 00:56:27 +01:00
Christoph Oelckers
ac5425a545 - extended player_orig.os to full int.
This was the last remaining short variable in Duke/RR that holds a sector index.
2021-11-29 00:56:27 +01:00
Christoph Oelckers
a0950081ad - fixed bad sector use in handle_st18 2021-11-29 00:56:27 +01:00
Christoph Oelckers
5c9327a788 - use pointer variant of nextsectorneighborz. 2021-11-29 00:56:27 +01:00
Christoph Oelckers
0f2f46ec35 - made one_parallax_sectnum a pointer 2021-11-29 00:56:26 +01:00
Christoph Oelckers
bc199d00c7 - made 'clouds' a pointer array. 2021-11-29 00:56:26 +01:00
Christoph Oelckers
7a9e39a96b - delete some inactive code. 2021-11-29 00:56:26 +01:00
Christoph Oelckers
adf3133fdc - use sectnum and wallnum to get an index from pointers instead of subtracting the array base. 2021-11-29 00:56:26 +01:00
Christoph Oelckers
4e31360fe4 - cleaned up dragpoint
This still contained some code for EDuke32's TROR and used a shared static global array.
It now uses the BFSSearch class to manage its bit array to unlimit the size of its working set and to avoid reallocation.
2021-11-29 00:56:25 +01:00
Christoph Oelckers
7126aa22f4 - preparations in the map loader for dynamically sized data storage.
This also consolidates these parts for Blood with the other games.
2021-11-29 00:56:25 +01:00
Christoph Oelckers
33a3e0d8bf - deleted some unused global variables, code simplification plus extended wall index field in Trap
Todo: give fields more meaningful names!
2021-11-29 00:56:25 +01:00
Christoph Oelckers
c1c59006bc - Exhumed: cleaned up disassembly-like code in SnapSectors 2021-11-29 00:56:25 +01:00
Christoph Oelckers
e6682f4489 - Exhumed: some simple wall stuff 2021-11-29 00:56:25 +01:00
Christoph Oelckers
7b1345d3e5 - Exhumed: wall stuff in AddFlash 2021-11-29 00:56:24 +01:00
Christoph Oelckers
c31d8a93fd - a few more
Enough of this - Duke is clearly clean of bad storage now
2021-11-29 00:56:24 +01:00
Christoph Oelckers
53122355fe - more sectors in spawn.cpp 2021-11-29 00:56:24 +01:00
Christoph Oelckers
c79dace730 - eliminated sector[] in position checkers 2021-11-29 00:56:24 +01:00
Christoph Oelckers
27af8a52e9 - the final walls
What is left now of wall[] and wallnum() needs to remain.
2021-11-29 00:56:24 +01:00
Christoph Oelckers
a26dc25e97 - lotsofpopcorn 2021-11-29 00:56:24 +01:00
Christoph Oelckers
35eb94b89a - lotsofcolourglass 2021-11-29 00:56:23 +01:00
Christoph Oelckers
344041167e - add setanimation variant taking a wall pointer
Mainly to get rid of wallnum()calls elsewhere.
2021-11-29 00:56:23 +01:00
Christoph Oelckers
83344818fd - pass wall pointer to breakwall 2021-11-29 00:56:23 +01:00
Christoph Oelckers
567a360092 - store wall pointers in animwall 2021-11-29 00:56:23 +01:00
Christoph Oelckers
6b73a37b56 - made mirrorsector a pointer array 2021-11-29 00:56:23 +01:00
Christoph Oelckers
58cd8bd6b9 - make mirrorwall a pointer array 2021-11-29 00:56:23 +01:00
Christoph Oelckers
caa9ef6dd3 - make access_wallnum a pointer 2021-11-29 00:56:22 +01:00
Christoph Oelckers
e7369a2796 - use pointers for checkhitswitch and took separated clearcameras to a new functions to make this free of gotos. 2021-11-29 00:56:22 +01:00
Christoph Oelckers
9d8e7ea759 - crane cleanup
This now uses its own struct where it can store the needed actor pointer directly.
2021-11-29 00:56:22 +01:00
Christoph Oelckers
d405da9195 - changed furthestcanseepoint return value
This does not need to return a sector - the caller merely expects success or failure.
2021-11-29 00:56:22 +01:00
Christoph Oelckers
4823152107 - hitawall 2021-11-29 00:56:22 +01:00
Christoph Oelckers
d45ab528e6 - hitscan in player_r.cpp 2021-11-29 00:56:21 +01:00
Christoph Oelckers
1a11e445c3 - remaining hitscans in player_d.cpp 2021-11-29 00:56:21 +01:00
Christoph Oelckers
b68c66dae6 -Duke/RR: started migrating hitscan to pointer usage. 2021-11-29 00:56:21 +01:00
Christoph Oelckers
09e75ddca2 - change wall parameter of checkhitwall. 2021-11-29 00:56:21 +01:00
Christoph Oelckers
c410b1be45 - glass stuff 2021-11-29 00:56:21 +01:00
Christoph Oelckers
200daacd3c - checksectors* 2021-11-29 00:56:20 +01:00
Christoph Oelckers
a38fdd2890 -more in spawneffectors 2021-11-29 00:56:20 +01:00
Christoph Oelckers
94d0e9775f - spawneffectors 2021-11-29 00:56:20 +01:00
Christoph Oelckers
cccc577c2e - lotsofpopcorn + dofurniture 2021-11-29 00:56:20 +01:00
Christoph Oelckers
8c4cb75d8c - checkhitswitch_r 2021-11-29 00:56:20 +01:00
Christoph Oelckers
6d4365f3a2 - animatewalls_r 2021-11-29 00:56:20 +01:00
Christoph Oelckers
530c29973e - more walls in sectors_d.cpp 2021-11-29 00:56:20 +01:00
Christoph Oelckers
7268e779a7 - checkhitswitch_d 2021-11-29 00:56:19 +01:00
Christoph Oelckers
8cf3963901 - animatewalls_d 2021-11-29 00:56:19 +01:00
Christoph Oelckers
7615a52126 -operatesectors + operateforcefields. 2021-11-29 00:56:19 +01:00
Christoph Oelckers
60f16e8fb8 - handle_st09 2021-11-29 00:56:19 +01:00
Christoph Oelckers
463ce55d0b - premap 2021-11-29 00:56:19 +01:00
Christoph Oelckers
7a504e27d2 - premap_d 2021-11-29 00:56:19 +01:00
Christoph Oelckers
6b8e7b3fbc - RR: movement code 2021-11-29 00:56:18 +01:00
Christoph Oelckers
1953f0f599 - delete unused variables. 2021-11-29 00:56:18 +01:00
Christoph Oelckers
aee2668088 - RR shootWeapon 2021-11-29 00:56:18 +01:00
Christoph Oelckers
b97f8706ad - operateTripBomb 2021-11-29 00:56:18 +01:00
Christoph Oelckers
e88047fc45 - wall[] in shootknee, shootweapon and shootlaser. 2021-11-29 00:56:18 +01:00
Christoph Oelckers
81894fd831 - Duke: shootbloodsplat 2021-11-29 00:56:18 +01:00
Christoph Oelckers
2fa027a686 - RR: deal with wall[] in actor_lava.cpp 2021-11-29 00:56:17 +01:00
Christoph Oelckers
399f254629 - the definitely last bit: There was still a spritenum reference in NEAR_TAG_INFO
SW done!
2021-11-29 00:56:17 +01:00
Christoph Oelckers
b97760db29 - forgotten cleanup. 2021-11-29 00:56:17 +01:00
Christoph Oelckers
ed2d8373fc - final cleanup. 2021-11-29 00:56:17 +01:00
Christoph Oelckers
e12ae040de - collision code cleanup.
# Conflicts:
#	source/games/sw/src/game.h
#	source/games/sw/src/sprite.cpp

# Conflicts:
#	source/games/sw/src/game.h
2021-11-29 00:56:17 +01:00
Christoph Oelckers
898f56dd86 - User[] is mostly gone.
All access is now through the actor.
2021-11-29 00:56:16 +01:00
Christoph Oelckers
cd73cd616e - ActorDrop. 2021-11-29 00:56:16 +01:00
Christoph Oelckers
56760d1824 - CanGetWeapon 2021-11-29 00:56:16 +01:00
Christoph Oelckers
88a5a95cde - SpriteNum cleanup. 2021-11-29 00:56:16 +01:00
Christoph Oelckers
03c9ef6d20 - SetGunQuake 2021-11-29 00:56:16 +01:00
Christoph Oelckers
2f1e23a654 - replaced PLAYER::PlayerSprite with PLAYER::actor
# Conflicts:
#	source/games/sw/src/save.cpp
2021-11-29 00:56:15 +01:00
Christoph Oelckers
5b10e9f2d5 - got rid of SpriteP pointers in PLAYER and USER. 2021-11-29 00:56:15 +01:00
Christoph Oelckers
8d95b9cb98 - got rid of the PlaySound variant taking a sprite pointer. 2021-11-29 00:56:15 +01:00
Christoph Oelckers
580b7002fb - PlaySound calls in DoGet. 2021-11-29 00:56:15 +01:00
Christoph Oelckers
6f8480ebc3 - KillGet... functions. 2021-11-29 00:56:15 +01:00
Christoph Oelckers
95b7949f7d - minor sprite.cpp cleanup. 2021-11-29 00:56:14 +01:00
Christoph Oelckers
cb477d4ab7 - ActorSpawn cleanup. 2021-11-29 00:56:14 +01:00
Christoph Oelckers
d8ea4db5b2 - Got rid of SpawnSprite. 2021-11-29 00:56:14 +01:00
Christoph Oelckers
a57af58d4c - get rid of KillSprite. 2021-11-29 00:56:14 +01:00
Christoph Oelckers
431103032f - SpriteOverlapZ 2021-11-29 00:56:14 +01:00
Christoph Oelckers
66e61d799d - handle the remaining SectIterators. 2021-11-29 00:56:14 +01:00
Christoph Oelckers
df5d980f79 - handle all remaining StatIterators. 2021-11-29 00:56:13 +01:00
Christoph Oelckers
69223af7b0 - SpriteControl and subfunctions. 2021-11-29 00:56:13 +01:00
Christoph Oelckers
591a3f623d - dead code removal. 2021-11-29 00:56:13 +01:00
Christoph Oelckers
79dcd2c178 - iterators in CollectPortals 2021-11-29 00:56:13 +01:00
Christoph Oelckers
8df851c3e3 - unsaved bits. 2021-11-29 00:56:13 +01:00
Christoph Oelckers
f8105dc92b - track.cpp complete. 2021-11-29 00:56:12 +01:00
Christoph Oelckers
4796ebc73c - track setup code 2021-11-29 00:56:12 +01:00
Christoph Oelckers
92c497ac29 - TrackSetup 2021-11-29 00:56:12 +01:00
Christoph Oelckers
c34f0ab210 - SectorObjectSetupBounds
Note: Do proper checks on crashing mapping errors. Asserts are insufficient for these!
2021-11-29 00:56:12 +01:00
Christoph Oelckers
41f8c6f4af - owner fixes in weapons.cpp.
# Conflicts:
#	source/games/sw/src/game.h

# Conflicts:
#	source/games/sw/src/game.h
#	source/games/sw/src/weapon.cpp
2021-11-29 00:56:12 +01:00
Christoph Oelckers
e908e4ff44 - final bit of weapon.cpp cleanup. 2021-11-29 00:56:12 +01:00
Christoph Oelckers
31f4a7464a - finishing up with DoDamage. 2021-11-29 00:56:11 +01:00
Christoph Oelckers
487e2b7a1e - ActorHealth + ActorPain 2021-11-29 00:56:11 +01:00
Christoph Oelckers
93ad08a167 - ActorStdMissile + ActorDamageSlide
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:56:11 +01:00
Christoph Oelckers
2c39177c07 - ActorChooseDeath 2021-11-29 00:56:11 +01:00
Christoph Oelckers
604731bc08 - GetDamage
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:56:11 +01:00
Christoph Oelckers
2b4ed0eaf3 - PlayerCheckDeath 2021-11-29 00:56:10 +01:00
Christoph Oelckers
14b3a68e8c - DoDamage API.
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:56:10 +01:00
Christoph Oelckers
f8eac8c8eb - SpriteOverlap 2021-11-29 00:56:10 +01:00
Christoph Oelckers
2c4862b220 - DoDamageTest + DoHitscanDamage + DoFlamesDamageTest 2021-11-29 00:56:10 +01:00
Christoph Oelckers
ddd6f881f0 - DoExpDamageTest + DoMineExpMine 2021-11-29 00:56:10 +01:00
Christoph Oelckers
15e7e784c5 - did the internal movement helpers. 2021-11-29 00:56:09 +01:00
Christoph Oelckers
a073ef65e7 - low level move functions now return a Collision struct.
# Conflicts:
#	source/games/sw/src/sprite.cpp
2021-11-29 00:56:09 +01:00
Christoph Oelckers
606ce997ac - cleanup of collision maintenance.
u->ret is gone, and for clearing the collision info the proper utilities are being called now.
2021-11-29 00:56:09 +01:00
Christoph Oelckers
5f32bc17ef - WeaponMoveHit 2021-11-29 00:56:09 +01:00
Christoph Oelckers
edf84c6fbc - DoStar, DoCrossBolt, DoPlasmaDone 2021-11-29 00:56:09 +01:00
Christoph Oelckers
f516a538d4 - Seekers + BlurExtend. 2021-11-29 00:56:08 +01:00
Christoph Oelckers
7d99745cd6 - DoPlasmaFountain + InitPlasmaFountain 2021-11-29 00:56:08 +01:00
Christoph Oelckers
f888375e2a - several u->ret replaced. 2021-11-29 00:56:08 +01:00
Christoph Oelckers
05a812f066 - DoPlasma, DoCoolgFire, DoEelFire. 2021-11-29 00:56:08 +01:00
Christoph Oelckers
0377f3348c - DoGrenade 2021-11-29 00:56:08 +01:00
Christoph Oelckers
45c2129ac4 - DoVulcanBoulder 2021-11-29 00:56:07 +01:00
Christoph Oelckers
c015e6691a - DoMineStuck + subfunctions. 2021-11-29 00:56:07 +01:00
Christoph Oelckers
01609b8e9f - DoMine 2021-11-29 00:56:07 +01:00
Christoph Oelckers
4d5569d785 - several very simple functions. 2021-11-29 00:56:07 +01:00
Christoph Oelckers
a0fd5bef66 - DoLaserStart, DoRail, DoRailStart, DoRocket 2021-11-29 00:56:07 +01:00
Christoph Oelckers
35579a9f08 - SpawnExoZAdjust arguments. 2021-11-29 00:56:06 +01:00
Christoph Oelckers
dd528c5eab - DoMicroMini, SpawnExtraMicroMini, DoMicro, DoUziBullet, DoBoltSeeker 2021-11-29 00:56:06 +01:00
Christoph Oelckers
acc9a09db9 - DoElectro, DoLavaBoulder, DoSpear, SpawnCoolieExp.
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:56:06 +01:00
Christoph Oelckers
151306d763 - SpawnFireballFlames
# Conflicts:
#	source/games/sw/src/weapon.cpp
#	source/games/sw/src/weapon.h
2021-11-29 00:56:06 +01:00
Christoph Oelckers
b863901037 - Spawn*flames 2021-11-29 00:56:06 +01:00
Christoph Oelckers
e56b055e2e - Spawn(Goro)FireballExp 2021-11-29 00:56:06 +01:00
Christoph Oelckers
818bdc3b03 - WeaponMoveHit plus some smaller functions. 2021-11-29 00:56:05 +01:00
Christoph Oelckers
8af0455f92 - VehicleMoveHit 2021-11-29 00:56:05 +01:00
Christoph Oelckers
57fc6ce53a - several smaller Shrap functions. 2021-11-29 00:56:05 +01:00
Christoph Oelckers
10b18d8a9b - SpawnShrap 2021-11-29 00:56:05 +01:00
Christoph Oelckers
e523c78269 - MissileHitMatch 2021-11-29 00:56:04 +01:00
Christoph Oelckers
4568564150 - SpawnTankShellExp, SpawnBunnyExp, SpawnBoltExp 2021-11-29 00:56:04 +01:00
Christoph Oelckers
3a16ac673c - SpawnNuclearExp 2021-11-29 00:56:04 +01:00
Christoph Oelckers
2480beebcf - owner checks in PlayerTakeDamage 2021-11-29 00:56:04 +01:00
Christoph Oelckers
f0c670603e - DoNapalm, DoBloodWorm 2021-11-29 00:56:04 +01:00
Christoph Oelckers
a96cffc4ef - SpawnTracerExp + SpawnMicroExp. 2021-11-29 00:56:03 +01:00
Christoph Oelckers
a40fca5398 - SpawnBigGunFlames 2021-11-29 00:56:03 +01:00
Christoph Oelckers
120a14a9a7 - SpawnGrenadeSecondaryExp 2021-11-29 00:56:03 +01:00
Christoph Oelckers
f3037a0b0c - SpawnGrenadeExp
# Conflicts:
#	source/games/sw/src/weapon.h
2021-11-29 00:56:03 +01:00
Christoph Oelckers
28c07b6b3c - more explosions. 2021-11-29 00:56:03 +01:00
Christoph Oelckers
aa8b217f07 - SpawnMeteorExp 2021-11-29 00:56:02 +01:00
Christoph Oelckers
28e10656b2 - DoFireball + SpawnLittleExp 2021-11-29 00:56:02 +01:00
Christoph Oelckers
cbf8d2324a - DoFindGround(Point) 2021-11-29 00:56:02 +01:00
Christoph Oelckers
6a25b4a560 - getzrange wrappers.
# Conflicts:
#	source/games/sw/src/game.h
2021-11-29 00:56:02 +01:00
Christoph Oelckers
057de89b9b - u->ret cleanup. 2021-11-29 00:56:02 +01:00
Christoph Oelckers
f8a74df87e - Mirvs and Meteors. 2021-11-29 00:56:01 +01:00
Christoph Oelckers
6f0c477e85 - getting rid of COVERinsertsprite, plus cleanup. 2021-11-29 00:56:01 +01:00
Christoph Oelckers
e2c5b33ae1 - MissileSetPos
This removes a lot of GetSpriteIndex references. :)
2021-11-29 00:56:01 +01:00
Christoph Oelckers
6a31b93434 - ring stuff 2021-11-29 00:56:01 +01:00
Christoph Oelckers
512bc7ddbb - InitLavaThrow + InitVulcanBoulder + InitSerpRing. 2021-11-29 00:56:01 +01:00
Christoph Oelckers
79ff267391 - Napalm stuff 2021-11-29 00:56:00 +01:00
Christoph Oelckers
ac277a8ecc - MIRVs. 2021-11-29 00:56:00 +01:00
Christoph Oelckers
78e45e889a - InitSwordAttack 2021-11-29 00:56:00 +01:00
Christoph Oelckers
74b94f4bf3 - InitFistAttack. 2021-11-29 00:56:00 +01:00
Christoph Oelckers
d72bcfec97 - WeaponAutoAimZvel 2021-11-29 00:56:00 +01:00
Christoph Oelckers
674e4b9499 - AimHitscanToTarget, WeaponHitscanShootFeet, InitStar 2021-11-29 00:56:00 +01:00
Christoph Oelckers
d94ed87e43 - WeaponAutoAim 2021-11-29 00:55:59 +01:00
Christoph Oelckers
ee8eb238d2 - TestMissileSetPos 2021-11-29 00:55:59 +01:00
Christoph Oelckers
7f031f06ef - HelpMissileLateral.
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:55:59 +01:00
Christoph Oelckers
514baa9a8f - InitHeartAttack plus some cleanup. 2021-11-29 00:55:59 +01:00
Christoph Oelckers
aec3b40e7b - ContinueHitscan 2021-11-29 00:55:59 +01:00
Christoph Oelckers
105ef08384 - Init(Bunny)Rocket 2021-11-29 00:55:58 +01:00
Christoph Oelckers
0690a5c035 - InitShotgun + InitLaser
InitLaser is unused but fully functional, so let's keep it for modding.
2021-11-29 00:55:58 +01:00
Christoph Oelckers
3b49b053d7 - Init(Zilla)Rail 2021-11-29 00:55:58 +01:00
Christoph Oelckers
35d6f7efd5 - Init(Enemy)Nuke 2021-11-29 00:55:58 +01:00
Christoph Oelckers
7436c17469 - InitMicro 2021-11-29 00:55:58 +01:00
Christoph Oelckers
ecc2da58d5 - 4 more damage functions. 2021-11-29 00:55:57 +01:00
Christoph Oelckers
290482ffb1 - several damage functions. 2021-11-29 00:55:57 +01:00
Christoph Oelckers
a662f8b076 - InitSerpSpell + SpawnDemonFist 2021-11-29 00:55:57 +01:00
Christoph Oelckers
3cd05147e5 - InitEnemyRocket + InitSerpMonstSpell 2021-11-29 00:55:57 +01:00
Christoph Oelckers
63870b6077 - InitEnemyRail, InitZillaRocket, InitEnemyStar 2021-11-29 00:55:57 +01:00
Christoph Oelckers
289856a1fc - InitEnemyCrossbow, InitSkelSpell, InitCoolgFire 2021-11-29 00:55:56 +01:00
Christoph Oelckers
f66dcd8d53 - fixed deletion of FAF_COPY actors.
This called the wrong function.
2021-11-29 00:55:56 +01:00
Christoph Oelckers
845cf124e1 - drips and eels. 2021-11-29 00:55:56 +01:00
Christoph Oelckers
84e99a377d - Init*Trap. 2021-11-29 00:55:56 +01:00
Christoph Oelckers
6e922b2851 - InitTracerUzi 2021-11-29 00:55:56 +01:00
Christoph Oelckers
e8791001e4 - InitTracerTurret + InitTracerAutoTurret 2021-11-29 00:55:55 +01:00
Christoph Oelckers
70adfe43bf - BulletHitSprite 2021-11-29 00:55:55 +01:00
Christoph Oelckers
ff60bf0430 - MissileWaterAdjust
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:55:55 +01:00
Christoph Oelckers
81131f7a71 - HitscanSpriteAdjust 2021-11-29 00:55:55 +01:00
Christoph Oelckers
9c0a5312eb - InitUzi 2021-11-29 00:55:55 +01:00
Christoph Oelckers
c053b46a6d - removed the disabled and mostly non-functional code for the EMP gun (secondary fire of railgun) 2021-11-29 00:55:54 +01:00
Christoph Oelckers
5900ac7db4 - InitTankShell + InitEMP. 2021-11-29 00:55:54 +01:00
Christoph Oelckers
a25bdf2354 - InitTurretMicro 2021-11-29 00:55:54 +01:00
Christoph Oelckers
4141b5d609 - InitTurretRocket + InitTurretFireball 2021-11-29 00:55:54 +01:00
Christoph Oelckers
6e7892c326 - InitTurretRail + InitTurretLaser 2021-11-29 00:55:54 +01:00
Christoph Oelckers
9eb1f9963a - InitSobjMachineGun 2021-11-29 00:55:53 +01:00
Christoph Oelckers
60d5490654 - Init SobjGun 2021-11-29 00:55:53 +01:00
Christoph Oelckers
2c0a597f06 - WeaponAutoAimHitscan
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:55:53 +01:00
Christoph Oelckers
9d0056f8c7 - Spawn*Sparks functions. 2021-11-29 00:55:53 +01:00
Christoph Oelckers
ddd682aee6 - InitTurretMgun 2021-11-29 00:55:53 +01:00
Christoph Oelckers
da1e97469e - FAFhitscan migration to HITINFO. 2021-11-29 00:55:52 +01:00
Christoph Oelckers
63f9330f53 - InitEnemyUzi 2021-11-29 00:55:52 +01:00
Christoph Oelckers
614757cda4 - InitGrenade 2021-11-29 00:55:52 +01:00
Christoph Oelckers
2515a663cd - InitSpriteGrenade 2021-11-29 00:55:52 +01:00
Christoph Oelckers
7d352d2387 - InitMine 2021-11-29 00:55:52 +01:00
Christoph Oelckers
1491b9ef95 - InitEnemyMine 2021-11-29 00:55:51 +01:00
Christoph Oelckers
f9ea4874ed - InitFireball 2021-11-29 00:55:51 +01:00
Christoph Oelckers
a42e44d662 - InitEnemyFireball 2021-11-29 00:55:51 +01:00
Christoph Oelckers
1b02c9e533 - WarpToUnderwater + WarpToSurface 2021-11-29 00:55:51 +01:00
Christoph Oelckers
5264c6540c - SpriteWarpToUnderwater + SpriteWarpToSurface 2021-11-29 00:55:51 +01:00
Christoph Oelckers
130028fa82 - SpawnSplash(XY)
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:55:50 +01:00
Christoph Oelckers
7411e7e9ba - MissileHitDiveArea 2021-11-29 00:55:50 +01:00
Christoph Oelckers
f438773af9 - internal cleanup of some spawn functions. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
96ebfe808c - turned some macros into functions. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
64e812bd33 - TestDontStick. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
dfb5d07459 - QueueHole 2021-11-29 00:55:49 +01:00
Christoph Oelckers
83d0930a2e - QueueFootPrint + QueuefloorBlood. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
01d2967378 - QueueWallBlood. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
deddd7d514 - it is not necessary to clear the owner of a freshly spawned actor.
They are always spawned owner-less.
2021-11-29 00:55:49 +01:00
Christoph Oelckers
9cefc351a1 - bloody stuff. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
2455c197bf - DoShrapVelocity + SlopeBounce. 2021-11-29 00:55:48 +01:00
Christoph Oelckers
0d45e50ea6 - QueueGeneric + ShrapKillSprite. 2021-11-29 00:55:48 +01:00
Christoph Oelckers
95d3095f8d - DoItemFly 2021-11-29 00:55:48 +01:00
Christoph Oelckers
c14fb9e93f - QueueLoWangs 2021-11-29 00:55:48 +01:00
Christoph Oelckers
58749b2770 - NewStateGroup wrappers replaced. 2021-11-29 00:55:48 +01:00
Christoph Oelckers
a85a1e497f - ActorCoughItem. 2021-11-29 00:55:47 +01:00
Christoph Oelckers
cd8e8e4f67 - removed index based version of SpawnUser. 2021-11-29 00:55:47 +01:00
Christoph Oelckers
3a3c6a4395 - IconDefault 2021-11-29 00:55:47 +01:00
Christoph Oelckers
947f5f1d78 - ItemSpotClear. 2021-11-29 00:55:47 +01:00
Christoph Oelckers
374d0524d2 - first pass over SpawnItemsMatch.
This was purely search & replace.
2021-11-29 00:55:47 +01:00
Christoph Oelckers
6489c60905 - lots of search & replace, plus a few fixes on ActorSpawn. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
d49ae699f8 - ChangeSpriteState + change_sprite_stat. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
e41f49d46d KillSprite internals. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
b705ff3b97 - WallBounce 2021-11-29 00:55:46 +01:00
Christoph Oelckers
300e6df6c3 - MissileHitDiveArea calls. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
0b3b30170c - DoActorZRange parameters. 2021-11-29 00:55:45 +01:00
Christoph Oelckers
7111b2470c - SW: use BFSSearch in TraverseBreakableWalls 2021-11-29 00:55:45 +01:00
Christoph Oelckers
3e558c2295 - use BFSSearch for PreMapCombineFloors. 2021-11-29 00:55:44 +01:00
Christoph Oelckers
1b3b8ab7cc - use wallsofsector in PreMapCombineFloors 2021-11-29 00:55:44 +01:00
Christoph Oelckers
6fc43287b3 - redid Exhumed's BelowNear function.
Use BFSSearch, only run one iteration of the search and only run the search if the result is actually used.
2021-11-29 00:55:44 +01:00
Christoph Oelckers
12c26976f0 - GetClosestSpriteSectors: replace distance calculation with proper math.
No need to sample multiple points along the wall if we can just properly calculate the actual distance. :)
2021-11-29 00:55:44 +01:00
Christoph Oelckers
d2f0934726 - Blood: cleaned up GetClosestSpriteSectors
using BFSSearch now and avoiding pointless loop to avoid setting the checked bit.
The entire outcome was just as if the bit was never checked inside the loop, so do just that when not running in compatibility mode.
This simplifies the remaining code quite a lot because it now just needs to run over all walls with no special case considered.
2021-11-29 00:55:44 +01:00
Christoph Oelckers
1bbbeb8f4c - Blood: reworked GetClosestSpriteSectors to use dynamic arrays, deleted unused GetClosestSectors.
# Conflicts:
#	source/games/blood/src/aibeast.cpp

# Conflicts:
#	source/games/blood/src/aibeast.cpp
#	source/games/blood/src/gameutil.h
2021-11-29 00:55:43 +01:00
Christoph Oelckers
269f2580b9 - obsolete prototypes in Exhumed 2021-11-29 00:55:43 +01:00
Christoph Oelckers
1d9d70613f - char review in SW 2021-11-29 00:55:43 +01:00
Christoph Oelckers
b878bf8aac - SW: renamed all unsigned chars to uint8_t
Also deletes some unused declarations
2021-11-29 00:55:43 +01:00
Christoph Oelckers
4f493d3de1 - Exhumed: made all nPlayer variables ints
This looks safe
2021-11-29 00:55:43 +01:00
Christoph Oelckers
b9b4f1e037 - shorts replaced in Exhumed
only a small part, the easy stuff
2021-11-29 00:55:42 +01:00
Christoph Oelckers
d63b6cda37 - exhumed: made all nAngle variables full ints 2021-11-29 00:55:42 +01:00
Christoph Oelckers
28eca1a023 ‚char‘ review in Blood - part 2 2021-11-29 00:55:42 +01:00
Christoph Oelckers
5422bff683 ‚char‘ review in Blood - part 1 2021-11-29 00:55:42 +01:00
Christoph Oelckers
53998c9cb7 - Blood: remove unneeded replacement functions.
changespritesect is the only one called from the engine.
2021-11-29 00:55:42 +01:00
Christoph Oelckers
e9c79292ff - Blood: use wider integer types for a few more things
Mainly removing shorts from all function signatures, except the engine replace interface, replacing them either with int or bool, depending on the use case.
2021-11-29 00:55:41 +01:00
Christoph Oelckers
b685163ab1 - Blood: extend all 16 bit fields holding sector or wall indices to 32 bit. 2021-11-29 00:55:41 +01:00
Christoph Oelckers
499dc9953b - reduction of 'short' noise in Blood.
Mainly using int16_t for deliberately sized struct fields, auto for temporary saves of global data and making several local variables full int.
This changes nothing substantial.
2021-11-29 00:55:41 +01:00
Christoph Oelckers
345d9c87b6 - RR: no more wall[] in actors_r.cpp 2021-11-29 00:55:41 +01:00
Christoph Oelckers
00edd16834 - Duke: get rid of the remaining wall[] references in actors_d.cpp 2021-11-29 00:55:41 +01:00
Christoph Oelckers
e0260bc709 - Duke/RR: weaponhitwall cleaned up (both variants) 2021-11-29 00:55:40 +01:00
Christoph Oelckers
5bb805663e - Duke/RR: cleaned up the rest of hitradius* as well
Using wallsofsector iterator plus defining local variables more locally.
2021-11-29 00:55:40 +01:00
Christoph Oelckers
63985ce6be - Duke/RR: redo the supremely ugly code to access the third point in hitradius* 2021-11-29 00:55:40 +01:00
Christoph Oelckers
68d653efe9 - made the same changes to hitradius_r
Also had to do some reformatting to get rid of the goto in there.
2021-11-29 00:55:40 +01:00
Christoph Oelckers
821f341e03 - use BFSSearch in hitradius_d 2021-11-29 00:55:39 +01:00
Christoph Oelckers
ad030d7e23 - Duke: SE20 + SE128 are wall-free
Also use symbolic constantfor SE_128 to make it easier to find.
2021-11-29 00:55:39 +01:00
Christoph Oelckers
010162261e - Duke: use utilities in handle_se19 2021-11-29 00:55:39 +01:00
Christoph Oelckers
312bf5bf95 - Duke: use wall utilities in bounce and queball 2021-11-29 00:55:39 +01:00
Christoph Oelckers
58a091067f - use provided sector/wall iterators in cacheit functions 2021-11-29 00:55:39 +01:00
Christoph Oelckers
aadbca8e5d - zombie.cpp. 2021-11-29 00:55:38 +01:00
Christoph Oelckers
95c92153ad - zilla.cpp 2021-11-29 00:55:38 +01:00
Christoph Oelckers
e98e1a6fea - warp.cpp 2021-11-29 00:55:38 +01:00
Christoph Oelckers
21af63dfcc - wallmove.cpp 2021-11-29 00:55:38 +01:00
Christoph Oelckers
10ea8b0fb5 - vator.cpp 2021-11-29 00:55:38 +01:00
Christoph Oelckers
2c94259603 - BossSpriteNum 2021-11-29 00:55:37 +01:00
Christoph Oelckers
36067baedd - owner cleanup. 2021-11-29 00:55:37 +01:00
Christoph Oelckers
411c814dc3 - vis.cpp 2021-11-29 00:55:37 +01:00
Christoph Oelckers
02bdba71fc - spike.cpp. 2021-11-29 00:55:37 +01:00
Christoph Oelckers
e2e697e9bb - do better owner checks in weapon code.
Due to poor data clearing logic there is a chance that the owner of a sprite is 0 if invalid, but this code never properly checked all conditions before accessing the owner's user's ID.
2021-11-29 00:55:37 +01:00
Christoph Oelckers
cb31127df5 - removed Set3DSoundOwner entirely. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
0df721f331 - sumo.cpp + associated code elsewhere. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
e32a1af7b2 - lots of PlaySound calls migrated to actors. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
e6c625f6e8 - second part of slidor.cpp. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
2397e4c2a5 - one third of slidor.cpp 2021-11-29 00:55:35 +01:00
Christoph Oelckers
dfc557e0ec - StarQueue 2021-11-29 00:55:35 +01:00
Christoph Oelckers
bd161f155c - skull.cpp 2021-11-29 00:55:35 +01:00
Christoph Oelckers
a728555ec7 - skel.cpp 2021-11-29 00:55:35 +01:00
Christoph Oelckers
07f61e061e - serp.cpp 2021-11-29 00:55:35 +01:00
Christoph Oelckers
7704042df4 - the rest of sector.cpp. 2021-11-29 00:55:35 +01:00
Christoph Oelckers
98c1684c13 - OperateSprite 2021-11-29 00:55:34 +01:00
Christoph Oelckers
1e00a4ff18 - second batch of sector.cpp 2021-11-29 00:55:34 +01:00
Christoph Oelckers
2b8ea7ae1b - first half of sector.cpp.
Mostly iterators replaced.
2021-11-29 00:55:34 +01:00
Christoph Oelckers
edf8ba0aa1 - cleanup pass on sector.cpp.
No functional changes here.
2021-11-29 00:55:34 +01:00
Christoph Oelckers
cfebfbca8a - rest of rotator.cpp. 2021-11-29 00:55:34 +01:00
Christoph Oelckers
1388794032 - first half of rotator.cpp. 2021-11-29 00:55:34 +01:00
Christoph Oelckers
0a18edfdad - iterators in rooms.cpp. 2021-11-29 00:55:33 +01:00
Christoph Oelckers
6b92ee1ee6 - InitPlayerSprite 2021-11-29 00:55:33 +01:00
Christoph Oelckers
eb3131df97 - cleanup
mostly redundant comments.
2021-11-29 00:55:33 +01:00
Christoph Oelckers
da683ddf7a - ripper2.cpp 2021-11-29 00:55:33 +01:00
Christoph Oelckers
3ed3029345 -some overlooked User’s. 2021-11-29 00:55:32 +01:00
Christoph Oelckers
82b4385ede - ripper.cpp 2021-11-29 00:55:32 +01:00
Christoph Oelckers
4661f6d7c5 - iterators in quake.cpp 2021-11-29 00:55:32 +01:00
Christoph Oelckers
0e629eb322 - sop.match_event_sprite 2021-11-29 00:55:32 +01:00
Christoph Oelckers
04657ab559 - QueueWallBlood callers. 2021-11-29 00:55:32 +01:00
Christoph Oelckers
2fdc2ec00f - small stuff 2021-11-29 00:55:32 +01:00
Christoph Oelckers
2fe71a65a8 - added a few fallthrough annotations that were missed last time. 2021-11-29 00:55:31 +01:00
Christoph Oelckers
74fce3bf58 - sector object sprite list 2021-11-29 00:55:31 +01:00
Mitch Richters
2a7d0e6fe3 - gi->AddExcludedEpisode(): Pass FString variable through as reference instead of by value. 2021-11-29 00:55:31 +01:00
Mitch Richters
974ca7bd1d - Remove a lot of reference values on primitive data types from Blood's QAV interpolation system. Also use move assignments on the ignoredata TMap when we're adding it to the game-side after processing it. 2021-11-29 00:55:31 +01:00
Christoph Oelckers
78e0719eca - SW: removed unused SpawnUnderSplash function. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
c6bd5c04c7 - fixed most warnings GCC pointed out in game code. 2021-11-29 00:55:29 +01:00
Christoph Oelckers
f7fdc5af41 - address several warnings reported by GCC 11. 2021-11-29 00:55:29 +01:00
Christoph Oelckers
dcccb0d653 - Duke: added [[fallthrough]] annotations wherever needed. 2021-11-29 00:55:29 +01:00
Christoph Oelckers
910a51b290 - proper actor handling in all of SOP interpolation 2021-11-29 00:55:28 +01:00
Christoph Oelckers
e4e164a07f - use a dedicated type for SOP angle interpolation
This allows reusing the already existing pointer.
2021-11-29 00:55:28 +01:00
Christoph Oelckers
e75258f57b - SOP spriteofang
Still needs work
2021-11-29 00:55:28 +01:00
Christoph Oelckers
5078750569 - sprite indices in mirrors converted to actor pointers 2021-11-29 00:55:28 +01:00
Christoph Oelckers
1152ec0b54 - use actor pointers in animation system. 2021-11-29 00:55:28 +01:00
Christoph Oelckers
826b514571 - removed a few pointless or unused macros. 2021-11-29 00:55:27 +01:00
Christoph Oelckers
1011f10c0b - SpriteP fully replaced in player.cpp 2021-11-29 00:55:27 +01:00
Christoph Oelckers
a583a9cb14 - some smaller changes in various places. 2021-11-29 00:55:27 +01:00
Christoph Oelckers
bc584f6ff6 - the rest pf player.cpp 2021-11-29 00:55:27 +01:00
Christoph Oelckers
ba4b5bbbcb - PLAYER::Killer 2021-11-29 00:55:27 +01:00
Christoph Oelckers
f2058933ed - DoPlayerBeginDie 2021-11-29 00:55:26 +01:00
Christoph Oelckers
c40fc488e5 - SpawnBubble. 2021-11-29 00:55:26 +01:00
Christoph Oelckers
d3302d6cf9 - minor changes in multiple functions in player.cpp 2021-11-29 00:55:26 +01:00
Christoph Oelckers
7d7000f6ab - FindNearSprite + PLAYER::remote_sprite. 2021-11-29 00:55:26 +01:00
Christoph Oelckers
0e37e0904e - sop::sp_child. 2021-11-29 00:55:26 +01:00
Christoph Oelckers
b6c741892e - player movement functions. 2021-11-29 00:55:25 +01:00
Christoph Oelckers
89ef1c0961 - DoPlayerZRange + DoPlayerSlide. 2021-11-29 00:55:25 +01:00
Christoph Oelckers
48b1ce0c62 - savegame compatibility. 2021-11-29 00:55:25 +01:00
Christoph Oelckers
02671dbe2f - PlayerUnderSprite. 2021-11-29 00:55:25 +01:00
Christoph Oelckers
dd684f36a4 - a few player functions. 2021-11-29 00:55:25 +01:00
Christoph Oelckers
448e57c86c - PickEnemyTarget
prioritized to get rid of some recent mess.
2021-11-29 00:55:24 +01:00
Christoph Oelckers
8780be4ee4 - WpnGoal + sprite_num. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
8336f689dd - DoPickTarget. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
f4d813b0c7 - reformatting function headers + deletion of unused code in player.cpp. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
4ab13dcbea - player.cpp global search & replace. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
8ac0eed08a - panel.cpp 2021-11-29 00:55:23 +01:00
Christoph Oelckers
b4d298874a - most of ninja.cpp, except the player stuff. 2021-11-29 00:55:23 +01:00
Christoph Oelckers
5eca574bba - got rid of some rarely used macros. 2021-11-29 00:55:23 +01:00
Christoph Oelckers
d10919704a - miscactr.cpp
Mostly done with search & replace.
2021-11-29 00:55:23 +01:00
Christoph Oelckers
ac8df2f9f6 - light.cpp 2021-11-29 00:55:23 +01:00
Christoph Oelckers
65da74538c - ActorFollowTrack. 2021-11-29 00:55:23 +01:00
Christoph Oelckers
69c97a88d3 - lava.cpp 2021-11-29 00:55:22 +01:00
Christoph Oelckers
e7dcd279af - PickJumpMaxSpeed. 2021-11-29 00:55:22 +01:00
Christoph Oelckers
f09cf97822 - ScaleSpriteVector 2021-11-29 00:55:22 +01:00
Christoph Oelckers
e94785e571 - cleanup. 2021-11-29 00:55:22 +01:00
Christoph Oelckers
7012a77685 - InitShell / SpawnShell 2021-11-29 00:55:21 +01:00
Christoph Oelckers
aef68363b4 - FlagOwner refactoring.
Only those parts which use it as a sprite index, seveal actors recycle it as a general purpose variable.
2021-11-29 00:55:21 +01:00
Christoph Oelckers
e9fc342c93 - flag stuff. 2021-11-29 00:55:21 +01:00
Christoph Oelckers
3e91ac6417 - InitBloodSpray 2021-11-29 00:55:21 +01:00
Christoph Oelckers
5efb63b780 - InitCaltrops + InitPhosphorus 2021-11-29 00:55:21 +01:00
Christoph Oelckers
0b77a73976 - InitFlashBomb + PlayerInitCaltrops 2021-11-29 00:55:20 +01:00
Christoph Oelckers
3d04e332fc - InitChemBomb + PlayerInitFlashBomb 2021-11-29 00:55:20 +01:00
Christoph Oelckers
0e1e29d768 - ChemBomb stuff. 2021-11-29 00:55:20 +01:00
Christoph Oelckers
93fde48abb - SpawnRadiationCloud 2021-11-29 00:55:20 +01:00
Christoph Oelckers
5aaa0ce971 - collision stuff in jweapon.cpp migrated to Collision struct. 2021-11-29 00:55:20 +01:00
Christoph Oelckers
9872f7e5d1 - DoCaltrops 2021-11-29 00:55:20 +01:00
Christoph Oelckers
3e45549fe7 - DoChemBomb 2021-11-29 00:55:19 +01:00
Christoph Oelckers
f21cb1f3f6 - DoPhosphorus 2021-11-29 00:55:19 +01:00
Christoph Oelckers
3717a38779 - DoBloodSpray 2021-11-29 00:55:19 +01:00
Christoph Oelckers
e3e9e4030e - splash functions. 2021-11-29 00:55:19 +01:00
Christoph Oelckers
cf8aaf7ff2 - JS_ProcessEchoSpot + UnlockKeyLock 2021-11-29 00:55:19 +01:00
Christoph Oelckers
f401d4bb44 - SW: don't spawn sprites to play wall sounds.
This function isn't really necessary because we got a sound playing variant that takes a world coordinate, which is far more practical here. Worse, this was leaking sprites.
2021-11-29 00:55:19 +01:00
Christoph Oelckers
a7cde2fd96 - SpriteP in inv.cpp. 2021-11-29 00:55:18 +01:00
Christoph Oelckers
babdae682f - input.cpp cleanup. 2021-11-29 00:55:18 +01:00
Christoph Oelckers
928b5d2ee8 - SW: un-flag mirrors that got smashed.
The new renderer cannot check tilenums.
2021-11-29 00:55:18 +01:00
Christoph Oelckers
141428f583 - goro.cpp + hornet.cpp. 2021-11-29 00:55:18 +01:00
Christoph Oelckers
0437d92f3e - girlninj.cpp 2021-11-29 00:55:18 +01:00
Christoph Oelckers
711f8123a1 - game.cpp. 2021-11-29 00:55:18 +01:00
Christoph Oelckers
0f60e3b4ec - eel.cpp. 2021-11-29 00:55:17 +01:00
Christoph Oelckers
e192f4d40f - rest of draw.cpp.
This file is very messy...
2021-11-29 00:55:17 +01:00
Christoph Oelckers
919a08448e - first half pf draw.cpp 2021-11-29 00:55:17 +01:00
Christoph Oelckers
32fa3c52ea - copysect.cpp iterators. 2021-11-29 00:55:17 +01:00
Christoph Oelckers
f41d68b376 - coolie.cpp 2021-11-29 00:55:17 +01:00
Christoph Oelckers
ef23f69072 - EnemyDefaults. 2021-11-29 00:55:16 +01:00
Christoph Oelckers
7b778f692b - leftover SpriteNum's in coolg.cpp. 2021-11-29 00:55:16 +01:00
Christoph Oelckers
cde4b1f19e - cache, cheats, colormap and enums. 2021-11-29 00:55:16 +01:00
Christoph Oelckers
f5c7ccd6af - bunny.cpp 2021-11-29 00:55:16 +01:00
Mitch Richters
ec0203b89b - Duke: Don't truncate fistzoom to integer in animatefist(). 2021-11-29 00:55:16 +01:00
Christoph Oelckers
4231119717 - owner stuff 2021-11-29 00:55:15 +01:00
Christoph Oelckers
a69a45523f - HitBreakSprite 2021-11-29 00:55:15 +01:00
Christoph Oelckers
aa13619087 - SpawnBreakFlames 2021-11-29 00:55:15 +01:00
Christoph Oelckers
8daa825aa1 - SpriteQueueDelete + DeleteNoSoundOwner. 2021-11-29 00:55:15 +01:00
Christoph Oelckers
6628ec9459 - DriveCrush 2021-11-29 00:55:14 +01:00
Christoph Oelckers
68e95eb292 - most of break.cpp. 2021-11-29 00:55:14 +01:00
Christoph Oelckers
13f0b08aeb - AutoBreakWall and SpawnShrap cleanup. 2021-11-29 00:55:14 +01:00
Christoph Oelckers
d63ac59fa0 - FindBreakSpriteMatch 2021-11-29 00:55:14 +01:00
Christoph Oelckers
6a4049e33c - SetupSpriteForBreak, extra sprite flags as enum 2021-11-29 00:55:14 +01:00
Christoph Oelckers
5bf77ddb2b - make breakflags an enum. 2021-11-29 00:55:13 +01:00
Christoph Oelckers
de12433809 - USER::Attach and SetAttach. 2021-11-29 00:55:13 +01:00
Christoph Oelckers
bd47d61615 - replaced some changespritesect with ChangeActorSect. 2021-11-29 00:55:13 +01:00
Christoph Oelckers
a48b45143e - ActorFindTrack 2021-11-29 00:55:13 +01:00
Christoph Oelckers
b3558d8925 - eliminated SetEnemy(In)active.
Both were only used once, so they are now inlined.
2021-11-29 00:55:13 +01:00
Christoph Oelckers
6c867e23ee - PlayerTakeDamage 2021-11-29 00:55:12 +01:00
Christoph Oelckers
98fe147d7a - PlaySpriteSound. 2021-11-29 00:55:12 +01:00
Christoph Oelckers
c15da92544 - add a Collision member to USER. 2021-11-29 00:55:12 +01:00
Christoph Oelckers
d5f1ec9ad7 - wrapped all assignments to USER::ret.
To allow more complex operations like filling a Collision struct and changing the calling code piece by piece.
2021-11-29 00:55:12 +01:00
Christoph Oelckers
af81a9e175 - DropAhead, DoActorActionDecide and ai.cpp cleanup. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
c88524884c - made USER::flame an actor pointer. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
6db11ff2d5 - removed DebugMoveHit. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
0de816d308 - replaced tgt_sp wrapper. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
84b83ad9b8 - replaced hi_sp with an actor pointer. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
c0c27dfd1a - replaced lo_sp with an actor pointer, both in USER and PLAYER. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
64d77945f9 - DoFindGroundPoint
This removes the last SpriteNum occurence in actpr.cpp
2021-11-29 00:55:10 +01:00
Christoph Oelckers
06b4e8cf08 - cleanup. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
d60d3cd307 - second large batch of NewStateGroup calls. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
02031c77d0 - first large batch of NewStateGroup calls. 2021-11-29 00:55:09 +01:00
Christoph Oelckers
d98fe4af73 - renamed NewStateGroup.
As refactoring aid.
2021-11-29 00:55:09 +01:00
Christoph Oelckers
fdcff8002d - move_actor 2021-11-29 00:55:09 +01:00
Christoph Oelckers
5062dc6aa8 - a second large batch of KillSprite calls. 2021-11-29 00:55:09 +01:00
Christoph Oelckers
3e1e5fb343 - a large batch of KillSprite calls. 2021-11-29 00:55:08 +01:00
Christoph Oelckers
740c5e1e56 - DoSuicide 2021-11-29 00:55:08 +01:00
Christoph Oelckers
400f822df3 - SpawnShrap callers
Function itself still needs work.
2021-11-29 00:55:08 +01:00
Christoph Oelckers
1db4be60f0 - UpdateSinglePlayKills 2021-11-29 00:55:08 +01:00
Christoph Oelckers
49d43727ba - SpawnBlood. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
8d5243bd64 - most calls of SetState 2021-11-29 00:55:07 +01:00
Christoph Oelckers
771b4bcf43 - renamed ChangeState to ChangeSpriteState. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
9602ee6c39 - most of change_sprite_stat. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
7fc9ad1edb - Coolie ghost function interface. 2021-11-29 00:55:06 +01:00
Christoph Oelckers
119d4393db - Initial SetOwner WIP. 2021-11-29 00:55:06 +01:00
Christoph Oelckers
ae874275ec - iterator in DoActorPickClosePlayer 2021-11-29 00:55:06 +01:00
Christoph Oelckers
c0a72c7243 - FindNewAngle and move_scan 2021-11-29 00:55:06 +01:00
Christoph Oelckers
34d0c12b60 - removed all references to tgt_sp from ai.cpp, plus a few others found with search&replace. 2021-11-29 00:55:06 +01:00
Christoph Oelckers
b8b90d2825 - track functions in ai.cpp plus some cleanup. 2021-11-29 00:55:06 +01:00
Christoph Oelckers
b0a59bf665 - CloseRangeDist + DoSectorOperate 2021-11-29 00:55:05 +01:00
Christoph Oelckers
4d12bbbb56 - GetPlayerSpriteNum 2021-11-29 00:55:05 +01:00
Christoph Oelckers
602048b41d - more simple tgt_sp replacements. 2021-11-29 00:55:05 +01:00
Christoph Oelckers
76f0724d24 - global search & replace for all occurences of tgt_sp where it is only used to access a field in the sprite. 2021-11-29 00:55:05 +01:00
Christoph Oelckers
697d4f2253 - replaced USER::tgt_sp with an actor pointer.
Most access is still through a wrapper.
2021-11-29 00:55:04 +01:00
Christoph Oelckers
d819d5c862 - DoActorPickClosePlayer 2021-11-29 00:55:04 +01:00
Christoph Oelckers
125159772d - CanHitPlayer 2021-11-29 00:55:04 +01:00
Christoph Oelckers
ceb3ac2e5b - CanSeePlayer 2021-11-29 00:55:04 +01:00
Christoph Oelckers
a2dee7681a - DoActorNoise 2021-11-29 00:55:04 +01:00
Christoph Oelckers
3dbd002319 - DoActorSetSpeed + ActorFlaming. 2021-11-29 00:55:03 +01:00
Christoph Oelckers
ec9ab56ece - use collision struct in ActorMoveHitReact 2021-11-29 00:55:03 +01:00
Christoph Oelckers
2a897c0582 - SW hit code abstraction. 2021-11-29 00:55:03 +01:00
Christoph Oelckers
077c4f19a7 - ActorMoveHitReact + DebugMoveHit 2021-11-29 00:55:03 +01:00
Christoph Oelckers
c7f6b7a8c2 - DoFall + DoBeginFall. 2021-11-29 00:55:03 +01:00
Christoph Oelckers
dc6ea40911 - DoFall 2021-11-29 00:55:02 +01:00
Christoph Oelckers
2a56479e3e - DoBeginJump 2021-11-29 00:55:02 +01:00
Christoph Oelckers
9375a64ccc - cleanup only. 2021-11-29 00:55:02 +01:00
Christoph Oelckers
9e438b4042 - DoActorBeginSlide 2021-11-29 00:55:02 +01:00
Christoph Oelckers
ad0ed0c377 - KeepActorOnFloor 2021-11-29 00:55:02 +01:00
Christoph Oelckers
2ba98dc03c - minor cleanup, DoDebrisCurrent, move_debris, DoGenerateSewerDebris 2021-11-29 00:55:01 +01:00
Christoph Oelckers
ee8f6460c1 - DoActorDie 2021-11-29 00:55:01 +01:00
Mitch Richters
5d07c768b2 - SW: Tidy up use of cl_nomeleeblur use within panel code. 2021-11-29 00:55:01 +01:00
Mitch Richters
e491d15ff9 - Move InputScale() out of inputstate.cpp and into i_time.cpp as I_GetInputFrac() to make it available to GZDoom for potential future requirements.
* As part of this, feed the output of `I_GetInputFrac()` to `gi->GetInput()` instead of having each game's virtual override calling it locally.
2021-11-29 00:55:01 +01:00
Christoph Oelckers
08bc31e6e2 - use GetIndex function where appropriate. 2021-11-29 00:55:00 +01:00
Christoph Oelckers
ad95033c64 - removed temporary workaround 2021-11-29 00:55:00 +01:00
Christoph Oelckers
40b22a90e9 - Blood: cleaned out some crutches needed to deal with the broken vanilla savegame code.
Raze has fixed its savegame format so that it can fully restore a game session from it.
As a result, nnExtInitModernStuff was never called with 'saveload' set to true and none of this code ever executed.
2021-11-29 00:55:00 +01:00
Christoph Oelckers
b6d00667de - something insignificant that was missed. 2021-11-29 00:55:00 +01:00
Christoph Oelckers
433764fd91 - mark all places using a sprite index that needs addressing with a GetSpriteIndex function. 2021-11-29 00:55:00 +01:00
Christoph Oelckers
c40266625b - moved gInterpolateSprite into DBloodActor 2021-11-29 00:55:00 +01:00
Christoph Oelckers
bac40ddb05 - viewBackupSpriteLoc calls 2021-11-29 00:54:59 +01:00
Christoph Oelckers
98a3564ee6 - use GetIndex for error messages and deleted several unused index variables. 2021-11-29 00:54:59 +01:00
Christoph Oelckers
21a208e59e - eliminated most references to spritetype::extra
This was all places that could have been done earlier but had been overlooked.
2021-11-29 00:54:59 +01:00
Christoph Oelckers
3d63c44aae - GCC warned about this. 2021-11-29 00:54:59 +01:00
Christoph Oelckers
fb95f0fff7 - store an actual actor pointer in PLAYER.
# Conflicts:
#	source/games/blood/src/player.cpp
2021-11-29 00:54:58 +01:00
Christoph Oelckers
812b18e49a - some xsprite cleanup 2021-11-29 00:54:58 +01:00
Christoph Oelckers
3e452994d8 - handle all of gUpper/gLowerLink.
This completes the removal of all access to the global arrays outside of setup code.
2021-11-29 00:54:58 +01:00
Christoph Oelckers
5b9152abfd - eliminated the last access to playerActors in trigger.cpp and made AimTargets a pointer array. 2021-11-29 00:54:58 +01:00
Christoph Oelckers
6dd7cbe8fa - GetCrushedSpriteExtents and leftover bloodActors references. 2021-11-29 00:54:58 +01:00
Christoph Oelckers
d2bc254e03 - the rest of triggers.cpp. 2021-11-29 00:54:57 +01:00
Christoph Oelckers
9349e7bcb1 - several simple functions.
Also two fixes involving trTriggerSprite.
2021-11-29 00:54:57 +01:00
Christoph Oelckers
0ae664e9ca - SetSpriteState 2021-11-29 00:53:57 +01:00
Christoph Oelckers
7e8fc3fe65 - target in UpdateAimVector, teslaHit. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
7d1c81626e - changed all naked Stat/SectIterator loops to use the Blood... variants. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
9016256ac2 - savegame hackery for sequences. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
4e1e9ca0c9 - proper actor managements in SEQINST. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
7204b8e026 - deal with QAV::nIndex.
This was totally redundant. Since the player already gets passed as 'Data', we can just make that pointer a PLAYER type and use it instead to retrieve the playing actor for sound purposes.
2021-11-29 00:53:56 +01:00
Christoph Oelckers
70cd4d9466 - minor sprite[] stuff. 2021-11-29 00:53:55 +01:00
Christoph Oelckers
8f974dc1d8 - the remaining functions of player.cpp. 2021-11-29 00:53:55 +01:00
Christoph Oelckers
fddc213fa8 - made PLAYER::fragger an actor pointer. 2021-11-29 00:53:55 +01:00
Christoph Oelckers
abee5c5eaa - parameters in Pickup functions, getting rid of all (x)sprite[] references in player.cpp. 2021-11-29 00:53:55 +01:00
Christoph Oelckers
07e88e36f6 - ActionScan cleanup plus smaller bits in player.cpp
# Conflicts:
#	source/games/blood/src/player.cpp
2021-11-29 00:53:55 +01:00
Christoph Oelckers
e95936efd6 - made PLAYER::used2 an actor array and renamed it to match its purpose.
Note: Renaming this for savegames is fine, as it's not relevant in singleplayer.
2021-11-29 00:53:54 +01:00
Christoph Oelckers
165b2f29ff - removed last remaining accesses to sprite[] and xsprite[] from nnexts.cpp. 2021-11-29 00:53:54 +01:00
Christoph Oelckers
85c4b96177 - removed all access to sprite[] from mirrors.cpp. 2021-11-29 00:53:54 +01:00
Christoph Oelckers
826fd7ddb2 - optimized vector math. 2021-11-29 00:53:54 +01:00
Christoph Oelckers
50f9b67598 - removed all sprite[] references from gameutil.cpp. 2021-11-29 00:53:54 +01:00
Christoph Oelckers
7a2c661ff9 - GetZRange 2021-11-29 00:53:54 +01:00
Christoph Oelckers
626deed960 - VectorScan 2021-11-29 00:53:53 +01:00
Christoph Oelckers
0466186440 - HitScan 2021-11-29 00:53:53 +01:00
Christoph Oelckers
c2916259d7 - CheckProximity
# Conflicts:
#	source/games/blood/src/aibeast.cpp
2021-11-29 00:53:53 +01:00
Christoph Oelckers
db75e4d2bf - moved basePath into XSECTOR.
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-29 00:53:53 +01:00
Christoph Oelckers
0d2da892e8 - made marker0 and marker1 actor pointers. 2021-11-29 00:53:52 +01:00
Christoph Oelckers
f4b900c540 - moved velocity data into DBloodActor. 2021-11-29 00:53:52 +01:00
Christoph Oelckers
6a8f59e991 - removed remaining direct access to the velocity arrays. 2021-11-29 00:53:52 +01:00
Christoph Oelckers
ff9a86b7b4 - proper way to get player actor. 2021-11-29 00:53:52 +01:00
Christoph Oelckers
1cb98593f1 - removed compatible savegame handling for SPRITEHIT.
This does not need to be preserved, unlike the other refactored global arrays.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
54f70ec1bb - moved baseSprite into DBloodActor. 2021-11-29 00:53:51 +01:00
Christoph Oelckers
14ace49c3e - owner stuff.
This reduces the number of direct references to spritetype.owner by half in the Blood code.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
3b1ba88a41 - gib stuff. 2021-11-29 00:53:51 +01:00
Christoph Oelckers
344e7e840e - remove leftover index dependencies for sprite events. 2021-11-29 00:53:51 +01:00
Christoph Oelckers
245581e00d - cleanup 2021-11-29 00:53:50 +01:00
Christoph Oelckers
b2de1e5209 - added BloodSpriteIterator and BloodLinearSpriteIterator to get rid of explicit loops over the sprite array. 2021-11-29 00:53:50 +01:00
Christoph Oelckers
484d016172 - cleaned up burn code. 2021-11-29 00:53:50 +01:00
Christoph Oelckers
c0b013ac0c - moved gSpriteHit into DBloodActor. 2021-11-29 00:53:50 +01:00
Christoph Oelckers
c34c9deb4e - deleted old condPush variant. 2021-11-29 00:53:50 +01:00
Christoph Oelckers
be0e2a9b93 - todo markers 2021-11-29 00:53:49 +01:00
Christoph Oelckers
3e9bcacc22 - condUpdateObjectIndex + nnExtTriggerObject 2021-11-29 00:53:49 +01:00
Christoph Oelckers
9965245449 - condCheckSprite 2021-11-29 00:53:49 +01:00
Christoph Oelckers
0ff9afde61 - condCheckPlayer + condCheckDude 2021-11-29 00:53:49 +01:00
Christoph Oelckers
9205556b4e - condCheckSector + condCheckWall 2021-11-29 00:53:49 +01:00
Christoph Oelckers
f6e7c5f440 - condCheckMixed + condCheckGame. 2021-11-29 00:53:48 +01:00
Christoph Oelckers
69395383a4 - fix condPush
- better abstraction of the condition storage.

Hiding targetX/Y as much as possible for easier refactoring later.
2021-11-29 00:53:48 +01:00
Christoph Oelckers
f84e2343ca - formatting only. 2021-11-29 00:53:48 +01:00
Christoph Oelckers
9062eb5996 - condError 2021-11-29 00:53:48 +01:00
Christoph Oelckers
fb4fcef2c2 - cleanup 2021-11-29 00:53:48 +01:00
Christoph Oelckers
aef95b52bc - the remaining functions in nnexts.cpp 2021-11-29 00:53:47 +01:00
Christoph Oelckers
ca13a35ccf - formatting
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-29 00:53:47 +01:00
Christoph Oelckers
cc4309f7eb - aiPatrolThink + aiPatrolFlagsMgr 2021-11-29 00:53:47 +01:00
Christoph Oelckers
9004b102fe - formatting 2021-11-29 00:53:47 +01:00
Christoph Oelckers
a67da5003a - made voodooTarget a pointer and removed most direct references to target_i. 2021-11-29 00:53:47 +01:00
Christoph Oelckers
bf424b6439 - aiPatrolSearchTargets 2021-11-29 00:53:46 +01:00
Christoph Oelckers
c2ff8b0941 - formatting 2021-11-29 00:53:46 +01:00
Christoph Oelckers
a1d01d5419 - spritesTouching, readyForCrit 2021-11-29 00:53:46 +01:00
Christoph Oelckers
5ff17fec35 - patrolalarm 2021-11-29 00:53:46 +01:00
Christoph Oelckers
ffdb976f5b - marker stuff. 2021-11-29 00:53:46 +01:00
Christoph Oelckers
af7164c91d - partial rework of aiPatrolSetMarker 2021-11-29 00:53:45 +01:00
Christoph Oelckers
f8a4ecc90f - findNextMarker + markerIsNode 2021-11-29 00:53:45 +01:00
Christoph Oelckers
a76f2feb63 - aiPatrolStop API changed to actors. 2021-11-29 00:53:45 +01:00
Christoph Oelckers
7175439496 - aiPatrolStop cleaned up. 2021-11-29 00:53:45 +01:00
Christoph Oelckers
5c1b2bee37 - minor cleanup. 2021-11-29 00:53:45 +01:00
Christoph Oelckers
e11f118d3c - formatting 2021-11-29 00:53:45 +01:00
Christoph Oelckers
2f5be23171 - validate actors before processing them in the event queue. 2021-11-29 00:53:44 +01:00
Christoph Oelckers
118b3e1d70 - all calls to CheckSpriteSect/Stat handled. 2021-11-29 00:53:44 +01:00
Christoph Oelckers
48073a2cd6 - sanitized the abuse of using XSPRITE's target field to pass along some info with explosions.
This is neither safe nor future proof, so now it uses a separate variable.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
146de69169 - some more patrol code. 2021-11-29 00:53:44 +01:00
Christoph Oelckers
4ae32fb223 - first part of patrol code. 2021-11-29 00:53:44 +01:00
Christoph Oelckers
2044f591f2 - formatting and cleanup. 2021-11-29 00:53:43 +01:00
Christoph Oelckers
3928407eae - several is...() functions. 2021-11-29 00:53:43 +01:00
Christoph Oelckers
49879af921 - usePictureChanger 2021-11-29 00:53:43 +01:00
Christoph Oelckers
088fa6690c - reformatting only. 2021-11-29 00:53:43 +01:00
Christoph Oelckers
94ae3c22d5 - final part and cleanup of useTargetChanger. 2021-11-29 00:53:43 +01:00
Christoph Oelckers
6c465dff3c - the fourth block 2021-11-29 00:53:42 +01:00
Christoph Oelckers
dc4c632b08 - the third block. 2021-11-29 00:53:42 +01:00
Christoph Oelckers
ff29570675 - second block. 2021-11-29 00:53:42 +01:00
Christoph Oelckers
c3a1e8f46b - targetactor in the first block of useTargetChanger 2021-11-29 00:53:42 +01:00
Christoph Oelckers
17bd466801 - first pass over useTargetChanger
using 'actor' wherever easily doable.
2021-11-29 00:53:42 +01:00
Christoph Oelckers
d59f78a5f0 - formatting only 2021-11-29 00:53:41 +01:00
Christoph Oelckers
a60617c688 - more use* functions. 2021-11-29 00:53:41 +01:00
Christoph Oelckers
c54dd079fb - formatting only. 2021-11-29 00:53:41 +01:00
Christoph Oelckers
e3b8980ecd - sprite2sectorSlope + useSlopeChanger 2021-11-29 00:53:41 +01:00
Christoph Oelckers
b7465ab67b - spriteGetSlope/spriteSetSlope take spritetype pointer arguments. 2021-11-29 00:53:41 +01:00
Christoph Oelckers
c32ff483a9 - formatting only 2021-11-29 00:53:41 +01:00
Christoph Oelckers
ca131f2dcf - fixed a few oversights. 2021-11-29 00:53:40 +01:00
Christoph Oelckers
c2f6084988 - merged genDudeExtra into DBloodActor. 2021-11-29 00:53:40 +01:00
Christoph Oelckers
017bcb056f - useIncDecGen + setDataValueOfObject 2021-11-29 00:53:40 +01:00
Christoph Oelckers
ab41ac9e05 - formatting only. 2021-11-29 00:53:40 +01:00
Christoph Oelckers
239faad4c5 - useSoundGen 2021-11-29 00:53:39 +01:00
Christoph Oelckers
a8ee9b3969 - useUniMissileGen 2021-11-29 00:53:39 +01:00
Christoph Oelckers
c65c936d27 - useCondition + 2021-11-29 00:53:39 +01:00
Christoph Oelckers
24a11b3f2f - txIsRanged and several of its callers. 2021-11-29 00:53:39 +01:00
Christoph Oelckers
174783e57b - formatting only 2021-11-29 00:53:39 +01:00
Christoph Oelckers
a4f7fabbfa - modernTypeOperateSprite 2021-11-29 00:53:39 +01:00
Christoph Oelckers
fe3da5eaab - split off formatting 2021-11-29 00:53:38 +01:00
Christoph Oelckers
766999118c - sectorKillSounds + useDudeSpawn 2021-11-29 00:53:38 +01:00
Christoph Oelckers
3761424501 - the remaining AIFight stuff. 2021-11-29 00:53:38 +01:00
Christoph Oelckers
a5471b1079 - aiFightDudeIsAffected + aiFightGetDudesForBattle 2021-11-29 00:53:38 +01:00
Christoph Oelckers
55716c9409 - aiFightGet(Fine)TargetDist 2021-11-29 00:53:38 +01:00
Christoph Oelckers
baf4bb0785 - formatting only. 2021-11-29 00:53:37 +01:00
Christoph Oelckers
57c3571555 - several aiFight functions. 2021-11-29 00:53:37 +01:00
Christoph Oelckers
ca3d7c9bdf - formatting only 2021-11-29 00:53:37 +01:00
Christoph Oelckers
78cbb4ed0a - aiFightGetTargetInRange 2021-11-29 00:53:37 +01:00
Christoph Oelckers
a449d97b86 - modernTypeTrigger 2021-11-29 00:53:37 +01:00
Christoph Oelckers
ea8166871a - formatting only. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
43e9e07910 - 2 modernType functions. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
1ff6dc7c69 - useSeqSpawnerGen 2021-11-29 00:53:36 +01:00
Christoph Oelckers
c59a6bbb86 - clean up some loops 2021-11-29 00:53:36 +01:00
Christoph Oelckers
9714febaab - eliminated the actPostSprite wrapper with an index parameter. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
e0f1948ccc - wrapped all setsprite calls in Blood and adapted a few leftover uses of the index version of actPostSprite. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
5cda9d0858 - tabified two files in Duke that were missed somehow, plus some comment cleanup elsewhere. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
b54d3f3567 - useSpriteDamager + damageSprite 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1689efe698 - useEffectGen + useSectorWindGen 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1847b905ba - useTeleportTarget 2021-11-29 00:53:35 +01:00
Christoph Oelckers
f21dc51207 - usePropertiesChanger 2021-11-29 00:53:34 +01:00
Christoph Oelckers
cd98e940aa - useObjResizer 2021-11-29 00:53:34 +01:00
Christoph Oelckers
63ae861765 - DropVoodooCb 2021-11-29 00:53:34 +01:00
Christoph Oelckers
be9e423d7c - trPlayer* functions. 2021-11-29 00:53:34 +01:00
Christoph Oelckers
470f82bc26 - Blood: fixed loading of actors with extended AI states. 2021-11-29 00:51:35 +01:00
Christoph Oelckers
aac02d52db - Duke/RR: fixed hitradius
The recent optimization did not update the sector pointer inside the loop
2021-11-15 00:18:52 +01:00
Christoph Oelckers
dc1d97b6bd - SW: fix bad return value in QueueWallBlood.
Had been known for some time, it just wasn't unclear if this is bad.
Now I was able to confirm that this is indeed bad and can cause crashes.
2021-11-13 19:30:16 +01:00
Christoph Oelckers
5732bb2db3 - Blood: fixed loading of maps with tracking conditions.
These use a pointer in the DBloodActor structure, but this part wasn't cleared for sprites loaded with the map.

# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-13 13:55:25 +01:00
Christoph Oelckers
01deb13694 - SW: fixed NORM_xxx macros
kHitIndexMask already has the -1 considered, it is 0x3fff.
2021-11-12 11:09:24 +01:00
Christoph Oelckers
401f3cf1d7 - Blood: removed unused CSectorListMgr class. 2021-11-11 23:48:19 +01:00
Christoph Oelckers
9b21233c98 - little bit of cleanup 2021-11-11 23:47:26 +01:00
Christoph Oelckers
5a6d4f88d5 - Exhumed: eliminate all remaining MAXSECTORS references 2021-11-11 23:46:50 +01:00
Christoph Oelckers
794c4483ca -Exhumed: better handling of BuildNear/BelowNear.
BuildNear was only called right before calling BelowNear - now both functions are merged and use the global GlobalSectorList array for storage.
Since the data in this is local to this function it is also unnecessary to write it out to a savegame as it will get recereate each time before it is used.
2021-11-11 23:45:59 +01:00
Christoph Oelckers
d70e76e5c6 - Exhumed: use dynamic arrays for the palette backup in DrawView. 2021-11-11 23:34:03 +01:00
Christoph Oelckers
2e3c212444 - Duke: moved the temtempsector* arrays into the only function using them 2021-11-11 23:32:49 +01:00
Christoph Oelckers
8f19dc12d8 - SW: code/data pointer saving cleanup.
* a large number of code pointer records were removed because none of these functions ever gets assigned to a pointer
* instead of looking up entries by index, do it by name. This is far less fragile and will survive deeper refactoring. The old storage by table index will break as soon as a single entry gets removed.

Since the old savegames got broken due to this problem recently it was a good time to change the setup.
2021-11-11 23:28:28 +01:00
Christoph Oelckers
f109f6c857 - Duke/RR: fixed two bad assignments to wall 0. 2021-11-11 21:58:15 +01:00
Christoph Oelckers
2164d244d2 - SW: removed 3 unused global arrays. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
25a6774540 - SW: got rid of MAXWALLS.
Only places left are declarations of global arrays.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
b6579809ad - SW: eliminated all remaining MAXSECTORS references, except static array declarations. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
75e2d801a7 - SW: only check valid sectors for SecUser entries. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
6bd239c5b7 - SW: use the global sector list in PreMapCombineFloors 2021-11-11 21:58:14 +01:00
Christoph Oelckers
a79f7a3784 - SW: use a dynamic array to track already visited sectors in TraverseBreakableWalls. 2021-11-11 21:57:55 +01:00
Christoph Oelckers
642088ed80 - let ValidateSprite print better messages when developer mode is set to warning and also call it for Blood. 2021-11-11 21:28:53 +01:00
Christoph Oelckers
f2e344a235 - removed magic flags added to sector indices in Polymost.
These are better done as separate function arguments.
2021-11-11 21:28:53 +01:00
Mitch Richters
3c4afaa6ee - InputScale(): Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates. 2021-11-10 20:27:19 +11:00
Christoph Oelckers
9433e9bdb1 - trPlayerCtrlStartScene + changing index to initiator pointer in QAVSCENE.
- clear QAVSCENE's initiator pointer at the start of a level or when it holds an actor that's about to be deleted.

Seems there is no proper bookkeeping here, so until we can GC actors it needs to be done manually.
2021-11-09 23:16:16 +01:00
Christoph Oelckers
ad36916fd3 - formatting again and fallthrough annotations. 2021-11-09 23:11:54 +01:00
Christoph Oelckers
bb094fd003 - 3 smaller functions. 2021-11-09 23:10:34 +01:00
Christoph Oelckers
733d9b2e2b - debrisMove 2021-11-09 23:10:03 +01:00
Christoph Oelckers
942e93b2e7 - debris functions. 2021-11-09 22:51:01 +01:00
Christoph Oelckers
6e2f8ec47f - vel replacements. 2021-11-09 22:49:43 +01:00
Christoph Oelckers
7430a630bd - yet another commit with extracted formatting stuff and minor cleanup.
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-09 22:49:28 +01:00
Christoph Oelckers
5558c3e896 - debrisGetIndex and some related code. 2021-11-09 22:18:38 +01:00
Christoph Oelckers
ce622c9c88 - two missed lines 2021-11-09 21:51:51 +01:00
Christoph Oelckers
5b057415da - sanitized tileGetSurfType. 2021-11-09 21:42:51 +01:00
Christoph Oelckers
9221262dfc - refactoring of all getzrange code to use the Collision struct. 2021-11-09 21:39:59 +01:00
Christoph Oelckers
55362edce4 - cleanup and formatting in getSpriteMassBySize 2021-11-09 21:00:27 +01:00
Christoph Oelckers
6f8fe44bb0 - getSpriteMassBySize 2021-11-09 20:59:52 +01:00
Christoph Oelckers
81c3443af9 - nnExtProcessSuperSprites, plus replacing xindex with actor in TRCONDITION. 2021-11-09 20:58:27 +01:00
Christoph Oelckers
a898dfc4ec - some cleanup in nnExtProcessSuperSprites before refactoring. 2021-11-09 20:46:54 +01:00
Christoph Oelckers
754042e10a - windGenDoVerticalWind 2021-11-09 20:45:10 +01:00
Christoph Oelckers
06be31daea - pure formatting stuff split out of following commit. 2021-11-09 20:43:11 +01:00
Christoph Oelckers
18b608df1a - randomDropPickupObject + randomSpawnDude 2021-11-09 20:40:39 +01:00
Christoph Oelckers
c427669595 - randomGetDataValue 2021-11-09 20:37:10 +01:00