Commit Graph

431 Commits

Author SHA1 Message Date
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