Commit graph

676 commits

Author SHA1 Message Date
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
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
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
7daa501a4d - removed all #include "compat.h" except the one in build.h
Still all compiles fine.
2021-12-14 12:24:10 +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
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
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
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
Christoph Oelckers
cd3288860a - fixed automap player drawing for follpw mode off in all games. 2021-11-29 00:56:32 +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
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