Commit graph

1145 commits

Author SHA1 Message Date
Christoph Oelckers
42b70a7d93 - added internationalized fonts.
This still needs a bit of fixing and tweaking but most is working.
2021-05-31 21:20:30 +02:00
sinisterseed
64a3c5aac8 - expose the HQ resize options to the menu. 2021-05-29 15:58:31 +03:00
Christoph Oelckers
39b84c4063 - don't use DI_ITEM_RELCENTER for Blood's animated heart.
It does not look right for this sprite.
2021-05-29 13:42:00 +02:00
Christoph Oelckers
db21313c96 - add some hackery to deal with WT's bosses.
This was the result of some gross change to the spawning code which suddenly changed the rules about minibosses.
To reduce the impact, it is only enabled for the "Alien World Order" maps.
2021-05-29 13:12:50 +02:00
Christoph Oelckers
8fae793341 - defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
d44500863b - removed the multiplayer scoreboard screens.
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Christoph Oelckers
a63873d243 - fixed 'pause' keybinding control was disabled in the menu. 2021-05-23 17:10:51 +02:00
Christoph Oelckers
8aed9063f8 - sector splitting hack for SW $bath.map. 2021-05-23 17:06:47 +02:00
Christoph Oelckers
b2545f8042 - PlayMusic script function. 2021-05-23 16:21:04 +02:00
Christoph Oelckers
0c6e2f0c9e - silenced some warnings. 2021-05-22 15:34:04 +02:00
Christoph Oelckers
d7a47b2f3a - route all accesses to gameaction from the backend through the sysCallbacks.
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
6ae09f8ec9 - ported Doom's type-on text screens as a screen job overlay. 2021-05-22 12:08:08 +02:00
Christoph Oelckers
5337513044 - ported GZDoom's subtitle drawer to the cutscene framework.
For later use, this isn't used yet.
2021-05-22 10:26:53 +02:00
Christoph Oelckers
d2ed4e703d - made Exhumed's text scroller a universal component of the cutscene system, usable by all games. 2021-05-22 10:06:15 +02:00
Christoph Oelckers
0d793a59fd - moved the cutscene core to 'engine'.
More adjustments for making this code compatible with GZDoom.
2021-05-22 02:15:49 +02:00
Christoph Oelckers
c80c2e7a6c - this wasn't supposed to be changed. 2021-05-19 22:48:21 +02:00
Christoph Oelckers
75cc66083d - Blood: fixed use of wrong font for ammo display on statusbar. 2021-05-19 22:40:10 +02:00
Christoph Oelckers
91bd24f8b5 - fixed level name display on automap. 2021-05-19 22:21:11 +02:00
Christoph Oelckers
98bb8c516d - added missing declarations for RR's intro movies. 2021-05-18 00:08:32 +02:00
Christoph Oelckers
4d226d19e7 - Exhumed: fixed jumping icons on the status bar.
Unfortunately, due to the utterly broken design of the sequences the fullscreen HUD is not fixed. This would require graphics replacements that fix the bad offsetting in the torch.
2021-05-17 19:22:57 +02:00
Christoph Oelckers
61d81efe45 - fixed definition of ExhumedCutscenes.BuildGameoverScene.
Needs to be declared static.
2021-05-17 18:17:15 +02:00
Christoph Oelckers
24ce5d6130 - Exhumed: fix animation stopping for inventory torch item.
I have no idea how the old code could ever work...
2021-05-16 20:25:56 +02:00
Christoph Oelckers
88fe8e49a3 - Blood: fixed throw power meter. 2021-05-16 18:56:56 +02:00
Christoph Oelckers
25d516c36f - fixed shadow and positioning of stats display. 2021-05-16 16:12:44 +02:00
Christoph Oelckers
f2d75d4146 - made status bar configurable through rmapinfo. 2021-05-16 10:43:47 +02:00
Christoph Oelckers
ee559b7ba9 - removed all leftover parts of the native status bars. 2021-05-16 10:35:33 +02:00
Christoph Oelckers
83f151529b - fixed SW status bar. 2021-05-16 10:25:56 +02:00
Christoph Oelckers
8d8b3cda46 - scriptified SW's status bar.
Not tested yet. This just compiles without errors.
2021-05-16 09:34:08 +02:00
Christoph Oelckers
a346c141eb - added detection record for yet other variants of DukeDC and Duke Caribbean. 2021-05-15 18:42:51 +02:00
Christoph Oelckers
f136330628 - removed the native versions of Duke's and RR's status bar. 2021-05-15 17:15:29 +02:00
Christoph Oelckers
781cb32dcf - fixed all issues with Duke's/RR's status bar. 2021-05-15 16:46:08 +02:00
Christoph Oelckers
f84f58e714 - ported Duke and RR status bars.
Compiles but not tested yet.
2021-05-15 14:27:32 +02:00
Christoph Oelckers
d311792e06 - engine side preparations for Duke Statusbar scriptification.
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
b520d38bc0 - removed the native implementation od Exhumed's status bar. 2021-05-15 10:25:39 +02:00
Christoph Oelckers
663f330684 - fixed GetChunkFrame implementation and one bad GetString call.
Exhumed's status bar is fully working with this.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
b71c725e3e - ported Exhumed's status bar.
Not tested yet.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
5a6121d424 - status bar interface work. 2021-05-15 10:25:38 +02:00
Christoph Oelckers
317238147b - Blood: fixed scriptified MP statusbar code to the point where it compiles.
Mainly to avoid code rot by future changes, this probably cannot remain as it is if MP gets reimplemented.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
e5dd4a8638 - made the scripted version of Blood's status bar functional. 2021-05-12 21:50:02 +02:00
Christoph Oelckers
778378fd5c - scriptified version of Blood's status bar compiles.
Not tested yet.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
4ad20e4c00 - more preparations for scriptification of Blood's status bar.
* restructured some code that could not be converted as-is due to access to data that should be off-limits to scripts.
* exporting most of PLAYER's member fields.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
acb4830eb5 - ported the BaseStatusBar class to ZScript.
Not hooked up yet, but it compiles.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
633d205d80 - SW: fixed ammo pickup amount. 2021-05-12 00:01:19 +02:00
Christoph Oelckers
bdfa13e341 - clear the sky flag off two more sectors in WT's "Skyline" map.
This is clearly a mapping error - these sectors aren't even supposed to have a sky - No idea why this did not glitch out in the other renderers
Trying to fix this in the renderer is tricky because it involves some unknown render quirk.
2021-05-10 20:13:29 +02:00
arrowgent
bc66690349 Create menudef.txt
fixes issue only for option Chat > Say = (T)
https://github.com/coelckers/Raze/issues/311
2021-05-07 20:55:42 +02:00
Christoph Oelckers
3fce8ab693 - added support for the 3 missing Duke Vacation SSIs. 2021-05-06 17:14:18 +02:00
Christoph Oelckers
d206a767b2 - added render workaround for CP07. 2021-05-03 17:48:35 +02:00
Christoph Oelckers
56fcf904b5 - Backend update from GZDoom. 2021-05-03 14:48:55 +02:00
Christoph Oelckers
8003ab6fa3 Merge branch 'scriptable_cutscenes' into newrenderer 2021-05-02 22:37:46 +02:00
Christoph Oelckers
dfd47ea33a - migrated SW to RMAPINFO as well.
Also removed the 'definecutscene' code from the .def parser as this was never meant to be more than a temporary solution.
2021-05-02 17:35:25 +02:00
Christoph Oelckers
4b064b9f34 - migrated Exhumed's level setup to RMAPINFO.
This game never had a proper setup so this also fixes the crashes with visiting the multiplayer maps.
2021-05-02 15:54:19 +02:00
Christoph Oelckers
bb9d492db6 - migrated RRRA as well. 2021-05-02 14:01:10 +02:00
Christoph Oelckers
a28b4ea06a - migrated Route66 and fixed some issues pointed out by this mod. 2021-05-02 13:29:41 +02:00
Christoph Oelckers
6f4e380728 - migrated RR's cutscene definitions.
Also turned several level-specific init options into map flags or map parameters.
2021-05-02 13:12:24 +02:00
Christoph Oelckers
15f9861633 - summary screens, too. 2021-05-02 12:28:32 +02:00
Christoph Oelckers
4458f8c929 - migrated the global cutscenes to RMAPINFO as well. 2021-05-02 12:22:40 +02:00
Christoph Oelckers
2d4e91615f - migrated Duke's cutscene definitions to the new RMAPINFO.txt. 2021-05-02 12:02:55 +02:00
Christoph Oelckers
dbd179be5c - RR progression fixes.
* E1L7 abuses an 'end the game' command to progress to E2L1, this needs special treatment.
* handle ENDGAME.MAP more cleanly by injecting an 'engine.con' into the compilation chain to define its map record. The main issue with this is that it needs to be defined before the regular CONs run.
* check the already defined 'clearinventory' and 'clearweapons' flags that are exposed through RMAPINFO (Duke/RR only so far.)
2021-05-02 10:55:22 +02:00
Christoph Oelckers
1798380f23 - adapted map transition in Duke/RR.
There's still some issues which will be taken care of by adding map flags.
2021-05-02 10:35:43 +02:00
Christoph Oelckers
93bfc35ad6 - use the volumes to find the starting maps for the menu and the clusters for the cutscenes. 2021-05-02 01:01:30 +02:00
Christoph Oelckers
825963661b - migrated volumes to the new storage. 2021-05-02 00:35:56 +02:00
Christoph Oelckers
03b9275244 - removed debug printf. 2021-05-01 23:59:45 +02:00
Christoph Oelckers
51aeb6dd39 - fixed issues with skipping over an entire cutscene.
This must never destroy the last element of the cutscene because it is still needed to draw something while shutdown is performed.
2021-05-01 20:54:57 +02:00
Christoph Oelckers
fa3fd9ac8f - removed unused array. 2021-05-01 20:34:43 +02:00
Christoph Oelckers
4c2266ee88 - fixed incomplete SW ending cutscene. 2021-05-01 20:31:51 +02:00
Christoph Oelckers
a2a850ea3c - center the texts on Duke's loading screen. 2021-05-01 20:14:30 +02:00
Christoph Oelckers
512f1d852b - fixed: Blood's summary screen needs to stop it sound when it ends. 2021-05-01 20:11:47 +02:00
Christoph Oelckers
f0bd290801 - corrected speed of RR intro videos. 2021-05-01 20:04:22 +02:00
Christoph Oelckers
27799def63 - rewrote movie player so that the decoder backends only perform the decoding but do not draw the frames themselves.
This caused twq problems:

1. It made it impossible to let the client apply effects to the video.
2. The client had no control when rendering stopped.

