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
3d63c44aae
- GCC warned about this.
2021-11-29 00:54:59 +01:00
Christoph Oelckers
fb95f0fff7
- store an actual actor pointer in PLAYER.
...
# Conflicts:
# source/games/blood/src/player.cpp
2021-11-29 00:54:58 +01:00
Christoph Oelckers
812b18e49a
- some xsprite cleanup
2021-11-29 00:54:58 +01:00
Christoph Oelckers
3e452994d8
- handle all of gUpper/gLowerLink.
...
This completes the removal of all access to the global arrays outside of setup code.
2021-11-29 00:54:58 +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
6dd7cbe8fa
- GetCrushedSpriteExtents and leftover bloodActors references.
2021-11-29 00:54:58 +01:00
Christoph Oelckers
d2bc254e03
- the rest of triggers.cpp.
2021-11-29 00:54:57 +01:00
Christoph Oelckers
9349e7bcb1
- several simple functions.
...
Also two fixes involving trTriggerSprite.
2021-11-29 00:54:57 +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
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
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
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
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
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
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
2d91786516
- changed all sector variables being passed to pushmove to full ints
2021-11-08 23:18:40 +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
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
d20aa47adf
- made sector parameter of updatesectorz an int and deprecated the short version.
2021-11-06 19:27:51 +01:00
Christoph Oelckers
e69e1b9908
- some ?vel replacements.
2021-11-06 18:16:18 +01:00
Christoph Oelckers
cce3d8f440
- some minor stuff
2021-11-06 18:14:39 +01:00
Christoph Oelckers
41316f7f8f
- evSend
2021-11-06 18:14:08 +01:00
Christoph Oelckers
b8f8c0fe04
- more changesprite* renaming.
2021-11-06 18:13:16 +01:00
Christoph Oelckers
1bbcca5f28
- nnExtInitModernStuff
2021-11-06 17:21:08 +01:00
Christoph Oelckers
a184d919b8
- brace placement part taken out of following commit.
2021-11-06 17:19:24 +01:00
Christoph Oelckers
5f56423e88
- nnExtEraseModernStuff
2021-11-06 17:19:24 +01:00
Christoph Oelckers
6a96d6c354
- nnExtIsImmune
2021-11-06 17:00:52 +01:00
Christoph Oelckers
6846b50a21
- nnExtSpawnDude
2021-11-06 16:57:24 +01:00
Christoph Oelckers
5ee7505d11
- proper handling of actors in TRCONDITION.
2021-11-06 16:55:27 +01:00
Christoph Oelckers
83fe41e71e
- made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant.
2021-11-06 15:53:16 +01:00
Mitch Richters
1bb0c04e61
Revert "- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage."
...
This reverts commit 276c000f9f
.
* This was added for testing/debugging etc but it really doesn't work unless the QAV is built for it. As such, just get rid of it.
2021-11-06 17:32:55 +11:00
Mitch Richters
8bd2b960ee
- Blood: Consolidate duplicated code in viewUpdateShake()
into a lambda.
2021-11-06 15:14:25 +11:00
Mitch Richters
7499c84d0b
- Add interpolatedhorizon()
inlines to handle interpolating fixedhoriz
objects without having to convert old and new values back to Q16.16 first.
2021-11-06 14:07:58 +11:00
Christoph Oelckers
d6bdc735d6
- patch up Blood's GetZRange to compile with getzrange_old being gone.
2021-10-30 17:30:03 +02:00
Mitch Richters
0ee3b5af1c
- Blood: Replace use of pushmove_old()
inline wrapper with pushmove()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
b793bc8327
- Blood: Replace use of clipmove_old()
inline wrapper with clipmove()
.
2021-10-30 17:30:01 +02:00
Mitch Richters
b02a6a3ec9
- Replace MIN()
from templates.h
with version provided in STL.
2021-10-30 10:36:15 +02:00
Mitch Richters
059a99f7c8
- Blood: Remove costable[]
.
2021-10-30 10:24:16 +02:00
Mitch Richters
5a57beb343
- Blood: Replace remaining uses of costable[]
with Sin()
inlines.
2021-10-30 10:24:16 +02:00
Mitch Richters
ad183b5a3e
- Blood: Replace internals of Cos()
to use sintable[]
array instead of costable[]
array.
2021-10-30 10:24:16 +02:00
Mitch Richters
79b3e10f2a
- Blood: Replace internals of Sin()
to use sintable[]
array instead of costable[]
array.
2021-10-30 10:24:15 +02:00
Mitch Richters
ead877450d
- Blood: Replace CosScale16()
with bsin()
from backend.
2021-10-30 10:24:15 +02:00
Mitch Richters
3ec1767791
- Blood: Replace SinScale16()
with bsin()
from backend.
2021-10-30 10:24:15 +02:00
Mitch Richters
e699c264f0
- Blood: Fix missed change integer to enum change for StartQAV()
call missed from 77704d54d9
.
2021-10-30 10:24:15 +02:00
Mitch Richters
98d3850b95
- Blood: Fix horizon adjustment for death camera to avoid Fixed > Float > Fixed conversion.
2021-10-30 10:24:14 +02:00
Christoph Oelckers
7ebe492e94
- fixed map-spawned actor indexing in Blood.
...
This is needed for error reporting and the secret hint system.
2021-10-24 09:11:43 +02:00
Christoph Oelckers
da817a234b
- fixed bad actor use in actCheckDudes.
2021-10-24 00:06:02 +02:00
Mitch Richters
d30c94c709
- Blood: Re-fix lighter when changing from TNT to aerosol.
...
* Fixes #564 .
2021-10-20 20:58:10 +11:00
Mitch Richters
fc73c67bb1
- Blood: Fix TNT pickup accidentally equipping player with voodoo doll.
...
* Fixes #544 .
* Thanks to @carnivoroussociety for pointing me in the right direction.
2021-10-20 19:58:07 +11:00
Christoph Oelckers
1214f8ba00
- properly macro-fy parsed strings from Blood's INI.
2021-10-19 21:49:03 +02:00
Mitch Richters
df88b23f63
- Blood: Backport GDX fix for lighter just appearing when switching to the aerosol.
...
* Fixes #564 .
* Thanks to @carnivoroussociety for the heads up.
2021-10-19 11:20:44 +11:00
Christoph Oelckers
2396c89fb9
- migrated EVENT to use its actor pointer.
2021-10-14 21:59:49 +02:00
Christoph Oelckers
f430c28f88
- split up evSend
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-10-14 21:59:49 +02:00
Christoph Oelckers
efc791ee00
- route all remaining calls to evPost and evKill through type specific variants.
2021-10-14 21:59:41 +02:00
Christoph Oelckers
b64aede68e
- made patrolBonkles local to the only function using this array.
2021-10-14 20:31:45 +02:00
Christoph Oelckers
71b144023d
- renamed evPost to evPostActor and evKill to evKillActor for clarity.
2021-10-14 20:31:17 +02:00
Christoph Oelckers
0ab33b7ffe
- need to pass the actor separately to getDataFieldOfObject.
...
We cannot use rxindex anymore.
2021-10-14 20:28:56 +02:00
Christoph Oelckers
e32ac93d96
- use the actor pointer in rxBuckets.
2021-10-14 20:27:36 +02:00
Christoph Oelckers
b449e0a43b
- event redirectors for rxBuckets.
2021-10-14 20:26:42 +02:00
Christoph Oelckers
40a8cd7fa3
- playerQavSceneProcess handled for rxBuckets
2021-10-14 20:25:10 +02:00
Christoph Oelckers
db9d4efdc9
- handled 4 aiFight functions for rxBuckets.
2021-10-14 19:53:08 +02:00
Christoph Oelckers
0ef388538d
- refactored 'mate' function for rxBucket.
2021-10-14 19:51:49 +02:00
Christoph Oelckers
1d04ce90e4
- first batch of rxBucket refactoring.
2021-10-14 19:49:18 +02:00
Christoph Oelckers
5d0086cb49
- renamed RXBUCKET.index to rxindex.
...
This will be needed for refactoring for easier lookup.
2021-10-14 19:41:22 +02:00
Christoph Oelckers
93e909dd58
- use actors in the CFX interface.
2021-10-14 19:41:01 +02:00
Christoph Oelckers
77c827e817
- renamed evKill and added an actor pointer to EVENT struct.
2021-10-14 19:37:53 +02:00
Christoph Oelckers
1e1764eda6
- got rid of fxSpawn.
2021-10-14 19:36:25 +02:00
Christoph Oelckers
085bd3a165
- replaced all fxSpawn calls with fxSpawnActor.
2021-10-14 19:35:05 +02:00
Christoph Oelckers
fbe2373972
- started cleanup of evPost calls by renaming the internal functions.
...
This just renames things - no changes in functionality.
2021-10-14 19:07:51 +02:00
Christoph Oelckers
2a1f31581c
- added null pointer checks to all event callback functions.
2021-10-14 19:07:24 +02:00
Christoph Oelckers
add368433e
- sanitized callback interface.
2021-10-14 19:07:00 +02:00
Christoph Oelckers
143e947839
- renamed variable for consistency.
2021-10-14 19:02:48 +02:00
Christoph Oelckers
562968262c
- moved spriteMass into DBloodActor
2021-10-14 19:01:10 +02:00
Christoph Oelckers
5519596a94
- refactored global sprite index arrays into pointer arrays.
2021-10-14 18:43:56 +02:00
Christoph Oelckers
b60caa362e
- fixed bad merge
2021-10-14 01:15:05 +02:00
Christoph Oelckers
62d0d3712e
- use a sprite flag to mark mapped sprites.
...
This avoids another global array which needs to be addressed by sprite index.
2021-10-14 15:09:43 +02:00
Christoph Oelckers
88e86b4248
- added 0 checks to all divisions for calculating dudeSlope.
...
I had it happen once that an actor was targeting itself here which resulted in zero distance and a division by zero exception.
2021-10-14 00:06:34 +02:00
Christoph Oelckers
895ecc81bc
- const-ified some static arrays.
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-10-12 21:36:42 +02:00
Christoph Oelckers
3ea4c94266
- removed a few static array references.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
a318129ff3
- iterators in ambient sound code.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
3454fc397e
- a few target_i removed.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 21:36:41 +02:00
Christoph Oelckers
dc5d32f510
- two missed iterators.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
13348ca428
- a tiny bit of code cleanup.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
b240d2b5bd
- aiunicult.cpp is done.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
013eadfd9f
- genDudePrepare
2021-10-12 21:36:18 +02:00
Christoph Oelckers
fb5916a3dd
- canSwim et.al.
2021-10-12 21:29:12 +02:00
Christoph Oelckers
acec23e034
- ensure the 'slave' array in genDudeExtra is always free of gaps.
...
This will ensure that adding entries won't accidentally overwrite things.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
6bee3b5ba0
- updateTargetOfSlaves, also storing the slave data as pointers and major cleanup of this function.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
c42e26351e
- genDudeSpawn, genDudeTransform and updateTargetOfLeech.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
e41fcb92ab
- cleanup and formatting noise again.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
f4fd2a770b
- dudeLeechOperate
2021-10-12 21:29:11 +02:00
Christoph Oelckers
e415d93283
- doexplosion
2021-10-12 19:23:25 +02:00
Christoph Oelckers
b1f55434a2
- getRecoilChance + getDodgeChance
2021-10-12 19:23:25 +02:00
Christoph Oelckers
b70368050a
- getDispersionModifier and getRangeAttackDist.
2021-10-12 19:23:25 +02:00
Christoph Oelckers
9801ce25dd
- scaleDamage
2021-10-12 19:23:24 +02:00
Christoph Oelckers
544145fe4b
- reformatting noise split from a larger commit.
2021-10-12 19:23:24 +02:00
Christoph Oelckers
c715ded287
- dudeIsMelee
2021-10-12 19:23:24 +02:00
Christoph Oelckers
eb478ba580
- getNextIncarnation
...
Event queue handling not refactored yet.
2021-10-12 19:23:24 +02:00
Christoph Oelckers
d892efb78a
- killDudeLeech
2021-10-12 19:23:24 +02:00
Christoph Oelckers
040049f83e
- more leech stuff.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 19:23:23 +02:00
Christoph Oelckers
d2f16ec8ab
- leechIsDropped, pLifeLeech
2021-10-12 19:23:23 +02:00
Christoph Oelckers
d907627156
- spriteIsUnderwater
2021-10-12 19:23:23 +02:00
Christoph Oelckers
75258c8b29
- playGenDudeSound.
2021-10-12 19:23:23 +02:00
Christoph Oelckers
ea63229251
- some minor cleanup in aiunicult.cpp.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
05571de93a
- genDudeUpdate handled.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
49f75e6f51
- 2 more function changed to use actor parameters.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
805ae48607
- ThrowThing cleanup.
...
Mostly use of VS's rename function.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
c848518746
- use actor parameter in all calls to aiGenDudeNewState.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
9de6c7df46
- reformatting commit.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
062b3dbf76
- route all access to genDudeExtra through the method in DBloodActor
2021-10-12 19:23:21 +02:00
Christoph Oelckers
cdacf8e470
- fixed badly resolved merge conflict
2021-10-12 00:07:24 +02:00
Christoph Oelckers
64b67291bc
- properly write out the genPatrolStates in savegames.
2021-10-11 23:41:44 +02:00
Christoph Oelckers
f370c0f22f
- fixed bad null check in aiProcessDudes.
2021-10-11 23:41:04 +02:00
Christoph Oelckers
c6dc564788
- fixed bad target check (again.)
2021-10-11 23:34:49 +02:00
Christoph Oelckers
351dabdb90
- actFireMissile.
2021-10-10 22:36:12 +02:00
Christoph Oelckers
bbe49eee7c
- reformatting commit
2021-10-10 11:47:18 +02:00
Christoph Oelckers
c485fce958
- reformatted the actor and ai sources.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
0ee81b2bb8
- refactored the remaining pieces in the ai code to use actors.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
d4439b879c
- Blood: added checks to the SEQ code to handle situation where their attached object has been removed from the game.
2021-10-10 11:46:38 +02:00
Christoph Oelckers
62502439d7
- eliminated HITINFO.hitsprite.
...
This was one of the more annoying sprite index variables because it is part of static global data.
2021-10-09 23:09:09 +02:00
Christoph Oelckers
9b4ee3dc2c
- some remaining sprite[] access in ai.cpp
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-09 23:09:08 +02:00
Christoph Oelckers
f712a674ce
- removed the few remaining uses of actDamageSprite_.
2021-10-09 23:09:08 +02:00
Christoph Oelckers
3ab636a13a
- sfxPlay3DSound calls partially migrated.
2021-10-09 23:09:08 +02:00
Christoph Oelckers
741d24b9df
- iterators in teslaHit.
2021-10-09 23:09:07 +02:00
Christoph Oelckers
ea7ff0b5eb
- parameter stuff in a few weapon functions.
2021-10-09 23:09:07 +02:00
Christoph Oelckers
e64e359d07
- iterators in StompSeqCallback
2021-10-09 23:09:07 +02:00
Christoph Oelckers
39b9ddc04c
- target stuff in aiInitSprite
2021-10-09 23:09:07 +02:00
Christoph Oelckers
b8d55feb1e
- actor parameter substitution and a few bad constants.
2021-10-09 23:08:44 +02:00
Christoph Oelckers
fbae41ee0a
- renamed the sprite variant of aiDamageSprite.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
bbe3f333fa
- replaced some GetSpriteExtents calls with GetActorExtents.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
44b0e59127
- aiProcessDudes and aiInitSprite done, completing the main pass over ai.cpp.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
29e245dfce
- aiProcessDudes, getting rid of the global cumulDamage array and some reformatting
2021-10-09 23:04:29 +02:00
Christoph Oelckers
6968a072ae
- another formatting-only commit.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-09 23:04:29 +02:00
Christoph Oelckers
fe92188b0c
- removed the dudeIsPlayingSeq variant taking a sprite parameter.
2021-10-09 23:03:09 +02:00
Christoph Oelckers
890cc4947b
- use actor parameters for aiSetTarget and aiActivateDude in several places.
2021-10-09 23:03:09 +02:00
Christoph Oelckers
61d9cd1b17
- switched all aiPlay3DSound calls to use actors.
2021-10-09 23:02:40 +02:00
Christoph Oelckers
bdba52aede
- refactored aiDamageSprite.
2021-10-09 23:02:20 +02:00
Christoph Oelckers
8606b2ea5a
- fixed warnings in Blood.
2021-10-08 19:09:26 +02:00
Christoph Oelckers
9b047c771c
- reformatting of aiDamageSprite, no logic change here.
2021-10-07 22:54:18 +02:00
Christoph Oelckers
c8501f8ea6
- refactored aiSetTarget
2021-10-07 22:54:18 +02:00
carnivoroussociety
e6e9bac04b
Add ifdef'd correct code for DUDEEXTRA struct saving
2021-10-07 22:51:43 +02:00
carnivoroussociety
8998d92688
Restore original savename variables for DUDEEXTRA struct
2021-10-07 22:51:42 +02:00
carnivoroussociety
8dbd0f10d3
Refactored DUDEEXTRA struct and correctly init state
...
# Conflicts:
# source/games/blood/src/aiboneel.cpp
# source/games/blood/src/aicerber.cpp
# source/games/blood/src/aigarg.cpp
# source/games/blood/src/aighost.cpp
# source/games/blood/src/aitchern.cpp
2021-10-07 22:51:42 +02:00
Christoph Oelckers
8168c6f85c
- use the vel() wrappers in a few more places.
2021-10-07 22:48:08 +02:00
Christoph Oelckers
595893a9a0
- added a few more ValidateTarget calls.
2021-10-07 22:48:08 +02:00
Christoph Oelckers
a3a5e7e90b
- renamed aiSetTarget.
2021-10-07 22:48:08 +02:00
Mitch Richters
5732ea0233
Revert "- Blood: Use more precision for flicker, quake and tilt effects."
...
This reverts commit 3c09f41b43
.
* Fixes #554 .
2021-10-05 08:43:32 +11:00
Christoph Oelckers
95acafdbac
- manual update of NBlood commit 24908021f3b844a73de05632565d55d5b71b577c
...
- Fix kModernCustomDude is not inheriting sprite size if SEQ have zero repeats
- Damage scale tweaks for kModernCustomDude
- Fix hitscan kModernCondition
2021-09-19 16:35:02 +02:00
Christoph Oelckers
1732d206bd
- Blood: fixed flare gun no longer being able to set trees on fire.
...
Somehow a bad damage type got in here...
2021-09-18 20:13:05 +02:00
Christoph Oelckers
11aea1c5d4
- more target replacements.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
b9f6120380
- handle target validations in AI functions properly.
...
Now they will all print the function name along with the message and not rely on assert abuse.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
261301bdea
- replacing target_i, batch 1.
...
This was the simple stuff, mostly done by search&replacing common patterns.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
90091965ba
- replaced most occurences of target_i in already refactored code.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
7a6629ce6a
- renamed XSPRITE::target to target_i.
...
This is to make searching for it easier as 'target' is a very common word in the source.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
774a015e6b
- aiChooseDirection and its subfunctions.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
a79d362b40
- dudeIsPlayingSeq + aiPlay3DSound.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
7054313dd4
- formatting only.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
00d0099333
- removed a few compatibility wrappers.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
6a1ffca34f
- actCheckExplosion, removed array access from SEQ callbacks in actor.cpp and renamed the two which still had assembly names.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
663ecc79d1
- actFireVector
2021-09-17 20:49:25 +02:00
Christoph Oelckers
d6724185b3
- removed a few redundant one-liner functions.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
d7078dda48
- actGetRespawnTime + actCheckRespawn.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
6db18e61d9
- Blood: use a TArray for gPost and store actors as pointers.
...
This also does not need to be serialized because it gets cleared at the end of each game tick and will always be empty when saving is done.
2021-09-17 20:49:05 +02:00
Christoph Oelckers
4526f4149b
- actSpawnThing and actFireThing.
2021-09-16 00:11:20 +02:00
Christoph Oelckers
7c1826e909
- fixed typo in the actor variant of seqKill.
2021-09-16 00:04:18 +02:00
Christoph Oelckers
c5d7455317
- actSpawnDude.
2021-09-16 00:01:16 +02:00
Christoph Oelckers
7f485bfab1
- split off the extended sprite flags into their own word.
...
Some code overwrites the cstat field entirely (thanks Duke, for being sloppy with this...!)
2021-09-12 18:26:35 +02:00
Christoph Oelckers
61bc90949b
- Blood: fixed super secret notification on the level summary screen.
2021-09-12 18:17:51 +02:00
Christoph Oelckers
3c3da13d3f
- fixed seqKill actor variant.
2021-09-12 18:17:27 +02:00
Christoph Oelckers
bac1480997
- Blood: fixed use of bad index variable in condCheckSector
2021-08-28 18:00:13 +02:00
carnivoroussociety
deefbcf431
Use PlayerName()
2021-08-28 16:46:01 +10:00
carnivoroussociety
2b44f8e79d
Carry over team flag fix from nblood
2021-08-28 16:46:01 +10:00
carnivoroussociety
049665e03e
Fixed bug collecting lifeleech with ignited tnt/spray
2021-08-28 16:46:01 +10:00
Mitchell Richters
2fbfa82fe8
- Blood: Add interpolated weapon QAVs to WeaponInit()
and WeaponPrecache()
functions.
2021-08-28 16:43:17 +10:00
Mitchell Richters
726edc199e
- Blood: Add SetQAV()
static function to abstract away from directly setting the player's weaponQav
variable to allow us to properly reset the framerate QAV timer values to 0 as well.
2021-08-28 16:43:17 +10:00
Mitchell Richters
3c09f41b43
- Blood: Use more precision for flicker, quake and tilt effects.
2021-08-28 16:43:16 +10:00
Christoph Oelckers
dc0d201275
- Blood: added serialization for the tracking conditions array.
2021-08-27 18:23:04 +02:00
Mitchell Richters
656ec8ef06
- Blood: Apply a slightly better fix for the akimbo shotgun animation kQAV2SHOTF2
(res_id: 61).
...
* The issue here is that `pPlayer->weaponTimer` reaches 0 before the animation plays out. This is because the QAV timer has its own ticrate independent of the game's timer.
* A workaround like this is still the best approach for now as its not easily possible to remove `weaponTimer` within the game without messing up the trigger system that runs at ticrate.
2021-08-27 22:18:57 +10:00
Christoph Oelckers
f3e10a595d
- Blood: fixed pod fireballs not exploding.
...
Looks like something went wrong with cleaning out the broken code that once was here.
2021-08-27 13:25:01 +02:00
Christoph Oelckers
e010dce812
- Blood: fixed occasionally disappearing sprites when hitting something with the tesla gun.
2021-08-26 09:31:32 +02:00
Christoph Oelckers
9b061f9829
- Blood: fixed crash with Gargoyle projectiles.
...
Thanks, MSVC, for not warning about this... :(
2021-08-26 08:18:24 +02:00
Christoph Oelckers
1fbaeceada
- Blood: avoid double free of sprites.
...
This happened to me once in Death Wish.
2021-08-26 08:18:23 +02:00
carnivoroussociety
03e6bb3696
Skip CheckProximityWall when newSectCheckMethod is set
...
Fixes edge case where CheckProximityWall misses
2021-08-26 08:02:11 +02:00
Mitchell Richters
6d06f063f6
- Blood: Directly use the incoming loopable
bool from gi->AddQAVInterpProps()
in the QAVInterpProps
struct.
...
* During the initial implementation, there were more flags than this single one. I don't foresee any further flags coming so lets go for cleaner code.
2021-08-26 11:20:26 +10:00
Christoph Oelckers
c80831555c
- Blood: fixed broken missile collision checks.
...
Curse that stupid bit masking madness in clipmove. As long as this code isn't properly abstracted, we still need to handle it on the game side.
2021-08-25 08:47:40 +02:00
Christoph Oelckers
0cad0b9258
- reformatting the mess created by TortoiseMerge.
2021-08-25 08:46:31 +02:00
Christoph Oelckers
c288de920d
- Blood: don't abort the INI scanner if it finds a file with resource file index 0.
...
0 is also used for on-the-fly addition of data to the file system, so this must run through the entire directory to be safe.
2021-08-24 18:40:29 +02:00
Mitchell Richters
5a32000d1e
- Blood: Interpolate the alpha and shade values when interpolating QAVs.
2021-08-24 10:07:58 +10:00
Mitchell Richters
b1fa923f02
- Blood: Re-organise QAVInterpProps
struct so that when statically declaring forcedinterpdata
, only the required value needs passing.
2021-08-24 10:06:54 +10:00
Mitchell Richters
542f005565
- Blood: Fixed weapon switching while using Voodoo Doll playing its idle animation.
...
* Fixes #517 .
2021-08-24 07:25:52 +10:00
Christoph Oelckers
feb11a2f9a
- fixed one merge conflict that managed to slip through.
2021-08-23 19:24:56 +02:00
Christoph Oelckers
0e7c61dc33
- tabified code.
2021-08-23 19:21:41 +02:00
Christoph Oelckers
ac40e86ab2
- actSpawnSprite
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:20:05 +02:00
Christoph Oelckers
ebdb4927cc
- got rid of a few sprite/xsprite references.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:19:36 +02:00
Christoph Oelckers
2cfb4f908e
- actProcessSprites done.
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:18:22 +02:00
Christoph Oelckers
7faebdcbf1
- first two loops of actProcessSprites split off and redone.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:15:18 +02:00
Christoph Oelckers
ddcb12a8b2
- MoveMissile + actExplodeSprite.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:15:08 +02:00
Christoph Oelckers
29c2e68270
- tabified MoveDude
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:13:29 +02:00
Christoph Oelckers
8c01c363a9
- replaced remaining access to sprite[] and xsprite[] in processed code.
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
c1d52f7393
- replaced all occurences of gDudeExtra and moved that struct into DBloodActor.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
4fed1debe4
- moveDude part 1.
2021-08-23 19:13:28 +02:00
Christoph Oelckers
3aa9d6f8be
- MoveThing.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:12:58 +02:00
carnivoroussociety
e74e581637
Fix issues with self collision on MoveMissile()
...
Only with new accurate clipmove() use
2021-08-23 18:40:38 +02:00
Mitchell Richters
4ffd02b1e1
- Blood: Declare qavGetInterpType()
as static within qav.cpp.
2021-08-23 21:00:45 +10:00
Mitchell Richters
276c000f9f
- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage.
2021-08-23 20:54:30 +10:00
carnivoroussociety
2365be7c95
Add modern map kViewEffectSpotProgress support
...
Fix kViewEffectShowWeapon positional/angle offset for voodoo doll
2021-08-23 19:28:32 +10:00
Mitchell Richters
62e1fdf709
- Blood: Fix handling of QAVs defined as loopable while interpolating.
2021-08-23 12:05:13 +10:00
Mitchell Richters
ddc7b3d730
Merge branch 'master' into master
2021-08-23 11:40:05 +10:00
Mitchell Richters
ebdc9c31f2
- Blood: Ensure new QAV timer doesn't process while game is paused.
2021-08-23 11:05:08 +10:00
Mitchell Richters
1ee6fd76c4
Merge branch 'blood-qavrework'
...
# Conflicts:
# source/core/gamecvars.cpp
# source/core/gamecvars.h
# source/games/blood/src/weapon.cpp
2021-08-23 11:02:09 +10:00
Mitchell Richters
d7450e12f0
- Blood: Re-add interpolated weapon QAVs in an externalised, disabled-by-default fashion.
2021-08-23 10:55:08 +10:00
Mitchell Richters
6975997ae3
- Blood: Remove weaponQAV[]
array entirely.
2021-08-23 10:49:47 +10:00
Mitchell Richters
5bfdd74844
- Blood: Revert "- Blood: Ensure looped QAVs interpolate using last frame in the array."
2021-08-23 09:32:00 +10:00
Mitchell Richters
916241dcdb
- Blood: Implement defineqav
DEF parser with hookup to game-side code.
2021-08-23 09:00:47 +10:00
Mitchell Richters
da78160cd1
- Blood: Revert code to dump out QAVs to disk and remove all hard-coded interpolation repairs.
2021-08-22 21:20:15 +10:00
carnivoroussociety
72225c9b8c
Added various missing item/ammo types to common_game.h
...
Renamed kAmmoItemVoodooDoll->kItemAmmoVoodooDoll
Renamed kMissileFireballNapam->kMissileFireballNapalm
2021-08-22 17:49:02 +10:00
Mitchell Richters
499e400cdb
- Blood: Add command-line switch to dump repaired QAVs back out to disk so that they can be included in raze.pk3.
...
* This required restoring the original struct temporarily to ensure contents dumped to disk were 1:1 with how they came in.
2021-08-22 15:22:58 +10:00
Mitchell Richters
a681aad281
- Blood: Add interpolation repair and properties for kQAVLITEFLAM
(res_id: 5).
2021-08-22 15:03:20 +10:00
Mitchell Richters
6256de8013
- Blood: Extend interpolation repair for kQAVBUNUP
(res_id: 16) to add missing tile in first frame.
2021-08-22 11:23:29 +10:00
Mitchell Richters
2edbd3447c
- Blood: Extend interpolation properties for kQAVBUNFUSE
(res_id: 21) to stop interpolating all tiles after frame 6 and not just tile index 4.
2021-08-22 10:55:01 +10:00
Mitchell Richters
7e8ec89a68
- Blood: Add interpolation repair for kQAVSTAFDOWN
(res_id: 119).
2021-08-22 08:18:17 +10:00
Mitchell Richters
a03848d1f8
- Blood: Add interpolation repair for kQAVSTAFIRE4
(res_id: 116).
2021-08-22 08:18:14 +10:00
Mitchell Richters
fb084734e3
- Blood: Add interpolation repair for kQAVVDSPEL1
(res_id: 110).
2021-08-22 08:18:00 +10:00
Mitchell Richters
0172373650
- Blood: Add interpolation repair for kQAVVDDOWN
(res_id: 109).
2021-08-22 08:17:50 +10:00
Mitchell Richters
95878bcea1
- Blood: Add interpolation repair for kQAVVDFIRE4
(res_id: 106) and kQAVVDFIRE5
(res_id: 107).
2021-08-22 08:17:47 +10:00
Mitchell Richters
d34fd124b7
- Blood: Add interpolation repair for kQAVVDFIRE3
(res_id: 105).
2021-08-22 08:17:44 +10:00
Mitchell Richters
a3a2cd8da8
- Blood: Add interpolation repair for kQAVVDFIRE1
(res_id: 103) and kQAVVDFIRE2
(res_id: 104).
2021-08-22 08:17:37 +10:00
Mitchell Richters
dd1e716082
- Blood: Extend backported voodoo doll fix from BloodGDX to always use kQAVVDIDLE2
when the player is moving. As kQAVVDIDLE2
has moving frames and is not a static idle animation, call it via StartQAV()
so that weaponTimer
is started.
2021-08-22 08:17:33 +10:00
Mitchell Richters
cd092153eb
- Blood: Mark kQAVVDIDLE2
(res_id: 102) as being loopable.
2021-08-22 08:17:14 +10:00
Mitchell Richters
803e9f8a04
- Blood: Add interpolation repair for kQAVVDIDLE2
(res_id: 102).
2021-08-22 08:16:41 +10:00
Mitchell Richters
1fd66681d2
- Blood: Add interpolation repair for kQAVVDUP
(res_id: 100).
2021-08-22 08:15:53 +10:00
Mitchell Richters
3a656c91cb
- Blood: Mark kQAVNAPFIRE
(res_id: 91) as being loopable.
2021-08-22 08:15:43 +10:00
Mitchell Richters
d4fe734afa
- Blood: Add interpolation repair for kQAVNAPUP
(res_id: 89).
2021-08-22 08:14:47 +10:00
Mitchell Richters
99ab8fa726
- Blood: Add interpolation repair for kQAV2SGUNPRE
(res_id: 86). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:45 +10:00
Mitchell Richters
ed92ec9af9
- Blood: Add interpolation repair for kQAV2SGUNALT
(res_id: 85). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:42 +10:00
Mitchell Richters
b2637050e8
- Blood: Mark kQAV2SGUNFIR
(res_id: 84) as being loopable.
2021-08-22 08:14:33 +10:00
Mitchell Richters
22e348613f
- Blood: Add interpolation repair for kQAV2SGUNFIR
(res_id: 84). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:05 +10:00
Mitchell Richters
073f0d953f
- Blood: Add interpolation repair for kQAV2SGUNUP
(res_id: 82).
2021-08-22 08:14:03 +10:00
Mitchell Richters
7bbf478859
- Blood: Add interpolation repair for kQAVSGUNPOST
(res_id: 80). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:00 +10:00
Mitchell Richters
df3bc4d90a
- Blood: Add interpolation repair for kQAVSGUNPRE
(res_id: 79). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:13:58 +10:00
Mitchell Richters
1033049b8c
- Blood: Add interpolation repair for kQAVSGUNFIR4
(res_id: 78). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:13:49 +10:00
Mitchell Richters
1f6bfd7693
- Blood: Mark kQAVSGUNFIR1
(res_id: 77) as being loopable.
2021-08-22 07:58:40 +10:00
Mitchell Richters
2ff1bdfd7d
- Blood: Add interpolation repair for kQAVSGUNFIR1
(res_id: 77). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 07:58:14 +10:00
Mitchell Richters
5160b7649c
- Blood: Add interpolation repair for kQAVSGUNIDL1
(res_id: 75).
2021-08-22 07:58:11 +10:00
Mitchell Richters
7eca7ea166
- Blood: Add interpolation repair for kQAVSGUNUP
(res_id: 74).
2021-08-22 07:58:09 +10:00
Mitchell Richters
df5185038f
- Blood: Mark kQAV2TOMALT
(res_id: 73) as being loopable.
2021-08-22 07:57:57 +10:00
Mitchell Richters
c46c52a724
- Blood: Add interpolation properties for kQAV2TOMFIRE
(res_id: 71).
2021-08-22 07:57:57 +10:00
Mitchell Richters
c6c7ae76d6
- Blood: Mark kQAVTOMSPRED
(res_id: 67) as being loopable.
2021-08-22 07:57:01 +10:00
Mitchell Richters
6998772487
- Blood: Add interpolation properties for kQAVTOMFIRE
(res_id: 66).
2021-08-22 07:56:23 +10:00
Mitchell Richters
3cd868c9f9
- Blood: Add interpolation repair for kQAV2SHOTFIR
(res_id: 62).
2021-08-22 07:55:57 +10:00
Mitchell Richters
cdff574ef6
- Blood: Add interpolation repair for kQAV2SHOTF2
(res_id: 61).
2021-08-22 07:55:54 +10:00
Mitchell Richters
bfa509e45e
- Blood: Add interpolation properties for kQAVSHOTL1
(res_id: 57).
2021-08-22 07:55:42 +10:00
Mitchell Richters
ba91590028
- Blood: Add interpolation repair for kQAVSHOTUP
(res_id: 50).
2021-08-22 07:55:14 +10:00
Mitchell Richters
e00f76b0aa
- Blood: Add interpolation repair for kQAVFLAR2FIR
(res_id: 48).
2021-08-22 07:55:11 +10:00
Mitchell Richters
e0bcd2d9e9
- Blood: Add interpolation repair for kQAVFLARDOWN
(res_id: 44).
2021-08-22 07:55:09 +10:00
Mitchell Richters
37f7bcde20
- Blood: Mark kQAVFLARFIR2
(res_id: 43) as being loopable.
2021-08-22 07:54:08 +10:00
Mitchell Richters
e70b395d76
- Blood: Add interpolation repair for kQAVFLARFIR2
(res_id: 43).
2021-08-22 07:53:38 +10:00
Mitchell Richters
dfa3a52fa8
- Blood: Add interpolation repair for kQAVFLARUP
(res_id: 41).
2021-08-22 07:53:35 +10:00
Mitchell Richters
7e3307eb33
- Blood: Add interpolation repair for kQAVREMTHRO
(res_id: 39).
2021-08-22 07:53:33 +10:00
Mitchell Richters
6d888bebd9
- Blood: Add interpolation repair for kQAVREMDROP
(res_id: 38).
2021-08-22 07:53:30 +10:00
Mitchell Richters
92c5a53074
- Blood: Mark kQAVREMIDLE1
(res_id: 36) and kQAVREMIDLE2
(res_id: 37) as being loopable.
2021-08-22 07:52:55 +10:00
Mitchell Richters
55b6453415
- Blood: Add interpolation repair for kQAVREMDOWN2
(res_id: 34).
2021-08-22 07:51:53 +10:00
Mitchell Richters
226ba1477a
- Blood: Add interpolation repair for kQAVREMDOWN1
(res_id: 33).
2021-08-22 07:51:50 +10:00
Mitchell Richters
3cc2a6a486
- Blood: Add interpolation repair for kQAVREMUP1
(res_id: 30) and kQAVREMUP2
(res_id: 31).
2021-08-22 07:51:44 +10:00
Mitchell Richters
679903b90f
- Blood: Add interpolation repair for kQAVPROXDOWN
(res_id: 26).
2021-08-22 07:51:40 +10:00
Mitchell Richters
34f31e535c
- Blood: Add interpolation repair for kQAVPROXUP
(res_id: 25).
2021-08-22 07:51:36 +10:00
Mitchell Richters
8944f2e57d
- Blood: Add interpolation repair for kQAVBUNTHRO
(res_id: 23).
2021-08-22 07:51:34 +10:00
Mitchell Richters
7f9f57e4e6
- Blood: Add interpolation repair for kQAVBUNDROP
(res_id: 22).
2021-08-22 07:51:30 +10:00
Mitchell Richters
54cdc8ffc3
- Blood: Add interpolation repair and properties for kQAVBUNFUSE
(res_id: 21).
2021-08-22 07:50:45 +10:00
Mitchell Richters
da95af0c04
- Blood: Add interpolation repair for kQAVBUNDOWN2
(res_id: 19).
2021-08-22 07:50:16 +10:00
Mitchell Richters
cb62692e37
- Blood: Add interpolation repair for kQAVBUNUP2
(res_id: 18).
2021-08-22 07:50:14 +10:00
Mitchell Richters
037fcfd446
- Blood: Add interpolation repair for kQAVBUNDOWN
(res_id: 17).
2021-08-22 07:50:10 +10:00
Mitchell Richters
33d63724f7
- Blood: Add interpolation repair for kQAVBUNUP
(res_id: 16).
2021-08-22 07:50:06 +10:00
Mitchell Richters
28cbec5704
- Blood: Add interpolation repair and properties for kQAVCANFIRE2
(res_id: 12).
2021-08-22 07:49:49 +10:00
Mitchell Richters
bcfcbf2666
- Blood: Add interpolation repair for kQAVCANDOWN
(res_id: 11).
2021-08-22 07:48:57 +10:00
Mitchell Richters
f5533374ca
- Blood: Disable interpolation for kQAVLITEFLAM
(res_id: 5).
2021-08-22 07:48:48 +10:00
Mitchell Richters
6d06f002bc
- Blood: Mark kQAVPFORK
(res_id: 2) as being loopable.
2021-08-22 07:47:42 +10:00
Mitchell Richters
e273b93d12
- Blood: Overhaul entire QAV interpolation setup in preparation to exposing to DEF parsing.
2021-08-21 21:25:33 +10:00
carnivoroussociety
8ec6cdaf91
Renamed SpidPoisonTarget to SpidPoisonPlayer
2021-08-21 20:53:38 +10:00
carnivoroussociety
44e6ccb3d4
Eliminate misused DemoRecordStatus usages
2021-08-21 20:29:01 +10:00
Mitchell Richters
f67a09680e
- Blood: Rename CVAR cl_bloodhudinterp
to cl_bloodqavinterp
.
2021-08-21 19:55:02 +10:00
carnivoroussociety
1f6181fa99
Renamed untitled spider functions
2021-08-21 19:52:24 +10:00
Mitchell Richters
9251ce11c7
- Blood: Remove unused isOriginalQAV()
function from weapon.cpp.
2021-08-21 13:35:41 +10:00
carnivoroussociety
cd53e4c966
Fix teleport triggers not updating player angle
2021-08-21 12:44:01 +10:00
carnivoroussociety
28d7f0de58
Do not use accurate clipmove for flame missiles
...
Changes gameplay too much
2021-08-19 22:34:49 +10:00
carnivoroussociety
6d4a3243b7
Lower flame damage if using accurate clipmove
...
The eduke clipmove will cause a higher hit %, lower all flame damage from 8->3 to compensate with overall higher sprite hit result
2021-08-19 22:18:52 +10:00
carnivoroussociety
f0627fa6c2
enginecompatibilitymode -> enginecompatibility_mode
2021-08-19 20:44:13 +10:00
carnivoroussociety
0e0c4e692f
Set thing/missile to use accurate clipmove
2021-08-19 20:38:31 +10:00
carnivoroussociety
db9a413f21
Added new cl_bloodvanillaenemies CVAR
...
GetClosestSpriteSectors(): If newSectCheckMethod is set, then always test midpoints at least once
Use new CVAR for tiny Caleb/burning cultists/Cerberus fixes
Do not use new GetClosestSpriteSectors() fix for teslaHit() if vanilla explosions is set
Do not use GetClosestSpriteSectors() fix for enemies sight scanning if vanilla enemies is set
2021-08-19 14:26:53 +10:00
carnivoroussociety
24b5673130
GetClosestSpriteSectors - Fixed typo with nLength check
2021-08-18 22:34:20 +02:00
carnivoroussociety
440fa3b70e
GetClosestSpriteSectors - Fixed typo with nLength check
2021-08-19 03:21:41 +10:00
carnivoroussociety
6606f0bc5a
Improved GetClosestSpriteSectors() detection
...
Enables/disables new sector searching behavior for dude owned explosions
Added new CVAR cl_bloodvanillaexplosions
Swap ExplosBehavior menu settings
2021-08-18 15:52:15 +02:00
Mitchell Richters
968708a649
- Blood: Remove the extern for weaponQAV[]
and move kQAVEnd
enum into new enum from 9e84dd1ef6051f4e54d99dcfc6e3468560175e16
2021-08-18 20:02:35 +10:00
Mitchell Richters
84496029a9
- Blood: Replace a few missed numerical constants with enums.
2021-08-18 20:02:32 +10:00
Mitchell Richters
77704d54d9
- Blood: Replace all numerical constants in calls to StartQAV()
with enum values.
2021-08-18 20:02:30 +10:00
Mitchell Richters
6a2a0da819
- Blood: Replace all numerical constants for player's weaponQav
with enum values.
2021-08-18 20:02:27 +10:00
Mitchell Richters
cd5e01818a
- Blood: Replace all numerical constants for player's nextWeapon
with enum values.
2021-08-18 20:02:24 +10:00
Mitchell Richters
6f08eb2292
- Blood: Replace all numerical constants for player's newWeapon
with enum values.
2021-08-18 20:02:22 +10:00
Mitchell Richters
ba94614078
- Blood: Replace all numerical constants for player's curWeapon
with enum values.
2021-08-18 20:02:20 +10:00
Mitchell Richters
d939602875
- Blood: Define enum values for weapon numbers. Not in use yet.
2021-08-18 20:02:14 +10:00
Mitchell Richters
6fec5d582e
- Blood: Define enum values for QAVs. Not in use yet.
2021-08-18 20:01:34 +10:00
Mitchell Richters
db5aa4ba17
- Blood: Backport voodoo doll fix from BloodGDX.
2021-08-18 20:00:52 +10:00
Mitchell Richters
b01cef7f15
- Blood: Remove lastframetic
hack from QAV::Draw()
added in 99508e6f15
since we now use proper timing code.
2021-08-18 20:00:49 +10:00
Mitchell Richters
24fbaa527c
- Blood: Re-time weapon and scene QAV code based on reworked timer and QAV struct code.
2021-08-18 20:00:44 +10:00
Mitchell Richters
ab502ebc66
- Blood: Ensure looped QAVs interpolate using last frame in the array.
2021-08-18 20:00:36 +10:00
Mitchell Richters
c75778c08d
- Blood: Re-time menu's blood dripping based on reworked timer and QAV struct code.
2021-08-18 20:00:32 +10:00
Mitchell Richters
502b76af70
- Blood: Parse the values of the QAV files instead of casting the binary data so we can extend the struct.
2021-08-18 20:00:22 +10:00
Christoph Oelckers
adf9747e5b
- Blood: removed redundant STAT_Update call in StartLevel.
...
This was killing the level times for the 'printstats' display.
2021-08-17 23:44:46 +02:00
carnivoroussociety
a29303cde5
Don't trigger fall scream after player has died
2021-08-16 09:05:51 +02:00
carnivoroussociety
7ac662e0c8
Apply burning bypass to correct sprite type
2021-08-15 12:24:41 +02:00
carnivoroussociety
bd98096527
Fix burning Caleb's state
2021-08-15 12:24:41 +02:00
carnivoroussociety
52025fce68
Fixed burning Caleb state
2021-08-15 12:24:41 +02:00
carnivoroussociety
cd88bb1a67
Fixed burning cultists switching type in water
...
Fixed glitched burning enemy state
Fixed burning Caleb using innocent burning sprite
2021-08-15 12:24:41 +02:00
carnivoroussociety
c3d03f21da
Cleaned underwater next/prev weapon fix
2021-08-14 07:59:14 +02:00
carnivoroussociety
1957fc53be
Tweaked next/prev weapon behavior underwater
2021-08-14 07:59:14 +02:00
Christoph Oelckers
d5c9768414
- append an empty line to thr RFS file to be parsed.
...
Looks like the parser needs the last line to be properly terminated.
2021-08-13 21:44:23 +02:00
carnivoroussociety
8765b583f0
Fix spray -> tnt -> spray animation bug
2021-08-12 15:15:35 +02:00
carnivoroussociety
715bca4d53
input.newWeapon -> newWeapon
2021-08-12 13:59:44 +02:00
carnivoroussociety
1a344fe09b
Fix ignited spray/TNT issue when going underwater
2021-08-12 13:59:44 +02:00
Mitchell Richters
17b2154e9a
- Blood: Expose legacy 1.0 weapon handling game option as a CVAR.
2021-08-03 00:47:05 +10:00
Mitchell Richters
a9b75e7e7d
- Blood: Put QAV interpolation code behind a CVAR for now until some final minor issues are resolved.
...
* Thanks to Dzierzan for testing and the reports.
2021-07-31 10:15:51 +10:00
Mitchell Richters
f6c7ed3984
- Blood: Restore originally intended isRunning
code that never worked behind two CVARs to offer an alternative playing experience.
...
* `cl_bloodvanillarun` enables/disables the `isRunning` code that affects AI, bobbing and swaying.
* `cl_bloodvanillabobbing` enables/disables the `isRunning` code that affects bobbing and swaying, allowing only the `isRunning` AI changes.
2021-07-31 10:14:56 +10:00
Mitchell Richters
9884d5f396
- Blood: Perform interpolation of menu's blood dripping.
...
* All supporting code is here, is tested and works, need to determine best how to flag the menu as "Animated" to uncap the frame-rate.
2021-07-31 10:05:25 +10:00
Mitchell Richters
a67c126129
- Blood: Extend 99508e6f15
to find picnum of previous frame in all previous frame's tile indices if the current frame's tile index doesn't match.
...
* Allows more interpolation magic.
* Revealed an issue with `interpolatedanglef()` that was undetected. Removed in place of a binangle version returned as floating point build.
2021-07-29 19:23:00 +10:00
Mitchell Richters
99508e6f15
- Blood: Perform interpolation between frames for each tile coordinate when there is more than one frame and the picnum between frames match.
2021-07-29 17:39:22 +10:00
NoOneBlood
a40d036623
Fix max players range check for kModernPlayerControl
...
Add power up control for kModernPlayerControl
2021-07-27 08:05:31 +10:00
nukeykt
adb9547ba9
Blood: fix impact sprite OOB issue
2021-07-26 19:19:41 +10:00
nukeykt
ced8a83331
Blood: fix potential view sprite overflows
2021-07-26 16:06:56 +10:00
nukeykt
557cd7e734
Blood: fix view sprites overflow in ROR code
2021-07-26 16:00:13 +10:00
nukeykt
39547e2df5
Blood: fix OOB issue in aiPatrolSetMarker
2021-07-26 15:55:13 +10:00
Christoph Oelckers
1a5a2aba2b
- Blood: fixed path validation for cutscene files.
2021-07-25 17:27:52 +02:00
Christoph Oelckers
fa586d6d7c
- Blood: fixed parser for 'mario' cheat to treat a leading space for the level number as 0.
2021-07-25 11:53:20 +02:00
Christoph Oelckers
b23db149e3
- use snprintf in condError.
...
While sprintf is generally problematic, it is particularly dangerous here where it is impossible to estimate the length of the messages.
2021-07-25 11:50:23 +02:00
Mitchell Richters
9fad44bab2
- Blood: Replace use of non-standard strupr()
from 754554a493
with an FString object.
2021-07-25 19:44:07 +10:00
Mitchell Richters
3b82a08123
Revert "- Fix non-Windows and non-MSVC builds due to missing header for strupr()
."
...
This reverts commit 2217dcb632
.
2021-07-25 19:38:06 +10:00
Mitchell Richters
2217dcb632
- Fix non-Windows and non-MSVC builds due to missing header for strupr()
.
2021-07-25 19:27:31 +10:00
Christoph Oelckers
7702b3bb92
- rewrote the sound handling in the patrolling code for Raze's sound backend.
2021-07-25 10:42:15 +02:00
Christoph Oelckers
eae355110f
- use enums instead of #defines.
2021-07-25 10:30:14 +02:00
Christoph Oelckers
cc3e6b74f3
- handle newly activated 'unused' fields properly for serialization.
2021-07-25 10:29:50 +02:00
Christoph Oelckers
b588abbca6
- deleted two unused functions that got back in again by accident.
2021-07-25 08:50:46 +02:00
Mitchell Richters
ffe62da3c7
- Blood: Add some nullptr checks to the aiPatrol*()
inline bools.
2021-07-25 15:37:50 +10:00
Mitchell Richters
7329cb8f1f
- Blood: Comment out bonk
code from 754554a493
to get things building for now.
2021-07-25 13:12:29 +10:00
NoOneBlood
754554a493
Increase kMaxSuperXSprites from 128 to 512.
...
Fix mirror (ROR) intialization so it won't crash if more than 1024 sectors used.
Fix random item generator so items that inherits TX ID won't send command at respawn.
Fix for things (400 - 433) that affected by modern physics so it won't return to vanilla physics after getting damage.
Fix kTeleportTarget so teleported sprites won't stuck in floors or ceilings.
Corpses won't gib as gargoyles anymore (gModernMap).
kModernCondition:
- remove bool comparison (condCmpb).
- remove no extra comparison (condCmpne).
- remove "else if" search at level start.
- add global (game) conditions type.
- add more conditions.
- make error report a bit more informative.
Add more options and damage effects for kModernSpriteDamager.
Add more options for kModernMissileGen and allow to spawn projectile on TX ID sprites location.
Add more options and vertical wind processing for kModernWindGen.
Add more options and effects for kModernEffectGen.
Allow kMarkerDudeSpawn to spawn enemies on TX ID sprites location (gModernMap).
Allow kModernCustomDudeSpawn to spawn dude on TX ID sprites location.
Add Screen and Aim trigger flags for sprites that can be triggered with Sight (gModernMap).
Patrolling enemies:
- add turn AI state.
- add "return back" option for path markers.
- add "turning while waiting" option for markers.
- make enemies to hear some sounds assuming that player generates and hears it too.
- add kModernStealthRegion type to affect current spot progress velocity.
- replace AI's CanMove and aiChooseDirection to a better versions.
- make flying enemies to not spin around the marker.
- treat Phantasm as flying enemy!
- allow to continue patrol when falling in water.
Fix compile warnings
Various minor fixes / cleanup.
2021-07-25 13:11:55 +10:00
Mitchell Richters
a55b8f716d
- Blood: Repair some missing nullptr checks causing a crash upon reloading after dying.
...
* Reported by Spill.
2021-07-24 21:39:29 +10:00
Mitchell Richters
675356be1a
- Ensure g_nextskill
is used everywhere so that setting skill for next level works properly.
2021-07-20 18:51:34 +10:00
Mitchell Richters
33845c4a23
- Add skill
CCMD to return player's current skill, while also being able to set skill for next game.
...
* Fixes #332 .
2021-07-20 18:50:58 +10:00
Mitchell Richters
77630dcbc7
- Rename DeferedStartGame()
to DeferredStartGame()
.
2021-07-20 18:43:17 +10:00
Mitchell Richters
0f5243c39e
- Blood: Lock input after setting angle/horizon targets in nnexts.cpp code, then unlock in ProcessInput()
where resetForcedSyncInput()
is called.
2021-07-18 19:26:24 +10:00
Mitchell Richters
58ed7f8745
- Blood: Restore original horizon algorithm in trPlayerCtrlSetLookAngle()
and adjust to Raze's backend input code.
2021-07-18 18:52:21 +10:00
Mitchell Richters
b4af9e87c1
- Blood: Make delirium rotscrnang smoother with use of more precision.
2021-07-18 18:13:48 +10:00
Mitchell Richters
c62e5db2bc
- Blood: Fix angle issues with NHIS.
2021-07-18 17:35:11 +10:00
Mitchell Richters
9432f9ec90
- Blood: Add nullptr check for actor2
in ProcessTouchObjects()
.
...
* Fixes crash during testing of NHIS.
2021-07-18 16:56:49 +10:00
Mitchell Richters
f022f197ab
- Blood: Repair weapon switching issue by adding missing guard from 6980e8b355
that got lost during e375c799ce
.
...
* Fixes #366 .
2021-07-17 09:14:08 +10:00
Mitchell Richters
76554f5f4d
- Repair incorrect method call to IniFile
class from 6576adb80b
.
...
* Fixes #473 .
2021-07-16 23:01:07 +10:00
Christoph Oelckers
6576adb80b
- Blood: validate .ini files before using them.
...
They must at least have one "Episode?" section to be accepted.
2021-07-13 12:34:35 +02:00
Christoph Oelckers
7a99b6376e
- forgot to save this...
2021-07-13 12:31:14 +02:00
Christoph Oelckers
b06ad5c77f
- Blood: fixed order of initialization for voxels.
...
Just like Shadow Warrior it needs to load its voxel table before .def files.
2021-07-13 12:11:17 +02:00
Mitchell Richters
5af06923d8
- Blood: Revise 6018213c71
and use the proper volume flag VF_HIDEFROMSP
to hide multiplayer episodes from the menu.
2021-07-11 22:30:59 +10:00
Christoph Oelckers
4dd293d551
- zero-terminate the buffer for reading Blood's INI files.
2021-06-26 12:04:21 +02:00
Christoph Oelckers
0f7d3d0cbb
- streamlined and fixed game startup with '-map' option.
...
* Blood: Initialize global pointers in app_init so that they are not NULL.
* consider Mapinfo data when checking for a given level name.
* removed redundant level name output.
2021-06-26 10:11:50 +02:00
Christoph Oelckers
63bc36e3c4
- renamed some constants.
...
Manually copied from NBlood because the underlying code has changed too much already.
2021-06-24 14:14:16 +02:00
Mitchell Richters
6018213c71
- Blood: Don't parse BloodBathOnly levels in the INI loader.
...
* Fixes #442 .
2021-06-24 18:21:06 +10:00
Christoph Oelckers
207298aeb4
- fixed compilation (again.)
2021-06-02 21:00:39 +02:00
NoOneBlood
73683b3ebe
Remove viewSetSystemMessage() when setting dude flags via command
...
# Conflicts:
# source/blood/src/nnexts.cpp
2021-06-02 20:52:49 +02:00
Christoph Oelckers
86082d4c10
- fixed last commit
2021-06-02 20:52:48 +02:00
NoOneBlood
f433c6ee11
Use dude physics as base for debris physics
...
Remove dude flags commands
Update kModernSlopeChanger
Add stealth dude flag
Update for sector pause/continue motion
# Conflicts:
# source/blood/src/db.h
# source/blood/src/nnexts.cpp
# source/blood/src/nnexts.h
# Conflicts:
# source/blood/src/nnexts.cpp
2021-06-02 20:52:48 +02:00
Christoph Oelckers
7fa690082e
- fixed cherry picked commit.
...
# Conflicts:
# source/core/gamecontrol.h
2021-06-02 20:52:47 +02:00
NoOneBlood
3a59243ea0
- Fixed getPlayeById() function in multiplayer.
...
- Fixed debris physics flags was not properly reset on level restart.
- Added new modern type "kModernSlopeChanger" that can manipulate sector and sprite slopes.
- Allow to drop items and keys for players in multiplayer (gModernMap only).
- Added event commands to manipulate dude flags.
- Patrol enemies (xsprite.dudeFlag4, gModernMap only):
- Added path markers following.
- Added stealth mechanics.
- Added spot target progress bar.
- Added alarm dude flag.
- Added blind dude flag.
- Added deaf dude flag.
- Added conditions for kModernCondition related to patrol enemies.
- kModernDamager can work like generator and damage anyone in sectors or in map.
- kSectorDamage is not does the damage if in Off state (gModernMap only).
- Additional options kModernSeqSpawner.
- Effects that created with kModernEffectSpawner now inherits offset of the sprite.
- Added kCmdSectorMotionPause and kCmdSectorMotionContinue event commands that allows to pause or continue sector motion (gModernMap only, WIP).
- Various minor fixes.
# Conflicts:
# source/blood/src/ai.cpp
# source/blood/src/common_game.h
# source/blood/src/eventq.cpp
# source/blood/src/nnexts.cpp
# source/blood/src/nnexts.h
# source/blood/src/triggers.cpp
# source/blood/src/triggers.h
# source/blood/src/view.cpp
# Conflicts:
# source/games/blood/src/ai.cpp
# source/games/blood/src/nnexts.h
# Conflicts:
# source/games/blood/src/actor.cpp
# source/games/blood/src/ai.cpp
2021-06-02 20:51:47 +02:00
Christoph Oelckers
c4fa99c891
- ProcessTouchObjects
2021-06-02 20:44:55 +02:00
Christoph Oelckers
f7668fc074
- first pass over ProcessTouchObject
2021-06-02 20:44:54 +02:00
Christoph Oelckers
a7572bca0a
- actImpactMissile.
2021-06-02 20:43:14 +02:00
Christoph Oelckers
454816299e
- reorganized loading of textures.
...
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.
All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Christoph Oelckers
8b507ed606
- enabled the ENDOOM-like text screens when quitting Duke and SW.
...
Turned out that all they needed was the font.
2021-05-31 23:16:52 +02:00
Christoph Oelckers
9c60ab791b
- implemented all needed font overrides for localization.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
af781e0422
- moved all font setup out of the C++ code.
...
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
42b70a7d93
- added internationalized fonts.
...
This still needs a bit of fixing and tweaking but most is working.
2021-05-31 21:20:30 +02:00
Christoph Oelckers
f97b4e830d
- pass fonts instead of indices to Blood's viewDrawText function.
...
As preparation for building a proper font system.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
8fae793341
- defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
...
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
e10bcf6294
- split the screen job code into a generic and a Raze specific part.
...
Preparations for porting this to GZDoom.
2021-05-22 01:35:50 +02:00
Christoph Oelckers
5ee4bc5cca
- Blood: handle title screens so that mods changing the original one still display it.
...
The rules are:
* If CRC of tile 2518 has changed, use that.
* If CRC of tile 2046 has changed, use that.
* If tile 2518 is not present, use tile 2046
* otherwise use tile 2518.
This allows display of Cryptic Passage's title screen while still using the "with Plasma" version for the regular game.
2021-05-19 00:07:50 +02:00
Christoph Oelckers
60fe1d32fb
- Blood: unpositioned sounds must be limited to one per channel.
2021-05-16 11:51:51 +02:00
Christoph Oelckers
317238147b
- Blood: fixed scriptified MP statusbar code to the point where it compiles.
...
Mainly to avoid code rot by future changes, this probably cannot remain as it is if MP gets reimplemented.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
e5dd4a8638
- made the scripted version of Blood's status bar functional.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
778378fd5c
- scriptified version of Blood's status bar compiles.
...
Not tested yet.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
4ad20e4c00
- more preparations for scriptification of Blood's status bar.
...
* restructured some code that could not be converted as-is due to access to data that should be off-limits to scripts.
* exporting most of PLAYER's member fields.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
5859188d3a
- Blood: use names instead of indices to address textures in the status bar drawer.
...
This is a preparation for scriptification of the status bars. Blood's wasn't using any symbolic constants at all aside from the new HUD fonts.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
3e2cacfaf6
- silenced warnings in Blood.
2021-05-12 21:49:06 +02:00
Christoph Oelckers
d097c8e635
- removed the non-functional and long abandoned level music alias feature.
...
With RMAPINFO such a hack is no longer needed for anything.
2021-05-12 21:48:40 +02:00
Christoph Oelckers
03289f5097
- silenced some warnings.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
c6991add46
- Blood: fixed null pointer crash in actBurnSprite.
2021-05-11 00:02:26 +02:00
Christoph Oelckers
e40ed2262e
- cleanup of 'gotpic' handling.
2021-05-10 20:13:28 +02:00
Christoph Oelckers
e74aca291c
- position tweaking for Nam's skies.
...
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Christoph Oelckers
fc11f9327a
- refactored actDamageSprite
2021-05-10 20:13:28 +02:00
Christoph Oelckers
b8dcd09f77
- reformatting.
2021-05-10 20:13:28 +02:00
Christoph Oelckers
965939957e
- split up actKillSprite into several smaller functions.
...
The biggest problem in here was tracking the lifetime of local variables.
2021-05-10 20:13:28 +02:00
Christoph Oelckers
0efe15ae98
- deleted some unused utilities.
2021-05-08 18:06:57 +02:00
Christoph Oelckers
9a5a32c826
- Blood: split out the 'modern dude' part of actKillDude.
2021-05-08 14:43:09 +02:00
Christoph Oelckers
34b7bfc10b
- handled the actDrop* functions.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
d1cc7403b3
- actNapalmMove - another previously unnamed function.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-05-08 14:43:08 +02:00
Christoph Oelckers
23df336ebe
- complete cleanup of sub_2A620, now renamed to actRadiusDamage.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
6110ec5cfd
- redid ConcussSprite.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
c679f83f75
- make all games return to the main menu when the game is ended with F10.
...
Duke still went to the intro movies which was a bit problematic.
2021-05-04 11:32:09 +02:00
Christoph Oelckers
a303da37a9
- added a mapinfo dumper and used it to verify correctness of the data generated from game-native definitions.
...
Also simplified the levelnumber setup a bit.
2021-05-03 23:00:24 +02:00
Christoph Oelckers
0db8fc6163
- removed UNREFERENCED_PARAMETER macro.
...
Using C++ standard of not naming such parameters instead.
2021-05-03 19:10:53 +02:00
Christoph Oelckers
7d77b2315f
- merged the few remaining contents of mmulti.h into d_net.h
2021-05-03 19:01:00 +02:00
Christoph Oelckers
d206a767b2
- added render workaround for CP07.
2021-05-03 17:48:35 +02:00
Christoph Oelckers
56fcf904b5
- Backend update from GZDoom.
2021-05-03 14:48:55 +02:00
Christoph Oelckers
30b1b046e4
- added an intermediate data structure to decouple the rendering from the immediate map data.
...
This will be needed for sectors consisting of disjoint parts and for providing some help with addressing rendering anomalies
2021-05-03 00:04:36 +02:00
Christoph Oelckers
8003ab6fa3
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-02 22:37:46 +02:00
Christoph Oelckers
a1381c0ff2
- fixed Blood cutscene setup to avoid dependency on the sound code initialization.
...
It now only stores the sound name or ID but not the internal index which is only looked up when needed.
2021-05-02 18:10:59 +02:00
Christoph Oelckers
e9385ed4e8
- adapted Blood to the new level progression features and simplified several parts, particularly the clumsy retrieval of the next level.
...
Some cheats in Duke will not work correctly with this commit!
2021-05-02 09:08:57 +02:00
Christoph Oelckers
93bfc35ad6
- use the volumes to find the starting maps for the menu and the clusters for the cutscenes.
2021-05-02 01:01:30 +02:00
Christoph Oelckers
825963661b
- migrated volumes to the new storage.
2021-05-02 00:35:56 +02:00
Christoph Oelckers
f732d4ec64
- added MAPINFO parser, based on GZDoom's.
...
This isn't hooked up yet, but all necessary structures and fields have been added so that selected pieces can be tested.
2021-05-01 22:52:28 +02:00
Christoph Oelckers
e0ec0f24d0
- fixed Blood's HUD time display.
...
This somehow got lost.
2021-05-01 20:08:51 +02:00
Christoph Oelckers
aa148d602c
- scriptified SW's 2D screens.
...
Compiles but not tested yet.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
eaf5e1fba5
- Cutscene support in Blood.
...
Intro tested, rest to do.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
869dbd70e5
- fixed the design by merging the episode start handler into ShowIntermission.
...
Tying the start-of-episode cutscene to the cluster does not really work because it gets triggered by all maps of the cluster.
All currently existing intro cutscenes are tied to the map anyway.
Also correcting transition movie name for RRRA E2L1.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
0dc6980e5c
- made episode intro cutscenes a game independent feature.
...
So far only defined for Duke E4 but all the logic is outside the game code now and can be universally handled.
2021-04-30 20:08:33 +02:00
Christoph Oelckers
1166b00af2
- switched intro movie playing over to the new system
...
Not tested yet.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
e05f900315
- added the data structures to hold the cutscene data.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
4ff2010bd1
- moved the entire screen job management to the script side.
...
This isn't hooked up yet and lots of code is commented out, the games won't start with this commit.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
4a7430c8e4
- got rid of JobDesc.
2021-04-30 20:08:23 +02:00
Christoph Oelckers
71e5f9b70f
- changed screen job list to work without per-job completion callbacks.
...
They made things more complex than necessary and do not translate well to scripting.
2021-04-30 20:08:22 +02:00
Christoph Oelckers
fb5e2fe0c0
- use flags instead of bools.
2021-04-30 20:08:22 +02:00
Mitchell Richters
93edeac791
- Clean-up of input functions.
...
* Remove unused `getincanglef()`.
* Remove unused `getincangleq16()`.
* In `PlayerHorizon` struct, clamp value when setting target in `__settarget()`, not each public `settarget()` overload.
* Rename `PlayerAngle` method `applylook()` to `applyinput()`.
* Rename `PlayerHorizon` method `sethorizon()` to `applyinput()`.
* In `PlayerHorizon::applylook()`, slightly clean return to centre code so it doesn't do math if already at 0.
* In `PlayerAngle::applylook()`, slightly clean rotscrnang/look_ang code so it doesn't do math if already at 0 and reposition where mouse input is applied so that if input is applied, the player never enters a spin.
* In `Duke3d::player_struct::apply_seasick()`, use `buildfang()` method instead of scaling float to BAM within function.
2021-04-21 20:41:04 +10:00
Christoph Oelckers
aaad546729
- palookup.
2021-04-20 20:21:51 +02:00
Mitchell Richters
d34070b8ae
- gameinput.h: Remove precise bool from horizsumfrac()
, look_anghalf()
and looking_arc()
added in a4895cb270
.
...
* It looks terrible to have low precision math versions of look_anghalf and looking_arc since we always interpolate `look_ang` now, so lets just not.
2021-04-20 21:12:17 +10:00
Mitchell Richters
de06030ea0
- gameinput.cpp: Make sethorizon()
, applylook()
and calcviewpitch()
class functions of PlayerHorizon
and PlayerAngle
where appropriate.
2021-04-19 20:50:10 +10:00
Mitchell Richters
171d541112
Merge branch 'master' into newrenderer
2021-04-18 10:05:10 +10:00
Christoph Oelckers
eb912604d2
- RFS compatibility with GDX: The outermost path component can be left out.
2021-04-17 23:59:10 +02:00
Christoph Oelckers
82194bbf6b
Merge branch 'master' into newrenderer
...
# Conflicts:
# source/games/exhumed/src/2d.cpp
2021-04-17 13:22:30 +02:00
Christoph Oelckers
d2c9b5979d
- gave key 7 a proper spawn record using the blue outline as image.
...
A proper definition here is needed to allow dropping this item.
The original code had a picnum of -1 here which caused crashes.
2021-04-17 12:05:37 +02:00
Christoph Oelckers
0cdb7a53ce
- more char removal - mostly weapon.cpp
2021-04-17 10:34:12 +02:00
Christoph Oelckers
9828b0228e
- made type of shade variables consistent.
...
Some were char, some signed char and the initializers needed type casts.
This wasn't serious but created a lot of casting noise.
2021-04-17 10:22:00 +02:00
Christoph Oelckers
ada28d8d04
- Blood: replaced 'unsigned char' with 'uint8_t' and 'signed char' with 'int8_t'.
...
Preparation for getting rid of all those excessively used plain chars which are a menace to code stability.
2021-04-17 10:14:03 +02:00
Christoph Oelckers
839547a9fc
- Blood: gave FXDATA meaningful member names
2021-04-17 10:12:40 +02:00
Christoph Oelckers
2a2c85c082
- migrated Duke's intro images and the first episode's ending animation.
2021-04-16 17:24:59 +02:00
Christoph Oelckers
6ed1d5e678
- DBlackScreen and DImageScreen migrated to event-based handling.
2021-04-16 17:24:58 +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
61a6321cd6
- Exhumed: Change map command to start the level directly without going through the scrolling map.
2021-04-15 18:55:54 +02:00
Mitchell Richters
a4895cb270
- All Games: Allow for HUD interpolation to be disabled.
...
* Requested by users, really don't know why...
* Interpolation values are guarded by the CVAR.
* For Blood, integer truncation is employed just like original game.
* For all games where more precise sine/cosine math has been utilised, no changes have been made.
2021-04-15 13:35:53 +10:00
Christoph Oelckers
f83e678ea0
- use the smooth ratio from the game logic in the renderer instead of calling I_GetTimeFrac again.
...
Unlike the higher level code this does not check for game over conditions.
2021-04-14 21:17:32 +02:00
Christoph Oelckers
798cf2f973
Merge branch 'newrenderer2' of https://github.com/coelckers/Raze-private into newrenderer2
2021-04-12 20:25:56 +02:00
Christoph Oelckers
9598b626c9
Merge branch 'master' into newrenderer2
2021-04-12 20:03:50 +02:00
Christoph Oelckers
efe76a6647
- Blood: fixed crash with badly defined drop objects.
...
Got -1 for picnum there, this was causing crashes.
2021-04-12 16:32:42 +02:00
Christoph Oelckers
10d0de8dbf
Merge branch 'master' into newrenderer2
2021-04-12 15:06:12 +02:00
Christoph Oelckers
f87e40131f
- Blood: add a dummy sound entry at index 0.
...
Parts of the sound system treat entry 0 as "no sound" so nothing placed there would play.
This made the one custom sound in "The Way of Ira" not play because as the last sound being defined it ended up in the first, invalid slot.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
d25838fe15
- Blood: fixed issue with INI detection when having content added by RFS files.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
9b977ba96e
- fixed mixup of values 0 and -1 in sound code.
...
0 means 'default', -1 means 'silent'. This caused playback issues for useSoundGen. All other places were passing proper volume values along, this is the only one to read the volume from map data.
2021-04-11 22:42:24 +02:00
Christoph Oelckers
6142f9d795
- added CHANF_FORCE flag for forcing non-looped sounds to start, even when sound is paused.
...
Blood needs this for its PlayerSound controller, which is run right on map load - so without this it wouldn't start the sound when a map is initiated from the console.
2021-04-11 21:14:09 +02:00
Christoph Oelckers
fd6a71cac5
- fixed a random crash with an empty sprite I just experienced.
2021-04-11 21:14:09 +02:00
Christoph Oelckers
aebcc13c4a
- migrated voxel parsing stuff.
2021-04-11 18:37:11 +02:00
Christoph Oelckers
42d02834b1
Merge branch 'master' into newrenderer2
...
# Conflicts:
# source/build/include/build.h
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
# source/core/gamecontrol.cpp
# source/core/gamestruct.h
# source/games/blood/src/animatesprite.cpp
# source/games/blood/src/misc.h
# source/games/blood/src/view.cpp
# source/games/duke/src/render.cpp
# source/games/sw/src/draw.cpp
# source/games/sw/src/game.h
# source/games/sw/src/jsector.cpp
# source/glbackend/glbackend.cpp
2021-04-11 14:38:56 +02:00
Christoph Oelckers
32250f704f
- mograted Blood's precaching to the backend's implementation.
2021-04-11 12:42:59 +02:00
Christoph Oelckers
6342926871
- disabled the QAV preload calls in Blood.
...
Aside from not having been functional, this is ultimately more harmful than useful as it forces loading of a large number of textures at the same time during gameplay instead of spreading them out.
2021-04-11 12:10:52 +02:00
Christoph Oelckers
9fd3ab6b5e
- fixed texture precaching.
...
After the migration to GZDoom's full backend this never created any textureds when precaching things.
2021-04-11 09:59:55 +02:00
Mitchell Richters
e76f63e2c0
- Consolidate all game interpolation code into inline functions.
2021-04-11 16:45:35 +10:00
Christoph Oelckers
b3bcedda6c
- moved backend independent HUD code out of glbackend.cpp.
2021-04-11 08:40:18 +02:00
Mitchell Richters
f254eeb465
- binaryangle.h: Remove lookangle
class and replace use with binangle
.
...
* Added in fca846272e
to deal with signed adjustments but its just not needed.
* Made better use of `binangle`/`fixedhoriz` class getters and setters than before as well.
2021-04-11 15:45:53 +10:00
Christoph Oelckers
02dedaad46
- Blood: undid restriction for original QAV for Guns Akimbo shotgun fix.
2021-04-09 22:48:39 +02:00
Christoph Oelckers
19a4c12e6a
- Blood: undid restriction for original QAV for Guns Akimbo shotgun fix.
2021-04-09 22:11:16 +02:00
Christoph Oelckers
333581a084
Merge branch 'master' into newrenderer2
...
# Conflicts:
# source/build/src/defs.cpp
2021-04-09 19:57:56 +02:00
Christoph Oelckers
2820c50f3e
- Blood: let the RFS parser handle forward slashes when cutting out the base directory of a given file name.
2021-04-09 18:25:32 +02:00
Christoph Oelckers
0b79649dc2
Merge branch 'master' into newrenderer2
2021-04-06 16:14:21 +02:00
Christoph Oelckers
bfcedc2177
- autodetect .inis when loading Blood mods.
...
This works as long as the loaded mods have one single .ini file in them - in that case it is assumed that it is supposed to replace blood.ini, which will allow dragging & dropping such archives without further user intervention.
2021-04-06 00:57:31 +02:00
Christoph Oelckers
e30dc82676
- Cleanup of the voxel code.
...
* moving polymost_voxdraw into polymost.cpp.
* consolidated all remaining voxel code in hw_voxels.cpp. All original Build voxel code is completely gone now, except for polymost_voxdraw, so this got moved out of the build/ folder.
* integrate Blood's voxel init code into the main function.
* some further cleanup was allowed as a result of this, so engineInit is gone now because these parts can now be done outside the games' app_init functions.
2021-04-05 18:05:43 +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
Christoph Oelckers
55ad51ee1f
Merge branch 'master' into newrenderer2
2021-04-04 13:23:51 +02:00
Christoph Oelckers
97a0cb2a10
- handle voxel rotation in the backend to enable it for all games.
...
This was previously only present in the Blood module and missed in Exhumed from upstream so the entire option was rather pointless.
Fixes #290
2021-04-04 10:33:29 +02:00
Christoph Oelckers
a298a3d3df
- disabled 'isRunning' in Blood entirely.
...
After discovering yet another misbehaving place in the game I think it can be safely concluded that this is better left off unconditionally.
The only remaining place where this still gets checked is in nnexts, but I wouldn't expect this to work either.
Fixes #292
2021-04-04 09:35:05 +02:00
Christoph Oelckers
ebac57fb4f
- fixed music in Blood's menu
...
This is only supposed to play for the fade-in of the background but needs to stop when the menu appears.
Fixes #291
2021-04-04 09:25:41 +02:00
Mitchell Richters
9c01bde44e
- gameinput.cpp: Block player input within sethorizon()
and applylook()
if target for each has been set by the ticker.
...
* Stops players having the ability to provide input and fight the system trying to set an input.
2021-04-02 22:47:19 +11:00
Christoph Oelckers
c8a75a8664
- give each DrawInfo its own list of tsprites.
...
Since these do not fully get processed sequentially the contents need to be preserved until needed.
This required getting rid of the global tsprite array. Polymost still uses a static vatiable, though, but this is only accessed in polymost-exclusive code.
2021-04-02 10:28:40 +02:00
Christoph Oelckers
80e5cd0dc5
- fixed some automap issues:
...
* Blood's automap was not drawn at all.
* SW's automap always showed all sectors
* SW's player sprite was not rendered.
* Non-automap: Forward gotsector to the game code because there's still a few places in Blood that need it.
2021-04-01 20:47:05 +02:00
Mitchell Richters
88695ef554
Merge branch 'master' into newrenderer2
2021-04-01 16:49:07 +11:00
Mitchell Richters
029f8807df
- Make 360. / 2048.
a constant expression and replace all uses throughout code.
2021-04-01 10:42:22 +11:00
Christoph Oelckers
92bb9c5319
- fixed display of player in mirrors.
2021-03-29 21:48:23 +02:00
Christoph Oelckers
fd0e9824b6
- call the game specific analyzesprites functions.
2021-03-26 15:06:14 +01:00
Christoph Oelckers
0b1e81023f
- added sprite collection loop to ProcessSector and did a bit of cleanup on the TSprite code.
2021-03-25 23:16:32 +01:00
Mitchell Richters
957f7e9487
- Accept binangle, fixedhoriz and lookangle classes in SetupViewpoint()
vs. Q16.16 variables.
...
* Allows for more precision than Q16.16.
* Used as opportunity for `rollang` to be set using the `asdeg()` method, not `asbuildf()`.
2021-03-25 19:06:01 +11:00
Christoph Oelckers
13bbf0a4f9
- sector portals in RRRA are working.
2021-03-24 23:55:10 +01:00
Christoph Oelckers
dbbdfaa4ba
- sector portals in Blood are working.
2021-03-24 23:11:06 +01:00
Christoph Oelckers
d8627a2b3f
- removed all remains of projection math weirdness from the automap code in the games plus a bit more cleanup of the engine code.
2021-03-24 20:28:58 +01:00
Christoph Oelckers
09a9e14feb
- set up engine portals for SW.
...
Also moving more code to _polymost.cpp which is only needed for ad-hoc lookup of portals with a client side implementation of a two-layer renderer.
2021-03-21 17:04:06 +01:00
Christoph Oelckers
a36377111c
- engine-side portal setup for Blood and RRRA.
2021-03-21 14:48:35 +01:00
Christoph Oelckers
b91441f849
- same render interface rework for Shadow Warrior.
2021-03-21 12:22:50 +01:00
Christoph Oelckers
6f7e7459ea
- did some cleanup on Duke's render code to prepare for the new way of handling portals.
...
Like for Blood, the Polymost-only code has been moved aside.
Closer examination of the preparations the engine is doing for rendering SE40/150-portals shows that all this was merely done to avoid glitches with a two-phase rendering setup - nothing of this will be needed for doing it properly.
They can just be treated as run-of-the-mill stacked sectors. when using hardware rendering capabilities for clipping.
2021-03-21 10:58:11 +01:00
Christoph Oelckers
9f36ef69e6
- fixed variable name clash caused by viewUpdateShake's global variables.
...
removed the redundant call in the Ticker, because all its results are discarded.
Use arguments instead of global variables to pass data around.
2021-03-21 08:58:38 +01:00
Christoph Oelckers
d42ce0ee7e
- WIP
2021-03-20 23:01:16 +01:00
Christoph Oelckers
4109a256ac
- Blood: cleanup of render code.
...
Renaming of disassembly variables and moving of disabled Crystal Ball renderer to a separate function.
2021-03-20 19:20:42 +01:00
Christoph Oelckers
91957e40f1
- moved some original Raze code out if the Build folder.
2021-03-20 17:08:55 +01:00
Christoph Oelckers
30f4e2b29d
- replaced the engine automap drawer with one leveraging the newly added sector geometry data.
...
This eliminates a lot of code depending on Build's projection math.
2021-03-20 16:20:48 +01:00
Christoph Oelckers
3df5c440f9
- added some helpers to make it easier to determine if a sector's geometry has been altered.
...
Walls had no sector reference so this was added for marking the sector as altered when a vertex gets dragged around.
2021-03-19 23:18:09 +01:00
Christoph Oelckers
a5b3a1dd3e
- removed some unused things from engine.cpp.
2021-03-19 15:12:54 +01:00
Christoph Oelckers
9ebd8fd4a5
- put all of Polymost in a namespace.
...
So that its static variables are properly separated from the rest.
2021-03-17 15:55:25 +01:00
Christoph Oelckers
e375c799ce
- CommonLoon102's weapon fixes from NBlood:
...
Fix bug when switching to another weapon from the spray while firing with primary fire won't switch to the new weapon. And telling Caleb not to put away his lighter if the spray is being switched to TNT.
Do not put away lighter after TNT is thrown if while throwing the weapon was switched already to spray.
Do not put away lighter if TNT was selected while throwing a spray can.
Fix next/prev weapon
2021-03-09 09:31:04 +01:00
Christoph Oelckers
ad8654ed06
- fixed maphack loader.
...
The duplicate 'currentSprite' variable prevented it from doing anything.
Also cleaned up the interface a bit to avoid using a global variable for parameter passing.
Fixes #279
2021-03-07 09:39:16 +01:00
Christoph Oelckers
57a6bfcdcd
- Blood: fixed typo in map loader that overwrote the floor y panning offset with its fractional part.
2021-03-03 13:26:58 +01:00
Christoph Oelckers
bbd5c0ac8b
- transitioned voxel rendering to use the backend's implementation.
2021-03-02 17:10:34 +01:00
Christoph Oelckers
4b59acd251
- Blood: Check the sound's internal loop flag when playing a sound.
...
Fixes #275
2021-03-02 11:59:20 +01:00
Christoph Oelckers
b9050b1a35
- Blood: properly clip the gauge for throwing dynamite force instead of stretching it.
2021-03-02 03:31:10 +01:00
Christoph Oelckers
a7dc86583f
- Blood: commented out cultist code that should not be entered due to the 'isrunning' bug.
2021-03-02 03:04:14 +01:00
Christoph Oelckers
34bda2c962
- address excessive view swaying in Blood.
...
It is totally unclear what happened here in the original code, but the info apparently never reached the place where it's being checked. BloodGDX just ignores it so we do now, too.
2021-03-01 19:28:47 +01:00
Christoph Oelckers
80404558f6
- RR: Fixed the drink and eat meters on the status bar.
...
Turned out that the status bar's DrawGraphic cannot handle it with its coordinate hackery, this needs a separate, cleaner interface function that does not mess around with the pivot which needs to be passed unaltered to the backend to properly rotate around it
2021-02-28 22:34:52 +01:00
Christoph Oelckers
d0cf9d65e7
- use 2D size in 2D code, not the engine's screen dimensions.
2021-02-27 12:33:47 +01:00
Mitchell Richters
cff97c9cf3
- calcChaseCamPos(): Restore original algorithms for new position via GameInterface struct.
...
* Averaging out the values was a net negative for all games. Each games' original value is tuned to the specific games.
2021-02-18 21:47:39 +11:00
Mitchell Richters
ba57429ac6
- Blood, Duke & SW: Create new backend chasecam function and replace game-specific versions with it.
...
* Based off SW's implementation.
2021-02-18 21:47:37 +11:00
Mitchell Richters
2abda0e27d
- All Games: Migrate each game's clock counter to backend solution.
2021-02-18 21:47:33 +11:00
Rachael Alexanderson
47f0370512
- add some 21:9 presets
2021-01-18 06:25:04 -05:00
Christoph Oelckers
fc11f537f7
- project cleanup
...
* moved all games into the 'games' folder.
* fixed project to include all sources and move them to the proper folders.
2021-01-10 20:31:32 +01:00