Commit graph

446 commits

Author SHA1 Message Date
Christoph Oelckers
3aea6d1fad - refactored sound user data to be easier to serialize. 2020-02-23 18:30:48 +01:00
Christoph Oelckers
935a880b63 - Blood's ambient sound table does not need to be written to the savegame because it can be statically reinitialized after loading. 2020-02-23 17:10:29 +01:00
Christoph Oelckers
9fab46b7d7 - initialize the secret hint system for each level. 2020-02-22 08:57:18 +01:00
Christoph Oelckers
56c959d025 - Blood: Stop music before starting a cutscene. 2020-02-19 18:34:17 +01:00
Christoph Oelckers
7dc26a3162 - stop all playing sound when starting a new game.
- give all bonus screen sounds in Duke the CHANF_UI flag.
2020-02-17 19:43:58 +01:00
CommonLoon102
1105d52677 Blood: rename Ummune to Immune 2020-02-17 18:41:15 +01:00
Christoph Oelckers
dcad616030 - unpause sound when starting the demo loop. 2020-02-17 18:40:32 +01:00
Christoph Oelckers
57a3f89105 - workaround for cl_autoaim not being set anymore.
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
Christoph Oelckers
19f9860c11 - fixed Blood's sfxKill3DSound function checking the wrong ID. 2020-02-16 16:52:02 +01:00
Christoph Oelckers
c583318f31 - guard NNLoadSaveConstruct with #ifdef NOONE_EXTENSIONS. 2020-02-16 14:54:24 +01:00
Christoph Oelckers
26d4114566 - Blood: Fix for buried zombies losing their targeting ability when being struck down while rising from the grave.
Normally they change their type when being fully risen - but when attacked before that happens, never reach that code. To keep them functional, the change must be performed before performing the first target check in thinkChase.
2020-02-15 21:47:02 +01:00
Christoph Oelckers
410f5a4545 - clean out stale sprite pointers in User when a sprite gets removed.
This was the main reason for those constant crashes, the game was accessing an invalid sprite, treating its data as valid.
Also added a few checks for valid targets in two places where it still crashed.
2020-02-14 21:44:59 +01:00
Christoph Oelckers
488f8b1526 - Text code for AI state saving 2020-02-14 00:00:35 +01:00
Christoph Oelckers
d63d9f80bb - fixed missing menu descriptor for Blood. 2020-02-12 23:41:26 +01:00
Christoph Oelckers
7909f29691 - allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers
82939f2037 - do not reinitialize all actors in Blood when loading a savegame.
The call to actInit has been replaced with only performing the one necessary thing that needs to be done here - setting the enemy default difficulty.
2020-02-12 18:44:04 +01:00
Christoph Oelckers
1f7877823b - applied intro cutscene aspect ratio fix from NBlood. 2020-02-12 17:59:22 +01:00
Christoph Oelckers
4c682813e7 - more unused data removed 2020-02-12 01:00:47 +01:00
Christoph Oelckers
9fdd1d9e17 - continued work on Blood save state
* save and restore the ambient sound state
* removed a few unused global variables
* removed unused code from choke.cpp
2020-02-12 00:43:13 +01:00
Christoph Oelckers
fd384a5f47 - added an indexer for Blood's AI states.
These seem to be the only pointer variables that need to be written out to a savegame, but to restore them they need to be turned into indices before saving.
2020-02-12 00:22:11 +01:00
Christoph Oelckers
29e51a677f First round of Blood Savegame fix.
- const-ify most tables in actor.cpp for documentation purposes.
- gVectorData cannot be made const because one single field in there gets modified by code. :?
- save the global data in nnexts.cpp.
2020-02-11 23:15:25 +01:00
Christoph Oelckers
286d53d3bf - added the missing handling for the basepal tinting. 2020-02-11 20:55:47 +01:00
CommonLoon102
8d7d8cc930 Blood: Clear keys on new level, fixes #308
# Conflicts:
#	source/blood/src/player.h
2020-02-11 18:17:22 +01:00
Christoph Oelckers
a32bc350f1 - allow all keys to open the menu in Blood's demo loop. 2020-02-10 20:35:21 +01:00
NoOneBlood
fa057282df - Fix kModernTargetChanger wrong dudeInfo 2020-02-09 16:16:02 +01:00
NoOneBlood
5d6ac932d3 Removed IsItemSprite, IsWeaponSprite, IsAmmoSprite function duplicates 2020-02-08 12:01:24 +01:00
Christoph Oelckers
681155de65 - fixed GOG path lookup.
I was unable to verify the Steam paths so they may or may not work.
2020-02-07 22:23:33 +01:00
NoOneBlood
e79a693313 Refactor of NOONE_EXTESNIONS:
All functions and definitions was moved to nnexts.h and nnexts.cpp files
to minimize ifdefs and generally make code more clear

