7thHeaven-v3.0.0.0
Changes:
- 94db12e 3.0.0
- 743b904 7thWrapperLoader: Bump vcpkg baseline
- 3372940 Setup: Add option to create a desktop and quick launch icon
- 468ce7c Sys: Add PathToCacheFolder property
- 4c07d5f SeventhHeavenUI: Remove the texture cache clean button and code
- 3aa3dfb UI: Make upgrade/downgrade messages more human-readable (#133)
- dc522fe Update 7H_GameDriver_UI.xml (#132)
- 71e7991 SeventhHeavenUI: Simplify some code constants like path to the ff7 data folder
- 7237f84 SeventhHeavenUI: Simplify the game paths configuration
- 729b7e4 FileDownloadTask: Use HTTP/2 and below
See More
- f89e757 SeventhHeavenUI: Replace EasyHook terminology with 7thWrapperLoader
- ab71562 iss: Install on the user program folder by default
- 24ef3f8 SeventhHeavenUI: Move library temp cleanup code here
- 88c71a6 7thWrapperProxy: Null-ify the exported methods on Shutdown
- 86c68fe CodeDependencies: Bump .NET 7 to 7.0.2
- ce5439b 7thWrapperProxy: Minor performance optimization
- c09eb60 vcpkg: Bump nethost to 7.0.2
- 3233de5 7thWrapperLoader: Introduce a new Shutdown logic
- 7e3b7d7 7thWrapperLoader: Unload detoured Win32 hooks on WM_QUIT
- ccbe4cf 7thHeaven.Code: Delete the library temp folder on startup
- 3421590 7thWrapperLoader: Let the user know the injection happened correctly
- 6081196 RegistryHelper: Fix equality registry value for Guid (#128)
- 8c752ce 7thWrapperLoader: Tweak the .NET error message (#127)
- d11c0dd RegistryHelper: Fix double backslash path (#124)
- bd7b9d4 UpdateChecker: Ask for admin permission to self-update if needed
- 3740b91 FileUtils: Add new static method IsLocatedInSystemFolders
- 06b9b9c Sys: Cleanup temp folder on each launch
- d7080bf Gardening: Cleanup unused code
- 9a890d3 Creates Temp folder if not exist (#122)
- 9b27185 RegistryHelper: Fix Audio output device selection
- cb119be RegistryHelper: Fix one more time the escaping replacement
- f75d227 RegistryHelper: Always create a registry transaction file
- cd2c406 GameLaunchSettingsViewModel: Make Registry changes atomic
- f3c2cf9 RegistryHelper: Minor improvements to how REG_BINARY and REG_DWORD data is handled
- ed2e0fb RegistryHelper: Fix again the replace notation
- 12ccb86 7thHeaven.Code: Add the time extra folder
- c54902f 7thHeaven.Code: Re-order extra folders alphabetically
- 2e00139 Bump dependencies
- 80c954f FileDownloadTask: Allow to download files bigger than 2GB
- d92976e RegistryHelper: Escape the \ character for REG_SZ
- de9a1ce GameLauncher: Fix GUID notation when converting to string
- 8e82eb7 GameLauncher: Pass GUID as string instead of byte array
- eb18f39 RegistryHelper: Fix force overwrite mode for reg add
- 3817a99 GameLauncher: Include the last registry transaction on the crash report
- 1e5cd42 RuntimeVar: Add variable RandomVar that holds a random value (#121)
- 87efb79 GameLauncher: Ask only once for all the registry updates
- c8b0e0f FileDownloadTask: Migrate from WebRequest to HttpClient
- 988407a 7thWrapperLib: Remove runtime chunk support
- d4e7f27 7thWrapperLib: Use the same lookup logic for IROs and Folders
- 3849770 Update 7th logo
- 5541784 RuntimeVar: Add RandomVarOnce type (#120)
- bed7a9a SeventhHeavenUI: Update ico
- 13389f4 UpdateChecker: Refresh the internal version number on first check
- 17ae2cc GeneralSettingsViewModel: Prompt for registry key updates only if value has changed
- edc81e0 UpdateChecker: Use the new Sys._7HExe var
- 108fc57 RegistryHelper: Fix minor code logic issues
- e5facd6 Sys: Provide a new _7HExe entry that's common across code
- 60f3504 GeneralSettingsViewModel: Set value on registry only if changed
- 45a2d89 RegistryHelper: Commit changes only if a transaction has been collected
- 31813d1 RegistryHelper: Fix SetValue logic
- 4c0284f FileDownloadTask: Dump inner exception to help troubleshooting
- db2009f RegistryHelper: Delete transaction file when complete
- 5a4f401 Misc enhancements
- 3f3199c GeneralSettingsViewModel: Fix Shell integration registry changes when non-admin
- 4101988 iss: Delete the 7thWorkshop folder on uninstall
- 8cb9095 iss: Minor gardening
- 8f9372e iss: Fix user permissions when installing in Administrator owned paths
- 00ac9d3 Update README.md
- fd6e088 CodeDependencies: Patch to support the new versions of netcorecheck
- fe83a29 iss: Add missing semicolon
- 786d673 Fix typo
- 38da846 Update README.md
- b6d7dcf iss: Force x86 and x64 installation of dependencies
- cf07831 iss: Update netcorecheck binaries, use static build versions
- 20b5c9b 7thWrapperLoader: Alert the user of the missing .NET Desktop runtime if that's the case
- c1a540e iss: Automatically detect and install .NET 7 Desktop Runtime
- cfacc36 7thWrapperLoader: Switch from spdlog to plog
- 8b337e0 Update .gitignore
- 2033428 GameLauncher: Copy/Delete the 7thWrapperLoader pdb file
- e01e8a7 7thWrapperLoader: Fix minor compilation issues
- d0d4892 7thWrapperLoader: Add MinSize and RelWithDebInfo targets
- c47ce83 7thWrapperLoader: Log up to trace level
- 138140f SeventhHeavenUI: Update icon
- 5bbacec GameLauncher: Add the new 7thWrapperLoader.log into the crash file report
- 2a9f71e 7thWrapperLoader: Log stack trace if crashing while attempting to launch
- 22ea424 GameLauncher: Delete the 7thWorkshop only if it exists
- a7637cf GameLauncher: Collect save files if present
- 90ecb6a SeventhHeavenUI: Show mod warning window only when running as admin from now on
- 5789085 Wrap: Improve file performance lookup with pre-initialized Dictionary (#119)
- 34c7395 CI: Do not publish on PR
- 1b07ff5 CI+Installer: net6.0-windows -> net7.0-windows
- eafd4d8 7thWrapperLoader: Simplify project file
- c58157c 7thWrapperLoader: Always build a static library
- 148b61f GameLauncher: Delete one more leftover directory used by 7th
- 8800cca 7thWrapperLoader: Allow all APIs but CloseHandle/DuplicateHandle to be called by any thread and any process
- be88923 Wrap: Simplify new constructor
- e683701 Wrap: Minor changes, gardening
- 8e0770e VFile: Bring back to the original code + minor adaptations
- cc8bef3 Cleanup dead code and use the dictionary directly
- b3ff2e2 7thWrapperProxy: Prefer void* instead of long*
- 62866a1 7thWrapperLib,7thWrapperProxy: Cleanup
- 4f28405 7thWrapperLoader: Fix _ReadFile ret type
- 27bc7f3 7thWrapperLoader: Fix _SetFilePointerEx minor issues
- 937d96a 7thWrapperLoader: Cleanup, no more needed
- 80735fd 7thWrapperLib+7thWrapperLoader: Fix GetFileInformationByHandle logic
- 4b13f09 7thWrapperLib: Cleanup unsafe where not needed
- 197dde9 7thWrapperLib: Use the Util.CopyToIntptr function instead of unsafe pointers
- 3e86ad8 7thWrapperProxy: Disable ConcurrentGarbageCollection
- 4781da5 DebugLogger: Flush lines when writing to the file
- b642ebc 7thWrapperLib: Fix wrong types
- 772d710 7thWrapperLib: Bring more code to .NET 7
- 8a3a225 7thWrapperLib: Minor cleanup
- c9559ef 7thWrapperLib: Dead code, no one is using it
- d259d61 7thWrapperLib: Pass current process info instead of getting it again via Win32 API
- de84672 7thWrapperProxy+7thWrapperLib: Fix wrong return types
- c8dfe08 7thWrapperLib: Fix wrong HDuplicateHandle logic
- 70e95e5 7thWrapperLoader: Use guard logic only recursive hooks
- 5bc6974 Migrate Detours from .NET to C++ ( Part 2 )
- 50f6c8b Migrate Detours from .NET to C++ ( Part 1 )
- 2b7fca4 Wrap: Fix wrong delegate types
- bd4426f VFile: Uniform to native .NET code instead of using quirks
- a8b4370 Bump to .NET 7
- f5196ae 7thWrapperLoader: Add custom nethost port
- 0bca705 Util: Fix CopyToIntPtr method when using an offset ( mimic memcpy logic )
- 01e0aab Wrap: Fix HReadFile va parameter
- ae18d91 MainWindow: Prevent closing when mods are being imported
- ab8e3e2 Sys: Allow the code to know when mods are being imported
- 9839fcc Wrap: Uniform profile management code
- 1a7ccbf MainWindowViewModel: Skip automatically checking for updates on launch for Dev builds
- 7bb0f4c UpdateChecker: Downgrade admin permissions requirement to self-update
- 9f12a5b RegistryHelper: Use the external reg command with admin privileges when needed
- 9b6f4dd Gardening: Delete Code 5 logic
- bc2ef07 Huge overhaul of core internals
This list of changes was auto generated.