otavepto
91d470a358
fixed all incorrect usages of NULL in place of a decimal number + removed compiler flags: -Wno-int-to-void-pointer-cast
and -Wno-null-conversion
2023-12-25 04:09:49 +02:00
otavepto
1b04526d9d
fixed all printf warnings for Linux & Windows
2023-12-25 04:09:49 +02:00
otavepto
4121101400
also allow setting the mod "score" in the mods.json
2023-12-25 01:47:45 +02:00
otavepto
9822f4d766
allow overriding mod path & mod preview_url in the mods.json file, suggested by remelt from: viewtopic.php?p=2964432#p2964432
2023-12-25 01:47:45 +02:00
otavepto
555bafae0b
use the index argument to grab the preview URL from UGC query result, thanks to remelt from: viewtopic.php?p=2964432#p2964432
2023-12-25 01:47:32 +02:00
otavepto
1c84f2c324
use a global ticket counter for GC struct
2023-12-24 14:33:40 +02:00
otavepto
b5923696cd
wrong buffer!
2023-12-24 14:33:40 +02:00
otavepto
95fe01ef9f
updated Auth_Data serializtion method to add a signature to the data
2023-12-24 14:33:40 +02:00
otavepto
a626470846
refactored the serializatio of Auth_Data
2023-12-24 14:33:40 +02:00
a
48a8ada43f
very minor refactoring to Auth_Data
2023-12-24 14:33:40 +02:00
a
c5ce7ad44b
completely refactor the serialization of AppTicket
...
+ catch objects by reference instead of by value in for loops: `for (DLC &dlc : DLCs)` vs `for (DLC dlc : DLCs)`
+ rely on C/C++ standard sizes instead of SDK definitions `uint16_t` vs `uint16` since the data sizes are very important
+ added more comments explaining the reasoning for any special handling
+ added comments exaplaining the layout of the data
2023-12-24 14:33:40 +02:00
a
e379220e16
completely refactor the serialization of AppTicketGC
...
+ avoid any magical numbers as much as possible & calculate the required size via sizeof()
+ use a macro to serialize a single field & increment the pointer at the same time
+ added some more debug statements
2023-12-24 14:33:40 +02:00
a
342d0a27b5
fixed is a sneaky instatnt memory deallocation, check this for details: viewtopic.php?p=2962649#p2962649
2023-12-24 14:33:40 +02:00
a
0e584aa09c
hide these fields since they're constant for now, to make it clear for external callers that these are not meant to change
2023-12-24 14:33:40 +02:00
a
8b4914a684
use standard fixed-size types instead of SDK types since the size of the data is important, to avoid any magic compiler definitions (love C++)
2023-12-24 14:33:40 +02:00
a
e8f64faf17
add a new serialization method to DLC struct
2023-12-24 14:33:40 +02:00
a
af86d6efc2
TODO notes for later, if needed
2023-12-24 14:33:40 +02:00
a
355537bb19
cache the usage of user ID, for clarity
2023-12-24 14:33:40 +02:00
a
85c98a5933
avoid incrementing the counter beyond the DLC count
2023-12-24 14:33:40 +02:00
a
205d88b204
+ used std::chrono to set the expiration time of the ticket instead of hardcoded numbers, for clarity. isn't 24 hours a very long time?
...
+ set TimeSinceStartup from the new startup_timer, which starts counting when the .dll/.so is loaded in memory, currently using the amount of seconds, not sure if this is correct though
2023-12-24 14:33:40 +02:00
a
7b4d447553
use a helper macro to set IP4, for clarity
2023-12-24 14:33:40 +02:00
a
20d5252e9c
additional sanity check in InitiateGameConnection() + print input data address
2023-12-24 14:33:40 +02:00
a
adeb14f364
check for invalid data pointer in GetAuthSessionTicket()
2023-12-24 14:33:40 +02:00
a
23c435bfea
moved functions around for a clearer context
2023-12-24 14:33:40 +02:00
a
681fbc4ecb
deprecate the old auth implementation in base.cpp/.h
2023-12-24 14:33:40 +02:00
Detanup01
b697c8bd2d
All Auth token support
2023-12-24 14:33:40 +02:00
otavepto
c9e653fee7
use an obnoxious name for the file handle variable used in the PRINT_DEBUG macro to avoid collisions, in the caller has a variable with same name
2023-12-21 19:33:05 +02:00
otavepto
e28752420a
cleanup the settings parser code, split into functions
2023-12-21 19:33:05 +02:00
otavepto
cf41523751
refactor includes order + add new helper function to keep yielding the thread for a given amount of time
2023-12-21 19:33:05 +02:00
otavepto
22470b5ab9
fixed printf specifier to avoid the warnings spam
2023-12-20 06:14:23 +02:00
otavepto
4fb6dcb3fa
+ learned the lesson, lock the global mutex in different other places just to be on the safe side, after lego 2k I am hesitent about all APIs, will this slow things down?
...
+ refactor some debug messages
2023-12-20 05:32:17 +02:00
otavepto
1333168d4a
basic implementation for RequestAppProofOfPurchaseKey() and RequestAllProofOfPurchaseKeys()
2023-12-20 05:30:21 +02:00
otavepto
30c5b4eaa0
a simple implementation for GetEarliestPurchaseUnixTime()
2023-12-20 05:30:21 +02:00
otavepto
7bf9564005
current app shouldn't be a DLC right?
2023-12-20 05:30:21 +02:00
otavepto
9393518dfa
check for invalid app ID uint32_max in different other places
2023-12-20 05:30:21 +02:00
otavepto
8289ec81a7
+ fixed the implementation of BIsAppInstalled(), it must lock the global mutex since it is thread-safe, otherwise it will cause starvation and the current thread wion't yield, which triggers some games
...
+ even more accurate behavior for BIsAppInstalled(), reject app ID if it was in the DLC list and isUnlockAllDlc was false
+ citing the source for app id 0
2023-12-20 05:30:21 +02:00
otavepto
5c8a57e7af
more accurate implementation for BGetSessionClientResolution
2023-12-20 05:30:21 +02:00
otavepto
d02f32327e
more accurate implementation for Steam_Client::BReleaseSteamPipe(), return true if the pipe was released successfully
2023-12-20 05:30:21 +02:00
otavepto
f397f73644
add missing env var "SteamOverlayGameId" to steam_client and client_loader
2023-12-20 05:30:21 +02:00
otavepto
f83d930e7b
added a timer + counter for reference, currently used to print timestamp in debug log
2023-12-20 05:30:21 +02:00
otavepto
ca043837d9
consistent debug log location, for games that change cwd multiple times while running
2023-12-20 05:30:21 +02:00
otavepto
6ed6a0a04b
+ changed the behavior of GetCurrentBetaName() to comply with the docs, might break stuff
...
+ allow customizing the behavior via is_beta_branch.txt + force_branch_name.txt config files
2023-12-18 05:45:21 +02:00
otavepto
fa8f594207
+ more accurate implementation for BIsAppInstalled, it now rejects uint32_max
...
+ allow behavior customizization via installed_app_ids.txt config file
+ limit/lock list of installed apps on an empty file (similar to dlc.txt)
2023-12-18 05:45:21 +02:00
a
0ffc15352c
SDK v1.58a + some fixes to the APIs
2023-12-14 04:50:31 +02:00
a
20105997de
(RIN forum) added fix for glyphs icons for xbox 360 controller by 0x0315 from https://cs.rin.ru/forum/viewtopic.php?p=2949498#p2949498
2023-12-14 04:50:28 +02:00
a
439ffa5237
(RIN forum) added cvsR4U1 by ce20fdf2 from https://cs.rin.ru/forum/viewtopic.php?p=2936697#p2936697
2023-12-14 04:49:15 +02:00
a
c10a960546
use utf-8 when sanitizing settings, mainly for local_save.txt config file
2023-12-14 04:47:55 +02:00
a
62a92e5bf6
(RIN forum) added new release 4 by ce20fdf2 from https://cs.rin.ru/forum/viewtopic.php?p=2933673#p2933673
2023-12-14 04:45:59 +02:00
a
b01a7ee116
(RIN forum) added hotfix 3 by ce20fdf2 from https://cs.rin.ru/forum/viewtopic.php?p=2921215#p2921215
...
* + added missing implementation of (de)sanitize_string when NO_DISK_WRITE is defined which this fixes compilation of lobby_connect
* + check for empty string in (de)sanitize_file_name() before accessing its items
2023-12-14 04:45:55 +02:00
a
ad9dfb2bd1
(RIN forum) updated and safer impl for Local_Storage::load_image_resized() "for those cases where it might fail to allocate memory for the resized image" by RIPAciD: https://cs.rin.ru/forum/viewtopic.php?p=2884627#p2884627
2023-12-14 04:45:02 +02:00