Commit graph

301 commits

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