Commit Graph

318 Commits (5234d8b0e669d581baeb20f60ba678404ea1f22e)

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