Now the backends only provide a texture handle that the client must draw. One immediate benefit is that Blood's fixed viewport scaling is now available to all video formats.
2021-05-01 18:59:16 +02:00
Christoph Oelckers
4069a5096a - scriptified Exhumed's 2D content (minus the programmatic textures.) 2021-04-30 20:08:36 +02:00
Christoph Oelckers
5b54e9c1ad - removed the 26 factor from Duke's par times.
What were they thinking?
2021-04-30 20:08:36 +02:00
Christoph Oelckers
aa148d602c - scriptified SW's 2D screens.
Compiles but not tested yet.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
6c2aab3017 - fixed remaining issues with Blood's cutscenes. 2021-04-30 20:08:34 +02:00
Christoph Oelckers
eaf5e1fba5 - Cutscene support in Blood.
Intro tested, rest to do.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
869dbd70e5 - fixed the design by merging the episode start handler into ShowIntermission.
Tying the start-of-episode cutscene to the cluster does not really work because it gets triggered by all maps of the cluster.
All currently existing intro cutscenes are tied to the map anyway.
Also correcting transition movie name for RRRA E2L1.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
cdccdec3e7 - final cleanup on new cutscene interfacw
* fixed frame gaps when exiting a cutscene. This must be properly synchronized with the state handler in the main loop.
* reactivated the loading screens. With texture precaching working the delay when loading a map becomes significant enough to require a visual feedback.
* RR does not play 'bonusmusic' on its summary screen.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
ad01aee5ec - fixed RR summary screen 2021-04-30 20:08:33 +02:00
Christoph Oelckers
6d743ce921 - most of the summary screen is working 2021-04-30 20:08:33 +02:00
Christoph Oelckers
0dc6980e5c - made episode intro cutscenes a game independent feature.
So far only defined for Duke E4 but all the logic is outside the game code now and can be universally handled.
2021-04-30 20:08:33 +02:00
Christoph Oelckers
3c27ec8cbd - tested all of Duke's and RR's cutscenes. 2021-04-30 20:08:33 +02:00
Christoph Oelckers
06abc0cfe2 - removed debug output and fixed fade flag setup and missing OnTick return 2021-04-30 20:08:33 +02:00
Christoph Oelckers
26a7700579 - Duke's intro works, without fading. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
1166b00af2 - switched intro movie playing over to the new system
Not tested yet.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
af8d06994a - implemented the scripting interface layer. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
ef6d8c2c67 - added cutscene definitions for Duke and finalized the definecutscene parser. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
021f1b7832 - make SummaryInfo a struct instead of passing a list of values to the script classes. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
57853bf8fe - RR Cutscene generators. 2021-04-30 20:08:31 +02:00
Christoph Oelckers
f077359196 - merge DukeDC's end of episode cutscene into BuildE3End.
This will make things a bit easier on the setup side because it eliminates the need for mission pack specific definitions.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
21aa5c9234 - added game flags for all supported add-ons. 2021-04-30 20:08:31 +02:00
Christoph Oelckers
88dfb93865 - redid Duke cutscene code to use functions, not classes as exports and added the missing screens.
Functions are better because they allow doing more in the internal setup code.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
eeefc4355e - scriptified all of Duke's end of episode cutscenes. 2021-04-30 20:08:30 +02:00
Christoph Oelckers
9d20185b39 - used pushv to make the intro init code look nicer. 2021-04-30 20:08:30 +02:00
Christoph Oelckers
b515543016 - added varargs pushv function to Array<int>.
We'll need this for the ANM sound arrays.
Support for other array<> types to be done later.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
66799d9a6d - more screen job setup work.
* interface for movie player done.
* first cutscene definition done.
* all converted classes removed from C++ code.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
4ff2010bd1 - moved the entire screen job management to the script side.
This isn't hooked up yet and lots of code is commented out, the games won't start with this commit.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
d853b63a1a - RR summary screen 2021-04-30 20:08:29 +02:00
Christoph Oelckers
d5a8147f1b - Duke screens are complete. 2021-04-30 20:08:25 +02:00
Christoph Oelckers
c07fcbee08 - migrated level summary screen. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
4636a52699 - MP summary screen ported. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
7fbe153ae7 - more Duke screen porting. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
9c95f003f1 - ported E2ENDSCREEN 2021-04-30 20:08:24 +02:00
Christoph Oelckers
05fa21785d - ported Duke end of E1 cutscene 2021-04-30 20:08:24 +02:00
Christoph Oelckers
e75f0c17e4 - ported the TitleScreen class. 2021-04-30 20:08:23 +02:00
Christoph Oelckers
1022564cab - initial framework for scriptification of screen jobs. 2021-04-30 20:08:23 +02:00
Christoph Oelckers
ad28630df6 - offloaded map patches to data files.
This is a lot easier to manage than having them in the code.
For now it piggybacks on the map hack feature, later this should use the same scripted approach as GZDoom.
2021-04-24 23:07:35 +02:00
sinisterseed
3159ef0691 - and get rid of this too.
This is irrelevant.
2021-04-21 21:40:39 +03:00
sinisterseed
2d73b19887 - updated menus and changed the mentions of "Polymost" to "Render".
These settings now extend to the new render as well, so the mentions of Polymost had to be changed accordingly.
2021-04-21 21:20:43 +03:00
Mitchell Richters
171d541112 Merge branch 'master' into newrenderer 2021-04-18 10:05:10 +10:00
Christoph Oelckers
d5dc8230d6 - fixed typo. 2021-04-17 17:21:02 +02:00
Christoph Oelckers
80c67cda06 - language update. 2021-04-17 17:06:57 +02:00
Christoph Oelckers
e89761d2d5 - added menu option for mirror effect. 2021-04-17 13:43:49 +02:00
Christoph Oelckers
82194bbf6b Merge branch 'master' into newrenderer
# Conflicts:
#	source/games/exhumed/src/2d.cpp
2021-04-17 13:22:30 +02:00
Christoph Oelckers
53cd8958ae - added a fallback generic record for identifying Blood.rff based on content.
This is for loading mods that have been set up to require running BARF before they can be used. Strict CRC identification does not work for these.
2021-04-17 13:11:02 +02:00
Christoph Oelckers
7e9b8059cf - enable cl_slopetilting for Exhumed as well, now that it has a function there 2021-04-16 17:24:37 +02:00
Christoph Oelckers
9a58299bee Merge branch 'master' into newrenderer2 2021-04-14 22:37:59 +02:00
Christoph Oelckers
6ad3ac8ef9 - added GameID field to GrpInfo.
This is for allowing new features easier referencing of the various records.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
aba5099ccb - added widescreen graphics credits to the Engine Credits menu. 2021-04-13 00:31:49 +02:00
Christoph Oelckers
9598b626c9 Merge branch 'master' into newrenderer2 2021-04-12 20:03:50 +02:00
Christoph Oelckers
ac04403292 - added native support for Nightfright's Alien World Order" GRP generator. 2021-04-12 19:35:39 +02:00
Christoph Oelckers
42d02834b1 Merge branch 'master' into newrenderer2
# Conflicts:
#	source/build/include/build.h
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
#	source/core/gamecontrol.cpp
#	source/core/gamestruct.h
#	source/games/blood/src/animatesprite.cpp
#	source/games/blood/src/misc.h
#	source/games/blood/src/view.cpp
#	source/games/duke/src/render.cpp
#	source/games/sw/src/draw.cpp
#	source/games/sw/src/game.h
#	source/games/sw/src/jsector.cpp
#	source/glbackend/glbackend.cpp
2021-04-11 14:38:56 +02:00
Christoph Oelckers
db5fbe3bbb - make the startup banner in the initial console window work. 2021-04-10 19:14:30 +02:00
Christoph Oelckers
333581a084 Merge branch 'master' into newrenderer2
# Conflicts:
#	source/build/src/defs.cpp
2021-04-09 19:57:56 +02:00
Christoph Oelckers
03c19a0cad - removed the no longer used 'options' menu item graphic for Exhumed. 2021-04-09 14:29:31 +02:00
alexey.lysiuk
c8c8635b4c - fixed render backend switch menu option 2021-04-09 10:47:00 +03:00
Christoph Oelckers
4cdc39c9b9 Merge branch 'master' into newrenderer2 2021-04-08 08:55:41 +02:00
Christoph Oelckers
8cc3a81c3b - enable the render backend switch in the menu.
Vulkan is working now so this can be reactivated.
2021-04-07 23:56:01 +02:00
Christoph Oelckers
0b79649dc2 Merge branch 'master' into newrenderer2 2021-04-06 16:14:21 +02:00
Christoph Oelckers
cbe25d9d6b - Blood: disable look left and look right in the classic key configuration. 2021-04-06 12:06:03 +02:00
Christoph Oelckers
75159e06c0 - uncommented the portal code in hw_walls.cpp. 2021-03-21 19:36:55 +01:00
Christoph Oelckers
aa789c7605 - adapt to changed value range of module master volume in ZMusic.
The default was far too quiet and had to be increased to let the player have comparable output to the rest of the music system.
2021-03-14 08:51:59 +01:00
Christoph Oelckers
f4b27bbd27 - sort the game selection list by definition order in grpinfo.txt.
This is to have consistent ordering, independent of where the files are found.
Game order is: Duke, Blood, Shadow Warrior, Redneck Rampage, Nam, WW2GI, Exhumed, all the official mission packs are grouped below the game they belong to.
2021-03-12 23:45:03 +01:00
Christoph Oelckers
6368db7d9e - deactivate the swcustom.txt in ProAsm's Wanton Destruction.
This is to allow the internal one to take over which has localizable labels.
2021-03-02 21:48:58 +01:00
sinisterseed
410a269c93 - added autodetection support for the ProAsm version of Wanton Destruction. 2021-03-02 22:32:38 +02:00
Christoph Oelckers
e3678e27c0 - added "swap mouse buttons" option to menu. 2021-03-02 17:10:34 +01:00
sinisterseed
bdeca12f95 - removed menu entry for SW's altnukeinit toggle.
The feature has been removed, rendering the entry useless.
2021-03-02 15:15:33 +02:00
Christoph Oelckers
4b9a1465af - Exhumed: fixed inventory use bindings
They got shuffled around a bit by accident.
2021-03-01 20:13:12 +01:00
sinisterseed
8f0d022b44 - added menu entry for Exhumed's keyboard turning speed toggle.
This allows enabling the original turning speed with the keyboard in Exhumed. The new behavior is still the default as the original turning is just far too slow.
2021-03-01 15:16:36 +02:00
Christoph Oelckers
2f2d0443f2 - fixed size setup for most menus.
All of Raze's menus scale to 320x200 and to get proper mouse coordinates the definitions must reflect that as well.
Fixes #271
2021-03-01 13:08:10 +01:00
Christoph Oelckers
ba5ede65b8 - backend update from GZDoom. 2021-02-26 19:06:10 +01:00
Christoph Oelckers
5ad1d74f62 - added missing shader #define. 2021-02-12 14:55:42 +01:00
Christoph Oelckers
c96e04e6c9 - backend update from GZDoom. 2021-02-12 14:44:54 +01:00
Christoph Oelckers
5b6aa372ea - fixed autoaim check and adjusted presentation in the menu to be correct for all games.
Fixes #264
2021-02-06 10:56:11 +01:00
Christoph Oelckers
20db6b0c78 - added protection against oversized menu caption bars.
SWC20 is a mod that contains a caption that is larger then the entire screen and was pushing the actual menu content out of it.
Fixes #239
2021-02-02 23:49:04 +01:00
Rachael Alexanderson
09d2e44da6 - add missing menu spacer 2021-01-18 08:17:35 -05:00
Rachael Alexanderson
8c87bc7d08 - language update 2021-01-18 06:26:14 -05:00
Rachael Alexanderson
47f0370512 - add some 21:9 presets 2021-01-18 06:25:04 -05:00
Mitchell Richters
b191a482d6 - Remove hw_detailmapping and hw_glowmapping since they're no longer relevant with GZDoom's backend (they're always in an on state). 2021-01-03 21:39:21 +11:00
Mitchell Richters
ae731d1eaf - Duke/RR: Expose cl_slopetilting via the menu. 2021-01-02 13:16:15 +11:00
Christoph Oelckers
2184baaa18 - detection of alternative Twin Dragon GRP. 2020-12-30 09:55:57 +01:00
Christoph Oelckers
b0bf51ec5c - Duke/RR: Selecting the alternative weapon must set the proper bits in 'subweapon'.
Otherwise the weapon cycling breaks.
Fixes #182
2020-12-01 21:07:38 +01:00
Christoph Oelckers
5a5f9b8e02 - backend update from GZDoom. 2020-11-23 15:54:06 +01:00
Christoph Oelckers
26c7bcdca4 - added default controller bindings from GZDoom. 2020-11-23 13:54:22 +01:00
Christoph Oelckers
36479b623d - re-fixed crosshair scale to only use one CVAR for everything. 2020-11-13 17:56:55 +01:00
sinisterseed
34dfb6c5fc - fixed crosshair scaling in Exhumed & the other games.
The problem was that the CVARs operating the scale were different between Exhumed and the other titles, meaning that "crosshairscale" worked in one, but not the others. They have now been split.
Also lowered the default crosshair size as it was too much for Exhumed.
Fixes #180.
2020-11-13 18:33:18 +02:00
Christoph Oelckers
a35adc45c2 - use correct CVAR for menu's statusbar scale setting.
Fixes #169
2020-11-09 17:23:58 +01:00
Christoph Oelckers
918425469a - fixed crosshair setup.
Fixes #168
2020-11-09 17:20:14 +01:00
Christoph Oelckers
aed8a450fd - SW: fixed episode menu display.
The subtitle needs to use the game specific drawer, not the generic one.
Fixes #162
2020-11-08 10:12:12 +01:00
Christoph Oelckers
8a4b2e792e - set a default font for list menus. 2020-11-08 10:11:00 +01:00
Mitchell Richters
032db82f82 - Exhumed: Add crouch toggle mechanism. 2020-11-07 13:27:58 +11:00
Mitchell Richters
7c8efde38c - Blood: Add crouch toggle mechanism.
* Fixes #151.
2020-11-07 13:23:16 +11:00
Christoph Oelckers
c93b8f3e54 - copyright headers added. 2020-10-31 13:20:55 +01:00
Christoph Oelckers
30c4a0856e - moved common script files. 2020-10-31 13:20:54 +01:00
Christoph Oelckers
7a482c6284 - make DHUDFont an object. 2020-10-31 13:20:54 +01:00
Christoph Oelckers
7de6528a1f - the status bars work as objects.
# Conflicts:
#	source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
05fd2b4d4e - another text update. 2020-10-31 12:35:33 +01:00
Christoph Oelckers
c349987bd4 - text update. 2020-10-31 12:33:39 +01:00
Christoph Oelckers
bc7c37779f - text update. 2020-10-25 17:14:05 +01:00
Christoph Oelckers
5abc5c0509 - option menu positioning fix. 2020-10-25 17:11:45 +01:00
Christoph Oelckers
273ad5e133 - backend update 2020-10-25 09:20:26 +01:00
Christoph Oelckers
c82d9d2908 - backend update from GZDoom. 2020-10-24 17:30:47 +02:00
Christoph Oelckers
127440f03c - fixed some menu alignment issues
* the left selector in Duke was misplaced to the right.
* some issues with incomplete handling of RR's downscaled fonts.
* give SW's caption bar a little more space on the edges.
2020-10-13 22:53:27 +02:00
Christoph Oelckers
f179ee502e - fixed: Selecting a submenu in the options played the wrong sound. 2020-10-12 20:08:10 +02:00
Christoph Oelckers
3bc9b3f5fc - fixed bad filenames in SW's map list (fortunately only DM levels...) 2020-10-12 19:13:30 +02:00
Christoph Oelckers
87859e87bf - fixed heatseeker definition in SWCustom.txt. 2020-10-10 22:28:46 +02:00
Christoph Oelckers
b06a847d9a Merge branch 'menu2'
# Conflicts:
#	source/exhumed/src/sound.cpp
2020-10-10 19:03:29 +02:00
Christoph Oelckers
3cfba26bec - fixed layout issues with load/save menus. 2020-10-10 12:25:30 +02:00
Christoph Oelckers
db21d5e946 - took all script exports out of the namespaces.
It looks like GCC cannot deal with this - on MSVC it works fine.
2020-10-10 10:11:22 +02:00
Christoph Oelckers
2237113a77 - fixed font scaling in RR's confirmation screens. 2020-10-10 00:51:26 +02:00
Christoph Oelckers
2e94fdc3b5 - Duke: fixed text alignment in menu caption. 2020-10-10 00:40:36 +02:00
Christoph Oelckers
fb10473e40 - fixed the controller menu.
This needed a definition update for its defaults.
2020-10-10 00:24:11 +02:00
Christoph Oelckers
03e57fa3d7 - fixed Exhumed's game startup. 2020-10-09 23:58:34 +02:00
Christoph Oelckers
fb6267dce0 - removed 'centermenu' from Blood's ingame menu. 2020-10-09 23:40:15 +02:00
Christoph Oelckers
b21beb4039 - made the options search work.
This required changing how the engine credits menu work because it created a circular dependency in its original form.
2020-10-09 22:33:02 +02:00
Christoph Oelckers
2d8bcd06fd - added the player display for Duke.
This completes the menu transition.
2020-10-09 01:09:51 +02:00
Christoph Oelckers
a10aacea3a - added the QAV drawer page. 2020-10-09 00:50:21 +02:00
Christoph Oelckers
2f8284f10b - added filler help and credit menus for Exhumed.
They should not be empty, so that they do not crash when opened from the console.
2020-10-09 00:21:06 +02:00
Christoph Oelckers
4024ebd12d - re-added Duke 1.3's credit screens. 2020-10-09 00:11:49 +02:00
Christoph Oelckers
802d295e48 - Shadow Warrior credit screens. 2020-10-08 23:53:15 +02:00
Christoph Oelckers
02507d937d - got the text screens working. Also reformatted RR's credits a bit for a better presentation. 2020-10-08 23:40:17 +02:00
Christoph Oelckers
19c719db4e - image scroller is working again. 2020-10-08 22:53:12 +02:00
Christoph Oelckers
6ba06f5ed0 - ImageScroller WIP commit. 2020-10-08 22:20:41 +02:00
Christoph Oelckers
15eaf86f5a - preparations for the image scroller menu. 2020-10-08 18:02:25 +02:00
Christoph Oelckers
8caaf4fa64 - menu transitions are working again. 2020-10-08 16:33:11 +02:00
Christoph Oelckers
968fe10de7 - use unsigned variables for Duke's spinning selector.
The formula depends on unsigned modulo.
2020-10-08 01:49:21 +02:00
Christoph Oelckers
cc7290e313 - work on menu transitions. 2020-10-08 01:00:23 +02:00
Christoph Oelckers
a7e25a116f - made Exhumed's text menu fully operational. 2020-10-08 00:50:23 +02:00
Christoph Oelckers
56eae0b42d - got the basics working for Exhumed's main menu. 2020-10-08 00:21:07 +02:00
Christoph Oelckers
a953404331 - SW's text menus done.
This also copies the Build texture animation info into the texture manager so that the 2D code can access it through existing interfaces.
2020-10-07 23:22:29 +02:00
Christoph Oelckers
789eb6d51d - Most of Duke's menus work again. 2020-10-07 20:32:43 +02:00
Christoph Oelckers
2bb38f7d67 - get load and save game menus and related CCMDs working again. 2020-10-07 18:32:57 +02:00
Christoph Oelckers
38ddbfe65f - activated most of the support code for programmatically created menus again.
Blood's regular menu screens mostly work again
2020-10-07 01:31:41 +02:00
Christoph Oelckers
5726b693bd - added back the menu transition, although it cannot be used yet, and all game specific menu CCMDs. 2020-10-07 01:12:57 +02:00
Christoph Oelckers
0968a9d97e - renamed the Customizer to 'Delegate' because this works very much like a delegate in Objective-C.
- route menu sound calls through the delegate to better deal with differences between games.
2020-10-07 01:00:43 +02:00
Christoph Oelckers
603c3b50ec - reimplemented Blood's menu items. 2020-10-07 00:50:26 +02:00
Christoph Oelckers
a7035a932f - added a DrawSelector hook to the customizer. 2020-10-07 00:03:05 +02:00
Christoph Oelckers
06b00887f5 - added a menu control for Blood's dripping blood. 2020-10-06 23:49:34 +02:00
Christoph Oelckers
3ddc544a85 - added a caption drawer control for ListMenus. 2020-10-06 23:11:04 +02:00
Christoph Oelckers
99e6c718d7 - Added Exhumed's Mummy Staff graphics after getting MaxED's ok. 2020-10-06 22:42:55 +02:00
Christoph Oelckers
1ea6084478 - Exhumed also done.
Also using proper assets now.
2020-10-06 22:35:25 +02:00
Christoph Oelckers
17a68bc60a - SW's caption done, too.
In this case the font is squashed to be more narrow because otherwise many texts would not fit anymore.
2020-10-06 22:01:20 +02:00
Christoph Oelckers
bec1f67178 - implemented the menu caption for Duke et.al. 2020-10-06 20:49:55 +02:00
Christoph Oelckers
d22bdf9dc7 - use an alias for the menu bar texture in Blood.
Direct tile access has been disabled for now, hopefully this can be buried deep in the engine for all eternity.
2020-10-06 20:05:51 +02:00
sinisterseed
e27077bee1 - added menu entry for the alternative nuke initialization toggle 2020-10-06 18:39:24 +02:00
Christoph Oelckers
1e131eda9e - implemented Blood's menu caption 2020-10-06 00:34:35 +02:00
Christoph Oelckers
3dbb8cbb11 - safety commit 2020-10-05 21:47:53 +02:00
Christoph Oelckers
c03644ea76 - base.zs cleanup and extendable structs. 2020-10-05 20:03:28 +02:00
Christoph Oelckers
be55e26689 - menu code update. 2020-10-05 18:39:16 +02:00
Christoph Oelckers
9606b09ddd - update of language code from GZDoom. 2020-10-05 00:46:24 +02:00
Christoph Oelckers
7c89db69bd -menuCustomizer from GZDoom. 2020-10-05 00:23:30 +02:00
Christoph Oelckers
70e7176531 - made adjustments for new Menudef format. 2020-10-04 22:42:13 +02:00
Christoph Oelckers
26a31a626d - option menus are working, although all colors are still wrong and the captions are not displayed. 2020-10-04 21:42:40 +02:00
Christoph Oelckers
5d76cbcbdb - game compiles and starts again (without menu, of course)
Now it's time to rebuild the menu.
2020-10-04 20:53:37 +02:00
Christoph Oelckers
b0301d6fc9 - progress. 2020-10-04 20:11:04 +02:00
Christoph Oelckers
4790773ec2 - script update for key bindings. 2020-10-04 20:11:03 +02:00
Christoph Oelckers
0b9c6fe559 - added GZDoom's menu script code. 2020-10-04 20:11:03 +02:00
Christoph Oelckers
46a1fe3826 - updated script definitions to silcence startup warnings. 2020-10-04 20:10:13 +02:00
Christoph Oelckers
393b0a1db2 - added missing punctuation characters to Exhumed's SmallFont.
In particular this provides the required colon and slash characters for the level stats display.
2020-10-03 19:32:42 +02:00
Christoph Oelckers
bd25019b33 - added punctuation characters to SW's BigFont. 2020-10-03 19:03:02 +02:00
Christoph Oelckers
ddc968f607 - disable palette emulation when map global fog is active.
This doesn't work well together and is pointless anyway as everything needs to be rendered at full brightness.
Fixes #99
2020-10-03 18:04:07 +02:00
Christoph Oelckers
4c2ff2950a - for Duke/RR, when not using English force use of the regular text font for drawing the map label on the automap.
This essentially removes the tiny font which is simply too small to ever be able to receive a proper international extension from the equation for localization because the level name display was the only remaining relevant content using this font.
The only other screen where this font is still being used to draw text requiring translated content is the multiplayer summary which will have to be redesigned anyway if multiplayer becomes functional again.
2020-09-29 21:47:32 +02:00
Christoph Oelckers
fe61ff09a4 - added remapping for Cyrillic characters to matching Latin counterparts. 2020-09-29 20:16:31 +02:00
Christoph Oelckers
b57e13ff62 - mouse code update.
May still need some tweaking of the factors.
2020-09-28 22:36:43 +02:00
Christoph Oelckers
78903fab2b - text update mainly for Exhumed LEV19. 2020-09-27 07:34:38 +02:00
Christoph Oelckers
2e4596b99b - fixed typo in menu. 2020-09-26 17:45:46 +02:00
Christoph Oelckers
b93a9b478a - implemented World Tour's developer commentaries. 2020-09-26 17:43:34 +02:00
Christoph Oelckers
b8dae02464 - text update. 2020-09-26 14:30:54 +02:00
Christoph Oelckers
1e12bca0a6 - route World Tour's texts through the string table by adding an indirection option
This way they can be translated into all languages without duplicating all relevant content.
The original text files are no longer being used.
2020-09-26 10:08:48 +02:00
Christoph Oelckers
77841b3154 - fixed application of detail textures. 2020-09-25 22:03:11 +02:00
Christoph Oelckers
89bc194035 - added shareware checks to the "start game" menus. 2020-09-25 19:36:50 +02:00
Christoph Oelckers
cb63f5cdbf - SW: Two of the sword's frames are different in the shareware version, add these to the widescreen list as well. 2020-09-25 19:12:07 +02:00
Christoph Oelckers
ac99e35c9a - fixes for menu 2020-09-25 19:04:33 +02:00
Christoph Oelckers
0bb45a0a41 - added postprocessong options to menu 2020-09-25 18:42:07 +02:00
Rachael Alexanderson
c8a74a8f3f - sw: flykey: guard against non-godmode, bind to j by default 2020-09-25 13:50:29 +02:00
Christoph Oelckers
f106f35598 - fixed interpolation of palette emulation. 2020-09-23 18:18:23 +02:00
Christoph Oelckers
5e6317b8b9 Merge remote-tracking branch 'remotes/Github_private/Blood_InputReworking' 2020-09-22 23:32:28 +02:00
sinisterseed
831a9e3b29 - added menu entry for "cl_viewbob" in SW too 2020-09-22 23:25:07 +02:00
Mitchell Richters
2bc4291817 - menudef.txt: Remove a few Exhumed exclusions.
* These didn't seem to apply (as in, these functions worked out of the box for Exhumed) so I forgot about checking this.
2020-09-22 19:53:24 +10:00
Mitchell Richters
d40a2d3e95 Merge branch 'back_to_basics2' into Blood_InputReworking
# Conflicts:
#	source/blood/src/hudsprites.cpp
#	source/exhumed/src/status.cpp
#	source/games/duke/src/game_misc.cpp
#	source/sw/src/draw.cpp
2020-09-22 07:34:39 +10:00
Christoph Oelckers
0461acfc8b - removed the brightness fudging in the palette emulation shader and always return an alpha of 1.
The fudging was only needed because fog was still applied on top of the palette emulation so after completely disabling the true color distance attenuation in palette mode it made the image too bright.
The alpha needs to be 1 because this is only the texel, not the combined color.
2020-09-21 21:17:23 +02:00
Mitchell Richters
7bf1cacc7f - Blood/Duke/RR/SW: Unify the player's angle function.
* For Blood/SW, exposes `SB_LOOK_LEFT`/`SB_LOOK_RIGHT` to games, hooking up `q16look_ang` and `q16rotscrnang` within.
* For SW, use Duke & Blood's return to center function and remove `PF_TURN_180` bit.
* For RR, replace a few misused bits with some bools inside of `player_struct`.
* Since bulk of functionality is sourced from Duke (30Hz), apply proper scaling so SW speed matches (40Hz).
2020-09-21 17:12:26 +10:00
Christoph Oelckers
dc7be6d526 - Duke: edited the first intermission pic a bit to reduce the visibility of a seam where it was extended 2020-09-20 19:29:21 +02:00
Christoph Oelckers
555ebf86a0 - Duke: fixed path for widescreen intermission pics. 2020-09-19 22:16:48 +02:00
Christoph Oelckers
d963f317d9 - added the widescreen summary backgrounds for Duke.
They were made by fgsfds whose permission we have.
2020-09-19 10:54:45 +02:00
Christoph Oelckers
12c0761add - added all Exhumed assets whose usage rights could be cleared.
The mummy staff is missing due to unknown permissions. Sorry for the inconvenience.
2020-09-19 10:39:42 +02:00
Christoph Oelckers
29a10cabcb - fixed most issues with palette emulation.
Brightness is now correct - I have no idea why this factor of 1/0.85 is needed - something must reduce the brightness of the entire scene but I have no idea what.
2020-09-18 22:29:13 +02:00
Christoph Oelckers
af298411df - added widescreen titlepic for Duke Nukem 3D:
Also made some tweaks to the intro sequence drawer so that it recognizes image formats not depending on the game palette.
2020-09-17 23:20:50 +02:00
Christoph Oelckers
399b27fcbb - added widescreen version of SW's summary screen background, submitted by Phredreeke. 2020-09-17 07:52:13 +02:00
Christoph Oelckers
6776508239 - widescreen asset setup and consolidation of .def file loading. 2020-09-16 19:13:06 +02:00
Christoph Oelckers
234fae011e - aded widescreen assets for all games except Exhumed where usage rights have not been fully cleared yet. 2020-09-16 19:13:05 +02:00
Christoph Oelckers
4512b6463d - added widescreen weapon sorites for Duke and disabled the World Tour sprites 2020-09-16 19:13:05 +02:00
Christoph Oelckers
3188ff4a79 - tewaked the distance calculation in the shader to improve palette emulation brightness.
Fixes #393
2020-09-15 22:16:51 +02:00
Christoph Oelckers
aeeec61f39 - fixed light level setup in palette emulation mode. 2020-09-13 20:48:54 +02:00
Christoph Oelckers
9e81fa89a8 - fixed some of the issues with palette emulation
* the palette shader was not bound.
* the palette textures were not bound.
* palette mode still used regular lighting on top of the palette emulation

This works a lot better than before but is still not complete.
2020-09-12 21:23:14 +02:00
Christoph Oelckers
9187577719 - updated Exhumed questionmarks with new versions from Dynamo. 2020-09-12 12:48:30 +02:00
Christoph Oelckers
e0ae87e973 - added proper licensing info for Exhumed BigFont after clearing the issue with its creator Dynamo.
The license is deliberately non-commercial due to the source of these assets.
2020-09-12 10:14:20 +02:00
Christoph Oelckers
19b5e2464e - For World Tour allow falling back on the classic sounds if the Oggs cannot be found 2020-09-11 21:04:47 +02:00
Christoph Oelckers
b7f0e2c3c3 - added sound FX remapping for World Tour so it can use the original VOCs.
Fixes #353
2020-09-11 20:17:36 +02:00
Christoph Oelckers
83eba019b8 - added support for Megaton's widescreen assets.
Fixes #386
2020-09-10 00:05:10 +02:00
Christoph Oelckers
093d991bff - fixed quicksave rotation count in menu
Fixes #382
2020-09-09 20:57:15 +02:00
Christoph Oelckers
d011a16c5b - added a menu option for WT's music switch.
Fixes #370
2020-09-08 22:37:21 +02:00
Christoph Oelckers
5524d8eab7 - credits updated to the current state of things. 2020-09-08 18:36:47 +02:00
Christoph Oelckers
5d01be8258 - fixed incorrect panning setup for WASD 2020-09-08 18:35:21 +02:00
Christoph Oelckers
dbcbdf2bc6 - moved RR's pee key binding to the proper menu 2020-09-08 18:07:06 +02:00
Christoph Oelckers
29d990991b - dug out Dynamo's BigFont for Exhumed from the forum.
This is not the font from GDX, it was a separate creation. The only character in here from GDX is the question mark because it was missing.
2020-09-08 01:12:23 +02:00
Christoph Oelckers
9bb99e5c05 - fixed 361 - togglerotate CCMD still had some bugs. 2020-09-07 19:56:28 +02:00
Christoph Oelckers
6b89bf97fe fixed #362 - misnamed CVAR in MENUDEF. 2020-09-07 19:45:20 +02:00
Christoph Oelckers
e63e134195 - fixed automap follow mode and added some menu entries for the new options and key bindings. 2020-09-06 23:12:47 +02:00
Christoph Oelckers
36b9ac54b7 - added a parser for World Tour's language files. 2020-09-05 21:33:04 +02:00
Christoph Oelckers
32ec9ff369 - consolidated crosshair drawing and added ZDoom's crosshair code.
For Exhumed this is the default, for the other games it is an option.
Fixes #269.
2020-09-05 13:57:26 +02:00
Christoph Oelckers
80cea90854 - implemented zoom by mouse wheel for the automap.
Fixes #121
2020-09-05 09:10:24 +02:00
Christoph Oelckers
5a90f35aed - fixed order of Exhumed cinema texts and their color.
Fixes #286
2020-09-04 23:16:21 +02:00
sinisterseed
aed5f91b9c - small update to the credits (lowskill has evolved into sinisterseed) 2020-09-02 14:37:20 +02:00
Christoph Oelckers
921f4e54d9 - made a slash for the ammo display in Blood. 2020-09-02 00:45:27 +02:00
Christoph Oelckers
35b14753e7 - "alternative weapon" should be active in all games except Exhumed. 2020-09-01 21:30:22 +02:00
Christoph Oelckers
8905c5ee26 - fixed Exhumed inventory menu strings.
Fixes #295
2020-08-31 20:59:29 +02:00
Christoph Oelckers
678b8223a9 - fixed some errors in the keybind definitions.
Fixes #291
2020-08-31 20:19:41 +02:00
Christoph Oelckers
fcdf2d7bd7 - "Smooth mouse movement" referenced the wrong CVAR.
Fixes #290
2020-08-31 20:05:17 +02:00
Christoph Oelckers
2f05a93547 Merge branch 'Packet' into back_to_basics2
# Conflicts:
#	source/core/gamestruct.h
#	source/games/duke/src/gameloop.cpp
#	source/games/duke/src/player_d.cpp
2020-08-31 00:09:56 +02:00
Christoph Oelckers
30c15c11f2 - added the missing slash for the ammo display for Shadow Warrior's BigFont.
The also added percent and backslash were just waste products of its creation.
2020-08-30 20:50:54 +02:00
Christoph Oelckers
7af36ab6f9 - added a menu option for cl_showmagamt. 2020-08-30 20:36:49 +02:00
Christoph Oelckers
56d0647412 - migrated the last 3 remaining UI controls to CCMDs. 2020-08-29 17:49:15 +02:00
Mitchell Richters
be33872b42 - Blood: Implement WeaponSel_Alt for game. 2020-08-29 22:51:20 +10:00
Mitchell Richters
51a08fbaf3 - Duke: Implement WeaponSel_Alt for Duke and RR. 2020-08-29 21:27:58 +10:00
Christoph Oelckers
43de0d8312 - consolidation of inventory item activation through hotkeys.
This also adds hotkeys for Exhumed which never implemented them.
2020-08-27 21:25:09 +02:00
Christoph Oelckers
d05c839d79 - Exhumed only has 7 weapon slots.
Fixes #266.
2020-08-26 17:12:42 +02:00
Christoph Oelckers
c7f5f05e14 - cleaned up gamecvars.cpp and deleted a large amount of unused ones. 2020-08-26 17:05:17 +02:00
Christoph Oelckers
5df0a7241f - disabled a few menu options for unsupported features in Exhumed.
Fixes #255
2020-08-25 20:40:30 +02:00
Christoph Oelckers
a0e4d6f62c - implemented proper scaling support for the notify display - both the classic and advanced variant. 2020-08-25 18:03:15 +02:00
Christoph Oelckers
fef7608705 - made a few fixes for the fullscreen HUD in Nam:
* the font was placed too low
* the Duke health icon is not a health icon in this game so it had to be exchanged for something proper.
2020-08-24 22:12:56 +02:00
Christoph Oelckers
e7c58a5b29 - make hud_scale a floating point CVAR. 2020-08-24 21:48:47 +02:00
Christoph Oelckers
a5e798289b - add message scale value display to the menu.
Fixes #240
2020-08-24 20:47:43 +02:00
Christoph Oelckers
9bfea796df - fixed menu entries for automap bindings. 2020-08-24 20:37:29 +02:00
Christoph Oelckers
f1a988b221 - make use of map bindings
All automap controls have been moved there, and sizeup/sizedown have been made CCMDs, taking screen size management entirely out of the game modules
2020-08-24 20:20:15 +02:00
Christoph Oelckers
41a1120033 - added a native style display mode to the notification message display.
Fixes #9
2020-08-23 22:39:53 +02:00
Christoph Oelckers
1a0e413d5c - use CCMDs for Exhumed's input where applicable.
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
5c7b613aa7 - reworked the main loop. 2020-08-23 12:26:52 +02:00
Christoph Oelckers
6b1d6a44d7 - exported the item pickup messages to the string table and use the global 'nomonsters' flag. 2020-08-22 20:14:00 +02:00
Christoph Oelckers
bddd196539 - ported the credits screen. 2020-08-22 19:50:04 +02:00
Christoph Oelckers
d94077f833 - exported cinema texts to the string table as well. 2020-08-22 18:30:48 +02:00
Christoph Oelckers
0843f5f04a - ported the final level's text screen and exported its text to the string table. 2020-08-22 18:12:19 +02:00
Mitchell Richters
5cb3562bc1 Merge remote-tracking branch 'Raze-coelckers/master' into back_to_basics2 2020-08-21 15:16:31 +10:00
Christoph Oelckers
78bfbdb253 - Exhumed status bar work.
Unfortunately this is a bit limited due to how the data was designed.
2020-08-20 17:04:21 +02:00
Christoph Oelckers
a8b0839592 - switch SW to CCMD based input. 2020-08-16 16:00:40 +02:00
Christoph Oelckers
ef78e8602a - major cleanup and consolidation of the screen/hud resizing code.
This is now being handled by the backend, except for the processing of the key bindings which cannot be done yet.
2020-08-16 02:55:50 +02:00
Christoph Oelckers
6a10a7f266 - changed the rules for dimming the menu to be more clear
It will no longer depend on the game state when the menu was opened but the current game state - only on the dedicated menu screen there's no dimming - everywhere else a dim gets applied.

Also renamed GS_DEMOSCREEN to GS_MENUSCREEN for clarity
2020-08-11 00:46:27 +02:00
Mitchell Richters
5b91a11404 - Blood uses 'beastvision', not 'nightvision'.
Fixes #152.
2020-08-11 07:51:28 +10:00
Christoph Oelckers
f6162899de - Blood uses 'jumpboots', not 'jetpack'. 2020-08-10 20:09:10 +02:00
Mitchell Richters
9da9e97d07 - fix remaining Blood keybindings after CCMD migration.
Fully Fixes #135.
2020-08-10 23:09:34 +10:00
Mitchell Richters
1cdc5c820f - fix Blood keybindings after CCMD migration.
Fixes #135.
2020-08-10 23:05:56 +10:00
Mitchell Richters
57ad048031
- fix LCtrl bindings in wadsrc keybind preset files. (#73)
* Renamed LCtrl to Ctrl. Without these changes, the keybinds for LCtrl in the changed keybind preset files weren't binding.
2020-08-08 01:20:28 -04:00
Christoph Oelckers
3e8ff96e6b - added workaround for DukeDC's ending cutscene which was abusing undefined behavior in the original code. 2020-08-05 22:57:45 +02:00
Christoph Oelckers
00ecea47aa - use CCMDs for input in Blood where appropriate. 2020-08-02 20:44:37 +02:00
Christoph Oelckers
e211c7c91f - fixed module sample rate menu option
Fixes #79
2020-07-30 23:32:02 +02:00
Christoph Oelckers
0958bccade Disabled all adult censoring in Duke and RR.
Aside from being "authentic" the parental lock is just a stupid feature with often unwanted side effects.
2020-07-29 22:43:06 +02:00
Christoph Oelckers
7e8688ae2d - fixed snd_channels menu entry.
Fixes #57
2020-07-28 20:59:17 +02:00
Christoph Oelckers
4836744d26 - language update. 2020-07-26 23:27:39 +02:00
Christoph Oelckers
c0d46f6a69 - implemented proper scaling for the status bar.
Addresses #2.
2020-07-26 23:06:27 +02:00
Christoph Oelckers
07a7cade70 - removed dead weaponswitch variable 2020-07-26 17:55:22 +02:00
Christoph Oelckers
9b37489e3a - fixed option menu binding command and removed scoreboard until MP is working again
Fixes #26
2020-07-26 12:47:51 +02:00
Christoph Oelckers
d2a4b4eef9 - replaced the alias names for some tiles with their numbers in Menudef.
Fixes #1 It is not worth reimplementing the alias mechanism for a mere 3 names here.
2020-07-26 09:29:33 +02:00
Mitchell Richters
34c324e9c2 - fix binding for toggle cl_autorun. Fixes #6. 2020-07-26 14:31:14 +10:00
Mitchell Richters
41ba78cc23 - fix binding for centerview. Fixes #5. 2020-07-26 14:18:27 +10:00
Christoph Oelckers
d10bf41b03 - removed some obsolete stuff. 2020-07-24 19:44:05 +02:00
Mitchell Richters
cb050dbac9 - get rid of Redneck Deer Huntin' from engine\grpinfo.txt since the game isn't supported.
* Removes error in startup log for line #351.
2020-07-24 22:26:06 +10:00
Mitchell Richters
54d73ce9f8 - fix 'Quick Turn' for Duke. 2020-07-23 14:05:36 +10:00
Christoph Oelckers
29e107ad24 - use CCMDs for weapon and inventory selection, courtesy of ZDuke. 2020-07-17 20:56:10 +02:00
Christoph Oelckers
38751d19ac - changed all SYNCINPUT #defines into runtime checks so that both parts can be used and consolidated the 4 versions of the SeaSick code. 2020-07-16 17:59:25 +02:00
Christoph Oelckers
a0cd407632 - cleanup on pausing code. 2020-07-15 18:10:31 +02:00
Christoph Oelckers
e833360b65 - ported the level stats display to be game independent. 2020-07-02 23:56:22 +02:00
Christoph Oelckers
247c9fb786 - transitioned most parts of the menu to the backend's draw functionality. 2020-07-02 01:17:45 +02:00
Christoph Oelckers
197a35291a - added level summary screens and made the fade for the screens an engine feature.
This also hijacks one free element in the shader uniforms for the newly added factor.
2020-07-01 12:55:32 +02:00
Christoph Oelckers
67fa7f8275 - work on Duke intro sequence.
Now without any Build drawing code, it goes directly to DrawTexture now. :)
2020-06-28 00:32:28 +02:00
Christoph Oelckers
0596078978 - prepared folder for merging. 2020-06-21 22:18:12 +02:00
Christoph Oelckers
e29eb5bbed - added some ZScript basics.
This is merely the basics needed to actually implement something.
2020-06-20 09:46:41 +02:00
Christoph Oelckers
95b4340eec - initial palette shader work. 2020-06-17 12:26:01 +02:00
Christoph Oelckers
b753ea5db7 - preparations for passing palette lookup textures through the low level texture code. 2020-06-17 12:26:01 +02:00
Christoph Oelckers
65ddb6cb59 - disabled the game side frame limiter.
The backend has its own one, and unlike the one on the game side, it actually suspends execution when waiting.
2020-06-12 21:08:47 +02:00
Christoph Oelckers
6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers
22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Christoph Oelckers
a9141af545 - backend update. 2020-06-11 09:15:44 +02:00
Christoph Oelckers
17e1e4175e - switched NPOT emulation to the renamed uniforms.
This was the last feature that needed to be mapped to a GZDoom compatible render state
2020-06-08 08:16:50 +02:00
Christoph Oelckers
a6545788a6 - do RR's lightning flash as a postprocessing effect. 2020-06-07 22:06:47 +02:00
Christoph Oelckers
4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers
9fc5f2d2e7 - some shader cleanup.
I think it's now as close to GZDoom's backend interface as it can be without disabling needed features.
2020-06-07 10:15:31 +02:00
Christoph Oelckers
60d7f4f7c2 - got rid of the RF_NPOTEmulation flag.
This can easily be controlled with the 2 main variables alone.
2020-06-07 09:30:55 +02:00
Christoph Oelckers
353e3eb1fa - fixed RRRA E2L1 fog. 2020-06-07 08:24:12 +02:00
Christoph Oelckers
3adfdfcac5 - renamed a few more things in the shader. 2020-06-07 08:16:04 +02:00
Christoph Oelckers
232b0c1bb6 - store the lighting related uniforms in a GZDoom-style LightParms vec4. 2020-06-06 00:44:57 +02:00
Christoph Oelckers
0bd460d9e3 - split up the visibility factor into a scene specific and an element specific part.
The main reason here is that the scene specific part contains a projection dependent component which would be a problem when transitioning to GZDoom's code. The global viewpoint data already has a field for such a factor so now that gets used.
This also means a significant simplification of the visibility code in Polymost and the removal of several global variables.
2020-06-05 19:06:31 +02:00
Christoph Oelckers
9dfd3ddd02 - migration of texture tinting to GZDoom's version.
- start of visibility migration - removing unused globvis variable.
2020-06-05 17:02:21 +02:00
Christoph Oelckers
d812c2997c - start renaming uniforms to match GZDoom.
Needed to allow using the same shader with the backend.
2020-06-04 21:34:27 +02:00
Christoph Oelckers
b15cc31a38 - transitioned matrix setup to use the backend's uniform buffer implementation. 2020-06-04 20:14:48 +02:00
Christoph Oelckers
8430658cc5 - fixed texture filter menu entry. 2020-06-02 17:12:10 +02:00
Christoph Oelckers
350acd2ac3 - scale the vertex coordinates that get output to the hardware by 1024.
This is needed to get a coordinate system that is compatible with GZDoom's so that its lighting code can be reused more easily.
2020-06-01 09:55:28 +02:00
Christoph Oelckers
bd0c8acd46 - replaced detail matrix with a two element scale vector because that is all that is needed. 2020-05-31 12:23:35 +02:00
Christoph Oelckers
2841154683 - moved code around, got a few more utilities from GZDoom. 2020-05-31 10:37:19 +02:00
Christoph Oelckers
1d15fe63a6 - another backend update, pulling in the sky renderer. 2020-05-31 10:32:10 +02:00
Christoph Oelckers
5728241c1c - updated backend from GZDoom. 2020-05-30 23:10:17 +02:00
Christoph Oelckers
1bc744b77b - moved hictinting data into the lookup tables. 2020-05-29 20:15:42 +02:00
Christoph Oelckers
72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers
758e4ad7cb - stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
531c68edfe - use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/hw_draw2d.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/gl_texture.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/build/src/palette.cpp
#	source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
c403bc4a67 - don't double-multiply with alpha.
# Conflicts:
#	wadsrc/static/engine/shaders/glsl/polymost.fp
2020-05-24 16:46:08 +02:00
Christoph Oelckers
6a8efb7520 - update of music code, in particular separating the engine-specific lookup from the backend.
# Conflicts:
#	source/core/music/music.cpp

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 12:37:47 +02:00
Christoph Oelckers
c70d3b5b79 - fixed bad text macros. 2020-05-22 18:55:23 +02:00
Mitchell Richters
355ef884c8 Menudef: Polympost -> Polymost. 2020-05-22 16:42:35 +02:00
Mitchell Richters
e777225093 - fix keybind for 'TurnAround' (Turn_Around > TurnAround) in line with recent changes. 2020-04-13 23:59:46 +02:00
Christoph Oelckers
d46ea7481f - handle RRRA E1L2's fog in the shader instead of hacking the shade tables. 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
8e87674d4c - backend code matching with GZDoom 2020-04-12 08:30:40 +02:00
Mitchell Richters
27dd91a18d Menu System: Fix mouse sensitivity slider not working. 2020-04-02 08:18:23 +02:00
Christoph Oelckers
55922933bb - added to contributor credits. 2020-04-01 22:35:56 +02:00
Christoph Oelckers
5af0217db7 - got rid of the software rendering blend tables. 2020-03-29 17:23:57 +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
a5c2152530 - consolidated the dynamic tile handling for Duke and RR frontends 2020-03-06 17:12:38 +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
dbf446ee6c - ported the menu changes of the last commit. 2020-02-27 19:26:30 +01:00
Christoph Oelckers
314f8fee49 - clamp added brightness by brightmaps to a light level of 1.0. 2020-02-27 18:10:38 +01:00
Christoph Oelckers
32efc092c2 - text update. 2020-02-27 17:32: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
9cffd5b364 - forgot to save the shader... 2020-02-18 21:05:29 +01:00
Christoph Oelckers
6282062492 - fixed brightmaps.
They are no longer run through the texture postprocessor and the shader now applies them correctly.
2020-02-18 20:43:16 +01:00
Christoph Oelckers
de59841961 - crosshair scaling is only imlemented in games derived from Duke. 2020-02-18 19:08:28 +01:00
Christoph Oelckers
2182b4b1d4 - text update. 2020-02-16 23:12:01 +01:00
Christoph Oelckers
a873dcf6e0 - fixed the pause key.
Apparently SDL maps this to a different scan code.
Since pause is hard coded in all games the corresponding menu option has been disabled.
2020-02-16 17:22:14 +01:00
Christoph Oelckers
4323632ed2 Merge branch 'master' of https://github.com/coelckers/Raze 2020-02-14 00:56:50 +01:00
alexey.lysiuk
c69d987ec2 - fixed fatal error in menu definition
Script error, "engine/menudef.txt" line 1141: Unknown keyword 'ifgamne'
2020-02-14 11:42:11 +02: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
a75b035552 - added a few missing options to the menu 2020-02-14 00:11:11 +01:00
Christoph Oelckers
e9abbf53c6 - added the missing shadow option to the menu. 2020-02-12 22:09:22 +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
286d53d3bf - added the missing handling for the basepal tinting. 2020-02-11 20:55:47 +01:00
Christoph Oelckers
56092759ff - fixed typo in F5 keybind. 2020-02-11 19:34:37 +01:00
Christoph Oelckers
6231cec7c1 - sound backend update. 2020-02-09 13:26:51 +01:00
Christoph Oelckers
dbc958baeb - fixed swapped color channels in the tinting part of the shader. 2020-02-05 20:02:50 +01:00
Christoph Oelckers
b271574f90 - fixed typo. 2020-02-04 21:19:57 +01:00
CommonLoon102
1cb182be2f - more credits. 2020-02-03 20:44:33 +01:00
Christoph Oelckers
8412602621 - added more EDuke credits. 2020-02-02 20:29:43 +01:00
Christoph Oelckers
3a522091b9 - detect the add ons in the Megaton edition. 2020-02-02 13:33:07 +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
Christoph Oelckers
ca593f7dda - addon in grpinfo. 2020-02-01 18:03:32 +01:00
Christoph Oelckers
43ab68a238 - proper graphic for Exhumed's option menu item.
Thanks to Dynamo for creating it.
2020-01-29 22:06:35 +01:00
Christoph Oelckers
08ec38ce75 - fixed some missing menu texts. 2020-01-28 21:36:30 +01:00
Christoph Oelckers
9ca1e56713 - added extended sound lookup as well plus menu options. 2020-01-27 22:29:45 +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
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
57a455d6cb - swapped order of matrix application.
Model rotation must come before view rotation, this just never showed up because EDuke32 doesn't have both non-identity at the same time.
2020-01-19 13:59:45 +01:00
Christoph Oelckers
8cd9775513 - fixed VP8 video player.
Also do the color space conversion on the CPU to avoid the shader hassle, performance wise it is utterly irrelevant here.
2020-01-18 16:14:30 +01:00
Rachael Alexanderson
c21c7a0670 - fix scaling menu options 2020-01-17 08:13:05 -05: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
a0d02f2bea - text fixes. 2020-01-13 18:07:34 +01:00
Christoph Oelckers
d4a2d776cf - added detection for another variant of SW's Wanton Destruction add-on.
- corrected the main script name for WW2GI's Platoon Leader add-on.
2020-01-11 22:50:12 +01:00
Christoph Oelckers
55dab6d3d3 - hooked up the high color texture colorization code.
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
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
83292c9dd6 - fixed a few issues and added some savegame debug code for Shadow Warrior. 2020-01-05 18:49:19 +01:00
Christoph Oelckers
39c55199f9 - added a few missing menu things. 2020-01-03 20:37:02 +01:00
Magnus Norddahl
13a7b7d4b2 Hook up gl_ssao 2020-01-03 18:34:43 +01:00
Christoph Oelckers
c82d6de6c3 - fixed a few typos and uninitialized variables. 2020-01-03 17:08:41 +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
b564dc8273 - disabled MIDI device selection option. 2020-01-03 00:49:08 +01:00
Christoph Oelckers
62fd8a49c1 - fixed CVAR assignment for number of sound channels. 2020-01-03 00:47:13 +01:00
Christoph Oelckers
85593e3e93 -missing menu text fixes. 2020-01-02 20:45:17 +01:00
Christoph Oelckers
fe4c20143a - removed OPL related menu entries. 2020-01-02 20:15:43 +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
Christoph Oelckers
6dfb15c548 - let's not forget this - even if not in use for now. 2019-12-29 17:06:13 +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
c4219f40be - renamed the project to "Raze". 2019-12-28 14:10:25 +01:00
Christoph Oelckers
f77736ccb4 - renamed Exhumed filter folder to bring in line with the rest. 2019-12-26 14:47:00 +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
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
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
e9602e0e74 - SW grpinfo updates. 2019-12-26 08:42:35 +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
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
10683e9123 - added GZDoom's Windows backend code.
Compiles but doesn't link yet.
2019-12-22 20:55:47 +01:00
Christoph Oelckers
ee93c6e366 - fixed voxel lighting.
In all that impenetrable voodoo math from Polymost it picked the wrong vector to calculate the depth of the scene and since I apparently removed the compensation math for the broken shader on the C++ side the calculated value was no longer correct.
That Polymost renderer really needs to go away. :(
2019-12-19 17:51:33 +01:00
Christoph Oelckers
3f9657b96a - removed all leftover dependencies on the old sound backend. 2019-12-18 22:24:50 +01:00
Christoph Oelckers
ea9a84752f - switched the volume slider to the OpenAL backend. 2019-12-16 09:32:58 +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
a28cd17454 - refactoring of DN3D sound code complete but not tested yet. 2019-12-15 13:34:00 +01:00
Christoph Oelckers
957d997353 - made joystick configuration menu operational. 2019-12-14 19:21:49 +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
5ac0eaad0b - added support data for the Powerslave demo. 2019-12-14 09:48:04 +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
264a450bbe - corrected labels for Blood's weapon pickup strings. 2019-12-11 23:52:34 +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
ae0687a300 - exported level strings from Blood and Shadow Warrior to the string table. 2019-12-11 19:36:38 +01:00
Christoph Oelckers
16818d2d71 - exported Shadow Warrior strings to stringtable.
The MP obituaries are not handled yet, they were only copied but there's no code using them.
2019-12-09 21:19:05 +01:00
Christoph Oelckers
e62f6cbc20 - weapon and ammo names are now also localizable. 2019-12-09 19:49:36 +01:00
Christoph Oelckers
da1900dc8a - same for inventory pickup messages. 2019-12-09 19:00:30 +01:00
Christoph Oelckers
670c8b1408 - use the quote array to store the key, door and fortune cookie messages in Shadow Warrior.
This is infinitely better than leaking char pointers.
2019-12-09 18:40:07 +01:00
Christoph Oelckers
9134bebc46 - use base SWCustom.txt as the default way to define stuff, instead of relying on the hard coded texts. 2019-12-09 17:22:38 +01:00
Christoph Oelckers
ba978ab0d9 - text update and missing includes. 2019-12-09 17:17:15 +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
2ed03214b1 - disable the save option in SW's main menu if no game is running. 2019-12-07 15:07:43 +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
66756bfa13 - final fixes for Blood's and Duke Nukem's menus. 2019-12-06 18:36:49 +01:00
Christoph Oelckers
1b9d1943c9 - initialize all dynamic music related menus. 2019-12-05 20:50:19 +01:00
Christoph Oelckers
54177cd27d - added the animated player display. 2019-12-05 19:52:46 +01:00
Christoph Oelckers
98d3cb19c9 - added the miscellaneous options menu.
This should be the last one, except for the message confirmation screen.
Not all options are implementation backed yet, there's still work to do
2019-12-05 19:17:44 +01:00
Christoph Oelckers
169d68f583 - fixed stuff and cleaned out most of the old menu code. 2019-12-05 19:00:40 +01:00
Christoph Oelckers
628bd9efc6 Filled in the rest of the menus
Sound is only partially functional, video mode completely nonfunctional, but it makes no sense adjusting them to the current backend code when it's due for replacement.
2019-12-05 00:47:05 +01:00
Christoph Oelckers
cb0538d0f2 - mouse aiming cleanup.
Reverted this to a sane setting, as it was in the original games and in all other games I have ever seen, i.e. there is a global setting to enable mouse view, and a button to manually trigger it. The toggle can be easily handled by flipping the CVAR directly.
The main problem here was that it triggered a few cases for mouse-less gameplay in the default case with a mouse present, because the mouseaim CVAR was no longer what the game expected.
This misguided change seems to have originated in JFDuke but by now had propagated to all the other games as well, the code was in all 4 frontends.
2019-12-05 01:08:35 +01:00
Christoph Oelckers
5b0033c08c - minor menu tweaks and fixes. 2019-12-04 18:52:39 +01:00
Christoph Oelckers
dca118881a - added graphics for the mouse back button and reactivated the code for it. 2019-12-04 17:55:43 +01:00
Christoph Oelckers
138326314e - text update. 2019-12-04 17:30:41 +01:00
Christoph Oelckers
7d1eb74b5e - more menus implemented 2019-12-04 01:38:51 +01:00
Christoph Oelckers
fb5d944170 - made the mouse sensitivity CVARs floating point so that the menu can display them properly.
- disabled the mouse movement sensitivity CVARs pending a refactoring of the code to handle them in the input backend instead of the individual input handlers.
2019-12-03 20:49:56 +01:00
Christoph Oelckers
49e0e551d6 - fixed the sliders. 2019-12-03 20:32:35 +01:00
Christoph Oelckers
6245a0e2e2 - added mouse and controller menus
The controller menu obviously does not work yet, it needs quite a bit of backing code fron GZDoom first.
2019-12-03 01:21:27 +01:00
Christoph Oelckers
65ae00fb74 - completion of controls menu
- some message printing cleanup in SW frontend. This still has its native console that needs to be removed.
2019-12-03 00:57:03 +01:00
Christoph Oelckers
d40cdd0af4 - added map definition file for Wanton Destruction add-on. 2019-12-02 21:48:04 +01:00
Christoph Oelckers
bc3a921a72 - fixed newly added menu content. 2019-12-02 19:21:45 +01:00
Christoph Oelckers
026cc7153c - externalized the controller bindings and removed all code responsible for maintaining them separately.
Bindings were changed a bit because what was there was a very poor default for my own controller.
2019-12-02 18:33:11 +01:00
Christoph Oelckers
26daff79db - fixed compile errors and updated string table. 2019-12-02 18:11:10 +01:00
Christoph Oelckers
3cf6e6eb78 - Ion Fury inventory actions 2019-12-02 12:11:42 +01:00
Christoph Oelckers
2c218349d4 - added control menu contents 2019-12-02 00:43:33 +01:00
Christoph Oelckers
71c2a8f33a - made the main option menu work. 2019-12-02 00:16:48 +01:00
Christoph Oelckers
eb668180c8 - implemented help and credits menu for Blood. 2019-12-01 21:44:50 +01:00
Christoph Oelckers
1cfe5be130 - fixed creation of true color textures.
The palette check was not correct so they ended up empty and caused other problems down the line.
2019-12-01 21:43:54 +01:00
Christoph Oelckers
e8c5939695 - more work on Blood menus. Game start works. 2019-12-01 20:17:30 +01:00
Christoph Oelckers
e2be025433 - fixed the Ion Fury credit screens.
The entire 'fix' here consisted of hacks to give the CON script exactly what it needs to show them as intended.
2019-12-01 17:48:56 +01:00
Christoph Oelckers
b372cb5f35 - the primary Blood menus are working.
Now this was magnitudes easier than the EDuke menu - NBlood's menu is actually clean and usable code but still nothing compared to a unified menu system.
2019-12-01 15:31:08 +01:00
Christoph Oelckers
0fc439a969 - fixed Redneck Rampage ingame menu and added selection validation to the load menu. 2019-11-30 23:59:22 +01:00
Christoph Oelckers
41b116e2f2 - save menu in Duke Nukem is working. 2019-11-30 22:46:00 +01:00
Christoph Oelckers
9d71416a55 - key binding verification.
Should be correct now, except for a few places which were unified.
2019-11-30 20:18:42 +01:00
Christoph Oelckers
d474478800 Merge branch 'master' into powerslave
# Conflicts:
#	wadsrc/static/demolition/demolition.grpinfo
2019-11-30 01:12:20 +01:00
Christoph Oelckers
8df8fc436a - fixed GRPINFO. 2019-11-30 01:07:47 +01:00
Christoph Oelckers
b3c335cd1d Merge branch 'menu_for_real' of https://github.com/coelckers/demolition into menu_for_real
# Conflicts:
#	source/common/menu/loadsavemenu.cpp
#	source/duke3d/src/d_menu.cpp
#	source/rr/src/d_menu.cpp
2019-11-30 01:06:37 +01:00
Christoph Oelckers
94b4044d95 - text file update. 2019-11-29 21:06:38 +01:00
Christoph Oelckers
eded45cf98 - fixed GRPINFO. 2019-11-29 20:44:36 +01:00
Christoph Oelckers
a7bbd7324e Merge branch 'master' into menu_for_real 2019-11-29 19:55:16 +01:00
hendricks266
1616ee0c6a - added more SW GRP detection data (from latest VoidSW)
- added SWCustom.txt from SWP, mainly as reference. What's really needed is one for Wanton Destruction, though.
2019-11-29 19:51:28 +01:00
Christoph Oelckers
ebcc25f36d - prototyping the Blood fullscreen menu entries
These are a bit more sophisticated than what the other games have. ;)
2019-11-29 02:12:38 +01:00
Christoph Oelckers
af81141f82 - defined credits and "help" menu for Shadow Warrior
Credits follows the recent VoidSW change, so the help menu will now take care of the ad screens - provided that someone goes to the console and tries to open it.
2019-11-29 01:52:21 +01:00
Christoph Oelckers
f1f5d432d0 - adjustment for pulled changes. 2019-11-29 00:51:40 +01:00
Christoph Oelckers
0cedad6390 - started work on load/save menus. 2019-11-29 00:37:19 +01:00
Christoph Oelckers
943cb64eda - image scroller menus working. 2019-11-28 23:27:10 +01:00
Christoph Oelckers
1f1b927b6b - fixed a few issues. 2019-11-28 20:11:27 +01:00
Christoph Oelckers
115675417a Merge branch 'master' into powerslave 2019-11-28 17:07:11 +01:00
Christoph Oelckers
4e5f59a373 - Menu WIP
* implemented single image screens
* implemented skeleton of the image scroller
* added RR-specific definitions to the menus (need to copy and adjust d_menu.cpp)
* added definitions for credits screens.
2019-11-28 01:02:45 +01:00
Christoph Oelckers
2c36e986b9 - fixed most issues with Ion Fury's game startup menus. 2019-11-27 22:41:15 +01:00
Christoph Oelckers
46d1f8517a - animated transitions are working. 2019-11-26 22:05:52 +01:00
Christoph Oelckers
248c2feba2 - missed one binding definition file. 2019-11-26 21:26:01 +01:00
Christoph Oelckers
1adceb82ef - consolidation of defbinds definitions.
Putting all the generic definitions in files used by all games greatly reduces the clutter and chance for errors.
2019-11-26 21:06:43 +01:00
Christoph Oelckers
a74a670c99 -- more work on the menu - episode and skill menus are working in DN3D. 2019-11-25 23:21:51 +01:00
Christoph Oelckers
d73f915c66 - episode menu setup. 2019-11-25 18:41:39 +01:00
Christoph Oelckers
1f1e39fac0 - consolidation of texts for episode and skill menus
So far without localization capability - the engine cannot handle it yet.
2019-11-25 00:02:00 +01:00
Christoph Oelckers
d7bc013eee - empty templates for the programmatically generated menus 2019-11-24 23:12:58 +01:00
Christoph Oelckers
42b3d12630 - Ion Fury's main menu now looks correct. 2019-11-24 22:31:27 +01:00
Christoph Oelckers
6e3bd75b1a - fixed Blood fullscreen tinting.
The lookup table for blend equations was missing one entry at the start. No idea why this became apparent only now.
2019-11-24 21:21:31 +01:00
Christoph Oelckers
57b542671c - Ion Fury main menu fixes. 2019-11-24 20:40:53 +01:00
Christoph Oelckers
b3b5ac440a - fixed Blood fullscreen tinting.
The lookup table for blend equations was missing one entry at the start. No idea why this became apparent only now.
2019-11-24 19:07:23 +01:00
Christoph Oelckers
40772d9f0c - making more things compile. 2019-11-24 10:03:19 +01:00
Christoph Oelckers
52cfb7fb92 - completely disconnected the old menu from the rest of the game to allow rebuilding the new one.
Sadly this uncovered a few more places where script events are allowed too broad access to the game state.
2019-11-23 23:05:24 +01:00
Christoph Oelckers
326d0f5f76 - the new menu displays something. 2019-11-23 17:50:36 +01:00
Christoph Oelckers
f2fc3fc2cb - WIP commit. 2019-11-23 12:38:38 +01:00
Christoph Oelckers
ceb07280cf - more work on the menu.
Duke Nukem's menu title is getting rendered.
2019-11-22 22:52:11 +01:00
Christoph Oelckers
5f9b57519a - hooked up the menu code so that it can receive events.
Nothing pretty yet but a start is made.
2019-11-21 22:31:46 +01:00
Christoph Oelckers
81ddf22d5d - added ZDoom's menu system as a base to build a new menu on.
# Conflicts:
#	source/CMakeLists.txt
#	source/build/src/engine.cpp
2019-11-21 18:03:09 +01:00
Christoph Oelckers
022c074ece - fixed brightmaps again - hopefully for real this time.
The lighting model being used here is not really good for implementing render effect.
2019-11-11 23:54:09 +01:00
Christoph Oelckers
9f9748ede6 - initial ZMusic hookup. 2019-11-10 23:58:51 +01:00
Christoph Oelckers
5fc81d1bd4 - made brightmaps operational.
The logic is not yet optimal but at least it works.
2019-11-10 19:42:26 +01:00
Christoph Oelckers
cae710bd59 - fixed alpha threshold.
Not only is this a deprecated feature - it also does not work right when complex lighting is at play, it must be done in the shader to get proper results.
2019-11-10 10:01:31 +01:00
Christoph Oelckers
2997bb6292 - the keybinding menu is finally working.
Obviously the existing menu implementation from Duke Nukem needs to be tossed out at some point, but at least the functionality is there again.
2019-11-09 22:22:51 +01:00
Christoph Oelckers
2d46827ecc font
- Dear ImGUI test.
2019-11-07 20:32:49 +01:00
Christoph Oelckers
b6a3a60251 - console output is functional. 2019-11-06 23:40:10 +01:00
Christoph Oelckers
5d31119a49 - fixed the Shadow Warrior menu, but it doesn't do much good. The game appears to be thoroughly broken. 2019-11-06 19:22:14 +01:00
Christoph Oelckers
f252eaffbc - fixed font translation setup. 2019-11-06 00:00:33 +01:00
Christoph Oelckers
d943fe036d - added the ZDoom console and made all needed changes to get it compiled. 2019-11-05 19:57:48 +01:00
Christoph Oelckers
bbf0a73471 - input works again. 2019-11-04 20:29:07 +01:00
Christoph Oelckers
25341c7221 - hook up the buttons.
This is still just glue code, the Build implementation suffers from poor support for multiple keys bound to a single button so they are due for replacement as soon as input is working again.
2019-11-04 18:17:14 +01:00
Christoph Oelckers
1b65510bc2 - kaybinds updated, including mouse buttons.
Joysticks not yet done.
2019-11-04 00:05:11 +01:00
Christoph Oelckers
dc9d75685e - fixed keybind setup. 2019-11-02 20:13:00 +01:00
Christoph Oelckers
4cf62fca77 - do not load subdirectories of the game directory. They cannot contain anything useful because the original assets never used subdirectories.
- fixed RRRA game flags.
2019-11-02 19:12:01 +01:00
Christoph Oelckers
cfca8060ba - gutted cache1d. The old file system is gone, excepr for klistpath, which still gets used in a few places.
- consolidated the 3 identical S_OpenAudio implementations. The replacement code is disabled for the time being because it needs a rewrite. The replacement logic is uses is a bit too volatile.
- removed the old GRP scan code.
2019-11-01 22:17:15 +01:00
Christoph Oelckers
7aa9f53a6b - added DEF names to internal grpinfo. 2019-11-01 07:38:56 +01:00
Christoph Oelckers
c6753a3fec - tested and fixed game list loader. 2019-10-31 00:41:56 +01:00
Christoph Oelckers
7f250fc3e8 - WIP on game data search. 2019-10-30 18:09:00 +01:00
Christoph Oelckers
82c844e405 - added GZDoom's resource management classes. 2019-10-28 23:46:15 +01:00
Christoph Oelckers
ef9f50aa12 - extracted all original combat macro texts from the original games.
Unlike EDuke32 the new config system can handle them per game. Usefulness is another matter, though.
2019-10-27 00:48:07 +02:00
Christoph Oelckers
db1a9a9363 - the config finally get saved.
Still with a few errors, though.
2019-10-26 20:47:37 +02:00
Christoph Oelckers
1e0d49f947 - game starts again. 2019-10-26 13:16:32 +02:00
Christoph Oelckers
f1cdaf6054 - changed mismatching names in the binding files. 2019-10-26 11:32:39 +02:00
Christoph Oelckers
5abc034540 - added a set of left handed key bindings because neither of the offerings is really good for that. 2019-10-26 09:22:49 +02:00
Christoph Oelckers
47acdae8e6 - moved binding files to subdirectory
- fixed search/replace error.
2019-10-26 09:05:17 +02:00
Christoph Oelckers
cfaafcede7 - everything compiles again (not tested yet.) 2019-10-26 00:32:49 +02:00
Christoph Oelckers
85d377647a - tweaked the fade ramp a bit.
For Duke Nukem and its direct offspring (Nam, WW2GI and Redneck Rampage) the ramp is not a linear fade from 0 to 1, it needs to be a little darker than that.
Unfortunately the proper factor needed here must be set manually, this cannot really be calculated from the lookup tables.
2019-10-20 01:14:48 +02:00
Christoph Oelckers
7d2f61db2e - converted all boolean parameters of the shader into a single flag word.
- discarded the idea of transient palettes because the maintenance here stood in no relation to the savingd.
2019-10-19 22:46:37 +02:00
Christoph Oelckers
2152780806 - added some hackery to render voxels properly again.
Something about their data preparation is not right, their depth looks totally off and causes fog to become to dense.
One more reason to reconstruct the renderer in a sane fashion.
2019-10-19 18:14:13 +02:00
Christoph Oelckers
e2f9e12efb - implemented shade level based depth fading for the true color renderer. 2019-10-19 16:35:06 +02:00
Christoph Oelckers
cd7bbe35a8 - removed all legacy fog code. 2019-10-19 15:52:46 +02:00
Christoph Oelckers
bc986b8054 - make the engine consistently use BGRA data - the internal palettes were still RGBA, which caused problems down the line.
- increased cache size to 200 MB (Note: The cache really needs to be replaced with something better that can adapt better to a system's RAM size.)
2019-10-19 10:22:02 +02:00
Christoph Oelckers
00d59459a1 - fixed creation of true color textures and disabled fog in palette mode.
The fog should go away entirely but in palette mode it made everything too dark.
2019-10-18 22:09:19 +02:00
Christoph Oelckers
23265ad213 - rework of texture management for models
Voxels yet to do.
This also removes the redundant texture matrix for the glow texture.
2019-10-18 14:04:32 +02:00
Christoph Oelckers
179076c4b1 - set up the texture matrix. 2019-10-10 19:46:46 +02:00
Christoph Oelckers
7131fe6c6e - use separate textures for the palswap shade tables.
This creates a lot less mess than one big texture and also allows easier use of texelFetch in the server which is preferable for data textures.
2019-10-08 01:08:08 +02:00
Christoph Oelckers
06e9a60190 - nothing 2019-10-08 00:02:37 +02:00
Christoph Oelckers
971d8c7b8d - fixed shade interpolation. 2019-10-07 23:32:58 +02:00
Christoph Oelckers
ddc6f70aee - fixed palette application in shader. 2019-10-07 23:11:59 +02:00
Christoph Oelckers
623511021f - cleaned up the fragment shader and gave it some workable structure.
Important note here: branches are not the root of all evil - but mangled unreadable code actually is!
2019-10-06 22:30:27 +02:00
Christoph Oelckers
7185bbad81 - fraqment shader cleanup part one. 2019-10-06 21:23:51 +02:00
Christoph Oelckers
cf30f5560b - upgraded the polymost fragment shader to GLSL 3.3 as well, removing all legacy features from it.
The only compatibility mode feature left is the main drawer function using glBegin/glEnd but changing that is not as urgent as the rest.
This also cleans up the fog application and adds the exponential fog mode again that somehow got lost over time.
2019-10-06 12:42:35 +02:00
Christoph Oelckers
3d538b4c8f - use explicit vertex attributes for everything.
No more glVertex, glTexCoord or glColor calls anywhere.
2019-10-06 10:46:23 +02:00
Christoph Oelckers
0720ad5fd5 - make all varyings in the polymost shader explicit and declare the surface shader as v3.30 as it already used modern syntax. 2019-10-06 10:29:17 +02:00
Christoph Oelckers
71d132b470 - use explicitly declared matrix uniforms.
The builtin matrices are no longer available in modern GLSL, preventing an upgrade of the shader.
Also perform better reporting of shader compilation errors.
2019-10-06 10:19:51 +02:00
Christoph Oelckers
8fd8d0858c - started modernizing the shader.
This is one unbelievable piece of weird coding based on the 15 year old concept to avoid conditionals at all costs.
As a result the code is totally unreadable and no longer really portable to modern OpenGL.
This has to be done in small pieces.
2019-10-06 10:07:09 +02:00
Christoph Oelckers
93ad83b380 - use GZDoom's texture backend to read hightile textures. (Hightile tinting code moved to the shader but isn't active yet.
- remove all code for faking gamma correction through palette manipulated images.
2019-10-05 21:59:03 +02:00
Christoph Oelckers
3fb5154dc9 - make it work again. 2019-10-05 14:17:59 +02:00
Christoph Oelckers
3c193bb243 - moved the animvpx shader to the backend code.
This removes the final access to OpenGL from the rest of the source, with the exception of the glFinish call in the swap code.
2019-10-05 13:38:02 +02:00
Christoph Oelckers
0ee80628a2 - moved documentation out of the Source folder and added surface shader sources. 2019-10-05 13:17:26 +02:00
Christoph Oelckers
644b07b718 - minor fixes. 2019-10-05 12:39:50 +02:00
Christoph Oelckers
d058084c10 - added an engine resource file.
Currently this only contains the main Polymost shaders and the resources from nblood.pk3.
The latter cannot be used yet because the Build resource management system is too stubborn to add the newly added file without some changes.
It's better to refactor the entire system instead.
2019-10-04 23:29:00 +02:00