Fallout New Vegas

File information

Last updated

Original upload

Created by

Xilandro Axeuora

Uploaded by

Xilandro

Virus scan

Safe to use

About this mod

In-game realtime GMST (gamesettings) debug&configuration tool, aka "One Tool To Rule Them All"

Requirements
Permissions and credits

Description

This mod adds intuitive, app-like, modding tool for debugging, testing, profiling, and dumping\printing to file any numeric GMST (gamesettings).
Why? Because testing GMSTs via console takes a lot of time, and even more time if you use GECK or code. I've been testing GMSTs for countless hours, and absence of a proper tool to do it ingame without console or extra coding motivated me to make one. For myself, and for everyone else with similar needs.
Strings GMST are not supported. At least not at the moment, or anytime in the near future.
I'm afraid, this tool is made solely for modding, and doesn't have any gameplay value, and won't be useful for regular or advanced mod users.
Read this page carefully for better understanding how to use this mod. I've tried to make it as easy as possible, but ended up feature creeping that could lead to frustration.
Also, if you like this mod, please consider making something cool with it and release it on the Nexus ;)
Huge thanks to LuthienAnarion for helping in creation of this mod, writing new functions and changing old ones in Lutana NVSE Plugin.



List of main features


  • It has nice, app-like design, that doesn't make your eyes bleed. In theory.
  • It's realtime!
  • Easily tweak any GMST value just by clicking on it.
  • Print your settings into text file
  • Search system
  • Profiles system
  • Bookmarks system
  • "Minimize" mode
  • Positioning and scaling


Tools

  • Bookmarks: clicking on any GMST will add or remove it from the bookmarks. Bookmarked GMST are blue colored
  • Search: self-explanatory. Type your text, get results.
  • Show Vanilla values: shows secondary window with vanilla values. Any changes to GMST will be highlighted in red color. Vanilla value will be in green.
  • Show difference only: shows only GMSTs that have been changed in any way, by mods or tweaks made via this tool.
  • Show profile only: shows GMST that are saved in the profile. Obviously, works only if profile is loaded.
  • Show bookmarks only: shows bookmarked GMSTs.
  • Print settings to file: prints all your changes and bookmarks (in 2 different variants, read "Details" for more info) into the ini file, located in the "Fallout New Vegas\GMST Output" folder. Bookmarks are always printed.
  • Undo: undo all your changes. Anything you've done to GMST will be reset to the values before your changes.
  • Reset: Will reset ALL GMSTs to their vanilla values. In case of emergency.
  • Save profile: Saves your current profile, or creates new, if no active profile is found
  • Save profile as...: Saves new profile.
  • Load profile: Loads the profile.
  • Undo profile: Undo any changes done by profile.


Controls

  • To enable\disable menu - press Enter+Right Shift. In this exact order. Enter and then R-Shift. Not vice versa.
  • To minimize the menu - press Insert. All data stays active, but menu is hidden, and doesn't take any resources. Small gears icon is shown instead
  • To enable\disable mouse input - press Right Alt
  • To scroll through list pages - press Page Up\Down keys.
  • To jump to the end of the list - press End
  • To jump to the beginning of the list - press Home
  • To scroll through list one by one - use arrow keys, or mouse wheel.
  • To change any value or use search - click on the corresponding field and start typing. Whole keyboard is available.
  • To select text - click and hold LMB , and move cursor around.
  • To move menu window - click and hold LMB anywhere on the menu header (outside search field), and move the mouse around.
  • To scale menu window - click and hold LMB on small diagonal arrows icon in the bottom right corner, and move the mouse around
  • To move cursor around - move the mouse around.
  • To apply new value or search, after you've typed it in - press Enter , or click LMB anywhere outside the corresponding field



