Commit graph

783 commits

Author SHA1 Message Date
Christoph Oelckers
730c9e65e4 - renamed all np-> in weapon.cpp 2021-12-30 09:57:42 +01:00
Christoph Oelckers
0175d27ffa - handle all 'np->' not referencing actorNew. 2021-12-30 09:57:41 +01:00
Christoph Oelckers
e1fdb6b7bf - deleted all exp variables from weapon.cpp. 2021-12-30 09:57:41 +01:00
Christoph Oelckers
b5261b9fe1 - renamed exp-> in weapon.cpp 2021-12-30 09:57:40 +01:00
Christoph Oelckers
4395de8fb1 - deleted all sp variables from weapon.cpp. 2021-12-30 09:57:40 +01:00
Christoph Oelckers
b488361639 - more macros in weapons.cpp converted into functions. 2021-12-30 09:57:40 +01:00
Christoph Oelckers
39640a4870 - handle most sp function parameters.
Also de-macrofied ANG2SPRITE and ANG2PLAYER.
2021-12-30 09:57:40 +01:00
Christoph Oelckers
d8b0cbd031 - renamed all sp-> in weapons.cpp. 2021-12-30 09:57:40 +01:00
Christoph Oelckers
17810bc6cd - the ones I missed. 2021-12-30 09:57:39 +01:00
Christoph Oelckers
a8d0e29a3b - handle parts of weapon.cpp where sp is not used for actor->s() 2021-12-30 09:57:39 +01:00
Christoph Oelckers
b2fd05d182 - stuff in InitSwordAttack + InitHeartAttack 2021-12-30 09:57:39 +01:00
Christoph Oelckers
63fc668d57 - don't use auto when making local copies of TObjPtr. 2021-12-30 09:57:36 +01:00
Christoph Oelckers
397d9b0d84 - made SP_TAG2 a function with an actor parameter. 2021-12-30 09:57:34 +01:00
Christoph Oelckers
4caee272ef - some non 'actor' sp replacements in weapon.cpp. 2021-12-30 09:57:33 +01:00
Christoph Oelckers
ca14c809f9 - cleaned up some random crap with loops and bad variable types I just randomly found. 2021-12-30 09:57:33 +01:00
Mitchell Richters
c26b5d2303 - SW: Clean up local functions variables to prevent redefinition conflicts. 2021-12-30 09:57:31 +01:00
Christoph Oelckers
395a269feb - globally replaced ->u()->. 2021-12-30 09:57:30 +01:00
Christoph Oelckers
8d5bffc280 - SW: some inline cleanup. 2021-12-30 09:57:29 +01:00
Christoph Oelckers
c9628e2034 - partial cleanup of SW's macro mess.
Renamed some functions to give them better names and converted more macros into functions or constants
2021-12-30 09:57:28 +01:00
Christoph Oelckers
f67e39450e - deal with a handful of s() uses that do not match the more common patterns. 2021-12-30 09:57:13 +01:00
Mitchell Richters
05a4ad4729 - SW: Replace PLAYERstruct posz with pos.Z calls and eliminate PLAYERstruct pos union. 2021-12-30 09:57:08 +01:00
Mitchell Richters
ae3369d2a3 - SW: Replace PLAYERstruct posy with pos.Y calls. 2021-12-30 09:57:08 +01:00
Mitchell Richters
3a0ee322ae - SW: Replace PLAYERstruct posx with pos.X calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
baf78848eb - Replace spritetypebase z with pos.Z calls and eliminate spritetypebase pos union. 2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e - Replace spritetypebase y with pos.Y calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f - Replace spritetypebase x with pos.X calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
09e00a69fe - Replace walltype y with pos.Y calls and eliminate walltype pos union. 2021-12-30 09:57:04 +01:00
Mitchell Richters
51b647da87 - Replace walltype x with pos.X calls. 2021-12-30 09:57:04 +01:00
Mitchell Richters
b2ab64bb62 - Capitalise vec3_t z variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
68e2691be7 - Capitalise vec3_t y variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276 - Capitalise vec3_t x variable. 2021-12-30 09:57:02 +01:00
Christoph Oelckers
d9d05e90b5 - globally replaced all occurences of '->s().' with '->spr.' 2021-12-30 09:57:00 +01:00
Christoph Oelckers
5ff36f491e - fixed the remaining places where the compiler complained about cstat. 2021-12-30 09:56:51 +01:00
Christoph Oelckers
bea394a734 - replace SW specific sector flags with the global ones. 2021-12-30 09:53:55 +01:00
Christoph Oelckers
dddf48fd3e - cleaned up and renamed buildtypes.h.
Content was reordered so that the file can contain the inlines belonging to the map data types that previously had to be stored elsewhere.
Also moved out of the Build folder because virtually everything in here can be traced to content available in Duke Nukem 3D's and Shadow Warrior's source releases.
2021-12-30 09:53:46 +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
db240ea2b0 - GC support in SW.
- SW GC WIP
2021-12-26 23:10:00 +01:00
Christoph Oelckers
6cb260d916 - SW GC preparation commit noise. 2021-12-26 23:10:00 +01:00
Christoph Oelckers
8a2385dd89 - actor clearing cleaned up.
We still need this until we can get rid of the static arrays...
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
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
53be5d1622 - use a sector pointer in FAFgetzrange. 2021-12-26 23:09:43 +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
10d0ea29ce - renamed some sectnum variables. 2021-12-26 23:09:41 +01:00
Christoph Oelckers
afd05add96 - adapted several clipmove calls in SW. 2021-12-26 23:09:40 +01:00
Christoph Oelckers
c0b0b00f96 fixed collision access. 2021-12-26 23:09:09 +01:00
Christoph Oelckers
30f36e4871 - use backend's collision struct in SW. 2021-12-26 23:08:58 +01:00
Christoph Oelckers
a5ccd2ccd2 - adapted FAFhitscan to the new backend API.
Lots of search & replace to change the names of the HitInfo struct, no manual edits outside of FAFhitscan.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
3f43f48b57 - adapted all SW hitscan calls outside of FAFhitscan. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
52c80f187a - added coreactor.h 2021-12-26 23:08:55 +01:00
Christoph Oelckers
e526686d1e - the really final ones. 2021-12-26 23:08:55 +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
cf6e75ad54 - the final doable sector[] replacements.
The rest needs to be done with the backend.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
c4f29772ae - SpawnVis 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
0c9d465e4c - FAF_Connect* functions and related code. 2021-12-26 23:08:52 +01:00
Christoph Oelckers
1a7c70cbbd - use pointers in FAFHitscan 2021-12-26 23:08:51 +01:00
Christoph Oelckers
6ae8e93de8 - hitinfo.hitwall is also gone. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
bcc61470a2 - mostly deal with hitinfo.hitsect. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
f495097663 - first step of replacing hitinfo.hitsect with a pointer.
This takes care of easy to handle common patterns
2021-12-26 23:08:50 +01:00
Christoph Oelckers
1162442068 - handle most GetOverlapSector callers. 2021-12-26 23:08:50 +01:00
Christoph Oelckers
c43d594f34 - SectorIsUnderwaterArea 2021-12-26 23:08:49 +01:00
Christoph Oelckers
4149a335a3 - SOP::mid_sector 2021-12-26 23:08:48 +01:00
Christoph Oelckers
de5377cb2c - WallBreakPosition 2021-12-26 23:08:48 +01:00
Christoph Oelckers
f0dd018ad4 - use pointers in sparks interface. 2021-12-26 23:08:47 +01:00
Christoph Oelckers
bb315f8148 - more wall cleanup 2021-12-26 23:08:47 +01:00
Christoph Oelckers
5cafd7b591 - QueueHole 2021-12-26 23:08:46 +01:00
Christoph Oelckers
e3ad05d4d7 - quick cursectnum replacements. 2021-12-26 23:08:46 +01:00
Christoph Oelckers
d0eece244b - got rid of most nextsector references. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
612a9e258e - auto replacement. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
ca536ce5bd - quick wall[] replacements. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
ce4a44dd84 - hitinfo.hitwall. 2021-12-26 23:08:45 +01:00
Christoph Oelckers
9c21483279 - wall[] in light.cpp and player.cpp 2021-12-26 23:08:44 +01:00
Christoph Oelckers
732aa2023b - over_sp/under_sp sectnums 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
cab2181ddc - PrevWall 2021-12-26 23:08:43 +01:00
Christoph Oelckers
eb82f60981 - FAFcansee. 2021-12-26 23:08:42 +01:00
Christoph Oelckers
75d59196fc - WallBreakPosition (wall pointer only) 2021-12-26 23:08:42 +01:00
Christoph Oelckers
ac655abc42 - search & replace only. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
82447233a7 - several getangle(delta) blocks. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
0a0cc85407 - renamed HITINFO fields. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
993d460420 - another delta. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
a93dbaf5fe - SW: simplified rotation interpolation functions. 2021-12-26 23:08:40 +01:00
Christoph Oelckers
6a9b377724 SW de-shortification 2021-12-25 21:28:53 +01:00
Christoph Oelckers
4d7b45b68e - SW: first batch of short handling. 2021-12-25 21:28:53 +01:00
Christoph Oelckers
7d2404ce76 - made sector a TArray. 2021-12-25 21:28:49 +01:00
Christoph Oelckers
56a1836e68 - all SectUsers replaced, except for the maintenance code of the array. 2021-12-25 21:28:47 +01:00
Christoph Oelckers
bd43f49c29 - replaced half of the remaining SectUser accesses. 2021-12-25 21:28:46 +01:00
Christoph Oelckers
5cda292d98 - lots of search& replace actions.
This takes care of roughly 2/3 of the 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
a5fac26a90 - DIVx macro removal.
Only DIV2 left because there are too many calls to quickly remove them.
2021-12-25 21:28:45 +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
7f1a3431ca - SW: fixed accidentally inverted colliision check in DoMirvMissile. 2021-12-15 20:51:31 +01:00
Christoph Oelckers
b73ea76c18 - cleaned out Bunny_Count declarations.
One is enough.
2021-11-29 00:57:09 +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
03c9ef6d20 - SetGunQuake 2021-11-29 00:56:16 +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
431103032f - SpriteOverlapZ 2021-11-29 00:56:14 +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
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
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
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
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
Christoph Oelckers
ddd682aee6 - InitTurretMgun 2021-11-29 00:55:53 +01:00
Christoph Oelckers
da1e97469e - FAFhitscan migration to HITINFO. 2021-11-29 00:55:52 +01:00
Christoph Oelckers
63f9330f53 - InitEnemyUzi 2021-11-29 00:55:52 +01:00
Christoph Oelckers
614757cda4 - InitGrenade 2021-11-29 00:55:52 +01:00
Christoph Oelckers
2515a663cd - InitSpriteGrenade 2021-11-29 00:55:52 +01:00
Christoph Oelckers
7d352d2387 - InitMine 2021-11-29 00:55:52 +01:00
Christoph Oelckers
1491b9ef95 - InitEnemyMine 2021-11-29 00:55:51 +01:00
Christoph Oelckers
f9ea4874ed - InitFireball 2021-11-29 00:55:51 +01:00
Christoph Oelckers
a42e44d662 - InitEnemyFireball 2021-11-29 00:55:51 +01:00
Christoph Oelckers
1b02c9e533 - WarpToUnderwater + WarpToSurface 2021-11-29 00:55:51 +01:00
Christoph Oelckers
5264c6540c - SpriteWarpToUnderwater + SpriteWarpToSurface 2021-11-29 00:55:51 +01:00
Christoph Oelckers
130028fa82 - SpawnSplash(XY)
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-11-29 00:55:50 +01:00
Christoph Oelckers
7411e7e9ba - MissileHitDiveArea 2021-11-29 00:55:50 +01:00
Christoph Oelckers
f438773af9 - internal cleanup of some spawn functions. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
96ebfe808c - turned some macros into functions. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
64e812bd33 - TestDontStick. 2021-11-29 00:55:50 +01:00
Christoph Oelckers
dfb5d07459 - QueueHole 2021-11-29 00:55:49 +01:00
Christoph Oelckers
83d0930a2e - QueueFootPrint + QueuefloorBlood. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
01d2967378 - QueueWallBlood. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
9cefc351a1 - bloody stuff. 2021-11-29 00:55:49 +01:00
Christoph Oelckers
2455c197bf - DoShrapVelocity + SlopeBounce. 2021-11-29 00:55:48 +01:00
Christoph Oelckers
0d45e50ea6 - QueueGeneric + ShrapKillSprite. 2021-11-29 00:55:48 +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
d49ae699f8 - ChangeSpriteState + change_sprite_stat. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
b705ff3b97 - WallBounce 2021-11-29 00:55:46 +01:00
Christoph Oelckers
300e6df6c3 - MissileHitDiveArea calls. 2021-11-29 00:55:46 +01:00
Christoph Oelckers
0b3b30170c - DoActorZRange parameters. 2021-11-29 00:55:45 +01:00
Christoph Oelckers
7111b2470c - SW: use BFSSearch in TraverseBreakableWalls 2021-11-29 00:55:45 +01:00
Christoph Oelckers
1d9d70613f - char review in SW 2021-11-29 00:55:43 +01:00
Christoph Oelckers
b878bf8aac - SW: renamed all unsigned chars to uint8_t
Also deletes some unused declarations
2021-11-29 00:55:43 +01:00
Christoph Oelckers
aadbca8e5d - zombie.cpp. 2021-11-29 00:55:38 +01:00
Christoph Oelckers
21af63dfcc - wallmove.cpp 2021-11-29 00:55:38 +01:00
Christoph Oelckers
36067baedd - owner cleanup. 2021-11-29 00:55:37 +01:00
Christoph Oelckers
411c814dc3 - vis.cpp 2021-11-29 00:55:37 +01:00
Christoph Oelckers
e2e697e9bb - do better owner checks in weapon code.
Due to poor data clearing logic there is a chance that the owner of a sprite is 0 if invalid, but this code never properly checked all conditions before accessing the owner's user's ID.
2021-11-29 00:55:37 +01:00
Christoph Oelckers
cb31127df5 - removed Set3DSoundOwner entirely. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
0df721f331 - sumo.cpp + associated code elsewhere. 2021-11-29 00:55:36 +01:00
Christoph Oelckers
dfc557e0ec - StarQueue 2021-11-29 00:55:35 +01:00
Christoph Oelckers
98c1684c13 - OperateSprite 2021-11-29 00:55:34 +01:00
Christoph Oelckers
1e00a4ff18 - second batch of sector.cpp 2021-11-29 00:55:34 +01:00
Christoph Oelckers
eb3131df97 - cleanup
mostly redundant comments.
2021-11-29 00:55:33 +01:00
Christoph Oelckers
da683ddf7a - ripper2.cpp 2021-11-29 00:55:33 +01:00
Christoph Oelckers
82b4385ede - ripper.cpp 2021-11-29 00:55:32 +01:00
Christoph Oelckers
04657ab559 - QueueWallBlood callers. 2021-11-29 00:55:32 +01:00
Christoph Oelckers
74fce3bf58 - sector object sprite list 2021-11-29 00:55:31 +01:00
Christoph Oelckers
78e0719eca - SW: removed unused SpawnUnderSplash function. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
910a51b290 - proper actor handling in all of SOP interpolation 2021-11-29 00:55:28 +01:00
Christoph Oelckers
ba4b5bbbcb - PLAYER::Killer 2021-11-29 00:55:27 +01:00
Christoph Oelckers
c40fc488e5 - SpawnBubble. 2021-11-29 00:55:26 +01:00
Christoph Oelckers
0e37e0904e - sop::sp_child. 2021-11-29 00:55:26 +01:00
Christoph Oelckers
448e57c86c - PickEnemyTarget
prioritized to get rid of some recent mess.
2021-11-29 00:55:24 +01:00
Christoph Oelckers
8780be4ee4 - WpnGoal + sprite_num. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
8336f689dd - DoPickTarget. 2021-11-29 00:55:24 +01:00
Christoph Oelckers
5eca574bba - got rid of some rarely used macros. 2021-11-29 00:55:23 +01:00
Christoph Oelckers
e7dcd279af - PickJumpMaxSpeed. 2021-11-29 00:55:22 +01:00
Christoph Oelckers
f09cf97822 - ScaleSpriteVector 2021-11-29 00:55:22 +01:00
Christoph Oelckers
e94785e571 - cleanup. 2021-11-29 00:55:22 +01:00
Christoph Oelckers
7012a77685 - InitShell / SpawnShell 2021-11-29 00:55:21 +01:00
Christoph Oelckers
3e91ac6417 - InitBloodSpray 2021-11-29 00:55:21 +01:00
Christoph Oelckers
5efb63b780 - InitCaltrops + InitPhosphorus 2021-11-29 00:55:21 +01:00
Christoph Oelckers
3d04e332fc - InitChemBomb + PlayerInitFlashBomb 2021-11-29 00:55:20 +01:00
Christoph Oelckers
e3e9e4030e - splash functions. 2021-11-29 00:55:19 +01:00
Christoph Oelckers
ef23f69072 - EnemyDefaults. 2021-11-29 00:55:16 +01:00
Christoph Oelckers
7b778f692b - leftover SpriteNum's in coolg.cpp. 2021-11-29 00:55:16 +01:00
Christoph Oelckers
4231119717 - owner stuff 2021-11-29 00:55:15 +01:00
Christoph Oelckers
a69a45523f - HitBreakSprite 2021-11-29 00:55:15 +01:00
Christoph Oelckers
aa13619087 - SpawnBreakFlames 2021-11-29 00:55:15 +01:00
Christoph Oelckers
8daa825aa1 - SpriteQueueDelete + DeleteNoSoundOwner. 2021-11-29 00:55:15 +01:00
Christoph Oelckers
13f0b08aeb - AutoBreakWall and SpawnShrap cleanup. 2021-11-29 00:55:14 +01:00
Christoph Oelckers
de12433809 - USER::Attach and SetAttach. 2021-11-29 00:55:13 +01:00
Christoph Oelckers
6c867e23ee - PlayerTakeDamage 2021-11-29 00:55:12 +01:00
Christoph Oelckers
98fe147d7a - PlaySpriteSound. 2021-11-29 00:55:12 +01:00
Christoph Oelckers
d5f1ec9ad7 - wrapped all assignments to USER::ret.
To allow more complex operations like filling a Collision struct and changing the calling code piece by piece.
2021-11-29 00:55:12 +01:00
Christoph Oelckers
c88524884c - made USER::flame an actor pointer. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
0de816d308 - replaced tgt_sp wrapper. 2021-11-29 00:55:11 +01:00
Christoph Oelckers
84b83ad9b8 - replaced hi_sp with an actor pointer. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
c0c27dfd1a - replaced lo_sp with an actor pointer, both in USER and PLAYER. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
64d77945f9 - DoFindGroundPoint
This removes the last SpriteNum occurence in actpr.cpp
2021-11-29 00:55:10 +01:00
Christoph Oelckers
d60d3cd307 - second large batch of NewStateGroup calls. 2021-11-29 00:55:10 +01:00
Christoph Oelckers
02031c77d0 - first large batch of NewStateGroup calls. 2021-11-29 00:55:09 +01:00
Christoph Oelckers
d98fe4af73 - renamed NewStateGroup.
As refactoring aid.
2021-11-29 00:55:09 +01:00
Christoph Oelckers
5062dc6aa8 - a second large batch of KillSprite calls. 2021-11-29 00:55:09 +01:00
Christoph Oelckers
3e1e5fb343 - a large batch of KillSprite calls. 2021-11-29 00:55:08 +01:00
Christoph Oelckers
740c5e1e56 - DoSuicide 2021-11-29 00:55:08 +01:00
Christoph Oelckers
400f822df3 - SpawnShrap callers
Function itself still needs work.
2021-11-29 00:55:08 +01:00
Christoph Oelckers
1db4be60f0 - UpdateSinglePlayKills 2021-11-29 00:55:08 +01:00
Christoph Oelckers
49d43727ba - SpawnBlood. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
8d5243bd64 - most calls of SetState 2021-11-29 00:55:07 +01:00
Christoph Oelckers
771b4bcf43 - renamed ChangeState to ChangeSpriteState. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
9602ee6c39 - most of change_sprite_stat. 2021-11-29 00:55:07 +01:00
Christoph Oelckers
602048b41d - more simple tgt_sp replacements. 2021-11-29 00:55:05 +01:00
Christoph Oelckers
76f0724d24 - global search & replace for all occurences of tgt_sp where it is only used to access a field in the sprite. 2021-11-29 00:55:05 +01:00
Christoph Oelckers
697d4f2253 - replaced USER::tgt_sp with an actor pointer.
Most access is still through a wrapper.
2021-11-29 00:55:04 +01:00
Christoph Oelckers
ceb3ac2e5b - CanSeePlayer 2021-11-29 00:55:04 +01:00
Christoph Oelckers
3dbd002319 - DoActorSetSpeed + ActorFlaming. 2021-11-29 00:55:03 +01:00
Christoph Oelckers
c7f6b7a8c2 - DoFall + DoBeginFall. 2021-11-29 00:55:03 +01:00
Christoph Oelckers
dc6ea40911 - DoFall 2021-11-29 00:55:02 +01:00
Christoph Oelckers
2a56479e3e - DoBeginJump 2021-11-29 00:55:02 +01:00
Christoph Oelckers
9e438b4042 - DoActorBeginSlide 2021-11-29 00:55:02 +01:00
Christoph Oelckers
ee8f6460c1 - DoActorDie 2021-11-29 00:55:01 +01:00
Christoph Oelckers
dc1d97b6bd - SW: fix bad return value in QueueWallBlood.
Had been known for some time, it just wasn't unclear if this is bad.
Now I was able to confirm that this is indeed bad and can cause crashes.
2021-11-13 19:30:16 +01:00
Christoph Oelckers
8f19dc12d8 - SW: code/data pointer saving cleanup.
* a large number of code pointer records were removed because none of these functions ever gets assigned to a pointer
* instead of looking up entries by index, do it by name. This is far less fragile and will survive deeper refactoring. The old storage by table index will break as soon as a single entry gets removed.

