Christoph Oelckers
d1f088a858
- SW/Exhumed fixed sound relinking on actor destruction.
...
This still passed the sprites instead of the actors. Moved the relinking code to DCoreActor::Destroy because it is the same for all games.
Also did a little bit of sound cleanup to ensure the sound backend does not hold stale actor pointers.
2021-12-30 09:53:10 +01:00
Christoph Oelckers
a4ff7e5bd4
- SW: added some null checks to the SO interpolation code.
...
It looks like this was able to access deleted sprites - by only checking for the index this never registered as a problem, but with pointers it does.
2021-12-26 23:10:07 +01:00
Mitchell Richters
18bd2e4d07
- SW: Destroy actor in KillActor()
after clearing the pointed to sprite, not before it.
...
* No idea if it matters but it seems logical that this is how it should be.
2021-12-26 23:10:05 +01:00
Mitchell Richters
65a55d3589
- SW: Tidy up function declarations where return type was on its own line.
2021-12-26 23:10:05 +01:00
Christoph Oelckers
8ee5d1b0d7
- activated the garbage collector
...
This finally gets rid of all static storage for actors - so no more indices ever! :)
2021-12-26 23:10:00 +01:00
Christoph Oelckers
db240ea2b0
- GC support in SW.
...
- SW GC WIP
2021-12-26 23:10:00 +01:00
Christoph Oelckers
fa05cfbaf1
- use a real pointer in DSWActor for owner tracking.
2021-12-26 23:09:56 +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
Mitchell Richters
0c6e55d1b8
- Silence all the -Wuninitialized
and -Wmaybe-uninitialized
warnings relating to HitInfo
objects passed through to functions by reference.
2021-12-26 23:09:50 +01:00
Christoph Oelckers
e223466f4a
- removed Interp_Sprite_Z.
...
This was redundant and interfered with the reworked automatic sprite interpolation.
2021-12-26 23:09:49 +01:00
Christoph Oelckers
b7a5ea8ef6
- moved some common utilities into the backend.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
02ef323086
- SW: handle getzrangepoint
2021-12-26 23:09:43 +01:00
Christoph Oelckers
53be5d1622
- use a sector pointer in FAFgetzrange.
2021-12-26 23:09:43 +01:00
Christoph Oelckers
91e2391911
- adapted neartag in Duke.
2021-12-26 23:09:42 +01:00
Christoph Oelckers
1840ab0d05
- deal with a few ->sectnum's in SW.
2021-12-26 23:09:42 +01:00
Christoph Oelckers
321608e5ac
- made cursectnum et. al. real pointers.
2021-12-26 23:09:41 +01:00
Christoph Oelckers
bdbb3b4004
- handled the main actor movement functions.
2021-12-26 23:09:40 +01:00
Christoph Oelckers
30f36e4871
- use backend's collision struct in SW.
2021-12-26 23:08:58 +01:00
Christoph Oelckers
3f43f48b57
- adapted all SW hitscan calls outside of FAFhitscan.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
104e80e34a
- NEAR_TAG_LIST, also deleted useless OperateWall code.
2021-12-26 23:08:55 +01:00
Christoph Oelckers
b7cfb07245
- all sectnums that can trivially be replaced.
...
Most of the rest is in backend calling code and should be done while cleaning up the backend API.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
1457cf2c0d
- track stuff
2021-12-26 23:08:53 +01:00
Christoph Oelckers
b3eceb3b56
- the remaining trivial sector[] replacements
2021-12-26 23:08:53 +01:00
Christoph Oelckers
1a7cc6d782
- FAFgetzrangepoint + ActorDrop
2021-12-26 23:08:53 +01:00
Christoph Oelckers
9a6bd0b7e1
- SectorWallBits
2021-12-26 23:08:52 +01:00
Christoph Oelckers
0c9d465e4c
- FAF_Connect* functions and related code.
2021-12-26 23:08:52 +01:00
Christoph Oelckers
c4e388ef56
- merged SpawnActor wrapper.
2021-12-26 23:08:50 +01:00
Christoph Oelckers
33b3864d14
- final wall not related to hitscan/neartag.
2021-12-26 23:08:47 +01:00
Christoph Oelckers
bb315f8148
- more wall cleanup
2021-12-26 23:08:47 +01:00
Christoph Oelckers
d0eece244b
- got rid of most nextsector references.
2021-12-26 23:08:45 +01:00
Christoph Oelckers
b7a2687a7b
- all nextwall references removed.
2021-12-26 23:08:45 +01:00
Christoph Oelckers
7e6de45e46
- WallSetup + SpriteSetup
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
eb82f60981
- FAFcansee.
2021-12-26 23:08:42 +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
4d7b45b68e
- SW: first batch of short handling.
2021-12-25 21:28:53 +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
bd43f49c29
- replaced half of the remaining 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
f6db4a8e51
- SW: move User into DSWActor.
2021-12-25 21:28:39 +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
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
cd73cd616e
- ActorDrop.
2021-11-29 00:56:16 +01:00