Commit Graph

656 Commits

Author SHA1 Message Date
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
a
4399c0b12b (RIN forum) added hotfix 2 by ce20fdf2: https://cs.rin.ru/forum/viewtopic.php?p=2884110#p2884110
* + avoid unnecessary locks in experimental overlay if the functionality is disabled
2023-12-14 04:44:39 +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
a
d95ceb0fc9 impl for GetAuthTicketForWebApi 2023-12-14 04:40:25 +02:00
a
caa4024de3 avoid locking the global_mutex every time when getting the global steamclient instance, double check for null and lock on the first time the pointer is initialized, should speed things up 2023-12-14 04:39:35 +02:00
a
3999818a6b explicitly use the ASCII version of Windows APIs when building to avoid conflict when UNICODE/_UNICODE def is defined (base.cpp) 2023-12-14 04:39:35 +02:00
a
3afde6e996 remove RtlGenRandom and use the newer BCryptGenRandom 2023-12-14 04:29:42 +02:00
Nicolas Gnyra
4418f27f78 (PR https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/merge_requests/52) Use sort_method when comparing scores in UploadLeaderboardScore 2023-12-14 04:18:16 +02:00
ayaka
3b6663ca99 (PR https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/merge_requests/42) dll/wrap: fix build for glibc 2.33
I don't think I need the step that converting to legacy struct.

Signed-off-by: ayaka <ayaka@soulik.info>
2023-12-14 04:18:06 +02:00
Mr_Goldberg
475342f0d8
SDK 1.56 and 1.57 2023-05-08 22:36:51 -04:00
Mr_Goldberg
802d8bcc8f
More accurate SetLobbyData. 2022-09-06 13:30:20 -04:00
Mr_Goldberg
7e1824290a
disable_lan_only.txt can now be put inside the steam_settings folder. 2022-09-06 13:29:39 -04:00
Mr_Goldberg
647e894d62
Add prints for debugging. 2022-09-06 13:29:02 -04:00
Mr_Goldberg
c231c87312
Allow message sending on not yet connected networking sockets. 2022-09-03 04:29:08 -04:00
Mr_Goldberg
373801b3a4
Fix some UDP packet size issues 2022-09-03 04:21:08 -04:00
Mr_Goldberg
05e2c3bef0
Implement TCP_NODELAY, thanks #209 2022-09-03 04:20:03 -04:00
Mr_Goldberg
0800649d8f
Add supported_languages.txt to specify which languages are available in a game. 2022-08-13 14:40:55 -04:00
Mr_Goldberg
a4ef72cb3c
Don't create new client instance when unregistering callbacks. 2022-08-13 14:37:23 -04:00
Mr_Goldberg
0082242a6f
LAN only filtering now properly handles mapped ipv4. 2022-08-13 14:36:34 -04: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
0c16f1942a
Better appticket format. Thanks Nemirtingas. 2022-08-11 20:51:04 -04:00
Mr_Goldberg
c22b3cd3d3
Fix crash. 2022-08-10 03:24:53 -04:00
Mr_Goldberg
7163daa6c1
Destroy client, network sockets and other objects on shutdown. 2022-08-10 03:24:29 -04:00
Mr_Goldberg
7c419e0afe
Fix overlay crash in games that load then unload steam api dll. 2022-08-07 23:11:21 -04:00
Mr_Goldberg
5ce4ac8429
Add support for multiple languages for achievements. 2022-08-07 23:07:30 -04:00
Mr_Goldberg
0d65114ee6
Fix controller rumble code. 2022-08-07 23:06:43 -04:00
Mr_Goldberg
5234d8b0e6
Implement leaderboard scores. 2022-08-07 04:37:57 -04:00
Mr_Goldberg
ad66573a20
Fix crashes. 2022-08-05 18:45:33 -04:00
Mr_Goldberg
528120d102
Multiple achievements can now use the same stat as a trigger. 2022-08-05 18:44:49 -04:00
Mr_Goldberg
5e880cd974
Add achievements display to overlay and ability to change some settings. 2022-08-05 02:09:43 -04:00
Mr_Goldberg
c17fb0c931
Update Nemirtingas overlay to latest. 2022-08-05 02:06:42 -04:00
Mr_Goldberg
ba877b6e78
sdk 1.55 2022-08-05 01:32:20 -04:00
Mr_Goldberg
0fc5a564e1
Malformed achievements config should not crash stuff anymore. 2022-08-02 01:16:40 -04:00
Mr_Goldberg
173c65a229
Much faster stat get. 2022-08-02 01:13:55 -04:00
Mr_Goldberg
942f011ee0
Implement ConsumeItem. 2022-07-31 17:10:31 -04:00
Mr_Goldberg
d3e8a701dd
All interface versions from sdk 1.0 and up are now supported. 2022-07-31 15:49:45 -04:00
Mr_Goldberg
8695ea2dce
Support achievements that are triggered automatically with stats.
The achievements config MUST be generated with the achievements_gen.py script.
2022-07-12 01:09:27 -04:00
Mr_Goldberg
3f8ce69b6d
SDK 1.54 2022-07-12 01:04:56 -04:00
Mr_Goldberg
d8bcb11ef2
The steam api seems to treat bools as the full register not just al. 2022-06-04 17:16:11 -04:00
Mr_Goldberg
3dab666dd8
Implement the filtertext functions. 2022-05-29 15:51:53 -04:00
Mr_Goldberg
bfe8e156f0
Add message numbers to networking sockets and sort received messages. 2022-05-29 15:51:36 -04:00
Mr_Goldberg
9c7499aa27
Fix sending to localhost ips. 2022-05-29 15:46:31 -04:00
Mr_Goldberg
03426b217d
Set the appid env variables. 2022-05-29 15:45:39 -04:00
Mr_Goldberg
d2ef266f81
SetConfigValue function should return true. 2022-05-27 13:03:12 -04:00
Mr_Goldberg
994207770b
Retry connections in steam networking sockets a few times. 2022-05-23 01:31:14 -04:00
Mr_Goldberg
a8c03fe8cd
Fix crash with flat api. 2022-05-23 01:30:36 -04:00
Mr_Goldberg
a0e558ed4c
Implement some networking sockets functions. 2022-05-21 00:38:29 -04:00
Mr_Goldberg
6d5cb3181f
Make lobby ids more like the ones on steam. 2022-05-21 00:37:48 -04:00
Mr_Goldberg
95fc8ac687
Send huge unreliable packets by TCP when they are too big. 2022-05-07 16:37:09 -04:00
Mr_Goldberg
d215070876
Whitelist custom broadcasts in non LAN ip blocking. 2022-04-30 22:23:42 -04:00
Mr_Goldberg
f6b8068883
Controller fixes.
Fix joystick dpad emulation diagonal direction.

