390 Commits

Author SHA1 Message Date
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