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
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
3ea4c94266
- removed a few static array references.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
dc5d32f510
- two missed iterators.
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
c42e26351e
- genDudeSpawn, genDudeTransform and updateTargetOfLeech.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
e415d93283
- doexplosion
2021-10-12 19:23:25 +02:00
Christoph Oelckers
eb478ba580
- getNextIncarnation
...
Event queue handling not refactored yet.
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
d907627156
- spriteIsUnderwater
2021-10-12 19:23:23 +02:00
Christoph Oelckers
75258c8b29
- playGenDudeSound.
2021-10-12 19:23:23 +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
062b3dbf76
- route all access to genDudeExtra through the method in DBloodActor
2021-10-12 19:23:21 +02:00
Christoph Oelckers
351dabdb90
- actFireMissile.
2021-10-10 22:36:12 +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
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
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
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
44b0e59127
- aiProcessDudes and aiInitSprite done, completing the main pass over ai.cpp.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
fe92188b0c
- removed the dudeIsPlayingSeq variant taking a sprite parameter.
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
c8501f8ea6
- refactored aiSetTarget
2021-10-07 22:54:18 +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
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
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
a79d362b40
- dudeIsPlayingSeq + aiPlay3DSound.
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
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
c5d7455317
- actSpawnDude.
2021-09-16 00:01:16 +02: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
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
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
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
carnivoroussociety
44e6ccb3d4
Eliminate misused DemoRecordStatus usages
2021-08-21 20:29: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
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
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
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
nukeykt
adb9547ba9
Blood: fix impact sprite OOB issue
2021-07-26 19:19:41 +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
9432f9ec90
- Blood: Add nullptr check for actor2
in ProcessTouchObjects()
.
...
* Fixes crash during testing of NHIS.
2021-07-18 16:56:49 +10: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
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
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
03289f5097
- silenced some warnings.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
e40ed2262e
- cleanup of 'gotpic' handling.
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
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
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
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
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
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
fd6a71cac5
- fixed a random crash with an empty sprite I just experienced.
2021-04-11 21:14:09 +02:00
Mitchell Richters
2abda0e27d
- All Games: Migrate each game's clock counter to backend solution.
2021-02-18 21:47:33 +11: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