Commit Graph

516 Commits

Author SHA1 Message Date
nukeykt 371b613ebe Blood: reduce handleevents calls 2020-03-31 08:56:36 +02:00
CommonLoon102 26344d1193 Blood: fix ILLUSION.MAP crash 2020-03-30 09:55:15 +02:00
Christoph Oelckers 5af0217db7 - got rid of the software rendering blend tables. 2020-03-29 17:23:57 +02:00
Christoph Oelckers 7392b699e4 - cleaning out a few more parts of the software renderer. 2020-03-29 15:54:02 +02:00
Christoph Oelckers 3f69044770 - removed all references to sdlayer.cpp as all that was left in there was only needed for software rendering.
- removed now unused a-c.cpp.
2020-03-29 15:22:07 +02:00
Christoph Oelckers 0de4b134da - stripped out most of the software renderer.
Now that the camera textures can be handled through the hardware renderer this isn't needed anymore.
2020-03-29 14:55:09 +02:00
Christoph Oelckers 8f3cc0b5af - removed screen tilting code for software renderer.
Since this doesn't work anymore the code is no longer needed - and it stands in the way of doing camera textures purely in hardware.
2020-03-29 08:36:39 +02:00
Christoph Oelckers de2c07aa6a - revert all consolidation efforts between Duke and RR frontends.
Too many problems with different code.
2020-03-18 08:24:31 +01:00
Christoph Oelckers 73a4e0d1fe - made Blood's FullMap flag global and removed the hacks to show the full automap.
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers cb322a1a1b Merge branch 'master' of https://github.com/coelckers/Raze 2020-03-06 17:44:53 +01:00
Christoph Oelckers a5c2152530 - consolidated the dynamic tile handling for Duke and RR frontends 2020-03-06 17:12:38 +01:00
NoOneBlood aa5b7033de - Condition type update (WIP)
- IncDec type update (can iterate multiple data fields)
- Fix compile warning (?)
2020-03-05 22:11:22 +01:00
Christoph Oelckers 86278fc79c - fixed bad annotation. 2020-03-05 21:14:45 +01:00
Christoph Oelckers 4788dc42fb - cleanup of the screentext consolidation
Since SetIfGreater is only used by the text code, the redundant copies could be removed.
2020-03-05 01:17:31 +01:00
Christoph Oelckers 822079abe0 fixed some compiler warnings listed by XCode 2020-03-05 01:01:05 +01:00
Christoph Oelckers f59bfa1224 - consolidation of screentext code 2020-03-05 00:58:38 +01:00
NoOneBlood bdca9420f5 - Event redirection support for modern types
- New modern type "Condition" (WIP)
- Fix damage scale for custom dude
- Extend Impact and Vector flags so they can be used with dudes
- Impact condition can be triggered with missiles and explosions
- Updates for Teleport Target type (gModernMap)
- Updates for Effect Gen type
- Updates for Wind Gen type

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/aiunicult.h
2020-03-02 23:53:33 +01:00
Christoph Oelckers f1e2c0c226 - use the proper way to register an empty song on Blood maps without music. 2020-03-01 12:57:23 +01:00
nukeykt 7c96c550d9 Blood: disable TROR in map v7
# Conflicts:
#	source/blood/src/db.cpp
2020-02-27 19:55:42 +01:00
nukeykt d7f9a5acee Blood: store parallax sky info in savegame
# Conflicts:
#	source/blood/src/loadsave.cpp
2020-02-27 19:55:12 +01:00
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
Rachael Alexanderson 3d84384678 - Blood: add levelwarp 'e' 'm' cheat 2020-01-25 11:10:16 -05:00
Christoph Oelckers 8f41964f56 - fixed handling of statistics data.
Blood had the logic wrong and it wasn't saved in savegames.
2020-01-25 16:47:48 +01:00
Rachael Alexanderson 7765fa45cd - Blood: add 'activatecheat' ccmd to pass a raw string to the cheat checker 2020-01-25 10:36:18 -05:00
Christoph Oelckers c0b18d0356 - fixed weapon projection being broken after saving in Blood.
A classic case of having a function which performs too many different tasks.
2020-01-25 15:27:46 +01:00
Christoph Oelckers e8231f904f - I have no idea why a fov of exactly 90° does not work.
Changing this by one in either direction makes the problem go away.
2020-01-25 11:56:13 +01:00
Christoph Oelckers f8a807e3bb - cleaned out a tiny bit of the garbage that has accumulated in compat.h.
This file really needs to go away, we do not need this kind of "compatibility".
2020-01-25 10:56:30 +01:00
nukeykt 7c1f9d971a Blood: fix spin 180 functionality 2020-01-23 18:18:45 +01:00
Rachael Alexanderson 0f3b3300fb - not yet finished: this enables some console cheats in Blood and Shadow Warrior 2020-01-23 05:50:12 -05:00
Christoph Oelckers bbc145cbee - enabled the Blood RFS parser.
Seems to work but there's not that much material to use it on so the mileage may vary.
2020-01-22 21:09:45 +01:00
Christoph Oelckers 3ed7856f53 - fixed sound volume issues in Blood. 2020-01-22 16:34:58 +01:00
Christoph Oelckers 09106b3159 - fixed the HUD size slider for Blood. 2020-01-22 13:53:26 +01:00
Christoph Oelckers 493525a58e - consolidation of engine save code.
This had discrepancies between the game modules so now all use the same code to save the common engine state.
2020-01-21 21:51:05 +01:00
Jonathan Gray c7ffed4867 Blood: change fallthrough annotations to fix clang build
Remove some fallthrough annotations so clang does not fatally error:

