Commit graph

292 commits

Author SHA1 Message Date
Christoph Oelckers
e670cf2786 - re-tabified several files that got mangled by repeated merging 2021-12-30 09:58:47 +01:00
Christoph Oelckers
032c597fa5 - renamed shadowing variables in Blood. 2021-12-30 09:57:32 +01:00
Christoph Oelckers
41e003c831 - the remaining x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
bc42978295 - x() in actor.cpp callbacks. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
bd07313017 - almost the last x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
692a269d92 - still more x() in actor.cpp. 2021-12-30 09:57:11 +01:00
Christoph Oelckers
3f65aee70b - even more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
3201f85ab9 - yet more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
a1b2d4a21e - more x() in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
ffeb52198a - lots of ->x() calls removed in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
6e0128eb4c - handle the remaining uses of s() in actor.cpp 2021-12-30 09:57:10 +01:00
Christoph Oelckers
b91fe45fc3 - handled all pSprite-> in actor.cpp. 2021-12-30 09:57:10 +01:00
Christoph Oelckers
27e9894ece - handled all parts of actor.cpp which are not "pSprite = &actor->s();" 2021-12-30 09:57:10 +01:00
Christoph Oelckers
88c77ec71a - some pSprite2's plus CheckSector. 2021-12-30 09:57:09 +01:00
Christoph Oelckers
fbb8f1ee70 - pSprite replacements in blood/src/actor.cpp 2021-12-30 09:57:09 +01:00
Christoph Oelckers
a87948677a - globally replaced ->x(). with ->xspr. 2021-12-30 09:57:09 +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
092cb1e5a3 - second set of Blood flags. 2021-12-30 09:56:50 +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
c5ae454207 - another big batch of automatic replacements. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
5b65e214e0 - global search & replace of the more frequent sprite flag patterns. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
8f012d1beb - made wall flags type safe 2021-12-30 09:56:47 +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
11f41a97d5 - made gotpic a FixedBitArray.
gets rid of some inline garbage.
2021-12-30 09:53:56 +01:00
Mitchell Richters
953c7e4ed6 - Blood: Fix some collision issues found following refactoring.
* Originating from 9a2ca3f392e29fe8df4167c271a7b04ab5e8959c "- use refactored Collision struct and clipmove in Blood, too.".
2021-12-26 23:10:04 +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
138690d34e - do not use auto to make local copies of TObjPtr's.
This will just copy the object without performing the read barrier on the source data which is not what we want here.
For these assignments the type must be explicit.
2021-12-26 23:09:59 +01:00
Christoph Oelckers
16a8746971 - GC setup for Blood. 2021-12-26 23:09:58 +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
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
e543c70439 - replacement of BloodLinearSpriteIterator
Preparation for eliminating sprite[]. This array can later be created by the actual spawn function.
2021-12-26 23:09:51 +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
8ce34c7772 - use refactored Collision struct and clipmove in Blood, too. 2021-12-26 23:08:57 +01:00
Christoph Oelckers
129ce0aea8 - migrated Blood's hitscan calls and its global gHitInfo struct. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
879407538e - several 'sectnum's. 2021-12-26 23:08:40 +01:00
Christoph Oelckers
331a7654bf - actSpawnThing 2021-12-25 21:29:15 +01:00
Christoph Oelckers
443cfc991c - actSpawnSprite, ZONE, startsectnum and dbLoadMap 2021-12-25 21:29:15 +01:00
Christoph Oelckers
b187f3c028 - CheckProximity 2021-12-25 21:29:15 +01:00
Christoph Oelckers
e172d0c138 - actRadiusDamage 2021-12-25 21:29:14 +01:00
Christoph Oelckers
3d336c13ac - GetClosestSpriteSectors 2021-12-25 21:29:14 +01:00
Christoph Oelckers
b063e19980 - gFX.fxSpawnActor and a few other simple replacements. 2021-12-25 21:29:14 +01:00
Christoph Oelckers
d99542a678 - get*slope and sfxPlay3DSound 2021-12-25 21:29:14 +01:00
Christoph Oelckers
94671c5b05 - MoveMissile + GetZRangeXYZ 2021-12-25 21:29:13 +01:00
Christoph Oelckers
9a85ff9bad - MoveThing 2021-12-25 21:29:13 +01:00
Christoph Oelckers
611d35222e - MoveDude 2021-12-25 21:29:13 +01:00
Christoph Oelckers
6ee9ae7ec6 - actFloorBounceVector 2021-12-25 21:29:12 +01:00
Christoph Oelckers
669aa033e9 - wrap the bit tests for GetClosestSpriteSectors's return.
They need to check spritenum which is supposed to go away, so this function avoids keeping obsolete references.
2021-12-25 21:29:12 +01:00
Christoph Oelckers
96b6bb21ef - several smaller places.
This gets rid of the less frequent names to look for.
2021-12-25 21:29:11 +01:00
Christoph Oelckers
292f100114 - pass an array of wall pointers to GetClosestSpriteSectors 2021-12-25 21:29:06 +01:00
Christoph Oelckers
d5e660a40c - converted gHitInfo.hitwall to a pointer. 2021-12-25 21:29:06 +01:00
Christoph Oelckers
378bf40143 - got rid of the mostly redundant GetWallType function. 2021-12-25 21:29:05 +01:00
Christoph Oelckers
1fc99d4733 - Blood: use wall pointers in wall utilities exclusively. 2021-12-25 21:29:05 +01:00
Christoph Oelckers
7a7537961b - Blood: remove GetWallAngle variant with index parameter 2021-12-25 21:29:05 +01:00
Christoph Oelckers
d5c27e6239 - unlimited the bit arrays for the automap and the bunch drawer, removed some leftover constants/declarations. 2021-12-25 21:28:50 +01:00
Christoph Oelckers
993821b75f - migrated Blood's other non-X sector properties. 2021-12-25 21:28:48 +01:00
Christoph Oelckers
d576e8f438 - removed a few of the remaining shorts. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
28f7303af3 - a few automatic replacements. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
b3bf1bc037 - some simple replacements, mostly search & replace. 2021-12-25 21:28:44 +01:00
Christoph Oelckers
8f5b9d2f03 - nXSector is gone. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
4ed1ee77c7 - several more xsector references removed. 2021-12-25 21:28:43 +01:00
Christoph Oelckers
f06697ed29 - removed pX... parameter from from trTriggerSector. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
ccd6af6272 - Blood: transitioned several functions in actor.cpp to the new method to acces the x() data. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
32f141ad39 - XSECTOR::reference is gone. 2021-12-25 21:28:42 +01:00
Christoph Oelckers
c182900425 - cleanup of trTriggerWall's API. 2021-12-25 21:28:41 +01:00
Christoph Oelckers
4cfc1577e2 - some simple xwall[] replacements. 2021-12-25 21:28:40 +01:00
Christoph Oelckers
70da9e2526 - first xwall[] removal in Blood. 2021-12-25 21:28:40 +01:00
Christoph Oelckers
6705e8e51e - moved xsprite into DBloodActor and save all relevant parts of DBloodActor.
This completes Blood's transition.
2021-12-25 21:28:37 +01:00
Mitch Richters
c6f2aaf1b7 - Miscellaneous fixes to commit to change sector checks over to validSectorIndex().
* Fix missed changeover in Blood's `actSpawnSprite()`.
* Fix non-negated check on a `validSectorIndex()` call in Blood's `debrisMove()`.
* Removed a superfluous terminator in Duke's `actor.cpp`.
* Fixed bad call to `validSectorIndex()` in Exhumed's `AIAnim::Tick()`.
2021-12-25 21:28:37 +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
d2f0934726 - Blood: cleaned up GetClosestSpriteSectors
using BFSSearch now and avoiding pointless loop to avoid setting the checked bit.
The entire outcome was just as if the bit was never checked inside the loop, so do just that when not running in compatibility mode.
This simplifies the remaining code quite a lot because it now just needs to run over all walls with no special case considered.
2021-11-29 00:55:44 +01:00
Christoph Oelckers
1bbbeb8f4c - Blood: reworked GetClosestSpriteSectors to use dynamic arrays, deleted unused GetClosestSectors.
# Conflicts:
#	source/games/blood/src/aibeast.cpp

