13 Commits

Author SHA1 Message Date
Kawe Mazidjatari
7a07731457 Don't reinstall the entire game if an update was pushed with no updated files 2023-11-18 17:07:48 +01:00
Kawe Mazidjatari
dfc9f50176 Multiple bug fixes
The initial install, and all subsequent updates were always looking for prereleases. But the prerelease checks were also bugged so it grabbed the latest release. Now this has been fixed, the bug became apparent. Now defaulted to latest (non-prerelease). Also only toggle update view if the game is installed. Also added an error message if 'SDKLauncher_WriteLocalManifest()' fails
2023-11-01 01:44:21 +01:00
Kawe Mazidjatari
a7277b47fc Launcher UX Improvements
* Fix bug regarding searching for prerelease builds, prerelease was assumed to be always at the top but this isn't true.
* Make the prerelease toggle button check for updates instantly.
* Automatically launch the game after the update has finished.
2023-10-29 20:08:10 +01:00
Kawe Mazidjatari
633292a820 Add comprehensive error logging for downloads and fix CPU in progress callback
The game will now not be installed if the download fails (this should've never happened in the first place). The CPU usage fix should also fix download speed throttling.
2023-10-23 00:08:25 +02:00
Kawe Mazidjatari
47632d89fa Implement incremental patching
Only replace files that has changed from the previous depot, don't just copy and replace all the existing assets.
2023-10-22 22:15:13 +02:00
Kawe Mazidjatari
ac9d45b567 Fix SDK Launcher display bug
If depot vector is empty, the SDK launcher will download all files in depot json, but still use the depot vector as the count for how many packages instead of the depot json array.
2023-10-21 19:12:33 +02:00
Kawe Mazidjatari
f4df4e0fc0 Show actual to-install package count + WIP callback fix
Progress callback gets called too often eating CPU, work in progress fix added but not yet utilized.
2023-10-21 17:57:59 +02:00
Kawe Mazidjatari
cc3b17b342 Implement manifest based update logic
This checks the local manifest with that of the remote, and updates the game as necessary.
2023-10-15 21:37:45 +02:00
Kawe Mazidjatari
933761b290 Create define for manifest path 2023-08-01 01:05:18 +02:00
Kawe Mazidjatari
d60d05115c Make wrapper for forcing existing instance on top
Also renamed constant 'DEFAULT_WINDOW_CLASS_NAME' to 'GAME_WINDOW_CLASS_NAME'.
2023-08-01 00:02:13 +02:00
Kawe Mazidjatari
2a4ff1fe51 Properly format the bytes during download 2023-07-31 18:42:40 +02:00
Kawe Mazidjatari
9642ea18f3 New features
- check if game is running, and if so, warn and discard update/install request.
- check if launcher instance is running, and if so, not create another one but instead move focus to existing one
- periodic update checks and update installations
2023-07-31 02:51:27 +02:00
Kawe Mazidjatari
b5626cff23 Major cleanup
Decouple all logic from installer to shared utils, group all constants into 'sdklauncher_const.h'.
2023-07-30 16:51:44 +02:00