Mitch Richters
8f679ecf61
- Exhumed: Repair math for chase camp gi
functions.
2021-10-30 10:24:14 +02:00
Christoph Oelckers
509124c1dd
- redid SW action interface to use a separate wrapper class from USER.
...
Turned out that not all sprites in the world have a USER, so we need something different to wrap the game's sprite data.
2021-10-29 20:55:31 +02:00
Christoph Oelckers
8bad95c7c6
- reinstated deleted saveable_code entries with dummy pointers.
...
This is to preserve savegame compatibility for now.
Later the code pointer saving needs a thorough cleanup.
2021-10-29 09:16:07 +02:00
Christoph Oelckers
e241e7dc52
- SW: changed Animator interface to use USERp parameters.
2021-10-28 23:37:07 +02:00
Christoph Oelckers
bb3a141c42
- fixed last commit.
2021-10-28 23:16:03 +02:00
Christoph Oelckers
7e191fb29b
- fixed damage amount in the runlist dispatcher.
2021-10-28 23:04:50 +02:00
Christoph Oelckers
91ecda2fcb
- cleaned up the run list interface.
...
Due to serialization concerns it still isn't optimal, though, because we cannot get rid of the index table yet.
2021-10-28 18:57:50 +02:00
Christoph Oelckers
791240786d
- use a wrapper function to check for the radial damage event.
2021-10-28 18:43:54 +02:00
Christoph Oelckers
7a65cc46d0
- moved AI wrappers out of the main sources.
...
This is mainly to reduce commit noise for what follows. These functions will soon be deleted.
2021-10-28 18:39:49 +02:00
Christoph Oelckers
3842936012
- feebtag.
2021-10-28 14:25:28 +02:00
Christoph Oelckers
07ad50d97c
- sound API
2021-10-28 14:23:31 +02:00
Christoph Oelckers
97b4116f28
- run list API
2021-10-28 14:23:15 +02:00
Christoph Oelckers
4197a7ed84
- BlockInfo
2021-10-28 14:08:53 +02:00
Christoph Oelckers
3a5ea07951
- some smaller changes.
2021-10-28 14:06:36 +02:00
Christoph Oelckers
ee03eb1b3d
- movement and elevators.
2021-10-28 13:54:36 +02:00
Christoph Oelckers
9cfd682c9e
- eliminated Player::nSprite.
2021-10-28 13:54:09 +02:00
Christoph Oelckers
076a995c6e
- besttarget and Player::nTarget.
2021-10-28 13:51:32 +02:00
Christoph Oelckers
8e13bb6e35
- RestartPlayer, plus wrapper removal.
2021-10-28 13:43:39 +02:00
Christoph Oelckers
2195bc0b76
- got rid of several inline wrappers.
2021-10-28 10:51:12 +02:00
Christoph Oelckers
2b8893762c
- movesprite family mostly done.
2021-10-28 10:46:16 +02:00
Christoph Oelckers
30541b09a4
- PlotCourseToSprite, FindPlayer and GetUpAngle.
2021-10-28 09:57:35 +02:00
Christoph Oelckers
49c1163a33
- eliminated AngleChase inline.
2021-10-28 09:54:10 +02:00
Christoph Oelckers
be19dbb2ce
- nDoppleSprite
2021-10-28 09:47:29 +02:00
Christoph Oelckers
eae1d589ec
- playerFloorSprite
2021-10-28 09:25:13 +02:00
Christoph Oelckers
1e10cef556
- PostProcess
2021-10-28 09:21:49 +02:00
Christoph Oelckers
9d642e18e7
- BuildDrip / ProcessTrailSprite
2021-10-28 08:51:50 +02:00
Christoph Oelckers
e6c7e5bc18
- radial stuff.
2021-10-28 08:32:08 +02:00
Christoph Oelckers
df9d1b1ceb
- the rest of object.cpp
2021-10-27 23:04:33 +02:00
Christoph Oelckers
b59cb67f05
- Object, part 1.
2021-10-27 23:03:59 +02:00
Christoph Oelckers
d3e55739c7
- energy blocks.
2021-10-27 23:02:56 +02:00
Christoph Oelckers
51202cba78
- nFinaleSpr.
2021-10-27 20:58:13 +02:00
Christoph Oelckers
b480bb3634
- BuildSpark
2021-10-27 20:56:43 +02:00
Christoph Oelckers
56d0f41a36
- BuildTrap
2021-10-27 20:56:43 +02:00
Christoph Oelckers
11912486de
- moved all loose player related arrays into the Player struct.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
c01c9122de
- slideData cleanup.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
73d415369d
- AddFlow API cleanup.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
6bf6ac5b34
- Flashes
2021-10-27 20:56:42 +02:00
Christoph Oelckers
a4306d9bab
- renamed some fields.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
ca6724a3f5
- make nNetStartSprite an actor array.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
1591d6fbdb
- Regenerates.
...
MP only so not really relevant - the code looked broken anyway.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
2f511b3cff
- UseItem + subfunctions.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
d04d92fd49
- destroyItemAnim, other replacements in AIPlayer::Tick
2021-10-27 20:56:41 +02:00
Christoph Oelckers
587cd09e8e
- BuildItemAnim
2021-10-27 20:56:41 +02:00
Christoph Oelckers
6a1423d92f
- sprite[] in gun.cpp.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
9ef4f0fa99
- Gravity function.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
5234481370
- fixed bad actor conversion.
2021-10-27 20:56:30 +02:00
Christoph Oelckers
14ccb74aac
- for radial damage the 'other' actor is always undefined.
2021-10-27 16:12:56 +02:00
Christoph Oelckers
f60d20b50a
- handle the grenade.
2021-10-27 15:46:18 +02:00
Christoph Oelckers
525ea72bfa
- use pointers for grenades.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
6b3aa44211
- first pass over grenade.cpp.
...
Mainly field renaming.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
c9d391634d
- some missing queen bits.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
2a28908b1a
- pass radial damage inflictor through event struct
2021-10-27 00:30:57 +02:00
Christoph Oelckers
a09f2d8a51
- migrated deletesprite calls in spawn function.
2021-10-27 00:25:00 +02:00
Christoph Oelckers
6d3f9ca0d6
- migrated a few functions to use actors.
2021-10-27 00:24:28 +02:00
Christoph Oelckers
345667f945
- handle the remaining old-style iterators.
2021-10-27 00:18:23 +02:00
Christoph Oelckers
2397bf48f2
- fixed uninitialized ObjectList.
...
This needs to clear each entry each time it is allocated for use.
The object where this frequently caused problems is the drum being spawned by the Anubis drummers.
2021-10-26 23:52:21 +02:00
Christoph Oelckers
75b8a0579e
- elevator stuff.
2021-10-26 22:08:26 +02:00
Christoph Oelckers
c59ec14ba4
- fixed wasp event dispatcher to pass along the damage amount.
2021-10-26 21:55:59 +02:00
Christoph Oelckers
331ba71473
- BuildCreatureChunk wrapper.
2021-10-26 21:15:07 +02:00
Christoph Oelckers
70a7656619
- handle the queen itself.
2021-10-26 21:10:51 +02:00
Christoph Oelckers
52ab800548
- QueenAngleChase.
2021-10-26 20:52:25 +02:00
Christoph Oelckers
ae271b272a
- made QueenEgg use actor pointers.
2021-10-26 20:13:03 +02:00
Christoph Oelckers
47929972c0
- replaced sprite indices in QueenHead.
2021-10-26 19:55:20 +02:00
Christoph Oelckers
839292ac91
- renamed fields in the queen structs to match DExhumedActor.
2021-10-26 18:50:46 +02:00
Christoph Oelckers
3971c8ffd2
- fixed compilation
2021-10-26 08:13:23 +02:00
Christoph Oelckers
ae786bff98
- removed the last references to sprite[] in bullet.cpp.
2021-10-25 23:16:35 +02:00
Christoph Oelckers
99e189fa2b
- IgniteSprite
2021-10-25 23:15:59 +02:00
Christoph Oelckers
c1598185f7
- parameter cleanup of BuildBullet.
2021-10-25 23:09:01 +02:00
Christoph Oelckers
eece69fbbd
- renamed variables in BuildBullet and removed unused parameters.
2021-10-25 23:07:58 +02:00
Christoph Oelckers
fa657e23a3
- bullet.cpp, enemy pointer.
2021-10-25 23:07:42 +02:00
Christoph Oelckers
3d35ceecb0
- bullet.cpp, first part.
2021-10-25 22:24:20 +02:00
Christoph Oelckers
bf1f87eff9
- converted Ra.
2021-10-25 21:19:32 +02:00
Christoph Oelckers
d023f9633a
- converted the snake
2021-10-25 21:09:33 +02:00
Christoph Oelckers
4980e0ea41
- refactor Set to use actors.
2021-10-25 19:02:44 +02:00
Christoph Oelckers
48a5448f94
- access SetList through a pointer.
2021-10-25 18:57:10 +02:00
Christoph Oelckers
0b37c9afec
- did the bubbles.
2021-10-25 17:52:31 +02:00
Christoph Oelckers
5cc1a8934e
- refactored Anim to use actors.
2021-10-24 21:50:03 +02:00
Christoph Oelckers
3b0df0e9b4
- renamed fields in Anim to match DExhumedActor.
2021-10-24 20:14:36 +02:00
Christoph Oelckers
e8e0294929
- access AnimList through a pointer.
2021-10-24 20:06:46 +02:00
Christoph Oelckers
43e849ca40
- BuildSplash and BuildExplosion.
2021-10-24 19:18:11 +02:00
Christoph Oelckers
a7b71c724e
- use the actor variant of BuildAnim wherever trivially doable.
2021-10-24 19:12:06 +02:00
Christoph Oelckers
5ff8852d12
- refactor the wasp to use actors.
2021-10-24 18:35:13 +02:00
Christoph Oelckers
a46a8c21a3
- access WaspList through a pointer.
2021-10-24 13:15:40 +02:00
Christoph Oelckers
2c8da6fe72
- refactor the spider to use actors.
2021-10-24 13:06:41 +02:00
Christoph Oelckers
6821fef5e1
- refactor scorpion to use actors.
2021-10-24 12:22:32 +02:00
Christoph Oelckers
6903404718
- access scorpion through a pointer.
2021-10-24 12:20:26 +02:00
Christoph Oelckers
937e71cfbb
- refactor Roach to use actors.
2021-10-24 12:11:33 +02:00
Christoph Oelckers
3a051b8acb
- access RoachList through a pointer.
2021-10-24 12:10:18 +02:00
Christoph Oelckers
f0f0ca020b
- refactor rex to use actors.
2021-10-24 10:59:45 +02:00
Christoph Oelckers
1cf616c7ba
- access RexList through a pointer.
2021-10-24 10:58:27 +02:00
Christoph Oelckers
821f3d356b
- renamed DDukeActor::GetIndex to GetSpriteIndex to bring it in line with the other games.
2021-10-24 09:22:35 +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
54fc724b25
- fixed bad initialization of local variable.
...
Probably went unnoticed because it is in an unlikely code path.
2021-10-24 08:24:02 +02:00
Christoph Oelckers
5d0ee1478c
- fixed bad pointer comparison.
...
MSVC did not catch this, only GCC 11 and Clang errored out on this one. :(
2021-10-24 08:21:54 +02:00
Christoph Oelckers
da817a234b
- fixed bad actor use in actCheckDudes.
2021-10-24 00:06:02 +02:00
Christoph Oelckers
e88627b72a
- refactor the rat to use actors.
2021-10-23 21:57:13 +02:00
Christoph Oelckers
9c8fda9a4d
- access RatList through a pointer.
2021-10-23 21:50:57 +02:00
Christoph Oelckers
cd97fdaa30
- refactor the mummy to use actors.
2021-10-23 20:49:03 +02:00
Christoph Oelckers
fab0fff1fe
- access LionList through a pointer.
2021-10-23 20:06:48 +02:00
Christoph Oelckers
cd2c796574
- refactor the lion to use actors.
2021-10-23 19:37:04 +02:00
Christoph Oelckers
3de4bc29c1
- access LionList through a pointer.
2021-10-23 19:31:53 +02:00
Christoph Oelckers
77525cecf0
- refactor the lava dude to use actors.
2021-10-23 18:51:52 +02:00
Christoph Oelckers
f12faa9279
- access LavaList through a pointer.
2021-10-23 18:41:05 +02:00
Christoph Oelckers
657e5ef6be
- refactor the fish to use actors.
2021-10-23 13:02:43 +02:00
Christoph Oelckers
f8cab790d4
- access FishList through a pointer.
...
To make the following commmit more readably.
2021-10-23 12:33:33 +02:00
Christoph Oelckers
5d7d4ce496
- fixed radial damage for actors.
2021-10-22 23:57:46 +02:00
Christoph Oelckers
0ac449ab95
- refactored Anubis.
...
This now stores its data in the actor, not a static array.
2021-10-22 22:09:02 +02:00
Christoph Oelckers
fa8edc7493
- quick replacement of some sprite[] accesses.
2021-10-22 22:05:02 +02:00
Christoph Oelckers
944b7b8776
- DeleteActor implementation.
2021-10-22 22:04:44 +02:00
Christoph Oelckers
491c27caa6
- fixed runlist handling for actor targets.
2021-10-22 22:04:04 +02:00
Christoph Oelckers
51ee9cf6c6
- fixed bad interpolation setup in AddFlow, plus some variable renaming.
2021-10-22 21:55:51 +02:00
Christoph Oelckers
4ee3505dde
- Exhumed: fixed return value of BuildTrap
2021-10-22 08:06:24 +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
Christoph Oelckers
4d94fa9b03
- Duke/RR: strip trailing spaces off strings parsed in CON.
2021-10-19 21:49:02 +02:00
Christoph Oelckers
6e919f2364
- Exhumed: fixed handling of torch messages for localization
2021-10-19 21:49:02 +02:00
Christoph Oelckers
2cece35902
Replaced sprite[] in some smaller functions
2021-10-19 21:49:02 +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
5a9978a27b
- extended the run list to handle actor targets.
...
Also renamed fields to be more descriptive.
2021-10-17 16:22:25 +02:00
Christoph Oelckers
1b8d3f9a89
- Exhumed: some inlines for upcoming actor refactoring.
2021-10-17 15:21:29 +02:00
Christoph Oelckers
33261db902
- some quick sprite[] replacements.
2021-10-16 15:36:34 +02:00
Christoph Oelckers
3419d6a901
- fixed compilation.
2021-10-16 15:36:34 +02:00
Christoph Oelckers
1839634d79
- small stuff
2021-10-16 15:36:33 +02:00
Christoph Oelckers
b1d15811c5
- make nBodygunSprite an actor array.
2021-10-16 15:36:33 +02:00
Christoph Oelckers
fe9ddabd35
- made nChunkSprite an actor array
...
# Conflicts:
# source/games/exhumed/src/move.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
c2467dc47b
- made nBodySprite an actor array.
...
# Conflicts:
# source/games/exhumed/src/aistuff.h
# source/games/exhumed/src/player.cpp
# Conflicts:
# source/games/exhumed/src/aistuff.h
# source/games/exhumed/src/player.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
dbe4aa3515
- renamed disassembly variables in bubbles.cpp.
...
# Conflicts:
# source/games/exhumed/src/bubbles.cpp
# source/games/exhumed/src/exhumedactor.h
2021-10-16 15:36:33 +02:00
Christoph Oelckers
0d0326f8c1
- argument of BelowNear
2021-10-16 15:36:32 +02:00
Christoph Oelckers
9badd2e78b
- converted switches to classes.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
601d358b49
- converted FuncWasp to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
8d7f37066f
- converted FuncSpider to a class
2021-10-16 15:36:32 +02:00
Christoph Oelckers
5a424bdd06
- converted FuncSnake to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
61df236588
- converted FuncSet/FuncSoul to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
d77a5208f3
- converted FuncScorp to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
5418c4326f
- converted FuncRoach to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
25de6fe4c5
- converted FuncRex to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
89d98ddf34
- fixed the rat.
...
- converted FuncRat to a class.
2021-10-16 15:36:11 +02:00
Christoph Oelckers
39ca524185
- converted FuncRa to a class.
2021-10-15 22:57:53 +02:00
Christoph Oelckers
335ebe9272
- converted queen funcs to classes
2021-10-15 22:55:03 +02:00
Christoph Oelckers
93b0a35927
- converted FuncPlayer into a class
2021-10-15 22:19:07 +02:00
Christoph Oelckers
f13e1f2127
- converted all FuncObjects to classes.
2021-10-15 22:14:14 +02:00
Christoph Oelckers
3bda4d5b07
- converted FuncMummy into a class
2021-10-15 22:02:06 +02:00
Christoph Oelckers
008825fe32
- converted FuncCreatureChunk into a class.
2021-10-15 21:58:07 +02:00
Christoph Oelckers
b772200dd4
- converted FuncLion into a class
2021-10-15 21:29:24 +02:00
Christoph Oelckers
45e7b7c4d5
- converted FuncLavaDude(Limb) into classes
2021-10-15 21:25:53 +02:00
Christoph Oelckers
e73725a40e
- converted FuncGrenade into a class.
2021-10-15 21:20:28 +02:00
Christoph Oelckers
cdc7fba8a0
- converted AIFish(Limb) into classes
2021-10-15 21:17:25 +02:00
Christoph Oelckers
8f9e9de4b4
- converted FuncBullets into a class.
2021-10-15 21:11:01 +02:00
Christoph Oelckers
832b394561
- converted FuncBubble into a class.
2021-10-15 21:07:58 +02:00
Christoph Oelckers
0fc490bf40
- converted FuncAnubis into a class.
2021-10-15 21:07:33 +02:00
Christoph Oelckers
ce78b23fb6
- converted FuncAnim into a class
2021-10-15 21:06:53 +02:00
Christoph Oelckers
d130a43aa0
- preparations for cleaning up Exhumed's event dispatcher.
2021-10-15 18:51:22 +02:00
Christoph Oelckers
b725adc426
- Exhumed: split up the message word for event messages.
2021-10-15 18:49:35 +02:00
Christoph Oelckers
2ee7be0382
- Exhumed: split up the value parameter of the run list.
2021-10-15 18:37:39 +02:00
Christoph Oelckers
719081824a
- exhumedactor.h added.
2021-10-15 00:18:37 +02: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
a358cf8516
- SW: eliminated all SPRITE_TAG# macros.
2021-10-12 22:21:08 +02:00
Christoph Oelckers
b1ac1ad585
- more changesprite* renaming.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
2e37cc627c
- function renaming for clarity and easier lookup.
2021-10-12 21:36:42 +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
afce1aba88
- SW: eliminated the only use of the SPRITE_TAG1 macro.
2021-10-11 23:02:54 +02:00
Christoph Oelckers
351dabdb90
- actFireMissile.
2021-10-10 22:36:12 +02:00
Christoph Oelckers
7eac8b71d5
- removed unused constants
2021-10-10 11:47:19 +02:00
Christoph Oelckers
2af688dd62
- replaced RANDOM_RANGE macro with direct calls to RandomRange
2021-10-10 11:47:19 +02:00
Christoph Oelckers
cc912fbf93
- removed pointless BOUND_4PIX macro
2021-10-10 11:47:19 +02:00
Christoph Oelckers
3220a6d786
- some SW cleanup
2021-10-10 11:47:19 +02:00
Christoph Oelckers
bbe49eee7c
- reformatting commit
2021-10-10 11:47:18 +02:00
Christoph Oelckers
6f8a5ee2d2
- Exhumed: replaced a large amount of sprite array accesses with pointers.
...
No logic changes, this is mainly search & replace.
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
10b0bba53e
- fixed warnings in Exhumed.
2021-10-08 19:24:45 +02:00
Christoph Oelckers
948f194064
- fixed warnings in Duke.
2021-10-08 19:21:29 +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
61ba58c529
- Duke: Use DeferredGameStart()
instead of ChangeLevel()
in cheatLevel()
to instantly warp to the targeted map, matching DOS behaviour.
...
* Fixes #529 .
2021-10-05 08:50:05 +11: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
6be611fd94
- fixed merge.
2021-09-12 18:32:11 +02:00
Christoph Oelckers
d466ea155f
- Exhumed: Avoid masking bits into the sector index as well.
...
# Conflicts:
# source/games/exhumed/src/player.cpp
2021-09-12 18:28:47 +02:00
Christoph Oelckers
9991e6665c
- Exhumed: Avoid masking sound flags into the sprite index.
...
This put a hard 4096 sprites limit into the engine. It's also a blocker for refactoring.
2021-09-12 18:27:30 +02:00
Christoph Oelckers
d82b7ff51c
- Exhumed: renamed disassembly variable.
2021-09-12 18:27:30 +02:00
Christoph Oelckers
f7a475aa94
- Exhumed: fixed sound origin in DoRegenerates.
...
Should be the actual sprite, not the table index...
# Conflicts:
# source/games/exhumed/src/items.cpp
2021-09-12 18:27:17 +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
0e82d75325
- SW: fixed recursive saving of panel sprites
2021-09-12 18:17:50 +02:00
Christoph Oelckers
bad57f6a5f
- clear pspAsArray at the beginning of a save/load operation, not at the end.
...
If done at the end it may leave behind some stale data if saving or loading fails for some reason.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
e13426ec6e
- SW: avoid crashing when unwinding from a savegame loading error.
...
The linked list may be incomplete in this case.
Also kept the macro unmangling done to debug this code.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
3c3da13d3f
- fixed seqKill actor variant.
2021-09-12 18:17:27 +02:00
Christoph Oelckers
fefc9e91da
- rename weaponhit to DDukeActor.
...
Just make do with one name instead of aliasing it.
2021-08-30 08:12:39 +02:00
Christoph Oelckers
2b6bc414f5
- Duke: fixed a few places using a sprite index where a player index is needed.
2021-08-30 08:08:33 +02:00
Christoph Oelckers
0bd0923f44
- cleaned up some dirty code.
2021-08-30 08:07:40 +02:00
Christoph Oelckers
07eda3cb4a
- Duke: don't process input when not in a game.
2021-08-30 08:06:26 +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
Christoph Oelckers
90b7524706
- SW: fixed episode indexing resulting in bad display on the automap.
2021-08-24 09:57:36 +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
Christoph Oelckers
38c9d3f702
- Exhumed: fixed crash when ending the game.
2021-08-14 10:40:14 +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
5aa27bad3b
- flag SW's cutscenes as 'boss death only'.
2021-08-13 22:25:13 +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
32215ba570
- SW: Tidy some extra panel coordinate math that was missed in 4d4946fb6b
.
2021-07-29 17:53:57 +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
Christoph Oelckers
9a8ee00aec
- set currentLevel before calling engineLoadBoard.
...
This is needed if the compatibility patcher needs to alter mapinfo data.
2021-07-27 22:12:29 +02:00
NoOneBlood
a40d036623
Fix max players range check for kModernPlayerControl
...
Add power up control for kModernPlayerControl
2021-07-27 08:05:31 +10:00
Mitchell Richters
1fa0863a52
- Duke: Amend af9f2f3eb6
to not reset the skill if incoming skill is -1;
2021-07-26 19:41:17 +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
1fde9f2173
- workaround to allow playing SW's Last Warrior mod in one go.
...
This disables the boss's death in L4 ending the game and just advances to the next level.
This seems to be the intent with this mod as the second episode starting at L5 is not defined and the first episode's subtitle advertises the full game.
2021-07-26 00:58:00 +02:00
Christoph Oelckers
1a5a2aba2b
- Blood: fixed path validation for cutscene files.
2021-07-25 17:27:52 +02:00
Christoph Oelckers
dfb18ef9a9
- Duke/RR: Call Bowling lane reset code only when playing RR.
...
This may alter some tile references which will cause problems with hires replacements in Duke .
2021-07-25 12:43:03 +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
sirlemonhead
e4fb67bc25
Rides Again: Possible array index by -1 in Proj_DoHitscan(). Added check to prevent this.
2021-07-25 19:37:02 +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
d9a7465c08
- SW: Remove gi->FreeGameData()
from game as its inside code wasn't freeing game data but level data already freed in gi->FreeLevelData()
.
...
* This was causing `GameMain()` to try to call `TerminateLevel()` after tile data had been freed, causing a hard stop.
* Fixes #464 .
2021-07-20 20:11:29 +10:00
Mitchell Richters
af9f2f3eb6
- Duke: Ensure gi->NextLevel()
sets the skill level upon invocation.
2021-07-20 18:55:16 +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
4ac1376b9f
- Make naming of multiplayer episode exclusion stuff from d0e6a7ea29
more generic and exclude invalid episodes from "Duke It Out in DC", "Duke Nuclear Winter" and "Duke Caribbean".
2021-07-19 12:24:47 +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
bcff74f5e4
Revert "- Duke: Restore a little bit of original code to make comparisons between us and the source easier."
...
This reverts commit 7607190dad
.
* Not good in hindsight... We need the actual value from the backend to ensure we can match up against `WeaponSel_Next`/`WeaponSel_Prev`/`WeaponSel_Alt` as required.
2021-07-17 22:42:58 +10:00
Mitchell Richters
2a8e636066
- Exhumed: Extend 7b8dcde5d2
by showing the M60's clip/magazine amount available when cl_showmagamt 1
is set.
2021-07-17 14:57:43 +10:00
Mitchell Richters
6940384625
- Exhumed: Move pistol clip/magazine recalculation code that was added in 593bbe10ef
from FillWeapons()
to CheckClip()
.
2021-07-17 14:57:00 +10:00
Mitchell Richters
052429f350
- Exhumed: Change M60's clip/magazine capacity from 99 to 100 to better match the max ammo capacity of the weapon. This does not increase the player's available ammunition.
2021-07-17 14:56:05 +10:00
Mitchell Richters
f9b75b1aa9
- Exhumed: Make FillWeapons()
fill the ammo count to the maximum allowed by the game for all weapons (300).
2021-07-17 14:54:36 +10:00
Mitchell Richters
7607190dad
- Duke: Restore a little bit of original code to make comparisons between us and the source easier.
2021-07-17 12:12:36 +10:00
Mitchell Richters
ec20f66eda
- Duke/RR: Always ensure player's wantweaponfire
is reset to -1
after switching weapon.
...
* Fixes #333 .
2021-07-17 12:12:12 +10:00
Mitchell Richters
0bb0896985
- Duke: Fix BOSS2 (Cycloid Emperor) killing himself issue by removing some lines left behind from a2e3bb5725
.
...
* Fixes #455 .
2021-07-17 10:56:21 +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
d0e6a7ea29
- Allow CON-based games to have multiplayer episodes filtered from menu.
...
* Fixes #461 .
* Fixes #462 .
2021-07-16 20:55:29 +02:00
Mitchell Richters
593bbe10ef
- Exhumed: Ensure FillWeapons()
recalculates the pistol clip amount after filling.
...
* When cheating, this wasn't done which lead to the clip having 6 rounds when via modulo it should have only had 3.
2021-07-17 00:11:37 +10:00
Mitchell Richters
7b8dcde5d2
- Exhumed: Make use of cl_showmagamt
.
...
* Fixes #463 .
2021-07-16 23:52:56 +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
Mitchell Richters
5441272bec
- SW: Create inline function pspPresentRetractScale()
to scale the rate at which weapons present and retract based on the current tile's height vs. the original asset's height.
...
* Reported to me by @Phredreeke, who had it reported to him from someone else.
* The sword in the widescreen assets pack we load by default has a height of 216px vs 136px of the default tile.
* Because the game presents and retracts weapons at a set rate, the time it took to swap between the sword and other weapons took ~1.58x longer than the original assets.
* This speeds up the present/retract rate based on the loaded asset's height to ensure the weapon switches in the same elapsed time.
* This may be extended to other weapons if required but the sword is the only one I'm aware of that has more height.
* Confirmed no matter what motion the sword was performing, `psp->picndx` was always 2080 so we shouldn't need a hashtable or anything like this.
2021-07-11 19:22:59 +10:00
Christoph Oelckers
1b45c83d59
- SW: fixed countermeasure for empty lower skills
2021-07-11 08:24:10 +02:00
Mitchell Richters
32283037ed
- Use isWW2GI()
in more places.
2021-07-11 12:42:33 +10:00
Mitchell Richters
172b77b9e7
- SW: Ensure PANEL_SPRITEstruct
's ox
/oy
values are in the save data.
2021-07-11 12:05:53 +10:00
Mitchell Richters
9d64779da0
- SW: Replace all uses of NULL
with nullptr
.
2021-07-10 22:25:18 +10:00
Mitchell Richters
e3f2d76378
- SW: Declare and initialise variables in pWeaponBob()
vs declaring and initialising later on to reduce warnings about variables being uninitialised.
2021-07-10 22:16:51 +10:00
Mitchell Richters
5d7938c24e
- SW: Rename cl_smoothsway
to cl_swsmoothsway
and enable by default
2021-07-10 22:07:05 +10:00
Mitchell Richters
55cef642b6
- SW: Factor out bob coordinate backups.
2021-07-10 22:01:42 +10:00
Mitchell Richters
9575f8a3d3
- SW: Factor out panel interpolation backups;
2021-07-10 22:01:40 +10:00
Mitchell Richters
4d4946fb6b
- SW: Factor out repeated panel coordinate math into inline functions.
2021-07-10 22:01:37 +10:00
Mitchell Richters
27f1e487a2
- SW: Remove fixed-point math from panel x/y coordinate updating.
2021-07-10 22:01:35 +10:00
Christoph Oelckers
64fc0b66b2
- SW: added countermeasure to re-enable lower skills on mods not implementing them.
...
Aside from spawning the enemies from the lowest supported skill it will also reduce the threat level by reducing health of some enemies or by replacing the harder Ninja variants with the base type.
2021-07-06 10:26:43 +02:00
Mitchell Richters
0724b3326c
- SW: Promote PANEL_SPRITEstruct
's xorig
/yorig
values from int to double to match x
/ox
and y
/oy
respectively.
...
* Makes bobbing a touch smoother.
* Removes 47 explicit casts.
2021-06-27 22:40:33 +10:00
Christoph Oelckers
5e96e955f3
- add hitscan only autoaim for SW.
...
# Conflicts:
# source/games/sw/src/weapon.cpp
2021-06-26 12:22:10 +02:00
Christoph Oelckers
2af2d29084
- add hitscan only autoaim for SW.
2021-06-26 12:18:27 +02: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
b015bc0685
- Duke (RRRA): Fix alt weapon slot for CHICKEN_WEAPON
and CROSSBOW_WEAPON
.
...
* Fixes #440 .
2021-06-24 18:56:12 +10: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
20ca676539
- RR: fixed crash in function that handles acts of mass destruction (like blowing up gas stations.)
...
With bad setups 'spr' could be left uninitialized. This crashed E1L1 of 'The Hickston Swamp' mod.
2021-06-11 23:20:50 +02:00
Christoph Oelckers
d270d75d74
- re-added line of code that got lost during refactoring.
2021-06-10 00:14:04 +02:00
Christoph Oelckers
4b35a30de5
- RR: fixed the bowling lane lights.
...
Tiles had not been made writable.
Also renamed a few bowling related things.
2021-06-09 23:53:05 +02:00
Christoph Oelckers
5b38343407
- fixed sprite exclusion logic in getzrange.
...
This was using the wrong flag.
2021-06-09 00:31:54 +02:00
Christoph Oelckers
89344a6023
- Exhumed: precache all frames of tile animations.
2021-06-02 21:31:38 +02: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
dc846dcd49
- Duke: avoid clipping against self when executing script logic for floor sprites.
...
A good place to see the result is a kitchen knife in E4L2 that went missing due to the faulty check.
2021-06-01 21:21:39 +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