51 Commits

Author SHA1 Message Date
otavepto
4b49edbf5e improve usage of std::string_view, passing them as const ref is useless since they don't allocated anything and cheap to copy (no allocations) 2024-06-30 03:18:39 +03:00
otavepto
c1cf889751 ensure binary mode for json read/write 2024-06-08 18:03:02 +03:00
otavepto
f7c7d79e0a restore accidentally removed flag for ipv6 for SteamClient020 + VS warning fix + small refactor 2024-06-07 19:55:30 +03:00
otavepto
c28a1f1f52 fix more VS2022 warnings 2024-06-04 21:58:04 +03:00
otavepto
6c1ea7edd5 solve compile error due to usage of microsoft-specific constructor when building on win with msys2 2024-05-22 05:29:20 +03:00
otavepto
e2980d100e * use std::filesystem::u8path to support utf-8
* don't sanitize paths in settings_parser since it removes the colon ':', preventing the usage of absolute paths on Windows like 'C:\aa\bb'
2024-04-28 19:44:56 +03:00
otavepto
3dc17a8bc4 ability to get global settings files size + current user save path in local_storage, needed in case we are now using a custom local_save_path 2024-04-23 02:16:02 +02:00
otavepto
f0c42efcbf changed default saves folder name from "Goldberg SteamEmu Saves" to "GSE Saves" 2024-04-20 01:10:40 +02:00
otavepto
35c0c408b9 * allow changing the name of the base folder used to store save data via saves_folder_name, by default it would be Goldberg SteamEmu Saves
* changed the environment variable `SteamAppPath` to `GseAppPath`
* allow loading `config.ini` from global settings path + merge it with the local one, and allow the local one to override the global one
* fixed the path returned by `get_user_appdata_path()` to include the path separator
* updated readmes
2024-04-16 22:59:27 +02:00
otavepto
9fe55f2e81 for the overlay:
* reduce code duplication
* avoid bypassing local_storage when loading sounds
* avoid alloating sound buffers via new-delete, use std::vector
* clear/reset all global objects on destroy
2024-04-10 11:05:26 +02:00
otavepto
28da5747db const ref args in some places 2024-04-09 19:10:04 +02:00
otavepto
8576d149d3 remove functions names prefixes in debug logs 2024-04-06 08:30:08 +02:00
otavepto
0b86464374 * load the icons of a single achievement each overlay callback invokation, will slow things down during startup
but this avoids having to load the achievement icon during gameplay which causes micro-stutter

* avoid loading and resizing the achievement icon each time it's unlocked

* Local_Storage: avoid allocating buffers unless `stbi_load()` was successfull
2024-03-15 00:03:41 +02:00
otavepto
5c312306d4 use const ref in many places 2024-03-08 18:13:29 +02:00
otavepto
b92a70e9ac a hacky fix for the overlay on dx12 2024-02-09 20:39:01 +02:00
otavepto
6249d7ca4d * attempt to auto detect mods with the same behavior as if they were defined in mods.json, for an easier config
* new function in local storage to get list of folders at root level, given some path

* use last week epoch as the default time for mods dates (created, added, etc...)

* UGC: some params checks according to SDK docs for CreateQueryXXX() functions

* fixed some mistakes
2024-01-20 18:46:43 +02:00
otavepto
43debcbaf8 * local storage: allow files in root of user data
* common mods subscription state between ugc and remote storage

* ugc: implement SetUserItemVote(), GetUserItemVote(), AddItemToFavorites(), RemoveItemFromFavorites(), favorite mods list is now save in `favorites.txt` in the user data folder

* ugc: make sure returned mod folder from GetItemInstallInfo() is null terminated & validate arg
2024-01-20 18:46:43 +02:00
otavepto
440d8335e2 fixed a bunch of includes 2023-12-28 01:30:46 +02:00
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
Detanup01
b697c8bd2d All Auth token support 2023-12-24 14:33:40 +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
a
75e6d7c8ab (RIN forum) add initial hotfix by ce20fdf2
* + revert the change to SetProduct() and SetGameDescription()

* + less verbose return in Steam_GameServer::BSecure()

