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
Christoph Oelckers
56760d1824
- CanGetWeapon
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
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
69223af7b0
- SpriteControl and subfunctions.
2021-11-29 00:56:13 +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
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
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
35579a9f08
- SpawnExoZAdjust arguments.
2021-11-29 00:56:06 +01:00
Christoph Oelckers
f0c670603e
- DoNapalm, DoBloodWorm
2021-11-29 00:56:04 +01:00
Christoph Oelckers
6f0c477e85
- getting rid of COVERinsertsprite, plus cleanup.
2021-11-29 00:56:01 +01:00
Christoph Oelckers
290482ffb1
- several damage functions.
2021-11-29 00:55:57 +01:00
Christoph Oelckers
ff60bf0430
- MissileWaterAdjust
...
# Conflicts:
# source/games/sw/src/weapon.cpp
2021-11-29 00:55:55 +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
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
0b3b30170c
- DoActorZRange parameters.
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
1d9d70613f
- char review in SW
2021-11-29 00:55:43 +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
10ea8b0fb5
- vator.cpp
2021-11-29 00:55:38 +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
0df721f331
- sumo.cpp + associated code elsewhere.
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
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