Source code? yep, there is a link to Github in the description
Virus? -No but it does get detected by virus scanners and I'm too lazy to fix right now because playing Starfield.
I changed a setting but it didn't apply in game? -Not all settings are read by the game instantly, some after time, save/load, fast travel, and some only once when game boots. for example all the build mode colors are read when you enter build mode, if you exit and enter build mode again the settings apply.
Apologies, but I'm not trying to sound ungrateful, but would you please take a moment to include the basics in the description? Where to install it manually. How to access it in-game. Where any setting files are. Where it ouputs to. (I found this one by searching)
Can you do this for better console too?
It would really be helpful and probably avoid people (like me) asking in comments.
if you are running that in the console you need to put quotes around settings with special characters in them like "fCrowdMaxExtraTargetsPerCell:Crowd" that.
Hey, man! Just a heads up: Certain parameters no longer work when trying to change them with your program. For example, most of the :boostpack settings can no longer be changed (at least, not on my end). It's able to identify the default values and memory address of the default values (Confirmed with CE), but previously it was able to do this and also change the current value in memory. Things like worldFOV can still be changed, but the boostpack, unfortunately, can't anymore. Not sure what's happened as I have never renamed starfield and have even tried running the game without sfse or bat files. Strange. Thanks for this tool though! This and your Minimal sfse solution have seriously been of great help to me :)
Thank you for the kind words. As far as the issue every setting is treated the same, so i cant immediately tell why it would work in one and not another, I'll look into it. Did you confirm with CE that the memory does not change when you edit a boostpack setting? The active value should be 8 bytes after the start of the setting vtable:
union GameValue { uintptr_t as_ptr; uint8_t as_bool; int as_int; float as_float; unsigned as_unsigned; };
Sorry for the late reply! So, yes. I can confirm that changing these values using this tool (specifically the :Boostpack) does actually change the values in memory (watching the memory view in CE while doing this). But the GUI is reporting the default setting rather than the current in-game setting. I believe that the :Boostpack values that are changing in memory using this tool are actually what the game defaults to rather than the active values at runtime that can be adjusted. So they do change in memory, but they don't affect the game. Using the console does change values that affect the gameplay (using either the default console or your BetterConsole (Which i love btw lol)) but when doing this, the addresses at your :Boostpack locations are not changing. Which is strange because I'm almost certain that they used to.
Thanks for the heads up on the betterapi header file :)
The game might be storing the adjusted settings in another memory location. Ill take a look to see where the setting is saved, but it might be that the game now treats the ini setting as a read-once setting to get the initial values at startup and then never reread the value again.
So the app just crashes non-stop now approx 5-10 seconds after opening. I havent changed anything, even tried deleting and reinstalling the old working version (1.1) from a backup download. Ever hear of this? Any ideas for a solution?
Yes, github or nexus, it auto closes after about 5 or seconds of remaining open. This occurs regardless of whether the game is running or not. (starfield.exe) And also occurs regardless of whether anything within your app window is clicked or not. (i.e. I can simply double click the liveini exe and do nothing else on my pc whatsoever and it will still close after a few seconds.)
This started happening out of nowhere after spending days successfully using your app without issue. I have done nothing/installed nothing/updated nothing on my pc since Starfield came out except for a few mods, yours being one of the last, and the forced starfield steam update a few days back now.
Hey bud, any idea why its not detecting the game, i've let it go through my winddy safe screen and everything but it just says Starfield is not running.
Just released a version that has a fallback for the case where starfield.exe was renamed, would be happy if you could test it out and confirm its working.
I only fallback to the window title when the exe is not found, there are some that will still slip through the cracks (like the custom window title mod) but there is only so much i can do to detect if starfield is running.
yes I agree with you on that note, just throwing some suggestions in case we get another "cannot find game" or similar issue. maybe a potential fix to that would be to include a "browse" and select process like CE, but yeah ... all up to you. I am not a programmer myself so honestly I do not know how much hard work is required behind the scenes to get such a "small thing" from a user POV. (from networking field here so I can relate. :P)
I could probably build something like a process browser that allows you to select the process manually, but only if a legitimate use case actually arises.
The tool dumps from how the game sees it, where the setting came from is not tracked by the game only the type of setting is (INI, Pref [now internally called RenderSetting], GMST). When the game loads it can overwrite the same value sometimes multiple times (load engine default setting, load ini file, load custom, load iniprefs, loading the ini associated with an esp, etc...) and does not keep track of where the final value came from.
By the way, your actually one of the big inspirations for this tool!
71 comments
Source code?
yep, there is a link to Github in the description
Virus?
-No but it does get detected by virus scanners and I'm too lazy to fix right now because playing Starfield.
I changed a setting but it didn't apply in game?
-Not all settings are read by the game instantly, some after time, save/load, fast travel, and some only once when game boots. for example all the build mode colors are read when you enter build mode, if you exit and enter build mode again the settings apply.
Where to install it manually.
How to access it in-game.
Where any setting files are.
Where it ouputs to. (I found this one by searching)
Can you do this for better console too?
It would really be helpful and probably avoid people (like me) asking in comments.
Thank very much! Love better console!
Says it is missing parameter string
What do I need to put quotes around this setting as well?
setgs fCalenderTimeScaleGround
Just a heads up: Certain parameters no longer work when trying to change them with your program.
For example, most of the :boostpack settings can no longer be changed (at least, not on my end).
It's able to identify the default values and memory address of the default values (Confirmed with CE), but previously it was able to do this and also change the current value in memory. Things like worldFOV can still be changed, but the boostpack, unfortunately, can't anymore.
Not sure what's happened as I have never renamed starfield and have even tried running the game without sfse or bat files. Strange.
Thanks for this tool though! This and your Minimal sfse solution have seriously been of great help to me :)
union GameValue {
uintptr_t as_ptr;
uint8_t as_bool;
int as_int;
float as_float;
unsigned as_unsigned;
};
struct GameSetting {
uintptr_t vTable;//00
GameValue Active;//08
GameValue Default; //10
uintptr_t Name; //18
};
P.S. sfse minimal is going away, the new sfse minimal code is in the betterapi.h file in the source code of BetterConsole
So, yes. I can confirm that changing these values using this tool (specifically the :Boostpack) does actually change the values in memory (watching the memory view in CE while doing this). But the GUI is reporting the default setting rather than the current in-game setting.
I believe that the :Boostpack values that are changing in memory using this tool are actually what the game defaults to rather than the active values at runtime that can be adjusted. So they do change in memory, but they don't affect the game. Using the console does change values that affect the gameplay (using either the default console or your BetterConsole (Which i love btw lol)) but when doing this, the addresses at your :Boostpack locations are not changing. Which is strange because I'm almost certain that they used to.
Thanks for the heads up on the betterapi header file :)
I havent changed anything, even tried deleting and reinstalling the old working version (1.1) from a backup download.
Ever hear of this? Any ideas for a solution?
This started happening out of nowhere after spending days successfully using your app without issue. I have done nothing/installed nothing/updated nothing on my pc since Starfield came out except for a few mods, yours being one of the last, and the forced starfield steam update a few days back now.
Any ideas? I'm at a total loss...
if that still doesn't work i can send over a debug build that will create crash dump files that you can send me for analysis.
Cheers!
maybe a potential fix to that would be to include a "browse" and select process like CE, but yeah ... all up to you.
I am not a programmer myself so honestly I do not know how much hard work is required behind the scenes to get such a "small thing" from a user POV. (from networking field here so I can relate. :P)
We have 3 potential sources:
Custom
Prefs
Preset
Thanks for this tool!
By the way, your actually one of the big inspirations for this tool!
v 1.7.0 does not work for me.
https://i.imgur.com/mfEMGhf
v 1.5.1 still works :)
https://i.imgur.com/YDLn6Ub
Edit: banging my head on the wall here, just found out you can search with regular expressions .... :|
This file has been automatically quarantined and may be unsafe. How can I fix this?