Christoph Oelckers
7d1c81626e
- changed all naked Stat/SectIterator loops to use the Blood... variants.
2021-11-29 00:53:56 +01:00
Christoph Oelckers
9016256ac2
- savegame hackery for sequences.
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
7204b8e026
- deal with QAV::nIndex.
...
This was totally redundant. Since the player already gets passed as 'Data', we can just make that pointer a PLAYER type and use it instead to retrieve the playing actor for sound purposes.
2021-11-29 00:53:56 +01:00
Christoph Oelckers
70cd4d9466
- minor sprite[] stuff.
2021-11-29 00:53:55 +01:00
Christoph Oelckers
8f974dc1d8
- the remaining functions of player.cpp.
2021-11-29 00:53:55 +01:00
Christoph Oelckers
fddc213fa8
- made PLAYER::fragger an actor pointer.
2021-11-29 00:53:55 +01:00
Christoph Oelckers
abee5c5eaa
- parameters in Pickup functions, getting rid of all (x)sprite[] references in player.cpp.
2021-11-29 00:53:55 +01:00
Christoph Oelckers
07e88e36f6
- ActionScan cleanup plus smaller bits in player.cpp
...
# Conflicts:
# source/games/blood/src/player.cpp
2021-11-29 00:53:55 +01:00
Christoph Oelckers
e95936efd6
- made PLAYER::used2 an actor array and renamed it to match its purpose.
...
Note: Renaming this for savegames is fine, as it's not relevant in singleplayer.
2021-11-29 00:53:54 +01:00
Christoph Oelckers
165b2f29ff
- removed last remaining accesses to sprite[] and xsprite[] from nnexts.cpp.
2021-11-29 00:53:54 +01:00
Christoph Oelckers
85c4b96177
- removed all access to sprite[] from mirrors.cpp.
2021-11-29 00:53:54 +01:00
Christoph Oelckers
826fd7ddb2
- optimized vector math.
2021-11-29 00:53:54 +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
Christoph Oelckers
c2916259d7
- CheckProximity
...
# Conflicts:
# source/games/blood/src/aibeast.cpp
2021-11-29 00:53:53 +01:00
Christoph Oelckers
db75e4d2bf
- moved basePath into XSECTOR.
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-11-29 00:53:53 +01:00
Christoph Oelckers
0d2da892e8
- made marker0 and marker1 actor pointers.
2021-11-29 00:53:52 +01:00
Christoph Oelckers
f4b900c540
- moved velocity data into DBloodActor.
2021-11-29 00:53:52 +01:00
Christoph Oelckers
6a8f59e991
- removed remaining direct access to the velocity arrays.
2021-11-29 00:53:52 +01:00
Christoph Oelckers
ff9a86b7b4
- proper way to get player actor.
2021-11-29 00:53:52 +01:00
Christoph Oelckers
1cb98593f1
- removed compatible savegame handling for SPRITEHIT.
...
This does not need to be preserved, unlike the other refactored global arrays.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
54f70ec1bb
- moved baseSprite into DBloodActor.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
14ace49c3e
- owner stuff.
...
This reduces the number of direct references to spritetype.owner by half in the Blood code.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
3b1ba88a41
- gib stuff.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
344e7e840e
- remove leftover index dependencies for sprite events.
2021-11-29 00:53:51 +01:00
Christoph Oelckers
245581e00d
- cleanup
2021-11-29 00:53:50 +01:00
Christoph Oelckers
b2de1e5209
- added BloodSpriteIterator and BloodLinearSpriteIterator to get rid of explicit loops over the sprite array.
2021-11-29 00:53:50 +01:00
Christoph Oelckers
484d016172
- cleaned up burn code.
2021-11-29 00:53:50 +01:00
Christoph Oelckers
c0b013ac0c
- moved gSpriteHit into DBloodActor.
2021-11-29 00:53:50 +01:00
Christoph Oelckers
c34c9deb4e
- deleted old condPush variant.
2021-11-29 00:53:50 +01:00
Christoph Oelckers
be0e2a9b93
- todo markers
2021-11-29 00:53:49 +01:00
Christoph Oelckers
3e9bcacc22
- condUpdateObjectIndex + nnExtTriggerObject
2021-11-29 00:53:49 +01:00
Christoph Oelckers
9965245449
- condCheckSprite
2021-11-29 00:53:49 +01:00
Christoph Oelckers
0ff9afde61
- condCheckPlayer + condCheckDude
2021-11-29 00:53:49 +01:00
Christoph Oelckers
9205556b4e
- condCheckSector + condCheckWall
2021-11-29 00:53:49 +01:00
Christoph Oelckers
f6e7c5f440
- condCheckMixed + condCheckGame.
2021-11-29 00:53:48 +01:00
Christoph Oelckers
69395383a4
- fix condPush
...
- better abstraction of the condition storage.
Hiding targetX/Y as much as possible for easier refactoring later.
2021-11-29 00:53:48 +01:00
Christoph Oelckers
f84e2343ca
- formatting only.
2021-11-29 00:53:48 +01:00
Christoph Oelckers
9062eb5996
- condError
2021-11-29 00:53:48 +01:00
Christoph Oelckers
fb4fcef2c2
- cleanup
2021-11-29 00:53:48 +01:00
Christoph Oelckers
aef95b52bc
- the remaining functions in nnexts.cpp
2021-11-29 00:53:47 +01:00
Christoph Oelckers
ca13a35ccf
- formatting
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-11-29 00:53:47 +01:00
Christoph Oelckers
cc4309f7eb
- aiPatrolThink + aiPatrolFlagsMgr
2021-11-29 00:53:47 +01:00
Christoph Oelckers
9004b102fe
- formatting
2021-11-29 00:53:47 +01:00
Christoph Oelckers
a67da5003a
- made voodooTarget a pointer and removed most direct references to target_i.
2021-11-29 00:53:47 +01:00
Christoph Oelckers
bf424b6439
- aiPatrolSearchTargets
2021-11-29 00:53:46 +01:00
Christoph Oelckers
c2ff8b0941
- formatting
2021-11-29 00:53:46 +01:00
Christoph Oelckers
a1d01d5419
- spritesTouching, readyForCrit
2021-11-29 00:53:46 +01:00
Christoph Oelckers
5ff17fec35
- patrolalarm
2021-11-29 00:53:46 +01:00
Christoph Oelckers
ffdb976f5b
- marker stuff.
2021-11-29 00:53:46 +01:00
Christoph Oelckers
af7164c91d
- partial rework of aiPatrolSetMarker
2021-11-29 00:53:45 +01:00
Christoph Oelckers
f8a4ecc90f
- findNextMarker + markerIsNode
2021-11-29 00:53:45 +01:00
Christoph Oelckers
a76f2feb63
- aiPatrolStop API changed to actors.
2021-11-29 00:53:45 +01:00
Christoph Oelckers
7175439496
- aiPatrolStop cleaned up.
2021-11-29 00:53:45 +01:00
Christoph Oelckers
5c1b2bee37
- minor cleanup.
2021-11-29 00:53:45 +01:00
Christoph Oelckers
e11f118d3c
- formatting
2021-11-29 00:53:45 +01:00
Christoph Oelckers
2f5be23171
- validate actors before processing them in the event queue.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
118b3e1d70
- all calls to CheckSpriteSect/Stat handled.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
48073a2cd6
- sanitized the abuse of using XSPRITE's target field to pass along some info with explosions.
...
This is neither safe nor future proof, so now it uses a separate variable.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
146de69169
- some more patrol code.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
4ae32fb223
- first part of patrol code.
2021-11-29 00:53:44 +01:00
Christoph Oelckers
2044f591f2
- formatting and cleanup.
2021-11-29 00:53:43 +01:00
Christoph Oelckers
3928407eae
- several is...() functions.
2021-11-29 00:53:43 +01:00
Christoph Oelckers
49879af921
- usePictureChanger
2021-11-29 00:53:43 +01:00
Christoph Oelckers
088fa6690c
- reformatting only.
2021-11-29 00:53:43 +01:00
Christoph Oelckers
94ae3c22d5
- final part and cleanup of useTargetChanger.
2021-11-29 00:53:43 +01:00
Christoph Oelckers
6c465dff3c
- the fourth block
2021-11-29 00:53:42 +01:00
Christoph Oelckers
dc4c632b08
- the third block.
2021-11-29 00:53:42 +01:00
Christoph Oelckers
ff29570675
- second block.
2021-11-29 00:53:42 +01:00
Christoph Oelckers
c3a1e8f46b
- targetactor in the first block of useTargetChanger
2021-11-29 00:53:42 +01:00
Christoph Oelckers
17bd466801
- first pass over useTargetChanger
...
using 'actor' wherever easily doable.
2021-11-29 00:53:42 +01:00
Christoph Oelckers
d59f78a5f0
- formatting only
2021-11-29 00:53:41 +01:00
Christoph Oelckers
a60617c688
- more use* functions.
2021-11-29 00:53:41 +01:00
Christoph Oelckers
c54dd079fb
- formatting only.
2021-11-29 00:53:41 +01:00
Christoph Oelckers
e3b8980ecd
- sprite2sectorSlope + useSlopeChanger
2021-11-29 00:53:41 +01:00
Christoph Oelckers
b7465ab67b
- spriteGetSlope/spriteSetSlope take spritetype pointer arguments.
2021-11-29 00:53:41 +01:00
Christoph Oelckers
c32ff483a9
- formatting only
2021-11-29 00:53:41 +01:00
Christoph Oelckers
ca131f2dcf
- fixed a few oversights.
2021-11-29 00:53:40 +01:00
Christoph Oelckers
c2f6084988
- merged genDudeExtra into DBloodActor.
2021-11-29 00:53:40 +01:00
Christoph Oelckers
017bcb056f
- useIncDecGen + setDataValueOfObject
2021-11-29 00:53:40 +01:00
Christoph Oelckers
ab41ac9e05
- formatting only.
2021-11-29 00:53:40 +01:00
Christoph Oelckers
239faad4c5
- useSoundGen
2021-11-29 00:53:39 +01:00
Christoph Oelckers
a8ee9b3969
- useUniMissileGen
2021-11-29 00:53:39 +01:00
Christoph Oelckers
c65c936d27
- useCondition +
2021-11-29 00:53:39 +01:00
Christoph Oelckers
24a11b3f2f
- txIsRanged and several of its callers.
2021-11-29 00:53:39 +01:00
Christoph Oelckers
174783e57b
- formatting only
2021-11-29 00:53:39 +01:00
Christoph Oelckers
a4f7fabbfa
- modernTypeOperateSprite
2021-11-29 00:53:39 +01:00
Christoph Oelckers
fe3da5eaab
- split off formatting
2021-11-29 00:53:38 +01:00
Christoph Oelckers
766999118c
- sectorKillSounds + useDudeSpawn
2021-11-29 00:53:38 +01:00
Christoph Oelckers
3761424501
- the remaining AIFight stuff.
2021-11-29 00:53:38 +01:00
Christoph Oelckers
a5471b1079
- aiFightDudeIsAffected + aiFightGetDudesForBattle
2021-11-29 00:53:38 +01:00
Christoph Oelckers
55716c9409
- aiFightGet(Fine)TargetDist
2021-11-29 00:53:38 +01:00
Christoph Oelckers
baf4bb0785
- formatting only.
2021-11-29 00:53:37 +01:00
Christoph Oelckers
57c3571555
- several aiFight functions.
2021-11-29 00:53:37 +01:00
Christoph Oelckers
ca3d7c9bdf
- formatting only
2021-11-29 00:53:37 +01:00
Christoph Oelckers
78cbb4ed0a
- aiFightGetTargetInRange
2021-11-29 00:53:37 +01:00
Christoph Oelckers
a449d97b86
- modernTypeTrigger
2021-11-29 00:53:37 +01:00
Christoph Oelckers
ea8166871a
- formatting only.
2021-11-29 00:53:36 +01:00
Christoph Oelckers
43e9e07910
- 2 modernType functions.
2021-11-29 00:53:36 +01:00
Christoph Oelckers
1ff6dc7c69
- useSeqSpawnerGen
2021-11-29 00:53:36 +01:00
Christoph Oelckers
c59a6bbb86
- clean up some loops
2021-11-29 00:53:36 +01:00
Christoph Oelckers
9714febaab
- eliminated the actPostSprite wrapper with an index parameter.
2021-11-29 00:53:36 +01:00
Christoph Oelckers
e0f1948ccc
- wrapped all setsprite calls in Blood and adapted a few leftover uses of the index version of actPostSprite.
2021-11-29 00:53:35 +01:00
Christoph Oelckers
5cda9d0858
- tabified two files in Duke that were missed somehow, plus some comment cleanup elsewhere.
2021-11-29 00:53:35 +01:00
Christoph Oelckers
b54d3f3567
- useSpriteDamager + damageSprite
2021-11-29 00:53:35 +01:00
Christoph Oelckers
1689efe698
- useEffectGen + useSectorWindGen
2021-11-29 00:53:35 +01:00
Christoph Oelckers
1847b905ba
- useTeleportTarget
2021-11-29 00:53:35 +01:00
Christoph Oelckers
f21dc51207
- usePropertiesChanger
2021-11-29 00:53:34 +01:00
Christoph Oelckers
cd98e940aa
- useObjResizer
2021-11-29 00:53:34 +01:00
Christoph Oelckers
63ae861765
- DropVoodooCb
2021-11-29 00:53:34 +01:00
Christoph Oelckers
be9e423d7c
- trPlayer* functions.
2021-11-29 00:53:34 +01:00
Christoph Oelckers
470f82bc26
- Blood: fixed loading of actors with extended AI states.
2021-11-29 00:51:35 +01:00
Christoph Oelckers
b7c7328cdd
- backend update fromGZDoom.
...
most importantly this addresses issues with key down/key up events being sent in the same tic not having an effect on game actions that require a key being held down.
2021-11-21 10:19:52 +01:00
Mitch Richters
1228cb6044
- InputState::AddEvent()
: Partially revert changes performed in 4d629e7de8
that were believed not necessary. This functionality is still needed in some of Exhumed's cutscenes that are performed in-engine and not as a screenjob.
2021-11-19 08:11:32 +11:00
Mitch Richters
4d629e7de8
- Make screenjob valid keys for skipping ignore the Alt key as its used for modifiers, and special keys like the screenshot bind.
...
* Partially revert 8bb13bc4c2
as its changes are no longer needed.
* Partially revert 9e40e49c2c
as its changes are no longer needed.
* Fixes #577 .
2021-11-18 20:59:07 +11:00
Mitch Richters
719724da53
- Ensure g_nextskill
is re-initialised everytime a save is loaded.
...
* Fixes #582 .
2021-11-18 20:06:33 +11:00
Christoph Oelckers
aac02d52db
- Duke/RR: fixed hitradius
...
The recent optimization did not update the sector pointer inside the loop
2021-11-15 00:18:52 +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
5732bb2db3
- Blood: fixed loading of maps with tracking conditions.
...
These use a pointer in the DBloodActor structure, but this part wasn't cleared for sprites loaded with the map.
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-11-13 13:55:25 +01:00
Christoph Oelckers
01deb13694
- SW: fixed NORM_xxx macros
...
kHitIndexMask already has the -1 considered, it is 0x3fff.
2021-11-12 11:09:24 +01:00
Christoph Oelckers
401f3cf1d7
- Blood: removed unused CSectorListMgr class.
2021-11-11 23:48:19 +01:00
Christoph Oelckers
9b21233c98
- little bit of cleanup
2021-11-11 23:47:26 +01:00
Christoph Oelckers
5a6d4f88d5
- Exhumed: eliminate all remaining MAXSECTORS references
2021-11-11 23:46:50 +01:00
Christoph Oelckers
794c4483ca
-Exhumed: better handling of BuildNear/BelowNear.
...
BuildNear was only called right before calling BelowNear - now both functions are merged and use the global GlobalSectorList array for storage.
Since the data in this is local to this function it is also unnecessary to write it out to a savegame as it will get recereate each time before it is used.
2021-11-11 23:45:59 +01:00
Christoph Oelckers
d70e76e5c6
- Exhumed: use dynamic arrays for the palette backup in DrawView.
2021-11-11 23:34:03 +01:00
Christoph Oelckers
2e3c212444
- Duke: moved the temtempsector* arrays into the only function using them
2021-11-11 23:32:49 +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
f109f6c857
- Duke/RR: fixed two bad assignments to wall 0.
2021-11-11 21:58:15 +01:00
Christoph Oelckers
2164d244d2
- SW: removed 3 unused global arrays.
2021-11-11 21:58:14 +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
b6579809ad
- SW: eliminated all remaining MAXSECTORS references, except static array declarations.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
75e2d801a7
- SW: only check valid sectors for SecUser entries.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
6bd239c5b7
- SW: use the global sector list in PreMapCombineFloors
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
cc16c02baa
- fixed BitArray constructor.
2021-11-11 21:55:46 +01:00
Christoph Oelckers
642088ed80
- let ValidateSprite print better messages when developer mode is set to warning and also call it for Blood.
2021-11-11 21:28:53 +01:00
Christoph Oelckers
f2e344a235
- removed magic flags added to sector indices in Polymost.
...
These are better done as separate function arguments.
2021-11-11 21:28:53 +01:00
Mitch Richters
6581d9d709
- InputScale()
: Tidy up some math I just put in.
...
* Time for bed... *yarns*.
2021-11-10 22:23:59 +11:00
Mitch Richters
3c4afaa6ee
- InputScale()
: Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates.
2021-11-10 20:27:19 +11:00
Mitch Richters
5a33caa635
- InputScale()
: Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates.
2021-11-10 20:13:06 +11:00
Christoph Oelckers
9433e9bdb1
- trPlayerCtrlStartScene + changing index to initiator pointer in QAVSCENE.
...
- clear QAVSCENE's initiator pointer at the start of a level or when it holds an actor that's about to be deleted.
Seems there is no proper bookkeeping here, so until we can GC actors it needs to be done manually.
2021-11-09 23:16:16 +01:00
Christoph Oelckers
ad36916fd3
- formatting again and fallthrough annotations.
2021-11-09 23:11:54 +01:00
Christoph Oelckers
bb094fd003
- 3 smaller functions.
2021-11-09 23:10:34 +01:00
Christoph Oelckers
733d9b2e2b
- debrisMove
2021-11-09 23:10:03 +01:00
Christoph Oelckers
942e93b2e7
- debris functions.
2021-11-09 22:51:01 +01:00
Christoph Oelckers
6e2f8ec47f
- vel replacements.
2021-11-09 22:49:43 +01:00
Christoph Oelckers
7430a630bd
- yet another commit with extracted formatting stuff and minor cleanup.
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-11-09 22:49:28 +01:00
Christoph Oelckers
5558c3e896
- debrisGetIndex and some related code.
2021-11-09 22:18:38 +01:00
Christoph Oelckers
ce622c9c88
- two missed lines
2021-11-09 21:51:51 +01:00
Christoph Oelckers
5b057415da
- sanitized tileGetSurfType.
2021-11-09 21:42:51 +01:00
Christoph Oelckers
9221262dfc
- refactoring of all getzrange code to use the Collision struct.
2021-11-09 21:39:59 +01:00
Christoph Oelckers
55362edce4
- cleanup and formatting in getSpriteMassBySize
2021-11-09 21:00:27 +01:00
Christoph Oelckers
6f8fe44bb0
- getSpriteMassBySize
2021-11-09 20:59:52 +01:00
Christoph Oelckers
81c3443af9
- nnExtProcessSuperSprites, plus replacing xindex with actor in TRCONDITION.
2021-11-09 20:58:27 +01:00
Christoph Oelckers
a898dfc4ec
- some cleanup in nnExtProcessSuperSprites before refactoring.
2021-11-09 20:46:54 +01:00
Christoph Oelckers
754042e10a
- windGenDoVerticalWind
2021-11-09 20:45:10 +01:00
Christoph Oelckers
06be31daea
- pure formatting stuff split out of following commit.
2021-11-09 20:43:11 +01:00
Christoph Oelckers
18b608df1a
- randomDropPickupObject + randomSpawnDude
2021-11-09 20:40:39 +01:00
Christoph Oelckers
c427669595
- randomGetDataValue
2021-11-09 20:37:10 +01:00
Christoph Oelckers
1cc5dbccb9
- GetDataVal
2021-11-09 20:33:16 +01:00
Christoph Oelckers
5465c9976c
- replaced a few chars in Exhumed
2021-11-09 17:46:39 +01:00
Christoph Oelckers
baa3e531d4
- Exhumed: more ints for shorts
2021-11-09 17:32:50 +01:00
Christoph Oelckers
c46c8a68cd
- fixed nextsectorneighborzptr
2021-11-09 17:29:03 +01:00
Christoph Oelckers
9b52b3b451
- made all nSector variables full ints.
...
This already takes care of most sector[] accesses in Exhumed
2021-11-09 17:27:54 +01:00
Christoph Oelckers
366df9d4b6
- Exhumed: use the sprite's sector() member where possible.
2021-11-09 00:26:46 +01:00
Christoph Oelckers
ef241acda2
- Exhumed: some quick sector[] substitution
2021-11-09 00:12:18 +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
94b2b0af31
- widen sector index in engineLoadBoard to 32 bit
2021-11-09 00:07:00 +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
0ffe52791e
- delete deprecated pushmove variants
2021-11-08 23:22:06 +01:00
Christoph Oelckers
2d91786516
- changed all sector variables being passed to pushmove to full ints
2021-11-08 23:18:40 +01:00
Christoph Oelckers
4aa0477574
- make internal pushmove use a 32 bit sector index.
2021-11-08 23:17:40 +01:00
Christoph Oelckers
52a2862963
- removed the deprecated clipmove wrappers.
2021-11-08 23:15:05 +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
3811147f70
- use proper clipmove variant in Blood and Exhumed
...
This merely extends some shorts to full ints to match the desired parameter's size.
2021-11-08 23:11:30 +01:00
Christoph Oelckers
2e1ff313b0
- Duke: only use the main clipmove function and match clipmove_ex’s interface
2021-11-08 23:11:29 +01:00
Christoph Oelckers
567d054d42
- remove unused clipmovex function, extend clipmove sector return to 32bit, mark obsolete clipmove variants deprecated
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5510efd920
- removed TROR specific parts of updatesectorz
...
None of this is ever called, in particular the parts that muck around with the sectorindex and add magic bits to it.
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5ba005276f
Revert "- redid the 'inside' function."
...
This reverts commit c034c2a299
.
While the function works, it is subtly different for points exactly on a line - enough to cause problems with Shadow Warrior's waypoint implementation.
2021-11-08 23:11:20 +01:00
Christoph Oelckers
c034c2a299
- redid the 'inside' function.
...
This is based on external information and does not use any of the original Build code.
Despite being a lot clearer than Build's bit masking voodoo and using 64 bit math to avoid overflows it is roughly 10% faster. :)
Code was moved to gamefuncs.cpp because this no longer falls under the Build license.
2021-11-08 21:29:21 +01:00
Christoph Oelckers
5cfc418c5f
- did some tests with the inside function and decided to only retain the 'old' one.
...
The one from EDuke32 is ambiguous - it considers any point on a wall to be part of both sectors touching that wall. This wasn't used anyway with the current engine compatibility settings.
I was not able to get different values out of the 'ps' version - this seems to only be important for demo playback concerns, for regular playback the differences appear to be totally irrelevant.
Ultimately this should be replaced anyway with a license-unencumbered variant of the same basic common algorithm.
2021-11-08 19:46:22 +01:00
Christoph Oelckers
eeaa7f98f0
- inlines for validating sector and wall indices.
2021-11-08 18:56:10 +01:00
Christoph Oelckers
2840b5f25d
- added reverse iterators to tarray.h
2021-11-08 18:55:46 +01:00
Christoph Oelckers
94f40d11ae
- SparseArrayView class
...
We need this to merge the game specific sector/wall extensions with the base but still allow the engine to access such arrays. For that they need a runtime settable stride.
2021-11-08 18:55:35 +01:00
Christoph Oelckers
477a2a23e6
- nextSector in runlist
2021-11-08 18:37:21 +01:00
Christoph Oelckers
52389ae02e
- sectp in osdcmd_spawn
2021-11-08 18:37:21 +01:00
Christoph Oelckers
066896db8e
- warnings fix
2021-11-08 18:37:20 +01:00
Christoph Oelckers
f51cbf31ba
- sectp in runlist_ProcessSectorTag
2021-11-08 18:37:20 +01:00
Christoph Oelckers
afec39aded
- reworked non-functional anim detection when picking up an item.
...
This would not unregister the item's run list entries because the logic was insufficient.
2021-11-08 01:13:54 +01:00
Christoph Oelckers
43fdc1bb56
- Exhumed: fixed uninitialized variable in bullet code.
2021-11-07 23:33:39 +01:00
Christoph Oelckers
5d0c9a9fc8
- flush the network timer righr after loading and before starting a level.
...
Without this the entire load time may get registered as skipped frames-
2021-11-07 22:51:02 +01:00
Christoph Oelckers
0da2250efe
- Exhumed: try to improve timing of the menu plasma.
2021-11-07 22:14:58 +01:00
Christoph Oelckers
60faceaf59
- Exhumed: fixed serialization.
...
The exhumedActors array was not written out, resulting in all kinds of strange effects.
2021-11-07 21:45:51 +01:00
Christoph Oelckers
6b6c3f26a5
- use wallsofsector in a few more places.
2021-11-07 18:08:22 +01:00
Christoph Oelckers
59df3b0e19
- added a little utility that allows iterating over the walls of a sector with C++ for's.
2021-11-07 17:27:05 +01:00
Christoph Oelckers
4b0ffe5443
- looks I missed a few shorts.
...
Now all local short variables are gone, except for 2 lotags arrays.
2021-11-07 16:58:48 +01:00