otavepto
e5cd2d957d
separate the fifo_map library into separate folder
2023-12-24 14:33:40 +02:00
otavepto
c81e26c94f
added licenses & sources of all extrnal libraries
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
7e189c3ee5
update + cleanup changelog
2023-12-21 20:06:05 +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
6374c9e7f3
+ in Linux build scripts don't use -d flag with rm
...
+ add global build stat message
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
0a50c37584
don't cache deps build when pushing tag or opening pull requests
2023-12-21 19:32:20 +02:00
otavepto
62afce33ca
remove hardcoded repo path + remove Git LFS flag since it's no longer needed
2023-12-21 19:32:20 +02:00
otavepto
098a490d3a
Update README.md
2023-12-20 08:00:27 +02:00
otavepto
22470b5ab9
fixed printf specifier to avoid the warnings spam
release-2023_12_20
2023-12-20 06:14:23 +02:00
otavepto
00e3132814
update changelog
2023-12-20 05:44:08 +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
0b49bd3338
+ fixed error propagation in Windows build script, apparently set /a var+=another_var works only if another_var is a defined env var but NOT one of the "magic" builtins like errorlevel
...
+ output niceness when running protob compiler in Linux build
2023-12-20 05:30:17 +02:00
otavepto
9050fbe9eb
update changelog
release-17_12_2023
2023-12-18 05:45: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
ota
90b403fb3d
+ add package scripts
...
+ add steps: package + release to add packaged build to release when pushing on tag
+ support building on prefixed branch name with wildcard
+ support event trigger on tag
+ support event trigger on workflow dispatch for manual trigger
2023-12-18 02:50:05 +02:00
ota
8390e96972
+ self reference the deps from the corresponding branches in this repo, this makes the repo self contained
...
+ update workflows to point at this repo when cloning deps
+ update branches paths
+ update submodules
2023-12-18 02:50:05 +02:00
ota
8fb7231a36
friendly workflows names
2023-12-18 02:50:05 +02:00
ota
21c21737e7
trigger on specific branches + on pull request to dev
2023-12-18 02:50:05 +02:00
ota
f2d1f046e2
keep all workflow artifacts for 1 day only
2023-12-18 02:50:05 +02:00