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
Christoph Oelckers
7d7507d453
- always add movie and music subdirectories.
2019-12-07 00:57:45 +01:00
Christoph Oelckers
7a8208eb2f
- fixed out of bounds memory access.
2019-12-06 23:20:18 +01:00
Christoph Oelckers
66756bfa13
- final fixes for Blood's and Duke Nukem's menus.
2019-12-06 18:36:49 +01:00
Christoph Oelckers
a0fe7f4048
- more mouse fixes. Most of the menu is now mouse controllable again.
...
The exceptions are the text screens which do not react to the mouse and the confirmation screen which treats a mouse click as a cancel event.
2019-12-06 00:06:41 +01:00