From 9c36d2f66141d55da404bb8af6a9e82bad743bec Mon Sep 17 00:00:00 2001 From: Daniel Gibson Date: Sat, 27 Jul 2024 22:06:09 +0200 Subject: [PATCH] Mods menu: improve base and d3xp entries, set d3xp basemod for more mods the base game entry is now called "Doom 3 (base game)" instead of "dhewm3", which should be more obvious, and the d3xp entry now reads "Resurrection Of Evil (d3xp)" instead of just "d3xp", which certainly is clearer. d3xp now is also always second in the list (if installed) Added the freshly supported perfected_roe and sikkmodd3xp mods to the list of mods that need fs_game_base d3xp set, so they can be started from the menu. also added an entry for r_gammaInShader to Configuration.md --- Changelog.md | 5 ++++- Configuration.md | 2 ++ neo/framework/FileSystem.cpp | 12 +++++++++--- neo/framework/Session_menu.cpp | 2 ++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Changelog.md b/Changelog.md index 4eae2bd7..be6f93b6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -41,7 +41,10 @@ Note: Numbers starting with a "#" like #330 refer to the bugreport with that num resizing the window that way also triggered the bug, and in that case no `vid_restart` is done at all * Fixed screenshots when using native Wayland (`SDL_VIDEODRIVER=wayland`) * If you enter the `map` command in the console, without any arguments, the current map name is printed -* Support OpenGL debug contexts and messages (`GL_ARB_debug_output`). Can be enabled with `r_glDebugContext 1`. Changing that CVar requires a `vid_restart` (or set it as startup argument) +* Support OpenGL debug contexts and messages (`GL_ARB_debug_output`). Can be enabled with `r_glDebugContext 1`. + Changing that CVar requires a `vid_restart` (or set it as startup argument) +* The Mods Menu's entries for the base game and d3xp/RoE are now clearer, and it can load the new + d3xp-based mods (sikkmodd3xp, perfected_roe) 1.5.3 (2024-03-29) ------------------------------------------------------------------------ diff --git a/Configuration.md b/Configuration.md index cb12bdf8..78410b4f 100644 --- a/Configuration.md +++ b/Configuration.md @@ -215,6 +215,8 @@ This can be configured with the following CVars: - `r_enableDepthCapture` Enable capturing depth buffer to texture. `0`: disable, `1`: enable, `-1`: enable automatically (if soft particles are enabled; the default). This can be used in custom materials with the "_currentDepth" texture. +- `r_gammaInShader` If set to `1` (the default), gamma and brightness are applied in shaders + instead of using hardware gamma. May cause visual glitches with some mods like Sikkmod. - `r_useCarmacksReverse` Use Z-Fail ("Carmack's Reverse") when rendering shadows (default `1`) - `r_useStencilOpSeparate` Use glStencilOpSeparate() (if available) when rendering shadow (default `1`) - `r_scaleMenusTo43` Render full-screen menus in 4:3 by adding black bars on the left/right if necessary (default `1`) diff --git a/neo/framework/FileSystem.cpp b/neo/framework/FileSystem.cpp index 83738e6a..6505956e 100644 --- a/neo/framework/FileSystem.cpp +++ b/neo/framework/FileSystem.cpp @@ -1741,8 +1741,8 @@ idModList *idFileSystemLocal::ListMods( void ) { ListOSFiles( gamepath, ".pk4", pk4s ); if ( pk4s.Num() ) { if ( !list->mods.Find( dirs[ i ] ) ) { - // D3 1.3 #31, only list d3xp if the pak is present - if ( dirs[ i ].Icmp( "d3xp" ) || HasD3XP() ) { + // DG: ignore d3xp, it's added explicitly later, if available + if ( dirs[ i ].Icmp( "d3xp" ) ) { list->mods.Append( dirs[ i ] ); } } @@ -1778,7 +1778,13 @@ idModList *idFileSystemLocal::ListMods( void ) { } list->mods.Insert( "" ); - list->descriptions.Insert( "dhewm 3" ); + list->descriptions.Insert( "Doom 3 (base game)" ); + + // DG: if installed, add d3xp with useful description, right below the base game + if ( HasD3XP() ) { + list->mods.Insert( "d3xp", 1 ); + list->descriptions.Insert( "Resurrection Of Evil (d3xp)", 1 ); + } assert( list->mods.Num() == list->descriptions.Num() ); diff --git a/neo/framework/Session_menu.cpp b/neo/framework/Session_menu.cpp index c69859a7..e09b14aa 100644 --- a/neo/framework/Session_menu.cpp +++ b/neo/framework/Session_menu.cpp @@ -562,6 +562,8 @@ static void loadMod ( const idStr& modName ) { // (and that are supported by dhewm3), add them here "d3le", // The Lost Mission "librecoopd3xp", + "perfected_roe", + "sikkmodd3xp", // Doom 3: Phobos (they haven't released source yet, so it won't work yet, // but ain't I ever the optimist..) "tfphobos"