Always activate an action set by default.
2022-04-02 04:33:34 -04:00
Mr_Goldberg
5533a9d5b0
Make gameserver and client interfaces share the same socket pool.
Some games depend on this behavior.
2022-01-26 12:03:08 -05:00
Mr_Goldberg
eda9abd2aa
Fix linux CI build. 2022-01-26 03:07:49 -05:00
Mr_Goldberg
f852e5c272
steam_interfaces.txt can now be put in the steam_settings folder. 2022-01-26 01:52:21 -05:00
Mr_Goldberg
0a5f136bc3
Fix games that use the ip and port to identify socket connections. 2022-01-26 01:51:55 -05:00
Mr_Goldberg
f147638f99
Basic offline steamhttp emulation. 2022-01-25 15:51:00 -05:00
Mr_Goldberg
120aa968b2
Fixed game that uses the digital handle function to get analog handles. 2022-01-25 15:50:20 -05:00
Mr_Goldberg
1a411405e6
SDK 1.53 update. 2022-01-25 15:49:26 -05:00
Mr_Goldberg
8383f16be7
Fix crash in some games that use the old flat api. 2022-01-02 03:00:29 -05:00
Mr_Goldberg
978a1b81e3
Don't write stats to disk if value didn't change. 2021-12-22 13:33:13 -05:00
Mr_Goldberg
9eb7066098
Fix crash.
Thanks wizark952.
2021-12-22 13:32:35 -05:00
Mr_Goldberg
98b149b9b6
SDK 1.52 2021-12-06 16:51:17 -05:00
Mr_Goldberg
50a6601f50
GetAchievementName function now returns achievements in alphabetical order. 2021-09-19 01:11:33 -04:00
Mr_Goldberg
c8092f9f45
Implement GetFileDetails. 2021-09-19 01:07:19 -04:00
Mr_Goldberg
a24a9c266f
Make the TriggerVibrationvibration behave closer to real steam. 2021-09-14 16:11:17 -04:00
Mr_Goldberg
a7c04018cf
Implement analog dpad in controller interface. 2021-09-10 14:19:12 -04:00
Mr_Goldberg
69188b8d3e
GetAvailableGameLanguages should at least return the language set in the emu. 2021-09-10 14:18:00 -04:00
Mr_Goldberg
c5f50ddb32
Properly handle leaderboard name being NULL (#167) 2021-08-07 02:11:40 -04:00
Mr_Goldberg
f041b95c86
Add a way to config the build id in the emu. Fix crash due to empty lines
in some files

Add a way to disable lobby creation in the emu (lobby creation will return
an error when enabled)
2021-08-07 01:46:10 -04:00
Mr_Goldberg
a855cde651
Add relay init callback. 2021-06-29 11:53:40 -04:00
Mr_Goldberg
f4cd015701
Add NULL pointer checks to remote storage interface. 2021-06-22 15:32:58 -04:00
Mr_Goldberg
b189fbf260
Fix flat api crash. 2021-06-17 23:56:51 -04:00
Mr_Goldberg
a3c606c74d
Send gameserver lobby callback even when the one set is invalid. 2021-06-13 00:08:32 -04:00
ptremor
02195f5636 Custom Broadcasts improvement to add support for specifying ports 2021-05-30 19:18:19 -03:00
Mr_Goldberg
faf15e5d88
Make GetItemDefinitionIDs behave more like the real one. 2021-05-26 23:06:40 -04:00
Mr_Goldberg
0595490c00
Support old steam http interfaces. 2021-05-10 09:46:42 -04:00
Mr_Goldberg
51702b898e
UTF8 paths are now properly handled on windows. 2021-04-25 12:44:41 -04:00
Mr_Goldberg
b8eae2b709
Don't memset the whole connection status structs to zero.
Some games pass smaller versions of the struct.
2021-04-18 22:36:48 -04:00
Mr_Goldberg
19015c097c
Hopefully this fixes the SteamAPI_ISteamGameServer_GetPublicIP function 2021-04-09 14:53:20 -04:00
Mr_Goldberg
c48526d49a
Fix possible crash. 2021-04-09 14:52:45 -04:00
Mr_Goldberg
dc95076faa
Achievement names are now treated as case insensitive.
This should fix achievements in a few games.
2021-04-02 23:42:22 -04:00
Mr_Goldberg
44305a0068
Implement steamnetworkingsockets ip/port connections.
Note: clients need to know each other already or it won't work.
2021-03-07 19:06:05 -05:00
Mr_Goldberg
8785ae568c
Allow "hidden" achievement property to be an int in the json config. 2021-03-07 19:03:24 -05:00
Mr_Goldberg
992e5c3faa
Properly initialize user_achievements so functions like
getachievementandunlocktime work properly.
2021-02-28 19:26:29 -05:00
Mr_Goldberg
58a57cc91b
Fix coding mistake in networking socket receive functions. 2021-02-27 16:29:40 -05:00
Mr_Goldberg
8e9d3e8f3a
Add force_listen_port.txt 2021-02-27 16:28:59 -05:00
Mr_Goldberg
8e1be658e9
Networking messages improvements. 2021-02-21 11:13:43 -05:00
Mr_Goldberg
990a0eb71f
Steam networking messages implementation. 2021-02-16 12:37:22 -05:00
Mr_Goldberg
1648c14243
Fixed issue with game treating bool return values as an int. 2021-02-16 12:30:24 -05:00
Mr_Goldberg
bfa1e95f7b
Use the same interface for both enabled and disabled controller builds. 2021-02-07 19:09:48 -05:00
Mr_Goldberg
6dfe11503b
Dll loading feature now only tries loading .dll files. 2021-02-06 22:37:59 -05:00
Mr_Goldberg
9a63cf868d
Listen socket ids should be different from connection socket ids. 2021-01-31 21:50:31 -05:00
Mr_Goldberg
37b329c9c5
Implement networking sockets connection status/info functions. 2021-01-31 21:50:11 -05:00
Mr_Goldberg
7ea90b03c4
Fixed some dedicated servers not booting up correctly. 2021-01-23 23:03:10 -05:00
Mr_Goldberg
294c8e8124
Update to sdk 1.51 2021-01-17 22:46:00 -05:00
Mr_Goldberg
4cb55c52e2
Add support for loading custom dlls in the experimental build.
Put them in steam_settings\load_dlls\
2020-12-25 21:00:36 -05:00
Mr_Goldberg
147ff1b5da
Only trigger data update when lobby data is actually changed. 2020-12-13 00:10:33 -05:00
Mr_Goldberg
50f379aa91
Fix callback being too fast. 2020-12-06 15:46:34 -05:00
Mr_Goldberg
51b3fa95ed
ISteamNetworkingSockets004 2020-11-18 10:15:24 -05:00
Nemirtingas
c8e9a162ea Add steam screenshot api. 2020-10-09 13:48:09 +02:00
Mr_Goldberg
95bebdfb7c
Implement poll groups and missing message fields. 2020-10-04 13:14:49 -04:00
Mr_Goldberg
747f178b56
SDK 1.50 2020-09-14 19:53:56 -04:00
Mr_Goldberg
f6a2c0e5ef
ISteamNetworkingSocketsSerialized004 2020-08-27 00:15:15 -04:00
Mr_Goldberg
a22ca27c26
Don't trust anyone especially not the steam sdk docs. 2020-08-25 23:14:23 -04:00
Mr_Goldberg
cbdd033b34
Make GetAchievementAndUnlockTime return false to prevent some games getting stuck. 2020-08-08 13:49:18 -04:00
Mr_Goldberg
2e1c24dfea
Small code cleanup. 2020-08-03 23:08:22 -04:00
Mr_Goldberg
ba25559920
Fixes to matchmaking and friends. 2020-08-03 12:56:33 -04:00
Nemirtingas
fe9bbd1104 Add a common include file. 2020-07-16 11:56:24 +02:00
Nemirtingas
25ee1dfa52 Implement all 4 Steam_Networking_Utils functions
SteamNetworkingIPAddr_ToString
SteamNetworkingIPAddr_ParseString
SteamNetworkingIdentity_ToString
SteamNetworkingIdentity_ParseString
2020-07-15 20:33:49 +02:00
Nemirtingas
d86721afcb Implement SteamNetworkingIdentity_ToString for volcanoids 2020-07-13 23:22:36 +02:00
Mr_Goldberg
31c1453d2b
Implement the GamepadIndex functions. 2020-07-11 11:48:01 -04:00
Mr_Goldberg
9b9c440fbc
Fixed crash when getlobbydata key is null. 2020-07-07 21:47:10 -04:00
Mr_Goldberg
c7fd4ba158
FileReadAsync should be as fast as possible. 2020-07-05 18:46:38 -04:00
Mr_Goldberg
39cb2c7c17
Implement the promoitems functions. 2020-06-25 11:26:40 -04:00
Mr_Goldberg
833510fbf1
Very basic implementations of a few steamhttp functions. 2020-06-25 11:26:19 -04:00
Mr_Goldberg
d531e27ac0
Fixed potential bug. Thanks to Nemirtingas for finding it. 2020-06-23 07:19:45 -04:00
Mr_Goldberg
02ee5f9a6d
Implement the TriggerItemDrop function. 2020-06-20 21:17:31 -04:00
Mr_Goldberg
a0648d454c
Add a way to set subscribed groups. 2020-06-20 21:15:26 -04:00
Mr_Goldberg
beffb89bda
Some refactoring. Added a define for the default callresult/callback timeout. 2020-06-20 21:14:37 -04:00
Mr_Goldberg
25d53b6542
Might as well implement the other version of GetItemInstallInfo too. 2020-06-14 16:17:33 -04:00
Mr_Goldberg
9154f04f60
Merge branch 'master' of gitlab.com:Goldberguser/goldberg_emulator 2020-06-14 16:16:46 -04:00
Mr_Goldberg
66e596ea29
Update to sdk 1.49 2020-06-14 16:04:43 -04:00
Goldberguser
619a9c9877 Implement old version of GetItemInstallInfo 2020-06-12 13:48:26 +02:00
Mr_Goldberg
a36d6e475d
GetEncryptedAppTicket can be called with cbMaxTicket=0 to get the ticket size. 2020-06-11 12:21:19 -04:00
Mr_Goldberg
48ea1da91f
Add missing steamclient function. 2020-06-11 12:20:31 -04:00
Mr_Goldberg
ee4f1d7d79
Fix callback being too fast for some games. 2020-06-04 22:02:50 -04:00
Mr_Goldberg
dd1c6f01a0
Fix CI build. 2020-05-26 10:18:45 -04:00
Mr_Goldberg
afc4da658c
More accurate lobby emulation.
Lobby data and lobby member data is now treated as case
insensitive just like on real steam

If JoinLobby is called multiple time in succession with the same lobby id
it returns the same api call id.
2020-05-26 08:17:34 -04:00
Mr_Goldberg
91d1391644
Fix some games that seem to never call the runcallbacks functions. 2020-05-23 23:54:26 -04:00
Mr_Goldberg
6cccdd2b16
Properly handle multiple lobby joins by the same peer. 2020-05-23 09:12:16 -04:00
Mr_Goldberg
4882344673
Fix bug. 2020-05-23 09:11:39 -04:00
Mr_Goldberg
1c141783ac
Small mutex fix. 2020-05-23 09:10:56 -04:00
Mr_Goldberg
714904b984
Make all functions return something and re enable the msvc error. 2020-05-20 18:42:15 -04:00
Mr_Goldberg
3b3dc98b3a
Add a way to force emu account name, language and steamid in steam_settings folder. 2020-05-18 11:21:04 -04:00
Mr_Goldberg
83fe490471
Added missing connection callback when accepting networking socket connection. 2020-05-17 00:15:57 -04:00
Mr_Goldberg
4ab508f7ef
Implement CreateSocketPair. 2020-05-11 15:06:00 -04:00
Mr_Goldberg
60fbdcfdba
Fix build and makefile. 2020-05-02 00:54:55 -04:00
Mr_Goldberg
91dbf2f9b0
Fixed some networking api related threading 2020-05-01 22:56:53 -04:00
Mr_Goldberg
657a36a21a
Fix build. 2020-05-01 13:25:51 -04:00
Mr_Goldberg
4e3331ddad
Fix lobby search bug when games sets an unsigned value but then searches for a signed value. 2020-05-01 12:23:39 -04:00
Mr_Goldberg
3c02f88b5d
Fix steamclient windows build. 2020-05-01 12:19:41 -04:00
Mr_Goldberg
0f6ae7f09e
Don't block local adapter related ips in experimental build. 2020-04-30 13:36:59 -04:00
Mr_Goldberg
d71ce908f5
Merge branch 'master' of gitlab.com:OancaAndrei/goldberg_emulator 2020-04-29 10:09:19 -04:00
Mr_Goldberg
5c41ba020c
Update to sdk 1.48 2020-03-25 13:43:23 -04:00
Mr_Goldberg
a0b66407bf
Some networking/matchmaking improvements. 2020-03-03 09:04:04 -05:00
gion
12e9b31b30 Bug fixes. 2020-02-29 16:33:30 +01:00
Mr_Goldberg
0e72e995ee
Fix issues when config text files contain utf8 bom. 2020-02-25 22:35:51 -05:00
Mr_Goldberg
f62a2e4566
Add delay to matchmaking servers direct ip requests. 2020-02-24 15:05:51 -05:00
Mr_Goldberg
6884c1e551
Matchmaking accuracy improvements. 2020-02-15 17:20:48 -05:00
Mr_Goldberg
767fee6840
lobby dataupdate is called even when the value does not change. 2020-02-14 15:02:54 -05:00
Mr_Goldberg
7e136bba14
Callback results improvements. 2020-02-14 15:01:54 -05:00
Mr_Goldberg
6f4273bf3a
Only run background thread if runcallbacks has been called more than 1 seconds ago. 2020-02-14 15:01:10 -05:00
Mr_Goldberg
1e7c3cd7e1
Fix build. 2020-02-09 09:33:51 -05:00
Mr_Goldberg
40b9b0ef3d
Call lobby invite callback when friend is invited. 2020-02-08 15:40:26 -05:00
Mr_Goldberg
624455705f
Use steam pipe instead of steam user to know if server or client interface. 2020-02-01 13:55:41 -05:00
Mr_Goldberg
03839a7de6
Use the same steam pipe/user numbers that the real steam dll uses because some games actually depend on it. 2020-02-01 13:46:05 -05:00
Mr_Goldberg
05e6c103f8
Fix compile error. 2020-01-31 15:47:56 -05:00
Mr_Goldberg
6ccb8f6c0b
ISteamApps 002-007 implemented. 2020-01-31 14:32:28 -05:00
Mr_Goldberg
9deef8c6f3
Add a depots.txt to configure values returned by the getinstalleddepots function. 2020-01-31 14:31:29 -05:00
Mr_Goldberg
b1206b0fa2
Add a longer delay to P2PSessionRequest_t callback.
Don't fire it if packet is sent before it is fired.
2020-01-26 17:25:41 -05:00
Mr_Goldberg
350293a9c3
Fixed game crash when calling ContextInit before SteamAPI_Init 2020-01-25 15:22:33 -05:00
Mr_Goldberg
3f44827326
Basic JoinClanChatRoom implementation. 2020-01-20 11:48:15 -05:00
Mr_Goldberg
db2a803cf7
A few improvements to the overlay merge request.
NO_OVERLAY define becomes EMU_OVERLAY which enables the overlay instead of disabling it.

disable_overlay.txt moved to steam_settings.
2020-01-19 12:55:14 -05:00
Mr_Goldberg
ffdaf72597
Merge branch 'overlay_h' of https://gitlab.com/Nemirtingas/goldberg_emulator
# Conflicts:
#	build_steamos.sh
#	dll/dll.cpp
2020-01-19 12:50:01 -05:00
Mr_Goldberg
c9d97abd5b
Fix some possible controller issues. 2020-01-19 01:34:52 -05:00
Mr_Goldberg
958ced0edd
Add a delay to give games time to register call results. 2020-01-18 13:58:30 -05:00
Mr_Goldberg
e6031c7597
Fix possible thread issue. 2020-01-17 15:46:50 -05:00
Mr_Goldberg
29e713b94c
Add a mutex specifically for the P2P packet functions to speed things up. 2020-01-17 13:13:59 -05:00
Mr_Goldberg
b53d5224f3
Cache values of old accessor functions for better performance. 2020-01-17 11:37:13 -05:00
Mr_Goldberg
a2f8fec816
Try to fix the flat api get public ip function. 2020-01-17 11:36:46 -05:00
Mr_Goldberg
60b627163a
Comment out microsecond sleep that no longer seems necessary. 2020-01-15 22:05:19 -05:00
Mr_Goldberg
38ad2c057c
Fix flat api not getting exported. 2020-01-15 19:43:46 -05:00
gion
33180f1b0d Merge branch 'master' of gitlab.com:Mr_Goldberg/goldberg_emulator 2020-01-16 00:59:39 +01:00
gion
d1b901a491 Ops, too many frees. 2020-01-16 00:55:38 +01:00
gion
86d7806f27 Implement case insensitive filesystem access. 2020-01-15 20:37:41 +01:00
Mr_Goldberg
81830efd58
Close background thread on steamclient shutdown. 2020-01-15 12:40:18 -05:00
Mr_Goldberg
11cb3ce998
Fix some major issues (networking didn't work, gameservers didn't work) with the steamclient version.
Implemented a basic steampipe alloc system and fixed build.
2020-01-15 10:11:37 -05:00
Mr_Goldberg
4e6aa809de
Kill background thread on client shutdown. 2020-01-13 13:47:47 -05:00
Mr_Goldberg
71e265f52b
Add env variable to set app path. 2020-01-13 13:47:14 -05:00
Mr_Goldberg
106fb03bb0
Fix build issue. 2020-01-12 14:43:25 -05:00
Mr_Goldberg
282ac22a46
Use the better api for linux controller support and include it in the auto builds. 2020-01-12 14:28:57 -05:00
gion
1ef69bec74 Add missing Linux exports. 2020-01-10 13:14:09 +01:00
Nemirtingas
118dee9278 Merge remote-tracking branch 'Mr_Goldberg/master' into overlay_h 2020-01-10 08:16:16 +01:00
Mr_Goldberg
e9513d4733
Add linux steamclient builds. 2020-01-08 18:43:18 -05:00
Mr_Goldberg
2faba9bed9
Try to support windows xp. 2020-01-08 18:26:42 -05:00
Mr_Goldberg
a66779ed00
Fix network not working because game calls WSACleanup on startup. 2020-01-02 14:10:01 -05:00
Mr_Goldberg
2bbf9ef6df
Add small delay to new lobby member callbacks. 2019-12-20 15:05:28 -05:00
Mr_Goldberg
b8aa74af0e
GetAppInstallDir accuracy improvements. 2019-12-12 14:11:05 -05:00
Mr_Goldberg
cb1bb895c4
Forgot this when updating sdk. 2019-12-11 19:17:47 -05:00
Mr_Goldberg
0f0bbba319
GetGlyphForActionOrigin implementation. 2019-12-11 12:06:19 -05:00
Mr_Goldberg
262ee1d18f
Update to sdk 1.47 2019-12-09 12:49:55 -05:00
Nemirtingas
c8028d6a98 Update steam_user_stats.cpp 2019-12-09 06:35:33 +00:00
Mr_Goldberg
afa12b5846
Remove useless code. 2019-12-06 14:42:29 -05:00
Nemirtingas
d1a4adc5bd Merge branch 'master' into 'overlay_h'
# Conflicts:
#   .gitlab-ci.yml
#   dll/steam_client.cpp
#   dll/steam_inventory.h
#   dll/steam_user_stats.h
2019-12-06 12:44:43 +00:00
Mr_Goldberg
949a327b8a
Implement inventory functions.
Fix CI build.
2019-12-04 08:44:14 -05:00
Mr_Goldberg
33cdf77c77 Set lobby member data should be available right away to getlobbymemberdata 2019-11-08 16:01:10 +01:00
Nemirtingas
56957abc99 Little improvements
steam_user_stats: Use the value stored in the JSON object.
steal_inventory: use 'empty' that is guaranteed to be constant in time.
2019-11-08 16:00:49 +01:00
Nemirtingas
02ef03b3f2 Fix my_master build 2019-11-08 15:59:29 +01:00
Nemirtingas
a318e04959 Merge branch 'master' into my_master 2019-11-08 15:58:54 +01:00
Nemirtingas
c8288d6bf3 Added file to disable overlay
Disable the overlay by creating a file disable_overlay.txt next to steam_api.dll
2019-11-08 15:57:04 +01:00
Nemirtingas
ce79df1c26 Added customizable notification
Notification can have a type depending on what to show.
2019-11-08 15:52:38 +01:00
Mr_Goldberg
2986b01d0c
Set lobby member data should be available right away to getlobbymemberdata 2019-10-25 18:34:37 -04:00
Nemirtingas
ef5693d9f8 Little improvements
steam_user_stats: Use the value stored in the JSON object.
steal_inventory: use 'empty' that is guaranteed to be constant in time.
2019-10-20 13:46:25 +02:00
Mr_Goldberg
42d9217f00
Fix build issue. 2019-10-19 12:06:39 -04:00
Mr_Goldberg
828e5d456c
Inventory/achivements bug fixes/improvements/cleanups. 2019-10-19 12:02:30 -04:00
Mr_Goldberg
815e3de361
Merge branch 'achievements_support' of gitlab.com:Nemirtingas/goldberg_emulator 2019-10-19 11:58:29 -04:00
Nemirtingas
dbc4e7e08b Update base.cpp 2019-10-16 17:31:46 +00:00
Nemirtingas
04d376ce25 Fix the address being out of the range lower_bound < addr < upper_bound 2019-10-16 17:00:08 +02:00
Nemirtingas
19c444de7f Remove the inventory folder 2019-10-13 15:27:17 +02: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
f15b2b0458 Steam returns true even if the achievement is already set 2019-10-11 16:08:46 +02:00
Nemirtingas
c60a763f68 Don't overwrite achievement date
Don't overwrite achievement date when setting the achievement and it was already set.
2019-10-10 23:13:21 +02:00
Nemirtingas
7ce278fc47 Merge branch 'master' into achievements_support 2019-10-10 08:28:20 +02:00
Mr_Goldberg
0a29ed5a9a
Implement a few functions in steam networking utils. 2019-10-09 17:36:36 -04:00
Nemirtingas
8d22fb72ae Merge branch 'master' into 'achievements_support'
# Conflicts:
#   dll/steam_remote_storage.h
2019-10-05 19:48:41 +00:00
Mr_Goldberg
736d1a9090
Make isteamutils call result functions respect callback delays. 2019-10-05 15:41:28 -04:00
Mr_Goldberg
1427a4bcef
More accurate steam remote storage behavior. 2019-10-05 15:40:29 -04:00
Mr_Goldberg
bd921b0939
Add a way to disable all the networking functionality in the emulator. 2019-10-05 15:39:50 -04:00
soft as HELL
787cac47db Add delay to FileWriteAsync callback 2019-10-04 19:01:17 +03:00
soft as HELL
9508326732 Add validation to writes 2019-10-03 16:17:34 +03:00
Nemirtingas
846ed27397 Add a default inventory support
Put a file in <steam_api.dll directory>/steam_settings/default_items.json with all default items you want (same syntax as the inventory file)
2019-09-23 19:06:24 +02:00
Mr_Goldberg
75dd582dec
Fix crash when one of the lobby keys which was supposed to be an int was not an int. 2019-09-22 11:35:27 -04:00
Mr_Goldberg
5ed9a7aa77
Fix dumb bug. 2019-09-20 11:04:04 -04:00
Nemirtingas
5ad434e190 Merge branch 'master' into overlay_h 2019-09-20 13:26:34 +02:00
Nemirtingas
1545e375a2 Fix wrong broadcast addr on windows 2019-09-20 13:12:42 +02:00
Mr_Goldberg
b77b4e2ef5
Fix older ActionOrigins functions. 2019-09-20 06:14:08 -04: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
Mr_Goldberg
ee4722cb33
Activate the action set if there is only one present. 2019-09-14 18:32:26 -04:00
Mr_Goldberg
03a1627d07
SteamInput GetDigitalActionOrigins and GetAnalogActionOrigins implemented. 2019-09-14 17:24:05 -04:00
Mr_Goldberg
09704ae243
Fixed issue where GetAnalogActionData magnitude of joystick was always maximum. 2019-09-12 07:21:11 -04:00
Mr_Goldberg
663728edca
Allow action names to be used in more than one action set at the same time. 2019-09-11 09:08:05 -04:00
Mr_Goldberg
8b9e0e25ca
Forgot this in last commit. 2019-09-10 23:58:27 -04:00
Mr_Goldberg
2af93427fe
Initial Xinput ISteamInput/ISteamController support. 2019-09-10 14:54:54 -04:00
Mr_Goldberg
4db580d945
Add missing older steam api SteamUnifiedMessages() function. 2019-09-07 10:35:55 -04:00
Mr_Goldberg
58083e0863
Started work on a real avatars implementation.
Fix issue where since the image ids changed for
every get avatar call mudrunner would keep allocating
memory indefinitely.
2019-09-07 09:39:41 -04:00
Nemirtingas
86b178f55b Fixed definition update not being called
Should update definition when inventory is requested and definition is not loaded
2019-09-01 21:33:29 +02:00
Nemirtingas
dd13377be7 Added linux arch define 2019-09-01 20:47:46 +02:00
Nemirtingas
495bc957cd Added some os detection
Need to detect linux x86 or x64
2019-09-01 20:46:55 +02:00
Nemirtingas
d9b9b990f3 Update settings_parser.cpp 2019-08-26 17:55:31 +00:00
Nemirtingas
7a59f48000 Merge branch 'master' into achievements_support 2019-08-26 19:45:58 +02:00
Nemirtingas
2365b50c38 Merge branch 'master' into overlay_h 2019-08-26 19:32:06 +02:00
Mr_Goldberg
bca4bd6dc1
Added a way to configure stats and moved parser logic to other file. 2019-08-26 13:01:45 -04:00
Nemirtingas
f1118030e8 Added the forgotten size update if copied less chars. 2019-08-25 00:29:05 +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
Nemirtingas
ea4588f442 (WIP) achievements support
build is also WIP
2019-08-21 20:52:36 +02:00
Nemirtingas
7daf605511 Merge branch 'master' into overlay_h 2019-08-18 12:30:51 +02:00
Mr_Goldberg
ced9b77afc
Tweaked auth delays. 2019-08-17 18:15:18 -04:00
Mr_Goldberg
06b4332187
Add some commented out code to disable https in winhttp. 2019-08-17 18:03:21 -04:00
Mr_Goldberg
0e17aeef76
Basic steamclient.dll emulation.
Build with STEAMCLIENT_DLL defined to build in steamclient.dll mode.
2019-08-17 18:02:15 -04:00
Mr_Goldberg
e044205e71
Make encrypted ticket size more realistic. 2019-08-17 18:00:31 -04:00
Nemirtingas
8abd24ca54 Re-enabled auto join if overlay is not ready 2019-08-16 00:12:11 +02:00
Nemirtingas
cb67853e45 Fixed build for 64bits 2019-08-14 18:54:38 +02:00
Nemirtingas
6224350142 Fixed compilation for windows 2019-08-14 18:11:00 +02:00
Nemirtingas
f9ee123a05 Merge branch 'master' into overlay_h 2019-08-12 16:47:58 +02:00
Mr_Goldberg
1d19d49419
Increase return value of GetAppBuildId. 2019-08-12 10:40:16 -04:00
Nemirtingas
03d02b497b Merge branch 'master' into overlay_h 2019-08-06 12:14:51 +02:00
Mr_Goldberg
07af5737b4
Merge branch 'DLC-comments' of gitlab.com:Lyberta/goldberg_emulator 2019-08-05 18:34:50 -04:00
Nemirtingas
2930f12420 Merge branch 'master' into overlay_h 2019-08-04 21:00:43 +02:00
Mr_Goldberg
35860efa3a
Only set g_pSteamClientGameServer in steam gameserver init functions. 2019-08-04 14:36:28 -04:00
Lyberta
b41517cd91 Added hash comments to DLC.txt 2019-08-04 14:10:22 +00:00
Nemirtingas
f30b0c9fb2 Merge branch 'master' into overlay_h 2019-08-04 11:11:40 +02:00
Mr_Goldberg
35c59044fd
SteamGameServerClient should return NULL if the gameserver is not initialized. 2019-08-03 19:00:31 -04:00
Mr_Goldberg
bf4847452e
SteamAPI_Shutdown actually does something now. 2019-08-03 18:58:23 -04:00
Mr_Goldberg
f4ab249f36
Add a way to configure which leaderboards are seen by the game. 2019-08-03 18:55:08 -04:00
Nemirtingas
4f9e67d700 Support for chat message (WIP) 2019-08-03 12:58:48 +02:00
Nemirtingas
2a373bbf79 Now I set the invite instead of adding it.
You should send a lobby invite or a rich invite, but not both.
2019-08-02 23:01:24 +02:00
Nemirtingas
8fe7c2267a User must now accept invite 2019-08-02 13:02:20 +02:00
Nemirtingas
156bee1564 Invitation & Chat support (WIP) 2019-08-02 11:16:30 +02:00
Nemirtingas
a1037e3bf2 size() returns a size_t. 2019-08-01 19:08:09 +02:00
Nemirtingas
884f147e1b Merge branch 'master' into overlay_h 2019-08-01 15:56:43 +02:00
Nemirtingas
e6826d8ead Basic & Ugly implementation of overlay.
Overlay still WIP, don't look too much into the code.
I will do it better soon.
2019-08-01 15:47:47 +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
Nemirtingas
a60a106daf Implementing overlay into existing code. 2019-07-25 23:33:28 +02:00
Mr_Goldberg
bb9c516775
Fix crash in crazy taxi. 2019-07-20 14:45:50 -04:00
Mr_Goldberg
55835de708
Untested version of GetInstalledDepots. 2019-07-20 14:45:37 -04:00
Nemirtingas
d2fba40cb4 Small improvements
Its always better to reserve memory when we can for a vector. Also, STL implements a lot of algorithms, its better to use them in case someday you need to change it to something alike. Like reversing the copy, use transform instead, etc...
2019-07-18 22:21:55 +02:00
Mr_Goldberg
514f2ddbd9
Some small cleanups. 2019-07-17 15:55:12 -04:00
Mr_Goldberg
2a659043d3
Fix build. 2019-07-17 13:54:23 -04:00
Mr_Goldberg
59a9fcee0d
Some cleanups.
Load items json only if there's an inventory request.

Launch callbacks only when loading is done.

Copy over original unformatted json.hpp
2019-07-17 13:25:35 -04:00
Mr_Goldberg
f56503fcd0
Merge branch 'issue_#5' of https://gitlab.com/Nemirtingas/goldberg_emulator into inventory_pr 2019-07-17 13:22:35 -04:00
Nemirtingas
fb31aef9b2 Set items to static
Set items to static and call the json load only once.
2019-07-17 17:28:39 +02:00
Mr_Goldberg
66932785c3
Beggining of a actually working steam networking sockets implementation. 2019-07-15 20:00:52 -04:00
Mr_Goldberg
e252f83e8a
Make auth stuff behave more like real steam. 2019-07-15 10:07:34 -04:00
Nemirtingas
7853451b01 Added buffer size check while populating it. 2019-07-14 22:47:33 +02:00
Mr_Goldberg
0677b8e2ff
Tweak some delays to get the game ignite working. 2019-07-14 16:25:16 -04:00
Nemirtingas
0b134e98a9 Added debug message 2019-07-14 22:24:56 +02:00
Nemirtingas
98c556d6dc atomic_bool is not copy_constructible 2019-07-14 21:01:42 +02:00
Nemirtingas
3273b1482b steam_items.json renamed
steam_items.json has been renamed to items.json and now lives in steam_settings beside the steam_api.dll
2019-07-14 20:53:20 +02:00
Nemirtingas
332c0479bb Moved json.hpp to its own folder. 2019-07-14 20:51:47 +02:00
Nemirtingas
573a01212b Switch to atomic_bool for thread synchronisation. 2019-07-14 20:51:23 +02:00
Nemirtingas
5c66c21f53 Modified Inventory to match steam's implementation 2019-07-14 19:22:30 +02:00
Nemirtingas
06f88d4687 Added the missing use cases
If pchPropertyName == NULL and/or pchValueBuffer == NULL
2019-07-12 22:26:45 +02:00
Mr_Goldberg
f3e968b54c
SteamInternal_CreateInterface should return NULL if not called with "SteamClient" 2019-07-12 15:54:26 -04:00
Nemirtingas
0a9b950d2e Merge branch 'master' into issue_#5 2019-07-12 21:04:11 +02:00
Mr_Goldberg
6dd7f517e6
Fix last pull request. 2019-07-12 11:26:07 -04:00
Mr_Goldberg
ba1591d8e7
Merge branch 'Nemirtingas/goldberg_emulator-issue_#14' 2019-07-12 11:25:22 -04:00
Mr_Goldberg
aa9e3c0c46
Small improvements to last commit. 2019-07-10 08:03:40 -04:00
Nemirtingas
19659da6c2 Fixed crash on load.
Fixed dll crash on load by adding a check if the Json file exists or not.
2019-07-09 15:07:10 +02:00
Nemirtingas
5f67d359b3 Fixed typo because of merging 2019-06-25 15:53:00 +02:00
Nemirtingas
bbf6a3b6ff Added partial inventory support.
For now, I load items and add them to the inventory and to the market.
2019-06-25 15:10:33 +02:00
Nemirtingas
5265382d9d Added Json item loader
Added Json item loader
2019-06-25 15:04:09 +02:00
Nemirtingas
38f05f2fc7 Added function definition to load item database.
Added function definition to load item database.
2019-06-25 15:03:23 +02:00
Nemirtingas
2039b04887 Added C++ Json support.
Added C++ Json template library.
Source: https://github.com/nlohmann/json
2019-06-25 14:59:40 +02: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
b034ee8781 Changed param source in strncpy
In strncpy its the destination size that should be in the 3rd parameter.
2019-06-18 00:25:56 +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
6d22c4989e Modified Sanitize
Modified Sanitize to allow all ANSI printable chars.
2019-06-16 12:10:51 +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
794469c4cf
Create lobby even if the run callbacks function is never run. 2019-06-01 13:11:27 -04:00
Mr_Goldberg
c4e0c855df
Experimental build: Load luma ceg plugin dll if present. 2019-05-30 12:59:53 -04:00
Mr_Goldberg
1f79ca9231
Basic IsUserInSource implementation for the main lobby. 2019-05-30 07:58:03 -04:00
Mr_Goldberg
51a5e3bc27
Some steam networking accuracy improvements. 2019-05-30 07:56:00 -04:00
Mr_Goldberg
968cd6d601
Only call server request callback if not NULL. 2019-05-26 13:46:43 -04: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
68b8e0241a
Add support for isteamgameserver 005-011 2019-05-20 12:35:55 -04:00
Mr_Goldberg
1717323cd7
Add delay to p2p session request callback to fix aoe2hd. 2019-05-17 14:15:12 -04:00
Mr_Goldberg
8daa896c86
Cleanup. 2019-05-17 14:13:48 -04:00
Mr_Goldberg
cf05e58266
Add program to generate steam_interfaces.txt 2019-05-15 08:24:39 -04:00
Mr_Goldberg
c20944ca0a
More accurate behavior. 2019-05-11 14:44:06 -04:00
Mr_Goldberg
a36f6e8e68
Add support for setting app/DLC paths. 2019-05-09 08:10:03 -04:00
Mr_Goldberg
fae4df7012
Fix custom broadcasts not resolving on windows. 2019-05-08 16:31:23 -04:00
Mr_Goldberg
147fc50be1
custom broadcasts file can now contain domains.
custom broadcasts can now be put in the steam_settings folder.
2019-05-08 15:43:25 -04:00
Mr_Goldberg
106d4025bb
Make the inventory result callback respect the result timeout. 2019-05-03 21:54:32 -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
Mr_Goldberg
9cdf99c63a
Merge branch 'Arkhist/goldberg_emulator-custom_broadcasts' into HEAD 2019-05-03 07:02:48 -04:00
Arkhist
b9e2b5fa40 Added custom broadcasts file 2019-04-22 14:09:21 +02:00
Mr_Goldberg
e3ddc8d89f
Very basic steam game coordinator emulation. 2019-04-21 16:48:32 -04:00
Mr_Goldberg
08a96883e7
Fix bug. 2019-04-21 16:47:54 -04:00
Mr_Goldberg
5af7508e2f
Add steam offline mode and change steam_appid.txt priority. 2019-04-21 16:47:45 -04:00
Mr_Goldberg
5cf841c603
Made some friends function behavior more accurate. 2019-04-16 17:59:03 -04:00