* + add missing note in ReadMe about libssq
2023-12-14 04:40:25 +02:00
Mr_Goldberg
3abc5976e0
Reset LastError in some functions for game devs that can't code. 2022-08-11 20:52:02 -04:00
Mr_Goldberg
98b149b9b6
SDK 1.52 2021-12-06 16:51:17 -05:00
Mr_Goldberg
c8092f9f45
Implement GetFileDetails. 2021-09-19 01:07:19 -04:00
Mr_Goldberg
51702b898e
UTF8 paths are now properly handled on windows. 2021-04-25 12:44:41 -04:00
Nemirtingas
c8e9a162ea Add steam screenshot api. 2020-10-09 13:48:09 +02:00
Nemirtingas
fe9bbd1104 Add a common include file. 2020-07-16 11:56:24 +02:00
Mr_Goldberg
828e5d456c
Inventory/achivements bug fixes/improvements/cleanups. 2019-10-19 12:02:30 -04:00
Nemirtingas
22b52df279 Fix the disabled functions prototype 2019-10-13 11:19:18 +00:00
Nemirtingas
8c45ab2003 Rework inventory loading
More generic json loading allows to load a json from a specified folder rather than the "inventory" directory.
Also changed achievements location to <appid> root diectory
2019-10-13 12:26:22 +02:00
Nemirtingas
6c19056fbb Change inventory files place.
inventory is now in %appdata%/goldberg.../<appid>/inventory just like remote and stats.
It is also affected by the local_save.txt
2019-09-18 14:54:09 +02:00
Nemirtingas
abb26d402f Fix 2019-08-24 18:10:56 +02:00
Nemirtingas
21e08ed220 Achievements support & inventory customization.
Added achievements support. Achievements are saved like real steam, see your inventory directory.(like items, uses a .json, tool can be used to dump achievements from steam public api).
You will need a public apikey. (See https://steamcommunity.com/dev)
Reworked item support to split inventory items to defined items.
2019-08-24 17:42:39 +02:00
Mr_Goldberg
7939796680
Fix build. 2019-07-31 10:25:05 -04:00
Mr_Goldberg
26c5b7949f
Implemented some ugc remote storage functions related to fileshare. 2019-07-31 10:01:55 -04:00
Mr_Goldberg
8723dad025
Update to sdk 1.46 2019-07-28 09:02:09 -04:00
Mr_Goldberg
6dd7f517e6
Fix last pull request. 2019-07-12 11:26:07 -04:00
Nemirtingas
72d7d15adc Added the line to push dir name on linux 2019-06-19 18:43:14 +02:00
Nemirtingas
a1d336bf56 Pass dir_name by reference
Passing dir_name by reference will save a copy constructor.
2019-06-19 18:39:14 +02:00
Nemirtingas
717808e796 Updated for the linux case. 2019-06-18 10:55:17 +02:00
Nemirtingas
e54072918f Added check on directory in Local_Storage::file_exists
Added check on directory in Local_Storage::file_exists.
Added check in get_filenames_recursive if last char is the path separator (some use cases were adding a path separator even if there were already one).

In base.h, added check on s and r, that will avoid an out-of-range vector exception on Visual Studio, same for network.cpp.
2019-06-17 23:08:23 +02:00
Nemirtingas
b093ca90d3 Fix issue #14
This commit fixes game crash in ETS2.
The parameter order is wrong, 1st param is what to replace and 2nd param is with what to replace.
2019-06-16 15:14:21 +02:00
Nemirtingas
32b8a8b169 Update local_storage.cpp, replace_with string parameters should be const. (Fix build error on VisualStudio) 2019-06-08 08:45:09 +00:00
Mr_Goldberg
9a9c3e1a4b
Fix remote folder so that directory structure is exactly like in real steam. 2019-05-23 09:35:12 -04:00
Mr_Goldberg
2ba58d9f78
Fix build. 2019-05-03 09:09:06 -04:00
Mr_Goldberg
701eba17e8
Custom broadcasts file is more appropriate in:
Goldberg SteamEmu Saves/settings/custom_broadcasts.txt

Use C++ vector instead of C arrays.
2019-05-03 08:50:10 -04:00
soft as HELL
52cad2114d
Simplify default path creation 2019-04-16 07:46:40 +03:00
soft as HELL
1c19f418c6
Respect XDG_DATA_HOME 2019-04-15 19:25:54 +03:00