Since the old savegames got broken due to this problem recently it was a good time to change the setup.
2021-11-11 23:28:28 +01:00
Christoph Oelckers
25a6774540 - SW: got rid of MAXWALLS.
Only places left are declarations of global arrays.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
a79f7a3784 - SW: use a dynamic array to track already visited sectors in TraverseBreakableWalls. 2021-11-11 21:57:55 +01:00
Christoph Oelckers
a35900362e - only use un-deprecated variants of updatesector(z) in SW. 2021-11-09 00:09:48 +01:00
Christoph Oelckers
762ebafc2a - made clipmoveboxtracenum a function argument of clipmove
There’e zero need for hackery here.
2021-11-08 23:22:48 +01:00
Christoph Oelckers
a5f51cfd88 - SW: migrate everything to the main clipmove function 2021-11-08 23:11:30 +01:00
Christoph Oelckers
16f9d4ec36 - got rid of COVERupdatesector
Not needed as it just forwards to the engine’s updatesector - and it gets in the way of other changes
2021-11-08 23:11:30 +01:00
Christoph Oelckers
d20aa47adf - made sector parameter of updatesectorz an int and deprecated the short version. 2021-11-06 19:27:51 +01:00
Mitch Richters
f0a347263a - SW: Replace use of getzrange_old() inline wrapper with getzrange() and remove inline wrappers. 2021-10-30 17:30:02 +02:00
Christoph Oelckers
509124c1dd - redid SW action interface to use a separate wrapper class from USER.
Turned out that not all sprites in the world have a USER, so we need something different to wrap the game's sprite data.
2021-10-29 20:55:31 +02:00
Christoph Oelckers
8bad95c7c6 - reinstated deleted saveable_code entries with dummy pointers.
This is to preserve savegame compatibility for now.
Later the code pointer saving needs a thorough cleanup.
2021-10-29 09:16:07 +02:00
Christoph Oelckers
e241e7dc52 - SW: changed Animator interface to use USERp parameters. 2021-10-28 23:37:07 +02:00
Christoph Oelckers
2af688dd62 - replaced RANDOM_RANGE macro with direct calls to RandomRange 2021-10-10 11:47:19 +02:00
Christoph Oelckers
5aa27bad3b - flag SW's cutscenes as 'boss death only'. 2021-08-13 22:25:13 +02:00
Christoph Oelckers
1fde9f2173 - workaround to allow playing SW's Last Warrior mod in one go.
This disables the boss's death in L4 ending the game and just advances to the next level.
This seems to be the intent with this mod as the second episode starting at L5 is not defined and the first episode's subtitle advertises the full game.
2021-07-26 00:58:00 +02:00
Mitchell Richters
675356be1a - Ensure g_nextskill is used everywhere so that setting skill for next level works properly. 2021-07-20 18:51:34 +10:00
Mitchell Richters
9d64779da0 - SW: Replace all uses of NULL with nullptr. 2021-07-10 22:25:18 +10:00
Christoph Oelckers
5e96e955f3 - add hitscan only autoaim for SW.
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-06-26 12:22:10 +02:00
Christoph Oelckers
2af2d29084 - add hitscan only autoaim for SW. 2021-06-26 12:18:27 +02:00
Rachael Alexanderson
a75ed91796 - this crash was handled by nothing more than an assert... 2021-05-20 11:02:11 -04:00
Christoph Oelckers
fb21e39de5 - fixed remaining SW warnings. 2021-05-12 21:50:00 +02:00
Christoph Oelckers
dfd47ea33a - migrated SW to RMAPINFO as well.
Also removed the 'definecutscene' code from the .def parser as this was never meant to be more than a temporary solution.
2021-05-02 17:35:25 +02:00
Christoph Oelckers
c3e5cf322e - SW: cleaned up the depth variable handling in SECT_USER which was endian dependent, including the savegame handler 2021-04-22 00:03:17 +02:00
Christoph Oelckers
66e5b9ada7 - SW: save SectUser as JSON, also store in a managed array. 2021-04-22 00:03:16 +02:00
Christoph Oelckers
bbb53bc717 - refactored the main User array into something that's automatically managed. 2021-04-22 00:03:14 +02:00
Christoph Oelckers
fa8ca81460 - SW: added persistent copy of oz.
The door movement code uses oz for its position checks so we need a persistent version of it that survives uncontrolled changes from the engine side.
2021-02-28 12:35:34 +01:00
Christoph Oelckers
fc11f537f7 - project cleanup
* moved all games into the 'games' folder.
* fixed project to include all sources and move them to the proper folders.
2021-01-10 20:31:32 +01:00
Renamed from source/sw/src/weapon.cpp (Browse further)