Commit Graph

723 Commits

Author SHA1 Message Date
Christoph Oelckers fe1133e5c2 - fixed EnumerateChannels. 2020-02-24 20:19:03 +01:00
Christoph Oelckers 3aea6d1fad - refactored sound user data to be easier to serialize. 2020-02-23 18:30:48 +01:00
Christoph Oelckers c8aa006f82 - fixed sound channel iterator to properly handle callbacks that delete sounds.cpp 2020-02-23 17:12:40 +01:00
Christoph Oelckers e28de10c00 - serialize sound IDs as index, not name.
The name is not unique. This really needs something better.
2020-02-23 17:11:54 +01:00
Christoph Oelckers 985e441d80 - transitioned all JSON-based savegame code to FSerializer and removed sjson.
Now everything is in place to transition the rest of the savegame code as well.
2020-02-23 14:03:03 +01:00
Christoph Oelckers a09e195954 - started transitioning the savegame writer to the newly added serializer.
Writing info.json done.
2020-02-23 09:41:12 +01:00
Christoph Oelckers 88b6661395 - hooked up GZDoom's JSON serializer.
It's time to build a better savegame format and also to replace SJSON with something easier to work with.
2020-02-22 18:41:24 +01:00
Christoph Oelckers 8a085c0af9 - fixed undefined behavior with unpositioned but attenuated sounds. 2020-02-22 17:23:23 +01:00
Christoph Oelckers 8e9491b5e4 - ported music start fix from GZDoom. 2020-02-22 16:12:40 +01:00
Christoph Oelckers 3c88e1c30a - proper detection for SW Redux. 2020-02-22 14:57:43 +01:00
Christoph Oelckers 9fab46b7d7 - initialize the secret hint system for each level. 2020-02-22 08:57:18 +01:00
Rachael Alexanderson 3a30e083ad - add Redneck Rampage to Steam search paths 2020-02-21 19:02:51 -05:00
Christoph Oelckers 455137e5e0 - re-enabled depth clamping.
This was never supposed to remain deactivated.
2020-02-21 21:36:42 +01:00
Christoph Oelckers 020692588c - fixed level names in statistics printout. 2020-02-21 21:36:42 +01:00
Christoph Oelckers c253cd899c - fixed statistics reader for savegames. 2020-02-18 21:23:28 +01:00
Christoph Oelckers ce9b71a31f - fixed hitbox for menu sliders. 2020-02-18 21:05:46 +01:00
Christoph Oelckers 4671161852 - fixed the secret hint system. 2020-02-17 23:07:29 +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
Christoph Oelckers dcad616030 - unpause sound when starting the demo loop. 2020-02-17 18:40:32 +01:00
Christoph Oelckers 41a81989d8 0.4.5 2020-02-16 21:38:49 +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 40cbaf969c - ignore GRPINFOs without a defined game.
These can cause unpredictable behavior, including crashes.
2020-02-16 20:18:07 +01:00
Christoph Oelckers 3cd2b92dd1 - pause all game sounds while the menu or console are open and marked SW's UI sounds as such. 2020-02-16 20:08:04 +01:00
Christoph Oelckers c643aadb4b - fixed hud scaling slider value ranges 2020-02-14 00:56:23 +01:00
Christoph Oelckers 71485fe9d0 - reverted special detection of Duke add-ons
The side effects here are worse than the benefit.
2020-02-14 00:21:09 +01:00
Christoph Oelckers 91b7770e84 - use a command line switch to set Duke compatibility
At this point the command line CCMD execution has not run yet, so setting the CVAR does not work as expected.
2020-02-13 16:09:27 +01:00
Christoph Oelckers d63d9f80bb - fixed missing menu descriptor for Blood. 2020-02-12 23:41:26 +01:00
Christoph Oelckers 1c24ae3fad - restrict cl_weaponswitch to 0 and 1 for Shadow Warrior. 2020-02-12 22:46:18 +01:00
Christoph Oelckers 9c9638a765 - save version bump.
# Conflicts:
#	source/common/version.h
2020-02-12 20:28:14 +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 9f9e59e3ba - fixed some warnings 2020-02-12 00:43:21 +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 2f0a31508e - added Y/N to end game message. 2020-02-11 21:33:20 +01:00
Christoph Oelckers 1aa72cfbbd - fixed: The quicksave requester did not open the menu properly
This resulted in input not reaching it.
2020-02-11 21:25:21 +01:00
Christoph Oelckers 39a9e3cd8b - removed double detection of DN3D addons. 2020-02-10 20:38:38 +01:00
alexey.lysiuk 744e4161f7 - removed message about vintage build 2020-02-10 15:10:45 +02:00
Christoph Oelckers 8374b9e1b4 - fixed: The menu code should not reset the global input state when trying to close a menu with none open. 2020-02-09 22:57:04 +01:00
Christoph Oelckers 6257994198 - fixed validation of hud_custom CVAR. 2020-02-09 18:42:14 +01:00
Christoph Oelckers b87ee10a0a - added missing string length check. 2020-02-09 18:37:24 +01:00
Christoph Oelckers 7f58e8b6ca 0.4.1 2020-02-09 16:14:36 +01:00
Christoph Oelckers 6231cec7c1 - sound backend update. 2020-02-09 13:26:51 +01:00
Christoph Oelckers 9310c25a7b - -addon 0 seems to be a valid parameter... 2020-02-09 09:48:55 +01:00
Christoph Oelckers 598ce8a2ef - increased amount of vertices to allow handling voxel packs.
This is merely a stopgap until the code can be properly refactored.
2020-02-09 08:32:40 +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
alexey.lysiuk c54f813ea9 - fixed shifting of the current item in save/load menus
Virtual <New save game> item wasn't taken into account
2020-02-07 08:06:09 +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
alexey.lysiuk 787211c9dc - unified saved games path handling for all platforms
The current game subdirectory is now created on all platforms
Added support for -savedir command line switch for all platforms
Removed save_dir CVAR in favor of cl_savedir which was available on Windows only
Made cl_savedir CVAR global instead of different value per each game
2020-02-06 12:04:51 +01:00
Christoph Oelckers f6d9b5602b - fixed hud_scale. 2020-02-05 19:06:36 +01:00
Christoph Oelckers 03a300988e - version bump and new bug forum URL 2020-02-04 21:11:17 +01:00
Christoph Oelckers 1d468190a6 - fixed: parent-less confirmation screens did not process any input. 2020-02-04 21:02:22 +01:00
Christoph Oelckers 1126d5e3d4 - fixed return value of Mus_play
This wasn't always returning false if playback failed.
2020-02-04 20:32:51 +01:00
Rachael Alexanderson 37443f2365 - fix compile on 32-bit 2020-02-04 18:51:15 +01:00
alexey.lysiuk 14ef8e873e - fixed compilation NO_OPENAL option enabled 2020-02-04 16:16:49 +02:00
Christoph Oelckers 5d8f008140 - added 0 length check to StripExtension. 2020-02-03 22:12:36 +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
Christoph Oelckers 95c906e21a - removed the ENet dependency from gamecontrol.cpp as well.
The global init/shutdown code has been moved to the enet.cpp stub so that now only the networking files which need access include enet.h
2020-02-03 21:14:35 +01:00
Christoph Oelckers 5b83e51ab5 - reverb testing code
- toned down the default reverb.
2020-02-02 20:29:43 +01:00
Christoph Oelckers 8412602621 - added more EDuke credits. 2020-02-02 20:29:43 +01:00
alexey.lysiuk 01050be226 - added save_dir CVAR to customize saved games path 2020-02-02 17:06:13 +02:00
alexey.lysiuk b70796db4c - fixed drawing of a single character
This fixes missing console prompt and cursor
2020-02-02 15:00:51 +02:00
Christoph Oelckers 1bb1f2ae98 - fixed the crash reporter on Windows. 2020-02-02 13:33:07 +01:00
Christoph Oelckers c9d7f21bf1 - fixed the config loader to read long line without messing up the data. 2020-02-02 11:49:36 +01:00
Christoph Oelckers 4d7a43004c - use the new SW interpolation function for all games. 2020-02-02 10:27:47 +01:00
Christoph Oelckers c34d9da783 - properly define the BasePalette wrapper. 2020-02-02 07:58:05 +01:00
Christoph Oelckers 0e1eeea037 - use the game palette directly for palette lookups.
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers 5d55f768e0 - added autodetection for Cryptic Passage and Route 66 add-ons in their originally (messed up) form.
Cryptic Passage will also be detected in a Fresh Supply installation now.
2020-02-01 21:12:09 +01:00
alexey.lysiuk 2dafa4555d - fixed accessing Steam games on Linux and macOS
Special $STEAM "environment variable" should not be expanded
2020-02-01 13:17:02 +01:00
Christoph Oelckers 4ea61f37fb - 0.3.3 2020-01-30 22:15:44 +01:00
Christoph Oelckers eac1007c56 - automap color fix. 2020-01-30 22:05:18 +01:00
Christoph Oelckers 08a5c5ff4d - added support for loading eduke.con for DN3D mods.
This is EDuke32's standard so it needs to be handled for mods using this name.
2020-01-30 20:53:39 +01:00
Christoph Oelckers cec7b006ca Merge branch 'master' of https://github.com/coelckers/Raze 2020-01-29 22:06:48 +01:00
Christoph Oelckers a0fa0560d4 - removed in_mousedeadzone CVAR. 2020-01-29 21:51:57 +01:00
Christoph Oelckers 68dc8d1812 - remove in_mousedeadzone, mirroring EDuke's removal of this. 2020-01-29 21:06:47 +01:00
alexey.lysiuk 9dd3213393 - fixed path traversal on POSIX platforms 2020-01-29 11:41:23 +02:00
Christoph Oelckers 9b88d41169 - fixed compile errors. 2020-01-28 21:44:39 +01:00
Christoph Oelckers 08ec38ce75 - fixed some missing menu texts. 2020-01-28 21:36:30 +01:00
Christoph Oelckers 1f5f7c63fe - rewrite of tileCopySection 2020-01-28 12:42:17 +01:00
Christoph Oelckers 8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
alexey.lysiuk d56fb25975 - fixed compilation of POSIX targets
source/common/music/music.cpp:118:52: error: call of overloaded ‘FString(FName&)’ is ambiguous
    source/common/utility/zstring.h:133:2: note: candidate: FString::FString(char)
    source/common/utility/zstring.h:131:2: note: candidate: FString::FString(const char*)
