Commit graph

212 commits

Author SHA1 Message Date
Christoph Oelckers
49cc2b3cad - quake.cpp plus SP_TAG13/14 cleanup 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
06d33b8276 - partial conversion of SP_TAG3 to actors. 2021-12-30 09:57:35 +01:00
Christoph Oelckers
627a69570f - turned all SP_TAGx macros into functions so that they can be overloaded with actor variants. 2021-12-30 09:57:34 +01:00
Christoph Oelckers
397d9b0d84 - made SP_TAG2 a function with an actor parameter. 2021-12-30 09:57:34 +01:00
Christoph Oelckers
5be1bc4de7 - made SP_TAG1 a function with an actor parameter. 2021-12-30 09:57:34 +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
c4c6c1def1 - fix GCC warning. 2021-12-30 09:57:18 +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
a2f2cc489a - SW: Replace PLAYERstruct oposy with opos.Y calls. 2021-12-30 09:57:08 +01:00
Mitchell Richters
ae50767c70 - SW: Replace PLAYERstruct oposx with opos.X calls. 2021-12-30 09:57:08 +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
dd0ff465b0 - Replace spritetypebase oz with opos.Z calls and eliminate spritetypebase opos union. 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
Christoph Oelckers
d9d05e90b5 - globally replaced all occurences of '->s().' with '->spr.' 2021-12-30 09:57:00 +01:00
Christoph Oelckers
65bc6e6aef - removed the now redundant wall() and sector() interator helper functions.
With both wall and sector now being TArrays they are not needed anymore.
2021-12-30 09:56:53 +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
8e0b9f7ce6 - some automatic, some manual sprite flag replacements 2021-12-30 09:56:49 +01:00
Christoph Oelckers
82fb03e399 - another batch of search&replace, with smaller results. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
c5ae454207 - another big batch of automatic replacements. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
1edccf1423 - added slope setter methods to sectortype.
To make sure that setting the slope flags is always done properly. (Why are the flags even needed?)
As a nice side effect, this, plus use of other inlines made the align*slope functions implode into virtually nothing.
2021-12-30 09:53:56 +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
Christoph Oelckers
4a5de6f56e - make sure that all changes of wall coordinates invalidate associated data.
walltype::move should be the preferred function to be used for this, otherwise walltype::moved needs to be called.
2021-12-30 09:53:11 +01:00
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