Skip to content

[MOD] Reveal Hidden Gameplay Options (for all EE games patched to v2.0 or higher)

argent77argent77 Member Posts: 3,475
edited May 2023 in UI Modding

Reveal Hidden Gameplay Options


Download: Reveal Hidden Gameplay Options (latest)

Overview

The Enhanced Editions provide a great number of settings that are not directly accessible within the in-game options menu, but instead have to be enabled or disabled manually in the game's configuration file which might discourage less computer-savvy players from using them.

This mods adds a number of useful options directly to the game, which includes the (in)famous debug console, various graphics and feedback settings, and more.

The mod is available in English, French, German, Polish, Russian and Brazilian Portuguese.

Compatibility and installation order

The mod supports all Enhanced Edition games patched to v2.0 or higher, which includes BG:EE, BG:SoD, BG2:EE, EET, IWD:EE and PST:EE. It is also compatible with Pecca's "Dragonspear UI++" and Lefreut's Enhanced UI (LeUI). Some options may be moved into other sections when these mods have been detected.

The mod can not be installed together with EEUITweaks component "Hidden Game Options". You can install either one, but not both at the same time.

Patching UI definition files can be tricky. To ensure that a failed patch attempt does not corrupt the game it will fail with a forced error and restore the original state of the patched files.

It is recommended to install this mod after Tweaks Anthology and any GUI mods. The component "Improved Cheat Menu" should be installed after any content mods to maximize its usefulness.

Components


1. Install Hidden Gameplay Options (main component)

This component allows you to choose whether to install selected options individually or all at once. See more detailed information about individual options below.


The following components are available when you chose to select options individually:

2. Add in-game option "Enable Debug Console"

Allows you to enable cheat keys and the debug console in the game.

Option can be found in Gameplay section.


3. Add in-game option "Enable UI Edit Mode"

Enabling this setting allows you to use UI edit functionality in the game.

Option can be found in Gameplay section.


4. Add in-game option "Show Strrefs"

Setting this option places string reference numbers in front of game strings.

Option can be found in Gameplay section.


5. Add in-game option "Show trigger icons on tab"

Setting this option reveals more information about interactive regions when pressing the TAB key.

Option can be found in Gameplay section.


6. Add in-game option "Allow Spacebar in Dialogs" (only available in PST:EE)

Setting this option allows you to use the spacebar to continue in dialogs.

Option can be found in Gameplay section.


7. Add in-game option "Limits druidic spells for Cleric/Ranger" (not available in PST:EE)

Setting this option limits druidic spell levels to level 3 for Cleric/Rangers (as per D&D rules).

Option can be found in Gameplay section.


8. Add in-game option "3E Sneak Attack"

Setting this option activates Sneak Attack and Crippling Strike, which are special abilities similar to those from 3rd Edition Dungeons & Dragons rules.

Option can be found in Gameplay section.


9. Add in-game option "Critical Hit Screen Shake"

Setting this option triggers a screen shake whenever a party member rolls a critical hit in combat.

Option can be found in Gameplay > Feedback > Visual Feedback (or Gameplay section in PST:EE).


10. Add in-game option "Hotkeys On Tooltips"

When this option is enabled tooltips will display hotkeys when available.

Option can be found in Gameplay > Feedback > Visual Feedback (or Gameplay section in PST:EE).


11. Add in-game option "Show extra combat info"

Setting this option displays all factors that influence an attack roll.

Option can be found in Gameplay > Feedback > Feedback Messages.


12. Add in-game option "Show Game Date and Time on Pause"

Setting this option shows game date and time when activating pause.

Option can be found in Gameplay > Feedback > Feedback Messages.


13. Add in-game option "Disable Area Map Zoom" (only available in PST:EE)

Setting this option disables animation when zooming in or out of the area map screen.

Option can be found in Graphics > Display Options.


14. Add in-game option "Reverse Mouse Wheel Zoom"

Setting this option reverses zoom direction when using the mouse wheel.

Option can be found in Graphics > Display Options.


15. Add in-game option "Pause Game on Map Screen"

