Commit graph

103 commits

Author SHA1 Message Date
Christoph Oelckers
55cb5aaac6 - global search & replace of ->s-> with ->spr.
This is the largest part of uses of DDukeActor's 's' pointer.
2021-12-30 09:56:56 +01:00
Christoph Oelckers
adbf5177a7 - flag combo stuff. 2021-12-30 09:56: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
d8ccfa1a5f - cleaned up nextsectorneighborz, added a safe variant and use this in all places where the sector pointer is not validated. 2021-12-26 23:10:05 +01:00
Christoph Oelckers
0dd756fa32 - added GC handling for all backend pointers in the map data.
GC is not active yet!
2021-12-26 23:10:00 +01:00
Christoph Oelckers
d088ab05a9 - eliminate storage of actors in the sector's hitag for some of Duke's sector effectors.
Also demoted Blood's upperLink and lowerLink to DCoreActor pointers and use static_cast for access to avoid savegame problems. The core code cannot safely serialize a DBloodActor anymore.
2021-12-26 23:09:56 +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
d1f7269ca8 replaced cursectnum with a cursector pointer 2021-12-25 21:28:56 +01:00
Christoph Oelckers
b1b0c5d25c — Duke: use twoSided utility where appropriate. 2021-12-25 21:28:54 +01:00
Christoph Oelckers
d115d90961 - Duke: prefer calling the sector pointer variants of engine functions. 2021-12-25 21:28:54 +01:00
Christoph Oelckers
aada3f3d19 - renamed DDukeActor::getSector. 2021-12-25 21:28:51 +01:00
Christoph Oelckers
3ce2375a3e - LocateTheLocator + related sector storage in temp_data 2021-12-25 21:28:39 +01:00
Christoph Oelckers
64f1029416 - Duke: pass a sector pointer to callsound. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
4a81d45630 - the remaining sector[] stuff in Duke/RR.
What remains is either engine interface code or not easily replaced.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
5e66a3331d - getanimationgoal. 2021-11-29 00:56:30 +01:00
Christoph Oelckers
db96e93adc - animatesect, setanimation and related stuff. 2021-11-29 00:56:30 +01:00
Christoph Oelckers
876d1dbe1f - operatesectors and activatebysector. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
c57c007010 - do the remaining st handlers. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
2aec8f47d3 - more st functions. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
2a290dec48 - handle_st15 / handle_st16. 2021-11-29 00:56:29 +01:00
Christoph Oelckers
da4df04e7d - sector[] in handle_st09. 2021-11-29 00:56:28 +01:00
Christoph Oelckers
0d8b380b05 - use wallsofsector for all remaining iterations over a sector's walls. 2021-11-29 00:56:27 +01:00
Christoph Oelckers
a0950081ad - fixed bad sector use in handle_st18 2021-11-29 00:56:27 +01:00
Christoph Oelckers
5c9327a788 - use pointer variant of nextsectorneighborz. 2021-11-29 00:56:27 +01:00
Christoph Oelckers
bc199d00c7 - made 'clouds' a pointer array. 2021-11-29 00:56:26 +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
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
94d0e9775f - spawneffectors 2021-11-29 00:56:20 +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
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
dcccb0d653 - Duke: added [[fallthrough]] annotations wherever needed. 2021-11-29 00:55:29 +01:00
Christoph Oelckers
ae08ae1d8d - some leftover shorts plus utilities that ended up unused but may be useful later. 2021-11-07 16:46:23 +01:00
Christoph Oelckers
35b9318580 - Duke/RR: checked the rest of the code for shorts and replaced most local ones with ints. 2021-11-07 16:33:13 +01:00
Christoph Oelckers
977d668bef - extended animatetarget to 32 bit. 2021-11-07 16:21:44 +01:00
Christoph Oelckers
b13398c268 - quick global wall[] replacements. 2021-11-07 15:57:29 +01:00
Christoph Oelckers
c3cbd1b1eb - Duke: cleanup of cycler code.
Now uses a struct instead of an array with magic indices.
2021-11-06 21:53:15 +01:00
Christoph Oelckers
c8d65a1f06 - use sector wrappers where easily doable with search and replace. 2021-11-06 14:19:55 +01:00
Mitch Richters
a1570c185f - Duke: Remove posx/posy/posz variables and replace with points in the previously unionised pos vec3_t variable. 2021-10-31 17:52:52 +11:00
Mitch Richters
b02a6a3ec9 - Replace MIN() from templates.h with version provided in STL. 2021-10-30 10:36:15 +02:00
Mitch Richters
9894729fc2 - Replace MAX() from templates.h with version provided in STL.
# Conflicts:
#	source/common/textures/hw_ihwtexture.cpp
#	source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
cb2bc7967a - fixed the remaining warnings. 2021-05-12 21:50:01 +02:00
Christoph Oelckers
dc8b72b2ce Merge branch 'master' into newrenderer2
# Conflicts:
#	source/games/duke/src/actors.cpp
#	source/games/duke/src/hudweapon_d.cpp
#	source/games/duke/src/hudweapon_r.cpp
#	source/games/duke/src/render.cpp
2021-04-15 19:34:03 +02:00
Christoph Oelckers
96d78ab9e6 - made DukeActor::s a pointer.
As a reference we would never be able to export this to scripting
2021-04-15 19:21:43 +02:00
Christoph Oelckers
ba2defeb14 Merge branch 'master' into newrenderer2 2021-04-05 10:34:34 +02:00
Christoph Oelckers
eb2e77fb75 - Apply fix from EDuke32 commit 7225643e.
Fix undefined behavior/potential OOB access in ST_21_FLOOR_DOOR. g_AnimateGoal does not take a sector number, it takes an animation index, and caps at 1024, not 4096.
2021-04-05 00:14:15 +02:00
Christoph Oelckers
c303884274 - better handling for Duke's scrolling cloudy skies.
* Using the Doom-style dome here because it looks better.
* this necessitated changes to the backend to allow both types of sky domes at the same time
* do not clamp panning fields for cloudy sky with the new renderer because this makes the texture jump.
2021-04-04 20:35:38 +02:00