# Conflicts:
#	GNUmakefile
#	platform/Windows/nblood.vcxproj
#	platform/Windows/nblood.vcxproj.filters
#	platform/Windows/props/build_common.props
#	source/blood/src/actor.cpp
#	source/blood/src/ai.h
#	source/blood/src/aiunicult.cpp
#	source/blood/src/blood.cpp
#	source/blood/src/db.cpp
#	source/blood/src/eventq.cpp
#	source/blood/src/gameutil.cpp
#	source/blood/src/gameutil.h
#	source/blood/src/loadsave.cpp
#	source/blood/src/player.cpp
#	source/blood/src/player.h
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp
2020-02-07 22:23:33 +01:00
nukeykt
438fa1b267 Blood: prevent player struct OOB issues
# Conflicts:
#	source/blood/src/view.cpp
2020-02-06 18:48:23 +01:00
nukeykt
389ac695de oops #2 2020-02-06 18:48:02 +01:00
nukeykt
8d99df7dec oops
# Conflicts:
#	source/blood/src/demo.cpp
2020-02-06 18:48:02 +01:00
nukeykt
9cc4d9f432 Blood: workaround dudeInfo OOB issue
# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/demo.cpp
#	source/blood/src/dude.cpp
#	source/blood/src/dude.h
2020-02-06 18:47:26 +01:00
alexey.lysiuk
1479e1feae - unified demo path handling for all platforms
The current game subdirectory is now created on all platforms
2020-02-06 12:04:51 +01:00
Christoph Oelckers
5d4514060b - disable palette emulation for Blood's cutscenes.
These use color 255 as a valid index which the palette emulation shader does not handle.
2020-02-04 20:40:10 +01:00
Christoph Oelckers
a90185bea9 - cleaned up the remaining dependencies on windows.h
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
CommonLoon102
0d8f901e2d Blood: proper use of the NOONE_EXTENSIONS preprocessor definition
# Conflicts:
#	Common.mak
#	platform/Windows/nblood.vcxproj
2020-02-03 19:14:06 +01:00
CommonLoon102
081bbe6532 fix cerberus spinning not just if NOONE_EXTENSIONS is enabled 2020-02-03 19:13:42 +01:00
Christoph Oelckers
8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
Christoph Oelckers
809b687969 - removed the Build color matching code
For the handful of lookups it got used for the needed data is too large and the lookup not precise enough. ZDoom's BestColor yields better results, does not need any tables and for the small amount of lookups being performed is more than adequate.
2020-01-28 10:31:59 +01:00
Rachael Alexanderson
212cfde186 - add levelwarp cheat to Redneck and Duke 2020-01-27 22:29:47 -05:00
Christoph Oelckers
9ca1e56713 - added extended sound lookup as well plus menu options. 2020-01-27 22:29:45 +01:00
alexey.lysiuk
5510df77be - streamlined CMake configuration of game libraries
https://forum.zdoom.org/viewtopic.php?t=67121
2020-01-27 18:11:35 +01:00
Christoph Oelckers
6f3bbcba46 - fixed the demo setup for Blood.
This failed to read the demos in the game directory.
For those who find demos annoying there's now a demo_playloop CVAR.
Currently this is only active in Blood because the other games have demos disabled because they are non-functional.
2020-01-26 22:22:41 +01:00
Christoph Oelckers
d73f0c7b8f - fixed the merge 2020-01-26 21:01:22 +01:00
Christoph Oelckers
1ba5eaa281 - reactivate the #ifdef'd stuff in the project 2020-01-26 20:28:34 +01:00
NoOneBlood
0693b0efc8 - Added ifdefs for NOONE_EXTENSIONS that provides modern features for mappers
and changes that was required to minimize their amount in code.

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/ai.h
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/db.cpp
#	source/blood/src/db.h
#	source/blood/src/dude.h
#	source/blood/src/gameutil.cpp
#	source/blood/src/loadsave.cpp
#	source/blood/src/player.h
#	source/blood/src/sfx.cpp
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp
#	source/blood/src/weapon.cpp
2020-01-26 20:27:21 +01:00
Christoph Oelckers
4c6265e246 - fixed movie palette in Blood. 2020-01-26 12:10:23 +01:00
Christoph Oelckers
3be4364d6e - fixed file checks for Blood cutscenes.
The stripped drive-less name wasn't passed to the calling code.
2020-01-26 11:42:02 +01:00
Christoph Oelckers
245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
Christoph Oelckers
51d5236216 - made Blood's 'map' CCMD more useful by properly handling internal maps the same as 'levelwarp'. 2020-01-25 20:21:49 +01:00