Commit graph

969 commits

Author SHA1 Message Date
Christoph Oelckers
4d1d90d712 - use a global constant for the transparent palette index instead of hardcoding it to the 255 literal everywhere.
- added the needed glue to allow palettecontainer.cpp to compile.
2020-04-12 08:30:43 +02:00
Christoph Oelckers
ac07af7028 - m_png.cpp is common. 2020-04-12 08:30:42 +02:00
Christoph Oelckers
2c5d081799 - added the special colormaps for the texture compositor. 2020-04-12 08:30:42 +02:00
Christoph Oelckers
f1040fa699 - match with GZDoom's console code, move to 'common'. 2020-04-12 08:30:42 +02:00
Christoph Oelckers
2883553ed2 - moved file lookup functions to utilities and matched to GZDoom's version. 2020-04-12 08:30:41 +02:00
Christoph Oelckers
8e87674d4c - backend code matching with GZDoom 2020-04-12 08:30:40 +02:00
Christoph Oelckers
5584c726ba - file system update and adjustment. 2020-04-12 08:30:40 +02:00
Christoph Oelckers
f671eb622f - migrated to GZDoom's utility code. 2020-04-12 08:30:39 +02:00
Christoph Oelckers
e2f5e8fe34 - renamed 'common' to 'core'.
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
Mitchell Richters
c23351a4b9 Menu System: Add confirmation to FOptionMenuItemSafeCommand()
- Resolves 'https://forum.zdoom.org/viewtopic.php?f=340&t=67721'.
2020-04-10 10:29:50 +02:00
Christoph Oelckers
6589d31678 0.6.0
- fixed compilation.
2020-04-08 00:51:46 +02:00
Christoph Oelckers
eaf27c2583 - fixed joystick CVAR use. 2020-04-08 00:38:42 +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
621a9338e5 - render camera textures with the hardware renderer.
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00
Mitchell Richters
1a2663f7ac Change detection arrays for Redneck games.
- Redneck Deer Huntin' also comes with Redneck Rampage Rides Again.
- Changes permit all games to be detected, including RRRA if you own Deer Huntin'.
2020-03-22 12:05:01 +01:00
Mitchell Richters
b1ebb897e8 Repair HUD scaling returning to 100% when relaunching Duke or RR games.
- Resolves https://forum.zdoom.org/viewtopic.php?f=340&t=67811
2020-03-22 10:37:43 +01:00
alexey.lysiuk
b923f9612b - fixed compilation with MSVC 16.5.0 when using std::sort() with TArray<>
error C2676: binary '[': 'TIterator<T>' does not define this operator or a conversion to a type acceptable to the predefined operator
2020-03-21 11:18:04 +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
80cc12001f - a bit of cleanup. 2020-03-08 13:54:00 +01:00
Christoph Oelckers
62fa254497 - 0.5.1 2020-03-08 08:05:19 +01:00
Christoph Oelckers
93eea97477 - allow selecting frontend for Duke3D in gameinfo.txt 2020-03-07 20:14:03 +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
alexey.lysiuk
53cda00747 - added detection of Redneck Deer Huntin' installed from Steam 2020-03-07 11:31:46 +02:00
Christoph Oelckers
2c203fbf80 - more consolidation between RR and Duke. 2020-03-06 19:29:13 +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
a00bb4cbea - started consolidation of EDuke/RedNukem code by moving the identical parts of actor.h to a shared namespace. 2020-03-05 01:01:05 +01:00
Christoph Oelckers
f59bfa1224 - consolidation of screentext code 2020-03-05 00:58:38 +01:00
Christoph Oelckers
edf513a789 - Clang complained again. :( 2020-03-01 16:43:34 +01:00
Christoph Oelckers
f89915ac8f - fixed game start check for Exhumed's ingame menu. 2020-03-01 16:40:19 +01:00
Christoph Oelckers
12af524dcc - fixed Exhumed's ingame menu.
The bad setup here didn't let the menu's exit action pass to the game code, it still needed ugly workarounds.
2020-03-01 16:32:41 +01:00
Christoph Oelckers
3596be48bf - Clang did not like this. 2020-03-01 11:33:46 +01:00
Christoph Oelckers
fde633041b - SW: fixed ownership of non-following sounds. 2020-03-01 10:59:53 +01:00
Christoph Oelckers
b06c84ad8c - fix case sensitive path composition. 2020-03-01 10:17:26 +01:00
Christoph Oelckers
d6b17c0406 - fixed bad vector comparison in SW's sound code. 2020-03-01 09:18:23 +01:00
Christoph Oelckers
70f684d137 - check both upper and lower case versions of file names on non-Windows platforms when looking for addons. 2020-03-01 07:40:13 +01:00
Christoph Oelckers
83d56f56d5 - fixed uninitialized 'isInitialized' variable in FGameConfigFile. 2020-03-01 07:28:40 +01:00
Christoph Oelckers
4bc0531bf7 - disabled help screen in Exhumed and save menus in Deer Huntin'. 2020-02-29 12:55:12 +01:00
Christoph Oelckers
69e018d0c4 - added serialization of playing sounds.
For ambient sounds that can be cleanly restarted a new 'transient' flag was added so that these do not get written out.
Tested on SW so far, other games yet to do.
2020-02-29 12:33:35 +01:00
Christoph Oelckers
cec4aad75a - saveversion bump. 2020-02-27 19:56:17 +01:00
Christoph Oelckers
dbf446ee6c - ported the menu changes of the last commit. 2020-02-27 19:26:30 +01:00
Christoph Oelckers
1eb00949e3 - manually added the RRDH menu stuff. 2020-02-26 20:31:49 +01:00
Christoph Oelckers
0551c16203 - added detection for Deer Huntin' GRP. 2020-02-26 20:31:48 +01:00
Christoph Oelckers
638f8b0102 0.5.0 2020-02-25 21:20:58 +01:00
Christoph Oelckers
c045096393 - fixed: When loading a savegame without music, stop any playing music. 2020-02-25 21:15:25 +01:00
Christoph Oelckers
1c2ea506f2 - fixed: Windows must call the wide version of _mkdir for Unicode support. 2020-02-25 18:49:24 +01:00
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
Christoph Oelckers
9f0b720b25 -second function freed of std::filesystem. 2020-01-03 17:34:52 +01:00
Christoph Oelckers
c82d6de6c3 - fixed a few typos and uninitialized variables. 2020-01-03 17:08:41 +01:00
Christoph Oelckers
78e7b2dd8c - getting rid of std::filesystem, part one.
Since it's not usable on macOS it needs to go.
2020-01-03 14:19:52 +01:00
Christoph Oelckers
6574c34543 - re-enabled MIDI selection, but only with the devices that are supposed to be seen. 2020-01-03 09:22:22 +01:00
Christoph Oelckers
6135e388ed - changed the remaining license headers from GZDoom's renderer's files, in agreement with all contributors to this code. 2020-01-03 08:03:29 +01:00
Magnus Norddahl
066f444dd0 Hook up vid_fps 2020-01-03 06:28:25 +01:00
Magnus Norddahl
2403d1b7e5 Update the license for the postprocessing source code 2020-01-03 05:42:37 +01:00
Christoph Oelckers
62fd8a49c1 - fixed CVAR assignment for number of sound channels. 2020-01-03 00:47:13 +01:00
Christoph Oelckers
72036721d5 - made DN3D shareware operable.
The GRP defines neither episodes nor skills, so they have to be provided internally.
This isn't 100% correct yet, but should do for now.
2020-01-03 00:44:39 +01:00
Christoph Oelckers
e63ca0f471 - removed redundant keyboard.h header 2020-01-02 19:56:57 +01:00
Christoph Oelckers
afb1d7b885 - changed a few licenses of my own code to something more permissive. 2020-01-02 19:38:47 +01:00
Christoph Oelckers
e43d2c10c0 - removed the OPL synth because parts of it are GPLv3 and even under the best circumstances not compatible with the license mix here. 2020-01-02 19:20:12 +01:00
Rachael Alexanderson
a6bf1c3026 - oops, didn't mean to change this line (I blindly copied the function over) 2020-01-02 00:15:19 -05:00
Rachael Alexanderson
21ba23f36d - pull most recent video scale changes from gzdoom 2020-01-01 23:42:09 -05:00
Rachael Alexanderson
6a17e3910b - relicense my reused GZDoom code as BSD 2020-01-01 08:59:40 -05:00
Christoph Oelckers
e01c161258 - removed some dead variables. 2020-01-01 13:11:44 +01:00
Christoph Oelckers
18099e9179 - removed the pure software render surface and deleted a few unused variables.
With all the 2D refactorings thhe softsurface won't work anymore.
This also revealed a bug with the fullscreen variable, a few places were still using the old one from the SDL backend.
2020-01-01 12:36:48 +01:00
Christoph Oelckers
d09b83d4a5 - moved the last remaining function out of baselayer.cpp and removed that file.
g_logFlushWindow was deleted entirely because with the current console this is not needed anymore.
2020-01-01 12:01:26 +01:00
Christoph Oelckers
d464017363 - cleaned up the input code a bit. 2020-01-01 11:35:47 +01:00
Christoph Oelckers
bcb48d8441 - added handling for changing the screen size (dragging the window borders / change scale factor) 2020-01-01 09:49:06 +01:00
Christoph Oelckers
98604e513e - set up the scene viewport for the postprocessor. 2019-12-31 20:11:31 +01:00
Christoph Oelckers
05e381ff6d - fixed screen clearing for the automap.
This should only affect the active window, not the entire screen.
2019-12-31 19:50:27 +01:00
Christoph Oelckers
1890df98f9 - process lines through the 2D drawer. 2019-12-31 19:02:55 +01:00
Christoph Oelckers
2f8d472d7d - cleaned up the map drawer by using a real triangulator.
Immediate benefit: almost 200 lines of bona-fide Kencode go to the dumpster.
2019-12-31 17:23:29 +01:00
Christoph Oelckers
77cd7bffc5 - fixed alpha calculations for textured automap. 2019-12-31 15:50:08 +01:00
Christoph Oelckers
964e303dd7 - draw the textures on the automap with the 2D drawer. 2019-12-31 15:05:08 +01:00
Rachael Alexanderson
143c8be84d - fixed: argument count passed to the OSD system was +1 than it expected 2019-12-31 08:07:22 -05:00
Christoph Oelckers
51eaa5cd1f - let mouse control in the menu default to Touchscreen-like, like it is in GZDoom. 2019-12-31 02:48:16 +01:00
Magnus Norddahl
8f1d1fa94b Fix mouse move precision loss when only moving the mouse a pixel or two. Also make the baseline mouse scaling more reasonable. 2019-12-31 01:46:54 +01:00
Magnus Norddahl
0396f79c15 Fix in_mouse 0 and in_joystick 0 not working 2019-12-31 01:00:30 +01:00
Christoph Oelckers
6b431cec2c - fixed: True color texture replacements were set up incorrectly.
They incorrectly set themselves up as their own glow and detail textures.
These layers also weren't disabled for the next texture.
2019-12-30 20:44:37 +01:00
Christoph Oelckers
ad24a1ce31 - place weapon sprites in a separate render list.
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
9ceb47fdb2 - cleaned up the rotatesprite code a bit. 2019-12-30 20:16:51 +01:00
Christoph Oelckers
596705a36e - apply RS_YFLIP to 2D sprites. 2019-12-30 20:16:51 +01:00
Christoph Oelckers
5830e72ab0 - fixed some rotatesprite issues:
* scissor was not applied
* texture coordinates were fetched from the wrong texture, courtesy of using global variables.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
6459f4e532 - refactored rotatesprite to really use the 2D drawer.
Mostly working, except clipping and weapon sprites.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
b34f3637ab - restored keybinds setup to the original procedure as defined by ZDoom.
Looks like some parts were missed when this was integrated piece by piece.
2019-12-30 12:43:21 +01:00
Christoph Oelckers
f1891c7750 - fixed compilation. 2019-12-29 22:47:40 +01:00
Christoph Oelckers
5a41b545e5 - reactivated saving of console aliases. 2019-12-29 17:43:40 +01:00
Christoph Oelckers
cc332486b4 - cleaned out the 2D drawing code.
With the new backend there will always be just one page, never more, so the RS_PERMS case will never be entered.
In addition, since the software renderer has already been nonfunctional due to lacking support from the 2D drawer, its 2D components have also been removed. Its main remaining purpose, drawing camera textures, remains unaffected by this.
2019-12-29 15:46:48 +01:00
Christoph Oelckers
d80159b76a - use glVertexAttrib consistently for the presentation drawcall.
- fixed vid_saturation default and adjusted ranges for gamma correction CVARs.
2019-12-29 14:35:24 +01:00
Magnus Norddahl
26dbf5fe10 Fix black screen 2019-12-29 05:10:36 +01:00
Magnus Norddahl
7c6dc7a7db Fix premature exit when only one .grp file is available 2019-12-29 04:49:28 +01:00
Christoph Oelckers
737bf15ad8 - added GZDoom's postprocessing/presentation code.
Compiles but only draws a black screen. Something must be missing but no idea yet what that might be.
2019-12-28 22:36:47 +01:00
Christoph Oelckers
f6dee38d28 - route all 2D drawing through the 2D drawer unconditionally.
This is needed so that the postprocessor receives a clean 3D view to process without messing up the 2D parts.
2019-12-28 19:10:23 +01:00
Christoph Oelckers
a021b96119 - added the needed parts of GZDoom's render backend to have the postprocessor working.
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers
1e16998cac - fixed memory leak in savegame menu. 2019-12-28 13:08:34 +01:00
Christoph Oelckers
2b95808d42 - fixed ambient sounds not restarting in DN3D and RR. 2019-12-28 12:59:19 +01:00
Christoph Oelckers
d6c129b825 - Hide Exhumed frontend behind a -experimental switch.
Since the NBlood and PCExhumed repos got merged, keeping separate branches may become a bit of a hassle, so now there is only one branch, but this game will not be shown to regular users until it gets more stable.
2019-12-27 23:22:39 +01:00
Christoph Oelckers
c41c585c7f Merge branch 'master' into powerslave 2019-12-27 20:06:44 +01:00
Christoph Oelckers
affa8240f4 - fixed: Exhumed's ChannelEnded method did not call the super class.
This caused all sorts of audio errors.
2019-12-27 20:05:58 +01:00
Christoph Oelckers
c3ba6d00e6 - fixed: forgettable channels must not be tested for sound limits because they no longer have a valid source. 2019-12-27 17:08:48 +01:00
Christoph Oelckers
8e5b9111bd Merge branch 'master' into powerslave
# Conflicts:
#	source/CMakeLists.txt
2019-12-27 15:34:09 +01:00
Christoph Oelckers
aefb3ec216 - removed obsolete gamemain.cpp 2019-12-27 13:11:48 +01:00
Christoph Oelckers
44ed9d63a7 Merge branch 'master' into powerslave 2019-12-27 10:54:50 +01:00
Christoph Oelckers
9415d0f78b - corrected savegame signatures. 2019-12-27 10:53:47 +01:00
Christoph Oelckers
ce1a78fd62 - work on the savegame writer.
It saves, reloading not implemented yet.
2019-12-27 10:52:40 +01:00
Christoph Oelckers
68a3a60d0b - Exhumed menu tweaks - draw a background and caption for the option menus the game originally did not have.
- fixed a crash in the 2D drawer when two consecutively allocated vertex buffers had the same address. Strangely this only occured with Exhumed but not the other games
- fixed Exhumed crashing with sound disabled.
2019-12-26 17:42:45 +01:00
Christoph Oelckers
6373b75d22 Merge branch 'master' into powerslave
# Conflicts:
#	source/common/gamecontrol.cpp
#	source/common/version.h
#	wadsrc/static/engine/grpinfo.txt
2019-12-26 14:46:14 +01:00
Christoph Oelckers
d473f9c590 - replaced all uses of Bfree with Xfree so they are subjected to debug instrumentation, uses FStrings in a few cases where it made sense.
- fixed: Sound channels weren't freed.
2019-12-26 14:43:44 +01:00
Christoph Oelckers
62e9112133 - renamed the internal resource directory to "engine" and routed most literal mentions of the engine name through version.h
All this comes from a time when I didn't use version.h so it's better to do it the same way as GZDoom to allow easy renaming of the engine.
2019-12-26 14:04:53 +01:00
Christoph Oelckers
7f62208bad - renamed demolition.grpinfo to grpinfo.txt. 2019-12-26 13:31:48 +01:00
Christoph Oelckers
d8dfe752b5 - fixed handling of music in Redneck Rampage and Shadow Warrior.
After merging the CD enabling CVAR they had the same default (off) as Blood which is wrong.
This also addresses other music related issues, like not properly cycling through the RR music.
2019-12-26 13:04:29 +01:00
Christoph Oelckers
c8edef4e0c - disabled the "User Maps" option pending implementation of a working selection menu for exposing this. 2019-12-26 10:55:43 +01:00
Christoph Oelckers
5dcfa1cb0c - do not use the internal SWCUSTOM.TXT from the Twin Dragon add-on.
There's a second variant without this definition, so this needs to be defined internally, and since it needs to be done internally it may receive proper localization labels.
2019-12-26 10:47:10 +01:00
Christoph Oelckers
1a8f11e01d Merge branch 'master' into powerslave
# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/common/menu/menu.cpp
#	source/sw/src/config.cpp
#	source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
e3084cd1b1 - ported Exhumed sound to OpenAL.
The regular sounds are not a big deal, but this game contains two special effects that were problematic to port. We'll have to wait and see if they work as intended - the original panning effect is not 3D compatible so I had to redo it.
2019-12-25 23:37:16 +01:00
Christoph Oelckers
e180d9afd3 Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
# Conflicts:
#	source/audiolib/include/fx_man.h
#	source/audiolib/include/multivoc.h
#	source/audiolib/src/_multivc.h
#	source/audiolib/src/fx_man.cpp
#	source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers
23bc599468 - fixed recursion issues caused by the plasma generator function performing a busy wait. 2019-12-25 18:57:08 +01:00
Christoph Oelckers
4050ce156f - fixed crash on NAM.
This game contains one sound that made the Voc loader crash.
2019-12-25 17:14:17 +01:00
Christoph Oelckers
b0cefdedce - plugged all memory leaks that were reported with Shadow Warrior when starting the first level. 2019-12-25 11:26:19 +01:00
Christoph Oelckers
745d78d8d7 - fixed voxels leaking memory. 2019-12-25 08:57:58 +01:00
Christoph Oelckers
5bd32cf769 - fixed: Voxel setup code wasn't called anymore. 2019-12-25 00:30:13 +01:00
Christoph Oelckers
49c49b2672 - read the global settings before presenting the game selection dialog
- deinit the menu in GameMain instead of using atexit.
- gi == null check must include the call to FreeGameData.
2019-12-24 20:06:55 +01:00
Christoph Oelckers
055b310d60 - rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers
43033e830a - Blood now also starts the first level without leaks.
I had to refactor the LoadSave data to allow automatic takedown, the linked list was not the most convenient thing - an array is better.
2019-12-24 19:47:34 +01:00
Christoph Oelckers
2820dc85a8 - plugged more memory leaks.
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers
1c46c6da9d - more leaks plugged, plus rerouting exception messages to the log window. 2019-12-24 16:30:33 +01:00
Christoph Oelckers
0d908960ed - started fixing memory leaks: Console and clip shapes done. 2019-12-24 16:09:43 +01:00
Christoph Oelckers
58d0585eaa - replaced EDuke's game selector with GZDoom's. 2019-12-24 15:28:00 +01:00
Christoph Oelckers
e8d7777f4a - mouse input works again after cleaning out the remaining cruft of the old input code. 2019-12-24 13:54:50 +01:00
Christoph Oelckers
1b9a2f5932 - disabled the message entering code.
This needs to be replaced with the game independent ZDoom version and hooked up properly, but it of low priority because it's a multiplayer only feature.
2019-12-24 13:21:36 +01:00
Christoph Oelckers
a870df840e - hooked up the input system and did a major cleanup.
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +01:00
Christoph Oelckers
141887263d - header cleanup 2019-12-23 21:19:42 +01:00
Christoph Oelckers
9ab8a8c737 - refactored the coordinate printout to a stat and removed printext256 and the associated font. 2019-12-23 20:55:12 +01:00
Christoph Oelckers
3b98635170 - removed all remaining references to SDL. The Windows version is now fully native. 2019-12-23 20:03:03 +01:00
Christoph Oelckers
62ecedf1f8 - got it to the point where it can render to the GL surface from the native backend. 2019-12-23 19:37:40 +01:00
Christoph Oelckers
a1f7f0cc30 - added the GL framebuffer class.
Everything compiles again but obviously no init code will run for now.
2019-12-23 15:40:17 +01:00
Christoph Oelckers
6e9631f2d8 - fixed all undefined symbols except OpenGLFrameBuffer. 2019-12-23 10:53:58 +01:00
Christoph Oelckers
10683e9123 - added GZDoom's Windows backend code.
Compiles but doesn't link yet.
2019-12-22 20:55:47 +01:00
Christoph Oelckers
3914eb5f85 - set up some basic reverb.
I'm not sure if this is working out as the original "reverb" was just too crappy and generic. It may be best to just disable it.
2019-12-22 17:43:39 +01:00
Christoph Oelckers
3cb68b2bf0 - replaced the semi-broken screenshot name generator.
Also took this file out of the 'build' folder, now that all code in here comes from elsewhere.
This also removes a few dead declarations.
2019-12-19 19:47:51 +01:00
Christoph Oelckers
aa8452a4b0 - backported IsSourcePlayingSomething fix from GZDoom. 2019-12-19 11:47:47 +01:00
Christoph Oelckers
c35ebeadff - fixed: Global sounds were started as 3D if anything but ATTN_NONE was used, regarding in them not playing. 2019-12-19 09:43:43 +01:00
Christoph Oelckers
92c8e4c110 - maintain ambient sounds in a separate structure. 2019-12-19 01:20:43 +01:00
Christoph Oelckers
3f9657b96a - removed all leftover dependencies on the old sound backend. 2019-12-18 22:24:50 +01:00
Christoph Oelckers
591ace496f - SW sound refactoring complete, not tested yet. 2019-12-18 22:13:19 +01:00
Christoph Oelckers
a087d566ee - more refactoring on SW's sound system:
* removed all cases of getting a sound handle and checking it later.
* In particular, refactor the cases where the handle is stored in a static local variable. These are fundamentally unsafe because nothing maintains these local variables.
* finished rewriting the PlaySound function. Let's hope this is what was intended, the entire coding here was not particularly good, mixing high and low level sound handling all on the same level.
* call the update routine each tic and not merely every 4th or 8th one, this kind of granularity was ok in 1997 but not with a modern sound engine.
2019-12-18 19:17:37 +01:00
Christoph Oelckers
75c76ccf66 - changed SW's PlaySound interface to take pointers to objects instead of pointers to coordinates.
With pointers to coordinates the sound engine cannot work, so this had to be changed globally.
2019-12-18 11:09:01 +01:00
Christoph Oelckers
a7075bc1b0 - SW sound WIP
* removed old sound loading code, which was the last bit to use cacheAllocateBlock which is also gone now.
* cleanup of player sound code. All game side tracking of the sound resources has been removed.

does not compile yet.
2019-12-17 23:25:07 +01:00
Christoph Oelckers
7916b16efc - fixed undefined behavior with iterating over null unique_ptrs.
I have no idea why this works most of the time - it should crash right away.
2019-12-17 20:08:59 +01:00
Christoph Oelckers
706157d623 - converted Blood's sound system to the OpenAL sound engine.
Now, this code was one big mess of strange design, let's hope it sounds better with a real 3D mixer now.
2019-12-17 19:37:05 +01:00
Christoph Oelckers
4d5755ca67 - update of the sound engine for unlimited channels per source.
Blood needs this.
2019-12-17 00:29:38 +01:00
Christoph Oelckers
fa7638c446 - removed the old sound system header from Duke and RR frontends and fixed every report this produced:
* reverb/echo is not yet implemented, so there's two stub functions for now.
* RTS needs to be done differently, because the sound engine cannot play raw buffers without any control data.
2019-12-16 19:18:03 +01:00
Christoph Oelckers
fbfb1972b8 - fixed a few places where the wrong sound ID was checked. 2019-12-16 17:41:44 +01:00
Christoph Oelckers
d24bd0fc14 - added refactored sound code to RR frontend.
- removed most code using the low level sound interface directly from Duke and RR frontends.
2019-12-16 16:18:47 +01:00
Christoph Oelckers
b38d8a6dc2 - fixed 16 bit VOC loader. 2019-12-16 13:18:27 +01:00
Christoph Oelckers
fd9a3a9f16 - fixed lump filtering. 2019-12-16 13:03:22 +01:00
Christoph Oelckers
9adb4dd98d - pass correct sound ID to frontend for position calculation and minor improvements on debug printer. 2019-12-16 12:32:42 +01:00
Christoph Oelckers
ea9a84752f - switched the volume slider to the OpenAL backend. 2019-12-16 09:32:58 +01:00
Christoph Oelckers
938db6d35d - sounds in the menu are working now.
Since the in-game sound is paused in the menu these sounds need the CHAN_UI flag to play.
2019-12-16 08:19:57 +01:00
Christoph Oelckers
22ef66209d - sound is finally playing, but the volume needs balancing and positioning doesn't seem to be 100% correct. 2019-12-15 20:16:36 +01:00
Christoph Oelckers
4f9eda189a - a few sounds play, but it's still very buggy. 2019-12-15 19:00:41 +01:00
Christoph Oelckers
38dc39b8cd - got it to start, cannot hear anything... 2019-12-15 17:16:11 +01:00
Christoph Oelckers
d7ddd620e4 - added some final missing pieces to the sound code. 2019-12-15 16:32:39 +01:00
Christoph Oelckers
a28cd17454 - refactoring of DN3D sound code complete but not tested yet. 2019-12-15 13:34:00 +01:00
Christoph Oelckers
dba1a348d5 Merge branch 'master' into sound 2019-12-15 07:57:48 +01:00
Christoph Oelckers
d23b4a7e33 - hooked up ZDoom' joystick code and removed the remaining parts of the old MACT input library. 2019-12-14 20:15:15 +01:00
Christoph Oelckers
957d997353 - made joystick configuration menu operational. 2019-12-14 19:21:49 +01:00
Christoph Oelckers
91f83d4c55 - input code cleanup and addition of ZDoom's joystick code, which is not fully connected yet. 2019-12-14 17:15:17 +01:00
Christoph Oelckers
28cbecea67 - fixed some menu issues.
The submenus still do not work. Something's off here.
2019-12-14 13:40:58 +01:00
Christoph Oelckers
cc81b95570 - main menu works in the common framework.
The rest is messed up, though. This menu is really on an entirely different level of crappiness, even for a 1995 game.
2019-12-14 12:39:18 +01:00
Christoph Oelckers
7e73073103 - Exhumed menu definition. 2019-12-13 21:44:51 +01:00
Christoph Oelckers
052ed5fff7 Merge branch 'master' into powerslave 2019-12-13 20:43:23 +01:00
Christoph Oelckers
b13ee90aa0 - first steps trying to get the game to work. 2019-12-13 00:19:34 +01:00
Christoph Oelckers
773c480940 - this sound system is too insane to be ported. 2019-12-12 21:42:58 +01:00
Christoph Oelckers
c5c2873223 - added GZDoom's sound engine.
This is not connected with the games yet.
2019-12-12 19:21:36 +01:00
Christoph Oelckers
86dc909559 - added detection logic for zipped versions of the Cryptic Passage add-on for Blood and the Route66 add-on for Redneck Rampage.
- added command line options to load the original file dump of both mods in the game directory.
- both also require loading additional non-standard-named .art files
2019-12-11 23:41:05 +01:00
Christoph Oelckers
7942bc9490 - completed work on Shadow Warrior main menu.
This one will definitely be a problem for localization because the font is extremely large.
2019-12-11 20:35:25 +01:00
Christoph Oelckers
ec96ae8992 - cleanup of -map setup. 2019-12-11 01:11:35 +01:00
Christoph Oelckers
cb051b44ea - removed unused compression records from savegame header 2019-12-11 01:10:59 +01:00
Christoph Oelckers
5c0cd5114d - transitioned Blood to the common mapinfo system. 2019-12-11 00:57:53 +01:00
Christoph Oelckers
cc33c6a0ed - deactivate statistics for user maps.
This really isn't controllable.
2019-12-10 23:11:02 +01:00
Christoph Oelckers
0e19d4262e - savegame and mapinfo cleanup in DN3D and RR frontends.
Also added an "end game" flag to the mapinfo. For those who like to assemble single levels into custom episodes. More features for that to come. ;)
2019-12-10 22:22:59 +01:00
Christoph Oelckers
4cc22e155f - better handling for maps without names.
Use the file's base part as name if that happens.
2019-12-10 17:35:28 +01:00
Christoph Oelckers
4f04fe66de - transitioned RR to the new mapinfo 2019-12-10 00:31:55 +01:00
Christoph Oelckers
3b57f38e55 - started transitioning to a global mapinfo list.
This will make it a lot easier for cross-game parts of the engine to query game state.
So far the EDuke frontend has been ported over.
2019-12-10 00:01:45 +01:00
Christoph Oelckers
782dfcdc54 - changed licenses in a few files.
These originated from GZDoom and originally contained original Doom code, but for Demolition the offending parts are no longer present so the ZDoom-BSD license applies now.
2019-12-09 17:29:31 +01:00
Christoph Oelckers
5e9b874610 - exported most of Blood's text to the string table
MP messages with %s yet to do.
2019-12-09 02:01:30 +01:00
Christoph Oelckers
0604c72586 - code cleanup
removed some unused definitions
replaced the copybuf* functions with memcpy. These days doing homegrown copy loops is not efficient anymore.
2019-12-09 01:39:40 +01:00
Christoph Oelckers
66218dd074 - connect SW with statistics code and added missing function for Blood
# Conflicts:
#	source/blood/src/blood.h
#	source/common/menu/messagebox.cpp
#	source/sw/src/game.cpp
#	source/sw/src/game.h
2019-12-09 01:03:18 +01:00
Christoph Oelckers
4ef9ec6708 - call STAT_StartNewGame globally from the menu 2019-12-09 01:00:46 +01:00
Christoph Oelckers
9f25c9c117 - some string rework
* removed temporary placeholder content from string init function. All this gets properly read from definition files now.
* preinitialize a few quotes that are used for status display purposes and are needed in all games
* only use the global episode name table in Blood to avoid redundancy
* let SW's swcustom parser write to the global tables instead of local ones.
2019-12-09 01:00:46 +01:00
Christoph Oelckers
f2d0665557 - connected the screen size CVAR and slider with Shadow Warrior's internal setting. 2019-12-07 21:39:17 +01:00
Christoph Oelckers
8f90cc8324 - more Shadow Warrior cleanup. 2019-12-07 20:48:16 +01:00
Christoph Oelckers
0157446ad1 - thorough cleanup of the Shadow Warrior music code.
This was one huge mess where nothing fit together.
Also added an enhancement that the CD Audio boss theme tracks are also played when CD music is generally off, because these have no equivalent in MIDI. This needs to be checked if it's stylistically ok, though.
2019-12-07 19:57:19 +01:00
Christoph Oelckers
ff50a1681f - simplified the music playing interface a bit.
#
2019-12-07 18:28:30 +01:00
Christoph Oelckers
a05dab66f7 - color tweaking for the options menu. 2019-12-07 15:45:29 +01:00
Christoph Oelckers
9960b505e8 - added captions to SW's game menus.
- made Duke Nukem's quote strings localizable.
2019-12-07 12:42:25 +01:00
Christoph Oelckers
0342b96335 - cleaned out the remaining wrappers from cache1d.h and use the file system directly instead. 2019-12-07 10:49:23 +01:00
Christoph Oelckers
30cbcb54b1 - renamed the remaining file system access wrappers in cache1d.h 2019-12-07 10:31:27 +01:00
Christoph Oelckers
749eda32c5 - moved kopenfilereader into the FileSystem class. 2019-12-07 10:14:51 +01:00
Christoph Oelckers
ef87d2d4f9 - always pause the game when the console is open. 2019-12-07 10:01:03 +01:00
Christoph Oelckers
ddfb2223db - added a directory list function to the file system.
- fixed lookup for resources by ID - it always picked the first candidate from the hash chain without checking the actual ID.
2019-12-07 09:44:43 +01:00