Details


  • During lengthy testing\debugging\tweaking, if you want to preserve the data, but get rid of the menu window - it's wise to not turn off menu completely, because it will reset the whole menu, profiles will be unloaded, arrays nullified, and temporary files wiped clean. You can minimize it instead, just by pressing Insert key. Menu will be hidden, paused, and data preserved. And no FPS hit whatsoever. Maximize it back by pressing insert key again.
    .
  • All changes you do to GMST are temporary, valid only for the current game session. If you mess up something badly, and undoing changes doesn't fix what's broken - just restart the game, or press undo and load any savegame created before something got terribly wrong.
  • To preserve changes - read "Advanced options"
    .
  • On the first run of the mod, savegame independent, it will go through initialization, and save all your controls and mouse sensitivity into its ini files. Due to the nature of this mod, it's important to keep YOUR original settings safe and untouched. As long as this mod is installed, ANY changes you make to your controls (changing mouse sensitivity, or rebinding keys) will be overwritten by this mod to the settings saved during initialization. If you want to change your sens or controls - delete Mouse.ini and\or ControlCodes.ini files, located in Data\Config\OTTRTA\internal folder.
    .
  • Every tool available works with all other tools. For example, search works inside difference, bookmarks, and profiles modes. Difference works with both profiles and bookmarks. Search works in difference, with enabled profiles or bookmarks, aka filter the filter (We heard you like filters, so we put a filter into a filter, so you can filter while you filter).
    .
  • You cannot load and stack multiple profiles. The moment you load profile - previous profile settings will be undo. It's an intentional effect, to keep everything clean and clear.
    .
  • Undoing the profile will roll back settings it affects to the "pre-profile" state.
    .
  • Any changes you make with profile loaded will be lost\reset to "pre-profile" state, if you don't save the profile.
    .
  • Print to file will save all your changes into an ini file with unique name (time+date), located in "Fallout New Vegas\GMST Output" folder. Bookmarks are always saved, independent of any changes. Printed out file is separated into [bookmarks] and [dump] blocks, so you can easily distinguish what exactly and why was saved. Also it prints out "script" version of GMST, just copy and paste it into your script, it's that easy.
    .
  • Mouse wheel will keep its vanilla behaviour during scrolling, ie, zoom-in\out your 3rd person camera and change POV. This is not a bug! To prevent zooming and POV change, GMST tweaks are required, and due to the nature of this mod, I decided to avoid changing any GMSTs by this mod whatsoever. For override - read "Advanced settings".
    .
  • Be adviced, when you're typing anything with this mod (search field, value field), your keyboard keys (DX codes) are NOT disabled. Controls are saved and temporarily changed, so all vanilla keybindings are pointing to false DX keys. But any mod you might have installed that uses ANY of the DX keys, will keep its functionality. For example, if you have installed Nightvision mod, pressing N key while typing something, will enable\disable nightvision. There are ways to workaround this, like temorarily disabling every single DX key, but GKP function will not return any valid keypress, which is not good for the mod functionality.
    .
  • Profiles are located in Data\Config\OTTRTA\Profiles. You can do changes to them or create new ones, manually.
    .
  • Bookmarks.ini file is located in Data\Config\OTTRTA\internal folder, it contains only GMST names, without values. You can add GMSTs into bookmarks.ini file manually. I took the liberty and bookmarked 3rd person camera position GMSTs for the release, just as an example.
    .
  • Never change\tweak\alter GMST.ini and KboardLookup.ini files. They are essential for this mod to work properly. GMST.ini contains all gamesettings and their vanilla values. KboardLookup.ini contains all required info on keyboard keys, used when you're typing anything in this mod.


Advanced options

