[MOD] Reveal Hidden Gameplay Options (for all EE games patched to v2.0 or higher)
argent77
Member Posts: 3,475
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
58
Comments
"CRIPPSTR.2DA" = level of "BACKSTAB.SPL" to use on sneak attack.
Curiously, BACKSTAB.SPL is present in SoD.
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.
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.
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() ...
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.
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).
Besides, I thought that .rar files were unpacked, and and .zip files decompressed
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.
- 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.
- 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!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.
BTW, do you know what the average percent-chance of seeing fog is? And could it possibly induce lag? Thanks.
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).
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','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!
New version released: Reveal Hidden Gameplay Options v0.3-beta
Download link in first post has been updated.Changes:
- Added a workaround to make all options working correctly (thanks @AncientCowboy )
- Added German translation
- Relocated "Hotkeys On Tooltips" to Gameplay section
- Improved handling of option "3E Sneak Attack"
- Updated several descriptions
New version released: Reveal Hidden Gameplay Options v0.4-beta
Download link in first post has been updated.Changes:
- Added French translation (thanks @Gwendolyne )