Commit graph

9290 commits

Author SHA1 Message Date
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