2867 Commits

Author SHA1 Message Date
Kawe Mazidjatari
4a808a7932 Merge branch 'indev' into launcher_rework 2023-08-03 17:06:23 +02:00
Kawe Mazidjatari
b967a11ffd Make switching source directories easier
Engine src dir can now be switched with 1 var in CMake.
2023-08-03 16:56:27 +02:00
Kawe Mazidjatari
010c0d0c20 Improve manifest script
- Add configuration support for each depot
- Add configurable vendor for each depot
- Add size field for each depot (used for installer's progress callback)
- Compute depot package checksum on the spot
- Take manifest version input as string instead (used as tags)
2023-08-03 16:43:22 +02:00
rexx
b8744a9ab8 create sv_language cvar
currently unused, will be implemented in #103
2023-08-01 22:45:58 +01:00
Kawe Mazidjatari
ba2d3f9a6a Merge branch 'indev' into launcher_rework 2023-08-01 14:48:44 +02:00
Kawe Mazidjatari
195b2a11d7 Variable rename
Its a suffix.
2023-08-01 14:48:08 +02:00
Kawe Mazidjatari
26c63f6b2d Merge branch 'indev' into launcher_rework 2023-08-01 14:46:28 +02:00
Kawe Mazidjatari
a4da4afd19 FormatBytes function bug fixes
- Use snprintf instead to avoid stack buffer overflow.
- Make sure nBytes has a value before using it to create an index for the suffix.
2023-08-01 14:45:55 +02:00
Kawe Mazidjatari
d4ef12e55c Merge branch 'indev' into launcher_rework 2023-08-01 02:21:32 +02:00
Kawe Mazidjatari
8e8b2ace38 Add cURL parameter to enable 'CURLOPT_FOLLOWLOCATION'
Option to allow following redirects.
2023-08-01 02:20:53 +02:00
Kawe Mazidjatari
933761b290 Create define for manifest path 2023-08-01 01:05:18 +02:00
Kawe Mazidjatari
9a1b2e9263 Light progress window cleanup 2023-08-01 00:02:35 +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
9a446db8ba Merge branch 'indev' into launcher_rework 2023-07-31 23:43:24 +02:00
Kawe Mazidjatari
c059ec65ac Add 'ForceForegroundWindow' windows utility
Forces the window handle to be on top.
2023-07-31 23:43:00 +02:00
Kawe Mazidjatari
d01885f31f Merge branch 'indev' into launcher_rework 2023-07-31 23:29:52 +02:00
Kawe Mazidjatari
5c05f91891 Custom class name for SDK Launcher
Something that could be searched up without clashes and pulled up front.
2023-07-31 23:26:34 +02:00
Kawe Mazidjatari
77a3b7870f Merge branch 'indev' into launcher_rework 2023-07-31 20:45:44 +02:00
Kawe Mazidjatari
fb35782b9e Fix cppkore progress bar 'roundings' showing as inverted when progress is null
Just don't render the fill if progress is still null.
2023-07-31 19:07:08 +02:00
Kawe Mazidjatari
2a4ff1fe51 Properly format the bytes during download 2023-07-31 18:42:40 +02:00
Kawe Mazidjatari
b5d9977e5d Merge branch 'indev' into launcher_rework 2023-07-31 11:44:09 +02:00
Kawe Mazidjatari
9a23ab68ec Rename output file 2023-07-31 11:43:42 +02:00
Kawe Mazidjatari
eb14469178 Create utility function for formatting bytes
Byte count to prettified representation as string.
2023-07-31 11:43:25 +02:00
Kawe Mazidjatari
1b9707e461 Improve updater reliability
Raise privileges so its more likely to being able to terminate the launcher process, also continue if TerminateProcess fails, as there could be a race condition between TerminateProcess and ExitProcess (called from launcher). We just want to make sure launcher is fully closed before proceeding to replace it.
2023-07-31 02:53:50 +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
Kawe Mazidjatari
de26e5735f Add depot names to manifest json 2023-07-30 13:35:55 +02:00
Kawe Mazidjatari
da2cc3b7c4 Merge branch 'indev' into launcher_rework 2023-07-30 12:08:15 +02:00
Kawe Mazidjatari
631535a4c9 Add json fields for manifest version and asset list
Make it so it could actually be checked and parsed properly.
2023-07-30 01:25:13 +02:00
Kawe Mazidjatari
1dd7060dfa Merge branch 'indev' into launcher_rework 2023-07-29 23:34:59 +02:00
Kawe Mazidjatari
da3142812b Create script for creating manifest files 2023-07-29 23:34:19 +02:00
Kawe Mazidjatari
ee0ca5c9b9 Add zip file extraction and self replacing
The installer is now capable of fully installing r5reloaded and itself! Download code has been temporarily commented for debugging with local cached files.
2023-07-29 17:06:27 +02:00
Kawe Mazidjatari
0f18585a44 Merge branch 'indev' into launcher_rework 2023-07-29 17:04:51 +02:00
Kawe Mazidjatari
633e6a25b3 Add strcat define 2023-07-29 17:04:27 +02:00
Kawe Mazidjatari
4da3977409 Disable the control box in the update progress window
Disables the close (X) button and the dropdown button embedded in the application icon.
2023-07-29 16:55:49 +02:00
Kawe Mazidjatari
a3ea28e70c Add standalone SDK updater
Compiled to 'game/bin/', current purpose is to just replace launcher.exe after update as launcher.exe is the main updater, but needs to be killed to update itself.
2023-07-29 16:55:34 +02:00
Kawe Mazidjatari
931ee11bf3 Fix compiler errors
Conflicted with the 'min' and 'max' macro's, putting them in parentheses fixes it.
2023-07-29 16:27:01 +02:00
Kawe Mazidjatari
d31fa3b8c7 Remove redundant files
Generated files no longer used.
2023-07-28 16:45:51 +02:00
Kawe Mazidjatari
955d3405e7 Merge branch 'indev' into launcher_rework 2023-07-28 16:45:12 +02:00
Kawe Mazidjatari
e673b1e180 Suppress more thirdparty warnings
Only applied on thirdparty code.
2023-07-28 16:44:52 +02:00
Kawe Mazidjatari
072eca55de Light rename 2023-07-28 16:44:16 +02:00
Kawe Mazidjatari
e69d7d79b7 Add libraries 2023-07-28 16:44:10 +02:00
Kawe Mazidjatari
ce99a2653c Add thirdparty compression libraries
Added:
- Zlib
- Bzip2
- LZMA

And a wrapper for zip.
2023-07-28 16:43:23 +02:00
Kawe Mazidjatari
14b0106521 Remove old non-existent source files from makelist 2023-07-28 15:46:22 +02:00
Kawe Mazidjatari
bc5e4feabe Fix crash when canceling 2023-07-28 15:45:44 +02:00
Kawe Mazidjatari
682e7d8847 Merge branch 'indev' into launcher_rework 2023-07-28 14:50:55 +02:00
Kawe Mazidjatari
41ebc431b2 Finish downloading of game and sdk files
Moved entire logic to dedicated wrappers.
2023-07-28 14:50:46 +02:00
Kawe Mazidjatari
9e9d3342b3 CURL tools improvement
- Added wrapper for downloading files.
- Moved many function arguments to dedicated parameters structure.
2023-07-28 14:47:20 +02:00
Kawe Mazidjatari
b7b42786ab Add STL version of Appendslash 2023-07-28 14:45:04 +02:00
Kawe Mazidjatari
79ecc735a9 Merge branch 'indev' into launcher_rework 2023-07-26 20:38:20 +02:00