Commit graph

194 commits

Author SHA1 Message Date
Christoph Oelckers
dc0d201275 - Blood: added serialization for the tracking conditions array. 2021-08-27 18:23:04 +02:00
Christoph Oelckers
ddcb12a8b2 - MoveMissile + actExplodeSprite.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:15:08 +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
3aa9d6f8be - MoveThing.
# Conflicts:
#	source/games/blood/src/actor.cpp
2021-08-23 19:12:58 +02:00
Mitchell Richters
ddc7b3d730
Merge branch 'master' into master 2021-08-23 11:40:05 +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
carnivoroussociety
44e6ccb3d4 Eliminate misused DemoRecordStatus usages 2021-08-21 20:29:01 +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
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
99508e6f15 - Blood: Perform interpolation between frames for each tile coordinate when there is more than one frame and the picnum between frames match. 2021-07-29 17:39:22 +10:00
NoOneBlood
a40d036623 Fix max players range check for kModernPlayerControl
Add power up control for kModernPlayerControl
2021-07-27 08:05:31 +10:00
nukeykt
39547e2df5 Blood: fix OOB issue in aiPatrolSetMarker 2021-07-26 15:55:13 +10:00
Christoph Oelckers
b23db149e3 - use snprintf in condError.
While sprintf is generally problematic, it is particularly dangerous here where it is impossible to estimate the length of the messages.
2021-07-25 11:50:23 +02:00
Mitchell Richters
9fad44bab2 - Blood: Replace use of non-standard strupr() from 754554a493 with an FString object. 2021-07-25 19:44:07 +10:00
Mitchell Richters
3b82a08123 Revert "- Fix non-Windows and non-MSVC builds due to missing header for strupr()."
This reverts commit 2217dcb632.
2021-07-25 19:38:06 +10:00
Mitchell Richters
2217dcb632 - Fix non-Windows and non-MSVC builds due to missing header for strupr(). 2021-07-25 19:27:31 +10:00
Christoph Oelckers
7702b3bb92 - rewrote the sound handling in the patrolling code for Raze's sound backend. 2021-07-25 10:42:15 +02:00
Christoph Oelckers
b588abbca6 - deleted two unused functions that got back in again by accident. 2021-07-25 08:50:46 +02: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
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
c62e5db2bc - Blood: Fix angle issues with NHIS. 2021-07-18 17:35:11 +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
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
3e2cacfaf6 - silenced warnings in Blood. 2021-05-12 21:49:06 +02:00
Christoph Oelckers
fc11f9327a - refactored actDamageSprite 2021-05-10 20:13:28 +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
8003ab6fa3 Merge branch 'scriptable_cutscenes' into newrenderer 2021-05-02 22:37:46 +02:00
Christoph Oelckers
e9385ed4e8 - adapted Blood to the new level progression features and simplified several parts, particularly the clumsy retrieval of the next level.
Some cheats in Duke will not work correctly with this commit!
2021-05-02 09:08:57 +02:00
Christoph Oelckers
42d02834b1 Merge branch 'master' into newrenderer2
# Conflicts:
#	source/build/include/build.h
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
#	source/core/gamecontrol.cpp
#	source/core/gamestruct.h
#	source/games/blood/src/animatesprite.cpp
#	source/games/blood/src/misc.h
#	source/games/blood/src/view.cpp
#	source/games/duke/src/render.cpp
#	source/games/sw/src/draw.cpp
#	source/games/sw/src/game.h
#	source/games/sw/src/jsector.cpp
#	source/glbackend/glbackend.cpp
2021-04-11 14:38:56 +02:00
Christoph Oelckers
6342926871 - disabled the QAV preload calls in Blood.
Aside from not having been functional, this is ultimately more harmful than useful as it forces loading of a large number of textures at the same time during gameplay instead of spreading them out.
2021-04-11 12:10:52 +02:00
Christoph Oelckers
d42ce0ee7e - WIP 2021-03-20 23:01:16 +01: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
Renamed from source/blood/src/nnexts.cpp (Browse further)