Christoph Oelckers
4cecb6f955
- removed the old actor savegame code and instead implemented a virtual Serialize function.
...
This isn't hooked up yet, currently savegames are non-functional. They will come back once the global actor arrays are no longer relevant for maintenance.
2021-12-26 23:09:55 +01:00
Christoph Oelckers
f855b1020f
- actor lists refactored.
...
No more shorts, no more static arrays.
This was one of the biggest blockers for unlimiting the engine.
2021-12-26 23:09:54 +01:00
Christoph Oelckers
eaff9e359f
- refactored the owner index in tspritetype.
...
This is now a separate type from spritetype which contains an actor pointer instead so that sprite display can be handled without requiring a static sprite array.
2021-12-26 23:09:53 +01:00
Christoph Oelckers
183f554733
- hitscan cleanup.
...
Also removed a bit of leftover TROR code.
2021-12-26 23:09:52 +01:00
Christoph Oelckers
6600f55543
- separate map loading from actor spawning for the other games, too.
...
It still uses the horribly messed up original spawn logic, though.
2021-12-26 23:09:51 +01:00
Christoph Oelckers
a3493048e7
- refactoring of spawn code to prepare for the other games.
...
Map hacks do not work in this commit!
2021-12-26 23:09:51 +01:00
Christoph Oelckers
ec888c097c
- Blood: separated actor spawning from map loading.
2021-12-26 23:09:51 +01:00
Christoph Oelckers
e543c70439
- replacement of BloodLinearSpriteIterator
...
Preparation for eliminating sprite[]. This array can later be created by the actual spawn function.
2021-12-26 23:09:51 +01:00
Christoph Oelckers
6773fa2189
- removed unused InitLists function.
...
# Conflicts:
# source/build/src/engine.cpp
2021-12-26 23:09:49 +01:00
Christoph Oelckers
58cd933d74
- pass sprite array to map hack parser as parameter.
...
This will later allow it to work on temporaries.
2021-12-26 23:09:49 +01:00
Christoph Oelckers
b663b8ea26
- wallptr reduction.
2021-12-26 23:09:48 +01:00
Christoph Oelckers
a22634f228
- sectnum reduction.
2021-12-26 23:09:47 +01:00
Christoph Oelckers
73243f95bb
- make Blood's burn source a pointer.
2021-12-26 23:09:46 +01:00
Christoph Oelckers
3a44f168e0
- Blood: Fix DeleteSprite
2021-12-26 23:09:46 +01:00
Christoph Oelckers
97b19a5cb1
- adapted Blood's sound engine to using actors.
...
Note: Savegames won't work on this commit for the other games!
2021-12-26 23:09:45 +01:00
Christoph Oelckers
befc4572e9
- minimal backend array removal.
2021-12-26 23:09:45 +01:00
Christoph Oelckers
b7a5ea8ef6
- moved some common utilities into the backend.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
bbb860ccf3
- consolidate the iterators in the backend.
...
Using a template class that can adapt to the game specific types.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
6748a39c8f
- deprecate the sector index variant of pushmove
2021-12-26 23:09:43 +01:00
Christoph Oelckers
70d7e81f4f
- adapted getzrange to the new interface.
...
This was mainly removing game side solutions in favor of a common one in the backend.
2021-12-26 23:09:42 +01:00
Christoph Oelckers
8ce34c7772
- use refactored Collision struct and clipmove in Blood, too.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
96b9572905
- moved parts of the HitInfo subclasses into the backend.
...
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
10dce7dd2d
- adapted all hitscan calls in Duke/RR.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
129ce0aea8
- migrated Blood's hitscan calls and its global gHitInfo struct.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
9380819e4e
- initialize actorArray for all games.
...
- the foundation for an actor aware backend.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
52c80f187a
- added coreactor.h
2021-12-26 23:08:55 +01:00
Christoph Oelckers
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