This page was last updated on 01 October 2024, 4:37PM
Changelogs
Version 0.6.2
Added ENB integration (see description for details).
Refactored integration modules and event processing.
Config file options are now placed in sections for their modules instead of everything in the [General] section.
Added pdb files into release distribution.
Version 0.6.1
Fixed some cases with INI key names contaning extra whitespaces.
Fixed file path normalization for paths contanining dot-segments.
Fixed 'GetPrivateProfileString' branch when the default value was supposed to be returned. The function was returning the incorrect result.
Fixed 'GetPrivateProfileSection' function using the wrong implementation causing wrong host process behavior (such as config inconsistency, corrupt config files, vitual issues, etc).
Implemented checks to avoid incrementing the write counter if the write request is trying to write exactly the same content as already present in the file.
Reduced default 'SaveOnWriteBuffer' option value to 64. The high values shouldn't be needed anymore due to write check above.
Version 0.6
Updated to the latest xSE binaries, added Fallout 4 NG update support.
Expanded possible range for 'SaveOnWriteBuffer' option to [2, 4096] and set it to 512 by default.
The 'EnableLog' option replaced by 'LogLevel'. Default log level set to 'Information' level so the mod would still log initialization process.
Rewritten using KxFramework (https://github.com/Karandra/KxFramework) and general refactoring.
!!! This update led to a lot of changes to INI processing features. Most were reimplemented to conform known specifications and assumtions based on the mod scope (Bethesda games and their mods), but the new implementation may differ from the old versions behavior. The new behavior is, hopefully, more correct.
Version 0.5.3
Fixed 'GetPrivateProfileString', 'GetPrivateProfileSectionNames' and 'GetPrivateProfileSection' for key and section names query.
Fixed 'NativeWrite' option logic for 'WritePrivateProfileStringW'.
Added thread synchronization to the logger function, changed line separator to '\n'.
Version 0.5.2
Updated to the latest xSE builds.
Added experimental Fallout 4 VR build.
Version 0.5.1
Modified INI files are no longer written with double new lines.
Primary location to the log file is moved to the "My Games\[xSE]" ("My Games\Skyrim Special Edition\SKSE", "My Games\Fallout4\F4SE" and similar) folder inside the user's profile directory.
Version 0.5
Added 'SaveOnWriteBuffer' option to accumulate changes to the same INI file before saving to disk to avoid excessive IO when many options are changed at once.
Added 'SaveOnProcessDetach' option to save changed files when game exits.
Added 'SaveOnGameSave' option to allow save changed files before making saving the game.
Fixed application of 'ProcessInlineComments' option. Now it should be applied for every INI value access.
Console command RefreshINI now works in Skyrim LE.
Version 0.4.1
Fixed inline comments processing. Should fix issues with FreeFlyCam SKSE plugin (Skyrim LE/SE).
Inline comments no longer being removed from the file on load.
Version 0.4
Fixed trimming quote characters for values and space characters for sections, keys and values. Should fix visual issues with some ENB presets.
Proper locking for multithreaded read/write access.
General refactoring.
Version 0.3.4
Added option "ProcessByteOrderMark" (enabled by default) to support files encoded in UTF-16LE.
Version 0.3.3
Added option "AllowSEVersionMismatch" to initialize Script Extender functions even when runtime SE version does not match SE version for which this plugin was compiled.
Removed file names conversion to lower case.
Version 0.3.2
Fixed possible crash when TrimValueQuotes option is enabled.
Version 0.3.1
New functions: GetPrivateProfileSectionNamesA/W and GetPrivateProfileSectionA/W. This should fix MCM config and camera FOV.
Version 0.3.0
Added Fallout 4 version. Console command RefreshINI will work in Fallout 4.
Added option ProcessInlineComments to discard inline comments, otherwise comments will be read as part of value.
Added option TrimValueQuotes to correctly retrieve value like sNegativeDir="enbseries\LUTs\Negative Stock".
Fiexd possible crash in GetPrivateProfileString when requested value is not found or its length is 0. Fixing this allows Creation Clud to work which can be undesired. Option DisableCCUnsafeA were added to revert to old behavior.
Function GetPrivateProfileInt can now parse integers in binary, octal and hex representations.