Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Planescape: Torment: Enhanced Edition has been released! Visit www.planescape.com to purchase and check for details. Planescape: Torment: Enhanced Edition Official Soundtrack is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

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

argent77argent77 Member Posts: 1,857
edited August 8 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 in the in-game options menu, but instead have to be manually enabled or disabled in the game's configuration file which might discourage less computer-savvy players from using them at all.

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 and Portuguese.

Compatibility

The mod supports all Enhanced Edition games patched to v2.0 or higher, which includes BG:EE, BG:SoD, BG2:EE, EET 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.

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.

Screenshots









Post edited by argent77 on
StefanOKuronamoody_mageAncientCowboylefreuthook71IllustairmlneveseDoubledimasGrammarsaladJuliusBorisovKilivitzPeccaelminsterAndreaColomboAbelGarvin77mf2112BubbRavenslightMirandel
«1

Comments

  • StefanOStefanO Member Posts: 210
    Installation and use are flawlessly on macOS.
    argent77
  • IllustairIllustair Member Posts: 767
    Wait, we have 3E sneak attack in BG?
  • FlashburnFlashburn Member Posts: 1,257
    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: 1,857
    3E Sneak Attack works even in PST:EE. ;)
    Illustair
  • FlashburnFlashburn Member Posts: 1,257
    argent77 said:

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

    Which .SPL controls how Crippling Strike functions?
  • argent77argent77 Member Posts: 1,857
    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: 794
    "SNEAKATT.2DA" = #d6 damage
    "CRIPPSTR.2DA" = level of "BACKSTAB.SPL" to use on sneak attack.
    Flashburnargent77
  • smeagolheartsmeagolheart Member Posts: 4,475
    So do those files exist in all the EEs?
  • FlashburnFlashburn Member Posts: 1,257
    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: 1,857
    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.
    Flashburn
  • AncientCowboyAncientCowboy Member Posts: 199
    edited April 30
    @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
    argent77Grammarsalad
  • argent77argent77 Member Posts: 1,857
    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: 1,857
    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 27
    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: 6
    edited May 5
    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: 1,857
    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: 6
    edited May 5
    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: 1,857
    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: 6
    edited May 6
    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
  • argent77argent77 Member Posts: 1,857
    edited May 6
    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.
    AncientCowboyGarvin77
  • Garvin77Garvin77 Member Posts: 6
    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: 1,857
    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).
    Garvin77
  • Garvin77Garvin77 Member Posts: 6
    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!

    argent77AndreaColombo
  • argent77argent77 Member Posts: 1,857
    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: 1,857

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

    Download link in first post has been updated.

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