Setting this option causes the game to pause whenever the map screen is active.

Option can be found in Graphics > Display Options.


16. Add in-game option "Enable Fog" (not available in PST:EE)

Setting this option enables fog effects on maps.

Option can be found in Graphics > Display Options.


17. Add in-game option "Disable Movies"

Enabling this option disables movie playback.

Option can be found in Graphics > Display Options.


18. Add in-game option "No Cosmetic Attacks" (only available for PST:EE)

Enabling this option shows attack animations only when characters are making real attacks. This option is already available in unmodded BG:EE, BG2:EE and IWD:EE.

Option can be found in Gameplay section.


19. Add in-game option "XP Bonus in Nightmare Mode" (not available for PST:EE)

Enabling this option allows your characters to get bonus XP in Legacy of Bhaal Mode (BGEE/BG2EE) or Heart of Fury Mode (IWDEE). This setting will not affect the extra XP granted by the regular difficulty modes.

Option can be found in Gameplay section.


20. Add in-game option "Trigger Bored Sounds" (not compatible with Lefreut's Enhanced UI (LeUI))

Enabling this option will trigger bored sounds when you haven't assigned actions to your characters for an extended period of time.

Option can be found in Sounds > Character Sounds or Gameplay > Feedback (PST:EE only).


21. Add in-game option "Frame Rate" (experimental) (not available for PST:EE, not compatible with Lefreut's Enhanced UI (LeUI))

This component installs a slider control that can be used to set the desired frame rate of the game. You can choose between 30, 40 and 50 frames per second. The game's default is 30 fps.

The component is marked as "experimental", as there are situations where setting this option has
no effect:
1. When Options > Gameplay > Feedback > "More Confirmation Prompts" is active.
2. When quitting the game directly to the desktop from a running game.

Option can be found in Gameplay section.


22. Add in-game option "Action Feedback" (not compatible with Lefreut's Enhanced UI (LeUI))

This component installs a slider control that can be used to show small symbols around character sprites that indicate their current action (e.g. fighting, spellcasting or thieving actions). You can choose between several feedback levels. Higher levels are only effective when option "Debug Mode" has been enabled as well.

Option can be found in Gameplay > Feedback.


23. Add in-game option "Display Level Up Icon" (only available for PST:EE, requires "Level Up" Icon Tweaks)

This option allows you to show or hide the "Level Up" icon, that can be found in the portrait window or health bar of party members that are ready to level up. It requires the mod "'Level Up' Icon Tweaks" to be installed, which adds the functionality to toggle visibility of the icon.

Option can be found in Gameplay > Feedback.


24. Add in-game option "Show Area of Effect Range" (not available for PST:EE)

Setting this option displays the range of an Area of Effect spell before it is fired. This option has no effect in games before patch version 2.5.16.6.

Option can be found in Gameplay > Feedback > Visual Feedback.


25. Add in-game option "Enhanced Path Search"

Improves pathfinding by continuously recalculating the search path of characters.

Option can be found in Gameplay section.


26. Add in-game option "Expire Trap Highlights" (not available for PST:EE)

Controls whether highlighting of detected traps or hidden doors should disappear after while.

Option can be found in Gameplay > Feedback > Visual Feedback.


27. Add in-game option "Show Learnable Spells"

Controls whether a green tint is shown for spell scrolls that can be written to a mage's spellbook.

Option can be found in Graphics > Display Options.


28. Add in-game option "Render Search Map"

Controls whether holding down SHIFT will show an overlay of the static search map for the current area.

Option can be found in Graphics > Display Options.


29. Add in-game option "Render Dynamic Search Map"

Controls whether holding down CTRL will show an overlay of dynamic search map regions, such as blocked doorways or the personal space of creatures.

Option can be found in Graphics > Display Options.


30. Add in-game options for Tweak Anthology's "Create Interval Saves" (requires Tweaks Anthology component "Create interval saves")

This component installs two options to the Gameplay section:
- Enable Interval Saves: Controls whether the game is saved at regular intervals.
- Create Interval Saves during Combat: Controls whether interval saves are created even during combat.

Both options are only effective if Tweaks Anthology's mod component "Create interval saves" is installed.

Options can be found in Gameplay section.


31. Add in-game option "Force Dialog Pause"

Enabling this option forces the game to pause while conversations are active. This option makes Tweaks Anthology's mod component "Force All Dialogue to Pause" redundant.

Option can be found in Gameplay > Feedback > Visual Feedback (or Gameplay section in PST:EE).


32. Update key bindings for priest and/or mage spells

This component recreates the key bindings for priest spells and/or mage spells. It considers all regular spells and High Level Abilities (HLAs) available at the time of installation, which includes the original game spells as well as spells added by mods.

It comes in three flavors:
- Update key bindings for priest spells only
- Update key bindings for mage spells only
- Update key bindings for priest and mage spells

This component is not included in the convenience option "Install all Hidden Gameplay Options at once".


33. Improved Cheat Menu

This component expands the cheat menu, which can be opened if the debug console is enabled, by a number of options:
- A list of available items that can be created in the party's inventory,
- A list of available spells and abilities that can be added to selected characters,
- A list of available stores which can be opened to make purchases, identify items, or peruse temple services and rest options,
- A list of available creatures which can be spawned on the map,
- A collection of useful debug and script commands, such as fixing fallen rangers or paladins, toggling on/off strref display for game text, changing party reputation, or advancing (game or real) time.

The following UI mods are supported:
- lefreut's Enhanced UI (all variants): May produce minor visual glitches which don't affect functionality.
- Pecca's Dragonspear UI++
- Tipun's User Interface
- Classic BG UI (by K4f4r)

This component is also included in the convenience option "Install all Hidden Gameplay Options at once".


34. Update resource tables for "Improved Cheat Menu"

This component allows you to update the resource tables used by the "Improved Cheat Menu" without having to reinstall the whole mod. It doesn't register to the WeiDU.log, so it can be called at any time as often as desired.

Screenshots









Option "Show Area of Effect Range":



Improved Cheat Menu:


Post edited by argent77 on
«13456710

Comments

  • StefanOStefanO Member Posts: 346
    Installation and use are flawlessly on macOS.
  • IllustairIllustair Member Posts: 878
    Wait, we have 3E sneak attack in BG?
  • FlashburnFlashburn Member Posts: 1,847
    Illustair said:

    Wait, we have 3E sneak attack in BG?

    I was just about to ask this. I knew the option was there, but I didn't know if it even worked.
  • argent77argent77 Member Posts: 3,475
    3E Sneak Attack works even in PST:EE. ;)
  • FlashburnFlashburn Member Posts: 1,847
    argent77 said:

    3E Sneak Attack works even in PST:EE. ;)

    Which .SPL controls how Crippling Strike functions?
  • argent77argent77 Member Posts: 3,475
    I don't know. Is there a SPL file for this? Bonus damage for sneak attacks should be controlled by SNEAKATT.2DA.
  • kjeronkjeron Member Posts: 2,368
    "SNEAKATT.2DA" = #d6 damage
    "CRIPPSTR.2DA" = level of "BACKSTAB.SPL" to use on sneak attack.
  • smeagolheartsmeagolheart Member Posts: 7,963
    So do those files exist in all the EEs?
  • FlashburnFlashburn Member Posts: 1,847
    argent77 said:

    I don't know. Is there a SPL file for this? Bonus damage for sneak attacks should be controlled by SNEAKATT.2DA.

    I was asking because BACKSTAB.SPL is used in IWDEE to determine what penalties Crippling Strike inflicts. BACKSTAB.SPL is absent in BG2EE so that's why I was wondering in the first place if 3e Sneak Attack truly works correctly in that game.

    Curiously, BACKSTAB.SPL is present in SoD.
  • argent77argent77 Member Posts: 3,475
    Good to know. I've never really dealt with 3E Sneak Attack before. Next version will also install CRIPPSTR.2DA and BACKSTAB.SPL if it doesn't exist in the game (SNEAKATT.2DA is already available).

    There is also an issue with enabling 3E Sneak Attack in the in-game options. The games appear to ignore or reset this particular setting for no apparent reason. I haven't found a way to work around this strange behavior yet.
  • AncientCowboyAncientCowboy Member Posts: 199
    edited April 2017
    @ARGENT77 - By coincidence, I've been working on fixing/extending the 'Hidden Game Options' component of 'Mod Options' in EEUITweaks. I've discovered that there are several options you can set within Options code that will change the option in baldur.lua - until you exit the top level 'Options' screen (either at start or in-game). At which point the engine reverts it to the original value (at least in 2.x - haven't gotten to PST:EE yet). Below are the values I've found so far that exhibit this ugly behavior (extract from a scratch work-tracking file):
    -- Reverts - can't do
    SetPrivateProfileString('Game Options','Critical Hit Screen Shake','1')
    SetPrivateProfileString('Game Options','HP Over Head','0')
    SetPrivateProfileString('Game Options','Cleric Ranger Spells','1')
    SetPrivateProfileString('Game Options','No Difficulty Based XP Bonus','0')
    SetPrivateProfileString('Game Options','Nightmare Bonus XP','0')
    SetPrivateProfileString('Game Options','Nightmare Bonus Gold','0')
    SetPrivateProfileString('Game Options','Extra Feedback','0')
    SetPrivateProfileString('Game Options','Show Learnable Spells','1')
    SetPrivateProfileString('Game Options','Hotkeys On Tooltips','1')
    SetPrivateProfileString('Game Options','Duplicate Floating Text','1')
    SetPrivateProfileString('Game Options','Pausing Map','0')
    SetPrivateProfileString('Game Options','All Learn Spell Info','1')
    SetPrivateProfileString('Game Options','Show Message Box Hint','1')
    SetPrivateProfileString('Game Options','Tutorial State','1')
    SetPrivateProfileString('Game Options','3E Thief Sneak Attack','0')
    SetPrivateProfileString('Program Options','Translucent Shadows','1')
    SetPrivateProfileString('Program Options','Sprite Mirror','0')
    SetPrivateProfileString('Program Options','3D Acceleration','1')
    SetPrivateProfileString('Program Options','Drop Capitals','1')
    SetPrivateProfileString('Game Options','Bored Timeout','30000')
    SetPrivateProfileString('Game Options','Area Effects Density','100')
    SetPrivateProfileString('Game Options','Tiles Precache Percent','100')
    SetPrivateProfileString('Program Options','Maximum Frame Rate','30')
    SetPrivateProfileString('Program Options','Path Search Nodes','320000')

    Unfortunately, I haven't been able to find a workaround.
    Post edited by AncientCowboy on
  • argent77argent77 Member Posts: 3,475
    You are right, there are more options behaving like this. PST:EE hasn't changed anything in that regard. It's probably nothing in UI.MENU itself that prevents setting these options. Maybe something hardcoded?
  • AncientCowboyAncientCowboy Member Posts: 199
    There's nothing I've been able to find in UI.Menu or any of the lua 'helper' files, so I suspect you're right - somewhere deep (possibly in the Infinity_PopMenu code) this is taking place.
  • argent77argent77 Member Posts: 3,475
    I would agree that Infinity_PopMenu() is the most likely candidate. To test it I have temporarily removed it from UI.MENU which causes PST:EE to save the user-selected settings just fine (as long as you quit the game via Alt+F4 after pressing "Done"). I'd guess another Infinity_PopMenu() resets everything if you quit the game normally.
  • AncientCowboyAncientCowboy Member Posts: 199
    edited April 2017
    I suppose it might be possible to 'hook' Infinity_PopMenu, have the hook call the original, and then re-write the changed values before returning. Not sure what the ramifications might be though - especially if someone didn't immediately exit the game. Those specific values might be 'guarded' to prevent a race condition or something similar.
    On further thought - it might be possible to tie into the START menu onOpen (initialize) and onClose (flush) and implement Get/Set DeferredProfileString functions to be used by the option setting menus for the non-changeable values. Not quite sure the possible values/meanings returned by startEngine:GetEngineState() ...
    Post edited by AncientCowboy on
  • Garvin77Garvin77 Member Posts: 52
    edited May 2017
    Hmm . . . when I try to run the setup programme for this mod, I get the following error message:

    Obviously, I'm doing something wrong. Any thoughts? I'm using Windows 10, BG1EE, if that helps.

    P.S.: Sorry about the small image; I thought it would be bigger than that.
  • argent77argent77 Member Posts: 3,475
    Have you unpacked everything from the mod archive?

    There should be a file HiddenGameplayOptions\languages\english\setup.tra which contains all the lines of text the installer is complaining about, and also a readme (HiddenGameplayOptions\readme\readme.txt).
  • Garvin77Garvin77 Member Posts: 52
    edited May 2017
    What do you mean by "unpack"? I think there needs to be a step-by-step guide; not everyone is a computer expert (even you said that).

    Besides, I thought that .rar files were unpacked, and and .zip files decompressed :)
  • argent77argent77 Member Posts: 3,475
    The mod linked in the first post can be downloaded as a zip file. You have to unpack it into the game's root folder before you can install it.

    On Windows you should be able to do this by right-clicking on the downloaded file in the file manager and select "Extract All...". Specify the target folder (i.e. the game folder) and extract the content. You can then execute setup-HiddenGameplayOptions from the game folder.

    It's basically the same procedure as with almost every other available mod.

    Files with .rar and .zip extension are both compressed archives, but use different compression formats. Zip is the more compatible of the two formats.
  • Garvin77Garvin77 Member Posts: 52
    edited May 2017
    Sorry about that, chief (I bet no-one on here knows where that's from); my mind went blank for a while. Anyway, thanks, I'll try that. Just a few more quick things:
    1. Where might I find the game folder? I'm asking in general. If it helps, I use the Beamdog Client to support the devs; my game is thusly installed there. Just clarifying.
    2. I'm glad you made this a .zip file; as I believe you said, it's much more common and readily compatible with Windows. I believe someone said (on another website I was on) that .rar files offer a better compression system, which would explain why some people prefer it.
    Edit: Works perfectly now! Thank you so much for this highly-useful, must-have mod!
    Post edited by Garvin77 on
  • GusindaGusinda Member Posts: 1,917
    Good one 86
  • argent77argent77 Member Posts: 3,475
    edited May 2017
    Garvin77 said:

    • Where might I find the game folder? I'm asking in general. If it helps, I use the Beamdog Client to support the devs; my game is thusly installed there. Just clarifying.
    In the Beamdog Client select the game and click on "Options > Open Game Location".

    Garvin77 said:

    • I'm glad you made this a .zip file; as I believe you said, it's much more common and readily compatible with Windows. I believe someone said (on another website I was on) that .rar files offer a better compression system, which would explain why some people prefer it.
    RAR format has slightly better compression, but is proprietary. It usually requires a specific unpacker to deal with RAR archives. I would rather suggest to use 7-Zip for better compression instead. It's open source and available for all platforms.
  • Garvin77Garvin77 Member Posts: 52
    Fortunately, I found a free .rar file opener, and I did see a 7-zip file opener as well. The .rar opener had really excellent reviews, and lots of them, so I think it's quite safe, if you were wondering.

    BTW, do you know what the average percent-chance of seeing fog is? And could it possibly induce lag? Thanks.
  • argent77argent77 Member Posts: 3,475
    Fog is really only a problem in SoD. Fog probability is defined directly for each individual map. You might see a bit of fog on selected BG1 or BG2 maps as well if you're lucky. There may be fog in Candlekeep, for instance. I haven't seen any fog in PST:EE yet.

    Whether it causes lags or not depends on your hardware and/or (video) drivers. It might also be annoying for some people from an aesthetic standpoint since it lowers visibility quite a lot on some maps (e.g. Repository of Undeath or Dragonspear Castle Underground).
  • Garvin77Garvin77 Member Posts: 52
    I was wondering about that, as I haven't seen any modifiers for fog chance for any BG1 maps (as viewed through NI). On my current PC, my hardware is probably about slightly-below-average to average. One of these days, I'm going to get myself a proper gaming PC.
  • AncientCowboyAncientCowboy Member Posts: 199
    @argent77 and anyone else interested - I've come up with a limited solution to the reverting values problem discussed earlier. It's limited in that in PST:EE it won't save the values if you exit the Options Menu via the Windows Close (X) button - although it will save the values if you exit the game world in that fashion. The BG platforms aren't limited in that way.
    The other limitation is that of the values I mentioned there are 6 of them (below) that are so deeply restored that I can't figure out a way to preserve them (I don't really know what the first four do :) ).
    SetPrivateProfileString('Program Options','Translucent Shadows','1')
    SetPrivateProfileString('Program Options','Sprite Mirror','0')
    SetPrivateProfileString('Program Options','3D Acceleration','1')
    SetPrivateProfileString('Program Options','Drop Capitals','1')
    SetPrivateProfileString('Program Options','Maximum Frame Rate','30')
    SetPrivateProfileString('Program Options','Path Search Nodes','320000')

    The solution - First, put the following Lua code block somewhere in UI.MENU outside of any menus:
    ` deferredOptions = {} function getDeferredOption(section, option) if (not deferredOptions[tostring(section)]) then deferredOptions[tostring(section)] = {} end if (not deferredOptions[section][tostring(option)]) then deferredOptions[section][tostring(option)] = tonumber(Infinity_GetINIValue(section,option)) or 0 end return deferredOptions[section][option] end function setDeferredOption(section, option, value) if (not deferredOptions[tostring(section)]) then deferredOptions[tostring(section)] = {} end deferredOptions[section][tostring(option)] = tonumber(value) or 0 end function flushDeferredOptions() for s,t in pairs(deferredOptions) do for o,v in pairs(t) do Infinity_SetINIValue(s,o,v) end end end `

    Next, replace calls to Infinity_GetINIValue and Infinity_SetINIValue in you options code with calls to getDeferredOption/SetDeferredOption respectively.
    The last bit is to figure out where to make calls to flushDeferredOptions to prevent the values from reverting. Here's what I've found -

    First, for all UI.MENU platforms, at the very beginning of the onOpen event for the START menu, add a call. This solves the problem of the value being reverted when transitioning between the OPTIONS and START menus.

    Next, in the QuitMenu menu, in the QUIT_GAME_BUTTON (all BG platforms) or the YES_BUTTON (PST:EE), add a call at the beginning of the action event. This catches all BG and most PST:EE exits that popup the 'Boo will miss you' confirmation - including Windows Close.

    For PST:EE - you're done.

    For BG platforms other than @lefreut's Enhanced UI, we need to catch the Quit Game exit from the ESC_MENU. In the QUIT_GAME_BUTTON you'll find a piece of code that looks like this:
    'QUIT_BUTTON', function() Infinity_ShutdownGame() end,
    Make it look like this:
    'QUIT_BUTTON', function() flushDeferredOptions() Infinity_ShutdownGame() end,

    For lefreut's Enhanced UI, you'll need to hook the QUIT_GAME_BUTTON on the START_MAIN menu. Add a call to flushDeferredOptions to that button's action event.

    That's it. I've done a lot of testing and it seems to work fine - within the previously mentioned limitations.

    Please feel free to use, abuse, tweak, or ignore this code as it suits your fancy. Enjoy!

  • argent77argent77 Member Posts: 3,475
    That's very insightful (and quite a lot of work for simply preserving a bunch of options). I'll play with the code and see if or how I can implement it in a sane way. I wonder why these options are being reset in the first place.
  • AncientCowboyAncientCowboy Member Posts: 199
    My guess would be that some of them are really for testing/fixing very specific problems , some need to be consistent throughout the game session, and some they just don't want the support nightmare they might entail - e.g. the 3E sneak attack code may not have been 'hardened' enough that they want to support it.
  • argent77argent77 Member Posts: 3,475

    New version released: Reveal Hidden Gameplay Options v0.4-beta

    Download link in first post has been updated.

    Changes:
    - Added French translation (thanks @Gwendolyne )
Sign In or Register to comment.