Commit graph

641 commits

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