2020-01-28 11:00:25 +02:00
Christoph Oelckers 6f396ae368 0.3.2 2020-01-28 00:05:10 +01:00
Christoph Oelckers 9ca1e56713 - added extended sound lookup as well plus menu options. 2020-01-27 22:29:45 +01:00
Christoph Oelckers 67a0954c32 - fixed option menu positioning. 2020-01-27 22:29:00 +01:00
Christoph Oelckers ab5bc0e435 - more reworking of music lookup.
extended lookup now also supports looking for substitutions inside the file system.
2020-01-27 21:39:15 +01:00
Christoph Oelckers 5de7fbca37 - consolidation of music lookup code for user maps. 2020-01-27 20:53:41 +01:00
Rachael Alexanderson a2b7aa18d1 - fixed - menudef was not detecting properly the presence of OpenAL 2020-01-26 18:42:52 -05: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
alexey.lysiuk 2f4078d99e - fixed rendering on macOS
This restores support for OpenGL implementations without persistent mapped buffers, and helps with strict core profile GLSL compilers
2020-01-26 17:03:02 +01:00
Christoph Oelckers 245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
Christoph Oelckers 99c4b6b6d7 - don't let environmental palettes (like underwater) affect the HUD and menu. 2020-01-25 18:48:48 +01: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 a431d6e190 - fix compile on Clang 9 2020-01-23 13:36:30 -05:00
Christoph Oelckers bcc254e0ba - enabled '+' command line args to execute CCMDs on startup. 2020-01-23 19:14:10 +01:00
Christoph Oelckers aebea2eb92 - added special SW handling for music lookup plus optional debug output where music is picked from. 2020-01-23 19:01:51 +01:00
Christoph Oelckers 7a5efde1c9 - I think a version bump may be in order. 2020-01-23 18:20:53 +01: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 a7b020d1a8 - implemented proper screen size scaling for Exhumed. 2020-01-22 16:14:01 +01:00
Christoph Oelckers dcbb936a9b - fixed hud_scale for Shadow Warrior. 2020-01-22 15:21:07 +01:00
Christoph Oelckers 09106b3159 - fixed the HUD size slider for Blood. 2020-01-22 13:53:26 +01:00
Christoph Oelckers 9c423ae6a3 - take down the level outside the LoadGame function in ShadowWarrior.
With the new savegame system it was done too late which could cause crashes.
2020-01-21 23:36:54 +01:00
Christoph Oelckers 12d4f12da5 - removed the 'experimental' switch for Exhumed.
The game works better than Shadow Warrior so this seems pointless.
2020-01-21 22:08:05 +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
Christoph Oelckers acf7f29dbd - moved Exhumed's engine state save code into the common part.
This needs to be save for all games and the discrepancies have already caused problems so engine state saving needs to be unified.
2020-01-21 19:22:38 +01:00
Christoph Oelckers cacbd7d8b6 - reset YAX data before loading a game.
This could cause random lockups when loading a savegame for a game not maintaining the feature. The entire engine state really needs to be handled globally instead of repeating this core 5 times...
2020-01-21 19:14:53 +01:00
Rachael Alexanderson a637ec60c4 - finally - we have a compile on linux! 2020-01-20 05:46:18 -05:00
Rachael Alexanderson d9563dae73 Merge remote-tracking branch 'origin/master' into fix-linux-compile 2020-01-20 03:00:16 -05:00
Christoph Oelckers 352c099b5a - basics for hardware rendered camera textures. 2020-01-19 08:40:03 +01:00
Christoph Oelckers 454f796b69 - collect all 3D geometry in a list so that it can be rendered later.
With this out of the way the renderer can now be switched to the core profile.
2020-01-18 22:41:08 +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 1a916c0a76 - use the vertex buffer to render the post processed screen image. 2020-01-18 16:14:30 +01:00
Christoph Oelckers a4d8e68b9f - added an engine credits menu page. 2020-01-15 20:39:41 +01:00
Christoph Oelckers 4aacd6d958 - display the savepics.
- fixed level name list in Exhumed.
2020-01-14 22:37:23 +01:00
Christoph Oelckers 7b6bd34a58 - create the savepic framebuffer without multisampling.
It didn't work and doesn't need it so let's save that piece of video memory.
2020-01-14 19:50:47 +01:00
Magnus Norddahl e923ef5d3a Add missing M_FinishPNG call 2020-01-14 14:22:03 +01:00
Magnus Norddahl a8614c89dd Fix incorrect pitch size when creating savepic 2020-01-13 19:50:25 +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
Christoph Oelckers 661431df87 - moved bits of my own code to properly copyrighted files. 2020-01-12 14:54:43 +01:00
Christoph Oelckers b57d683938 - added default for nosubdir parameter. 2020-01-12 08:53:11 +01:00
Christoph Oelckers 238bbd26c1 - fixed: savegame insertion must not move the "New savegame" node at the top. 2020-01-11 23:05:37 +01:00
Christoph Oelckers 17eddda36c - added date and play time display to savegames. 2020-01-11 19:40:35 +01:00
Christoph Oelckers 5e34b437d9 Merge branch 'master' into fix-linux-compile 2020-01-11 17:37:29 +01:00
Christoph Oelckers 3b955b7c94 - added support for ZDoom-style GAMEINFO. 2020-01-11 17:05:25 +01:00
Rachael Alexanderson 0785c6b9e3 - this is a good stopping point for now, again... 2020-01-11 10:02:44 -05:00
Christoph Oelckers 4825d66e10 - make file system directory printout optional. 2020-01-10 21:54:18 +01:00
Christoph Oelckers 6305714493 - fixed some issues with RR's Route66 add-on.
The new movies weren't played because the names did not match.
Transition from the last level of Ep1 to the first one of Ep2 did not work.
Selection with command line switch wasn't reliable.
2020-01-10 21:36:46 +01:00
Christoph Oelckers 74fdb6dbcb - fixed menu for DN3D 1.3 2020-01-09 17:35:38 +01:00
Christoph Oelckers 30ebd18680 - fixed incorrect name for last RR map. 2020-01-08 18:58:36 +01:00
Christoph Oelckers f513692a08 - fixed last commit. 2020-01-08 17:36:00 +01:00
Christoph Oelckers cfed7afd02 - all source compile now on macOS 2020-01-08 01:00:57 +01:00
Christoph Oelckers e7ee858d0d - fixed incomplete reset of savegame state. 2020-01-07 18:53:16 +01:00
Christoph Oelckers b8ac5aea84 Merge branch 'master' of https://github.com/coelckers/Raze 2020-01-07 01:11:33 +01:00
Christoph Oelckers fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers 2a0104092d - fixed uninitialized variable in savegame name entering menu. 2020-01-06 21:11:59 +01:00
Christoph Oelckers e1e2b01c84 - fixed memory leak in savegame code. 2020-01-06 20:01:18 +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 83292c9dd6 - fixed a few issues and added some savegame debug code for Shadow Warrior. 2020-01-05 18:49:19 +01:00
Christoph Oelckers 9e7f91b5ac - fixed size of texture arrays.
We need 6 slots, not 5.
2020-01-05 12:56:32 +01:00
Christoph Oelckers b6862cfd70 - fixed text input menu and y-positioning of option menus. 2020-01-05 12:12:14 +01:00
Christoph Oelckers 746aa4da82 - added a ClearScreen function to the 2D drawer to wrap the frequent occurence of this use case. 2020-01-05 10:48:44 +01:00
Christoph Oelckers a3020ed867 - don't let joystick/controller axis events register as a keypress for screen advancing. 2020-01-05 10:36:52 +01:00
Christoph Oelckers e84acb7e2f - invalidate the render state after finishing a frame.
Last bound textures in particular may not be valid anymore in the next frame in movie playback.
2020-01-05 09:38:44 +01:00
Magnus Norddahl 0714155e3a Fix ssao no longer working 2020-01-04 09:54:47 +01:00
Christoph Oelckers 9de5814063 - fixed bad alpha setting for rotatesprite calls. 2020-01-03 22:05:00 +01:00
Christoph Oelckers 73950458d4 - fixed mouse selection for generated menus. 2020-01-03 21:28:01 +01:00
Christoph Oelckers 5cc165587e - added mouse control for image scroller menu. 2020-01-03 20:53:38 +01:00
Christoph Oelckers 4155d49e59 - fixed menu slider rendering. 2020-01-03 20:40:56 +01:00
Christoph Oelckers 39c55199f9 - added a few missing menu things. 2020-01-03 20:37:02 +01:00
Christoph Oelckers 064a453b41 - fixed: Key up events were processed as character input.
This broke the cheat input in Duke Nukem.
2020-01-03 19:28:54 +01:00
Magnus Norddahl 13a7b7d4b2 Hook up gl_ssao 2020-01-03 18:34:43 +01:00
Christoph Oelckers 07754b3255 - std::filesystem is gone. 2020-01-03 17:56:22 +01:00