source/blood/src/aiunicult.cpp:1983:13: error: fallthrough annotation does not
      directly precede switch label

source/blood/src/triggers.cpp:1045:33: error: fallthrough annotation does not
      directly precede switch label

# Conflicts:
#	source/blood/src/aiunicult.cpp
#	source/blood/src/triggers.cpp
2020-01-18 22:48:13 +01:00
Christoph Oelckers 2bc1708870 - removed the complete crosshair color hackery.
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers 8db6a4331b - added savepic generation for Blood. 2020-01-14 21:20:46 +01:00
Evan Ramos 3e3477c414 Fix errors in PR
# Conflicts:
#	source/blood/src/osdcmd.cpp
#	source/blood/src/view.cpp
#	source/build/src/mutex.cpp
2020-01-13 18:00:25 +01:00
NoOneBlood 2b36e53706 - Removed event.causedBy for demo playback compatibility
- Fixed kThingArmedRemote in triggers.cpp (OperateSprite())
- Fixed kTrapFlame in triggers.cpp (OperateSprite())

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/player.h
2020-01-13 17:58:27 +01:00
NoOneBlood 4123a9e14e - gModernMap guard instead of VanillaMode in dudeSpawn
- No sound for player when jumping fix
2020-01-13 17:57:13 +01:00
NoOneBlood 6f3ccdc651 - Combination switches fix (and basically all event commands)
- No sound of jumping when player's jump velocity is too low
2020-01-13 17:57:13 +01:00
Christoph Oelckers dc5b8d27f8 - infrastructure for savegame pics.
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers 95f917a408 - added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
CommonLoon102 95eb10d2a6 fix voxel positions when notmd is defined in maphack file
# Conflicts:
#	source/blood/src/view.cpp
2020-01-11 22:19:50 +01:00
Christoph Oelckers 55dab6d3d3 - hooked up the high color texture colorization code.
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
nukeykt af80e64ecf Calculate map MD4 used for maphacks
# Conflicts:
#	source/blood/src/db.cpp
2020-01-11 14:58:12 +01:00
Christoph Oelckers fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers 134122335b - first attempt to compile on a Mac
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
Christoph Oelckers 9f0bb97e63 - disabled printing the version on Blood's status bar. 2020-01-05 10:22:20 +01:00
Christoph Oelckers ed813562eb - fixed sound in Blood cutscenes. 2020-01-04 00:07:20 +01:00
Christoph Oelckers c82d6de6c3 - fixed a few typos and uninitialized variables. 2020-01-03 17:08:41 +01:00
Evan Ramos 148c8770e9 Blood: Constify some {u,t,}spritetype templates
This is important where tracked spritetype could be involved.
2020-01-03 08:07:27 +01:00