Following settings can be found in "UserConfig.ini file, located in data\config\OTTRTA" folder

  • BlockMouseWheel 0/1: overrides the mouse wheel GMST to allow scrolling through the list without zoom in\out and POV change. You will see GMST changes in the menu of course. 0 by defaullt.
    .
  • RestoreActiveSave 0/1: if you save the game with menu active or idle, whenever you load it - menu and game settings will be restored to that particular savegame state, effectively overriding any changes you did after saving the game. Works with game restart as well. If RestoreActiveSave is 0 - menu will be force closed, cleaned, and GMST will stay unchanged. If you're working with multiple savegames during testing, and you want to have constant, unchanged settings after loading - leave it disabled. 0 by defaullt.
    .
  • RestoreCleanSave 0/1: If you load the savegame that didn't had menu active, and you want to get rid of any GMST changes you've made during current game session - this option will undo all altered GMST to their session start state. For example, if you load a quicksave, make tons of changes, and you load the quicksave again - GMST will be clean and clear. Useful when working with multiple profiles creation, or purely for gameplay reasons. 0 by defaullt.



Additional info


  • Menu will eat few FPS, and will hog it if you scroll through the list superfast with "show vanilla" window enabled. Script dynamically populates multiple lists (up to 60 different strings) in realtime, so FPS hit is expected. After all, this is not a gameplay mod, but a modding tool. Yet I put a lot of effort into making it as performance friendly, as possible. Which leads me to the next topic...
    .
  • ...why code is so big, and looks so ghetto? Short answer - I'm retard. Long & detailed answer: I had multiple iterations of the working code that looked way better, way shorter (one-liners and compiler override), UDF-based, and just super-easy to read&follow, but there was one problem. It was destroying FPS from 90 to 10 without even scrolling through the list (~33060 function calls per second\551 calls per frame o_O). Scrolling just generated massive lagspikes. It was unacceptable. I wanted to preserve FPS, yet keep everything dynamic and realtime, without constant lagspikes and such. And there is no simple solution that I know about. The only way I could do it, was long and boring staged code, no one-liners, no single-frame UDFs and no while loops (where possible). That's why script is ghetto, looks ugly and is pretty much a torture to read even for me. But it works as designed, and doesn't hog on frames. But if you know how to populate up to 60 xml strings very fast without FPS drop, please, teach me!
    .
  • Also I apologize for being lazy ass and not commenting the code properly. So, if you have any questions how it works or what some certain block does - leave a comment or PM me, I'll try to expain everything as good as possible.
    .
  • Still, if you get massive FPS drops while scrolling fast - just scale down the window. The less settings are visible - the better performance you will get.
    .
  • And if you're still reading this, it means it's safe to say - you can load any profile on game restart by using OnLoad.ini file (located in "Data\Config\OTTRTA\internal"), just set "Enable" to 1, enter profile name (without .ini extension, just name) in ProfileName field, and hit save. It effectively turns this mod from tool into gameplay mod. Create your superprofile, enable it in OnLoad.ini, and play the game. You don't need to turn on menu whatsoever, everything is automatic.





Installation
Install required mods first. They are essential and without them – this mod will not work.
"Gamesettings profiler" mod installs like any other mod, manually or using a mod manager.
I recommend the latter for easy Un-installation.


Un-installation
Same as installation, in reverse.



Known issues
None yet. But probably there will be plenty. I will use this tool myself a lot, so expect patches and bugfixes pretty often.



Future "probably, maybe, I don't know" plans

  • Support for the string GMSTs
  • GMST descriptions. What selected GMST does and why. It's an enormous undertaking, just a tiny amount of GMSTs are documented, and to find out what each one does - might take months of research. I will make notes on GMSTs I'm working on, and will seek for any documented GMSTs out there. So at least some of them will have description in this mod.



Credits & Permissions

You can do with this mod whatever you want as long as you credit me, and release it exclusively on the Nexus.
Reuploading this mod to any other site is strictly prohibited. I will not give my permission for it, don't even ask. It was born on the Nexus, it will stay on the Nexus. Such is my desire. Period


LuthienAnarion for Lutana NVSE & new functions
JazzIsParis for JIP NVSE & UIO
NVSE Team for lotta stuff scripters love
Yours truly for beating the GECK with a stick until something works
TGSpy for initial testing
Obsidian for Fallout: New Vegas
Bethesda for GECK. And Morrowind. Nothing else. Das rite.

Armed Forces of Ukraine, for keeping me alive and safe

Слава Україні!