# Conflicts:
#	source/games/blood/src/aibeast.cpp
#	source/games/blood/src/gameutil.h
2021-11-29 00:55:43 +01:00
Christoph Oelckers
5422bff683 ‚char‘ review in Blood - part 1 2021-11-29 00:55:42 +01:00
Christoph Oelckers
e9c79292ff - Blood: use wider integer types for a few more things
Mainly removing shorts from all function signatures, except the engine replace interface, replacing them either with int or bool, depending on the use case.
2021-11-29 00:55:41 +01:00
Christoph Oelckers
b685163ab1 - Blood: extend all 16 bit fields holding sector or wall indices to 32 bit. 2021-11-29 00:55:41 +01:00
Christoph Oelckers
499dc9953b - reduction of 'short' noise in Blood.
Mainly using int16_t for deliberately sized struct fields, auto for temporary saves of global data and making several local variables full int.
This changes nothing substantial.
2021-11-29 00:55:41 +01:00
Christoph Oelckers
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
08bc31e6e2 - use GetIndex function where appropriate. 2021-11-29 00:55:00 +01:00
Christoph Oelckers
40b22a90e9 - Blood: cleaned out some crutches needed to deal with the broken vanilla savegame code.
Raze has fixed its savegame format so that it can fully restore a game session from it.
As a result, nnExtInitModernStuff was never called with 'saveload' set to true and none of this code ever executed.
2021-11-29 00:55:00 +01:00
Christoph Oelckers
98a3564ee6 - use GetIndex for error messages and deleted several unused index variables. 2021-11-29 00:54:59 +01:00
Christoph Oelckers
21a208e59e - eliminated most references to spritetype::extra
This was all places that could have been done earlier but had been overlooked.
2021-11-29 00:54:59 +01:00
Christoph Oelckers
5b9152abfd - eliminated the last access to playerActors in trigger.cpp and made AimTargets a pointer array. 2021-11-29 00:54:58 +01:00
Christoph Oelckers
0ae664e9ca - SetSpriteState 2021-11-29 00:53:57 +01:00
Christoph Oelckers
7e8fc3fe65 - target in UpdateAimVector, teslaHit. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
4e1e9ca0c9 - proper actor managements in SEQINST. 2021-11-29 00:53:56 +01:00
Christoph Oelckers
fddc213fa8 - made PLAYER::fragger an actor pointer. 2021-11-29 00:53:55 +01:00
Christoph Oelckers
50f9b67598 - removed all sprite[] references from gameutil.cpp. 2021-11-29 00:53:54 +01:00
Christoph Oelckers
7a2c661ff9 - GetZRange 2021-11-29 00:53:54 +01:00
Christoph Oelckers
626deed960 - VectorScan 2021-11-29 00:53:53 +01:00
Christoph Oelckers
0466186440 - HitScan 2021-11-29 00:53:53 +01:00