Christoph Oelckers
730c9e65e4
- renamed all np-> in weapon.cpp
2021-12-30 09:57:42 +01:00
Christoph Oelckers
5eb958938d
- renamed all np-> in sprite.cpp
2021-12-30 09:57:41 +01:00
Christoph Oelckers
b2d4375cde
- renamed all np-> in jweapons.cpp
2021-12-30 09:57:41 +01:00
Christoph Oelckers
08a98c3955
- renamed all np-> in bunny.cpp
2021-12-30 09:57:41 +01:00
Christoph Oelckers
0175d27ffa
- handle all 'np->' not referencing actorNew.
2021-12-30 09:57:41 +01:00
Christoph Oelckers
09294d7712
- deleted sp from _polymost.cpp
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
270afb5d49
- sp-> renaming and cleanup in rooms.cpp
2021-12-30 09:57:39 +01:00
Christoph Oelckers
49cc2b3cad
- quake.cpp plus SP_TAG13/14 cleanup
2021-12-30 09:57:39 +01:00
Christoph Oelckers
9aaaadefc3
- SpawnQuake
2021-12-30 09:57:39 +01:00
Christoph Oelckers
2b8b4f3fcc
- QuakeViewChange
2021-12-30 09:57:38 +01:00
Christoph Oelckers
7419c2e65b
- sp cleanup in sector.cpp
2021-12-30 09:57:38 +01:00
Christoph Oelckers
79a9278ff3
- rename sp-> in sector.cpp
2021-12-30 09:57:38 +01:00
Christoph Oelckers
212f07f7ff
- sp cleanup in skull.cpp, sumo.cpp, zilla.cpp, zombie.cpp
2021-12-30 09:57:38 +01:00
Christoph Oelckers
926b4f8ba9
- sp cleanup of ripper.cpp, ripper2.cpp, serp.cpp, skel.cpp.
2021-12-30 09:57:38 +01:00
Christoph Oelckers
639613297d
- globally replaced sp-> in several files.
...
No further cleanup yet.
2021-12-30 09:57:38 +01:00
Christoph Oelckers
dc7fecccd0
- globally replaced sp-> in spike.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
f58d4e2604
- globally replaced sp-> in skull.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
0d0d5366b1
- globally replaced sp-> in skel.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
bb4c0be15e
- globally replaced sp-> in serp.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
f6c32b10d4
- globally replaced sp-> in ripper2.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
67d82f63be
- globally replaced sp-> in ripper.cpp
2021-12-30 09:57:37 +01:00
Christoph Oelckers
ce6f6ff5d3
- globally replaced sp-> in _polymost.cpp
2021-12-30 09:57:37 +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
1b1a81e2bc
- sp in ninja.cpp.
2021-12-30 09:57:36 +01:00
Christoph Oelckers
a3b539da28
- sp cleanup in miscactr.cpp.
2021-12-30 09:57:36 +01:00
Christoph Oelckers
5f187a3efb
- sp-> replacement in miscactr.cpp.
2021-12-30 09:57:36 +01:00
Christoph Oelckers
1d6b5e621d
- sp cleanup in jweapon.cpp.
2021-12-30 09:57:36 +01:00
Christoph Oelckers
b3b6001248
- sp-> replacements in jweapon.cpp
2021-12-30 09:57:36 +01:00
Christoph Oelckers
aeed726b59
- deleted sp assignments in processed files.
2021-12-30 09:57:35 +01:00
Christoph Oelckers
aac44b27b1
- sp cleanup in bunny.cpp.
2021-12-30 09:57:35 +01:00
Christoph Oelckers
1d76336045
- handle bp in break.cpp
2021-12-30 09:57:35 +01:00
Christoph Oelckers
47b51efdc6
- turning TEST_BOOL into overloaded functions.
2021-12-30 09:57:35 +01:00
Christoph Oelckers
5290939cbc
- break.cpp sp cleanup.
...
Also a few needed renamings.
2021-12-30 09:57:35 +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
Christoph Oelckers
40050f5008
- replaced sp-> in several files.
2021-12-30 09:57:34 +01:00
Christoph Oelckers
42a525692d
- fixed check on wrong actor in DoChemBomb.
2021-12-30 09:57:34 +01:00
Christoph Oelckers
514c3ffb10
- cameraactor in _polymost.cpp
2021-12-30 09:57:33 +01:00
Christoph Oelckers
4caee272ef
- some non 'actor' sp replacements in weapon.cpp.
2021-12-30 09:57:33 +01:00
Christoph Oelckers
76809965ad
- some sp replacements as preparation for replacing most of 'actor->s()'.
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
0bb4ec7c33
- SW: Ensure pp
in analyzesprites()
is always initiated as the console player.
2021-12-30 09:57:32 +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
82b883e461
- SW: replaced u() in ai.cpp.
2021-12-30 09:57:30 +01:00
Christoph Oelckers
b55e46ec6d
- ai.cpp cleanup.
2021-12-30 09:57:30 +01:00
Christoph Oelckers
ed8b4100f6
- SW: replace s() in ai.cpp.
...
Also a bit of inline cleanup to make it compile again.
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
810ab29898
- SW: non 'actor' cases of s() in ai.cpp.
2021-12-30 09:57:29 +01:00
Christoph Oelckers
6c97912220
- SW: replace all u()'s in actor.cpp
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
394f06baa0
- SW: converted 1/3 of the #defines in names2.h into enums.
2021-12-30 09:57:28 +01:00
Christoph Oelckers
92f2182e6e
- SW: all s() in actor.cpp
2021-12-30 09:57:28 +01:00
Christoph Oelckers
c4c6c1def1
- fix GCC warning.
2021-12-30 09:57:18 +01:00
Christoph Oelckers
6766a5922a
- pass actors to calcChaseCamPos.
2021-12-30 09:57:18 +01:00
Christoph Oelckers
09634c4993
- use actors instead of sprites in the new renderer's API.
2021-12-30 09:57:15 +01:00
Mitchell Richters
c01fab8c6c
- Fix compilation.
2021-12-30 09:57:13 +01:00
Christoph Oelckers
d0143db8fe
- got rid of sx() and sm() inlines.
2021-12-30 09:57:13 +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
6423684bfb
- SW: Replace PLAYERstruct
oposz
with opos.Z
calls.
2021-12-30 09:57:09 +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
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
Mitchell Richters
118ceb18ca
- Capitalise vec2_t
y
variable.
2021-12-30 09:57:02 +01:00
Mitchell Richters
3c9cd926ba
- Capitalise vec2_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
df0c577cf4
- replaced most of numsectors, too.
2021-12-30 09:56:54 +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
4904466fd6
- SW: forgot to enable the extended sector parts in CallbackSOsink.
...
That bit had somehow gone MiA.
2021-12-30 09:56:53 +01:00
Christoph Oelckers
b021aa9a02
- SW: don't try to render non-existent mirrors with Polymost.
...
We got a counter variable, WTF did this code not use it?
2021-12-30 09:56:53 +01:00
Christoph Oelckers
68c87db6ec
- SW: fixed crash in Polymost with badly set up cameras.
2021-12-30 09:56:52 +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
3bc337264a
- flags in blood's actor.cpp
...
plus a few others caught by search&replace.
2021-12-30 09:56:50 +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
76e944053b
- the (few) numeric flag literals in SW handled.
...
Virtually all of this was portal hackery.
2021-12-30 09:56:47 +01:00
Christoph Oelckers
b263c3ac6b
- wall and sprite flags in Duke, just simple cases.
2021-12-30 09:56:46 +01:00
Christoph Oelckers
6e32832428
- made sector ceiling/floor flags type safe.
...
- made sector flags type safe.
2021-12-30 09:56:46 +01:00
Christoph Oelckers
d0a06ae961
- deal with most of CSTAT_SECTOR_SKY and CSTAT_SECTOR_SLOPE
2021-12-30 09:56:45 +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
11f41a97d5
- made gotpic a FixedBitArray.
...
gets rid of some inline garbage.
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
46d7487a3b
- SW: clear all pointer variables the player may still hold when terminating a level.
2021-12-30 09:53:10 +01:00
Christoph Oelckers
34bee8116c
- SW: fixed uninitialized variable in FAFhitscan
2021-12-30 09:53:10 +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
6db1ba47c2
- SW: fixed some savegame issues:
...
* the saveable tables were initialized too late when reading in the actors.
* the abort messages for the saveables did not show. We need to use I_FatalError here, plus some actor list modifications to make this work.
2021-12-26 23:10:07 +01:00
Christoph Oelckers
ae622274bd
- SW: clear pointer holding variables in TerminateLevel.
...
Some survive the level transition and would point to invalid data.
2021-12-26 23:10:07 +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
4562a0ca97
- SW: Add some nullptr checks to some inlines to prevent noclip crashes.
2021-12-26 23:10:06 +01:00
Mitchell Richters
3b099e09cd
- SW: Tidy some ‘newsect’ may be used uninitialized
warnings from GCC.
2021-12-26 23:10:06 +01:00
Mitchell Richters
a4d165a84e
- Tidy some specified bound equals destination size
warnings from GCC.
2021-12-26 23:10:05 +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
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
b8c4354691
- got rid of the MAX... constants and adjusted all places still using them.
2021-12-26 23:10:02 +01:00
Christoph Oelckers
6a43a270fa
- use sectno() access function where we really need a sector index.
2021-12-26 23:10:01 +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
6cb260d916
- SW GC preparation commit noise.
2021-12-26 23:10:00 +01:00
Christoph Oelckers
30786360bb
- derive spritetype and tspritetype from a common base class to consolidate their common content.
2021-12-26 23:09:57 +01:00
Christoph Oelckers
588f88c9cc
- migrated the actors to DObjects.
...
No GC yet, only the classes have been altered and some GC-related features been added.
Full switchover will require adding GC support to all data in the game.
2021-12-26 23:09:57 +01:00
Christoph Oelckers
fa05cfbaf1
- use a real pointer in DSWActor for owner tracking.
2021-12-26 23:09:56 +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
d3b1e34d78
- moved sprite[], spriteext[] and spritesmooth[] into DCoreActor.
...
Also removed the last remaining sprite pointer in saveable data.
2021-12-26 23:09:55 +01:00
Christoph Oelckers
4cecb6f955
- removed the old actor savegame code and instead implemented a virtual Serialize function.
...
This isn't hooked up yet, currently savegames are non-functional. They will come back once the global actor arrays are no longer relevant for maintenance.
2021-12-26 23:09:55 +01:00
Christoph Oelckers
e79cd8d87f
- don't store sprite indices in walltype::portalnum
2021-12-26 23:09:54 +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
Christoph Oelckers
6600f55543
- separate map loading from actor spawning for the other games, too.
...
It still uses the horribly messed up original spawn logic, though.
2021-12-26 23:09:51 +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
363d062685
- minor sanity check improvements.
2021-12-26 23:09:50 +01:00
Mitch Richters
12a0f587a3
- SW: Add nullptr check inside WarpSectorInfo()
to prevent crashes while noclipping through level.
2021-12-26 23:09:50 +01:00
Mitch Richters
10e28b8a53
- SW: Add nullptr check inside ActorTrackDecide()
for walltype's nextSector()
to prevent crashes while noclipping through level.
2021-12-26 23:09:49 +01:00
Mitch Richters
5085dcd866
- SW: Add nullptr check inside DoPlayerHorizon()
for canslopetilt
to prevent crashes while noclipping through level.
2021-12-26 23:09:49 +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
5dfc79bdbe
- MarkSectorSeen
2021-12-26 23:09:48 +01:00
Christoph Oelckers
b663b8ea26
- wallptr reduction.
2021-12-26 23:09:48 +01:00
Christoph Oelckers
eb0f91e26b
- pass sector pointer to render_camtex.
2021-12-26 23:09:47 +01:00
Christoph Oelckers
a22634f228
- sectnum reduction.
2021-12-26 23:09:47 +01:00
Christoph Oelckers
a59173ac31
- SW: fixed DeleteNoSoundOwner still checking for sprites as sound origins.
2021-12-26 23:09:46 +01:00
Christoph Oelckers
0a9792ac28
- adapted SW's sound system to actors.
2021-12-26 23:09:46 +01:00
Christoph Oelckers
97b19a5cb1
- adapted Blood's sound engine to using actors.
...
Note: Savegames won't work on this commit for the other games!
2021-12-26 23:09:45 +01:00
Christoph Oelckers
b7a5ea8ef6
- moved some common utilities into the backend.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
bbb860ccf3
- consolidate the iterators in the backend.
...
Using a template class that can adapt to the game specific types.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
12f6b05cbe
- use access functions, all done by search & replace.
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
70d7e81f4f
- adapted getzrange to the new interface.
...
This was mainly removing game side solutions in favor of a common one in the backend.
2021-12-26 23:09:42 +01:00
Christoph Oelckers
729076b79d
- adapted neartag in SW and Exhumed.
2021-12-26 23:09:42 +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
Christoph Oelckers
321608e5ac
- made cursectnum et. al. real pointers.
2021-12-26 23:09:41 +01:00
Christoph Oelckers
f19f656dd9
- deal with SW's Warp functions.
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
ef6bc9db56
- do the remaining clipmove calls.
2021-12-26 23:09:41 +01:00
Christoph Oelckers
bdbb3b4004
- handled the main actor movement functions.
2021-12-26 23:09:40 +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
96b9572905
- moved parts of the HitInfo subclasses into the backend.
...
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +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
9380819e4e
- initialize actorArray for all games.
...
- the foundation for an actor aware backend.
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
7dd2f79676
- the final ones before moving to the backend.
2021-12-26 23:08:55 +01:00
Christoph Oelckers
33d2d80c42
- sector references in remote, some cursectnum replacements.
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
19f8458f01
- FindCeilingView, FindFloorView and related things.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
db95dc95d1
- FAF_Sector + SpawnQuake
2021-12-26 23:08:54 +01:00
Christoph Oelckers
98c3d57b73
- ->sectnum in ai.cpp and draw.cpp.
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
e2e0f69393
- deleted deprecated Warp... functions.
2021-12-26 23:08:54 +01:00
Christoph Oelckers
c4f29772ae
- SpawnVis
2021-12-26 23:08:53 +01:00
Christoph Oelckers
1457cf2c0d
- track stuff
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
959c3bc18b
- springboard
2021-12-26 23:08:53 +01:00
Christoph Oelckers
0345615518
- some smaller changes.
2021-12-26 23:08:52 +01:00
Christoph Oelckers
9a6bd0b7e1
- SectorWallBits
2021-12-26 23:08:52 +01:00
Christoph Oelckers
1763fbc7ff
- OperateSector
2021-12-26 23:08:52 +01:00
Christoph Oelckers
df558bd9a2
- GetUpperLowerSector
2021-12-26 23:08:52 +01:00
Christoph Oelckers
0c9d465e4c
- FAF_Connect* functions and related code.
2021-12-26 23:08:52 +01:00
Christoph Oelckers
96915a646b
- SectorZadjust
2021-12-26 23:08:52 +01:00
Christoph Oelckers
b076edcc6f
- PlayerRemoteReset
2021-12-26 23:08:51 +01:00
Christoph Oelckers
75af6966c9
- FAFHitscan cleanup.
2021-12-26 23:08:51 +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
270a443c88
- hitinfo.hitsect is 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
11d3a660ad
- GetOverlapSector internals.
2021-12-26 23:08:50 +01:00
Christoph Oelckers
4d5c255b08
- adjust a few warp functions.
2021-12-26 23:08:50 +01:00
Christoph Oelckers
c4e388ef56
- merged SpawnActor wrapper.
2021-12-26 23:08:50 +01:00
Christoph Oelckers
d447e3e86f
- make the sector reference in SINE_WAVE_FLOOR a pointer.
2021-12-26 23:08:49 +01:00
Christoph Oelckers
16480ccfcc
- use sector wrappers where applicable.
2021-12-26 23:08:49 +01:00
Christoph Oelckers
52d9451cbc
- SOP::op_main_sector
2021-12-26 23:08:49 +01:00
Christoph Oelckers
f388efc5ef
- eliminated the redundant SOP::sector array.
2021-12-26 23:08:49 +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
b936345e11
- sectnum() cleanup and AnimSet return type.
2021-12-26 23:08:48 +01:00
Christoph Oelckers
f68d17133a
- SectorSetup, SetupSectorObject
2021-12-26 23:08:48 +01:00
Christoph Oelckers
3b16db7a0f
- SectorMidPoint
2021-12-26 23:08:48 +01:00
Christoph Oelckers
da8a5f282d
- CopySectorMatch
2021-12-26 23:08:48 +01:00
Christoph Oelckers
de5377cb2c
- WallBreakPosition
2021-12-26 23:08:48 +01:00
Christoph Oelckers
d6cd291030
- use a wall pointer in SINE_WAVE
2021-12-26 23:08:47 +01:00
Christoph Oelckers
33b3864d14
- final wall not related to hitscan/neartag.
2021-12-26 23:08:47 +01:00
Christoph Oelckers
f0dd018ad4
- use pointers in sparks interface.
2021-12-26 23:08:47 +01:00
Christoph Oelckers
4acca06c71
- the final wall iterators.
2021-12-26 23:08:47 +01:00
Christoph Oelckers
bb315f8148
- more wall cleanup
2021-12-26 23:08:47 +01:00
Christoph Oelckers
031ad6e4a5
- wall[] in wallmove.cpp
2021-12-26 23:08:47 +01:00
Christoph Oelckers
01c8662c3c
- wall[] in track.cpp
2021-12-26 23:08:46 +01:00
Christoph Oelckers
770b242c76
- wall[] in sector.cpp
2021-12-26 23:08:46 +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
c0496420ec
- LadderSector
2021-12-26 23:08:46 +01:00
Christoph Oelckers
991795df4b
- CollectPortals
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
b7a2687a7b
- all nextwall references removed.
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
9f9c01284b
- all wall loops using point2.
2021-12-26 23:08:44 +01:00
Christoph Oelckers
7e6de45e46
- WallSetup + SpriteSetup
2021-12-26 23:08:44 +01:00
Christoph Oelckers
d8893f3521
- DoSlidorInstantClose
2021-12-26 23:08:44 +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
d1f156dec3
- most InsertActor calls.
2021-12-26 23:08:43 +01:00
Christoph Oelckers
cab2181ddc
- PrevWall
2021-12-26 23:08:43 +01:00
Christoph Oelckers
5cf776daaa
- sector save struct.
2021-12-26 23:08:43 +01:00
Christoph Oelckers
eb82f60981
- FAFcansee.
2021-12-26 23:08:42 +01:00
Christoph Oelckers
3ccf3ab52d
- pointers in mirror struct.
2021-12-26 23:08:42 +01:00
Christoph Oelckers
4d8434ffd2
- CircleCamera and interpso.cpp
2021-12-26 23:08:42 +01:00
Christoph Oelckers
317aa3f217
- CopySectorWalls
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
6e018bd056
- DoSlidorMoveWalls
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
fe3a02420a
- major cleanup and condensing of DoSlidorInterp
...
The logic here still looks very weird but let's keep it to ensure proper functioning.
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
41506f35db
- calcviewpitch
2021-12-26 23:08:40 +01:00
Christoph Oelckers
40ae38c173
- calcChaseCamPos.
2021-12-25 21:29:03 +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
16bdea1b2e
More SW shorts
2021-12-25 21:28:54 +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
8cca55c24a
- made wall a TArray.
2021-12-25 21:28:50 +01:00
Christoph Oelckers
fded90c491
- SW: deleted SECT_USER.
2021-12-25 21:28:49 +01:00
Christoph Oelckers
7d2404ce76
- made sector a TArray.
2021-12-25 21:28:49 +01:00
Christoph Oelckers
14907a9a97
- sector extension basics.
2021-12-25 21:28:48 +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
5b87370b5e
- SW: wall[] replacements in CopySectorWalls
2021-12-25 21:28:45 +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
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