Commit Graph

335 Commits (master)

Author SHA1 Message Date
Mr_Goldberg b1206b0fa2
Add a longer delay to P2PSessionRequest_t callback.
Don't fire it if packet is sent before it is fired.
4 years ago
Mr_Goldberg 350293a9c3
Fixed game crash when calling ContextInit before SteamAPI_Init 4 years ago
Mr_Goldberg 3f44827326
Basic JoinClanChatRoom implementation. 4 years ago
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.
4 years ago
Mr_Goldberg ffdaf72597
Merge branch 'overlay_h' of https://gitlab.com/Nemirtingas/goldberg_emulator
# Conflicts:
#	build_steamos.sh
#	dll/dll.cpp
4 years ago
Mr_Goldberg c9d97abd5b
Fix some possible controller issues. 4 years ago
Mr_Goldberg 958ced0edd
Add a delay to give games time to register call results. 4 years ago
Mr_Goldberg e6031c7597
Fix possible thread issue. 4 years ago
Mr_Goldberg 29e713b94c
Add a mutex specifically for the P2P packet functions to speed things up. 4 years ago
Mr_Goldberg b53d5224f3
Cache values of old accessor functions for better performance. 4 years ago
Mr_Goldberg a2f8fec816
Try to fix the flat api get public ip function. 4 years ago
Mr_Goldberg 60b627163a
Comment out microsecond sleep that no longer seems necessary. 4 years ago
Mr_Goldberg 38ad2c057c
Fix flat api not getting exported. 4 years ago
gion 33180f1b0d Merge branch 'master' of gitlab.com:Mr_Goldberg/goldberg_emulator 4 years ago
gion d1b901a491 Ops, too many frees. 4 years ago
gion 86d7806f27 Implement case insensitive filesystem access. 4 years ago
Mr_Goldberg 81830efd58
Close background thread on steamclient shutdown. 4 years ago
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.
4 years ago
Mr_Goldberg 4e6aa809de
Kill background thread on client shutdown. 4 years ago
Mr_Goldberg 71e265f52b
Add env variable to set app path. 4 years ago
Mr_Goldberg 106fb03bb0
Fix build issue. 4 years ago
Mr_Goldberg 282ac22a46
Use the better api for linux controller support and include it in the auto builds. 4 years ago
gion 1ef69bec74 Add missing Linux exports. 4 years ago
Nemirtingas 118dee9278 Merge remote-tracking branch 'Mr_Goldberg/master' into overlay_h 4 years ago
Mr_Goldberg e9513d4733
Add linux steamclient builds. 4 years ago
Mr_Goldberg 2faba9bed9
Try to support windows xp. 4 years ago
Mr_Goldberg a66779ed00
Fix network not working because game calls WSACleanup on startup. 4 years ago
Mr_Goldberg 2bbf9ef6df
Add small delay to new lobby member callbacks. 5 years ago
Mr_Goldberg b8aa74af0e
GetAppInstallDir accuracy improvements. 5 years ago
Mr_Goldberg cb1bb895c4
Forgot this when updating sdk. 5 years ago
Mr_Goldberg 0f0bbba319
GetGlyphForActionOrigin implementation. 5 years ago
Mr_Goldberg 262ee1d18f
Update to sdk 1.47 5 years ago
Nemirtingas c8028d6a98 Update steam_user_stats.cpp 5 years ago
Mr_Goldberg afa12b5846
Remove useless code. 5 years ago
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
5 years ago
Mr_Goldberg 949a327b8a
Implement inventory functions.
Fix CI build.
5 years ago
Mr_Goldberg 33cdf77c77 Set lobby member data should be available right away to getlobbymemberdata 5 years ago
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.
5 years ago
Nemirtingas 02ef03b3f2 Fix my_master build 5 years ago
Nemirtingas a318e04959 Merge branch 'master' into my_master 5 years ago
Nemirtingas c8288d6bf3 Added file to disable overlay
Disable the overlay by creating a file disable_overlay.txt next to steam_api.dll
5 years ago
Nemirtingas ce79df1c26 Added customizable notification
Notification can have a type depending on what to show.
5 years ago
Mr_Goldberg 2986b01d0c
Set lobby member data should be available right away to getlobbymemberdata 5 years ago
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.
5 years ago
Mr_Goldberg 42d9217f00
Fix build issue. 5 years ago
Mr_Goldberg 828e5d456c
Inventory/achivements bug fixes/improvements/cleanups. 5 years ago
Mr_Goldberg 815e3de361
Merge branch 'achievements_support' of gitlab.com:Nemirtingas/goldberg_emulator 5 years ago
Nemirtingas dbc4e7e08b Update base.cpp 5 years ago
Nemirtingas 04d376ce25 Fix the address being out of the range lower_bound < addr < upper_bound 5 years ago
Nemirtingas 19c444de7f Remove the inventory folder 5 years ago
Nemirtingas 22b52df279 Fix the disabled functions prototype 5 years ago
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
5 years ago
Nemirtingas f15b2b0458 Steam returns true even if the achievement is already set 5 years ago
Nemirtingas c60a763f68 Don't overwrite achievement date
Don't overwrite achievement date when setting the achievement and it was already set.
5 years ago
Nemirtingas 7ce278fc47 Merge branch 'master' into achievements_support 5 years ago
Mr_Goldberg 0a29ed5a9a
Implement a few functions in steam networking utils. 5 years ago
Nemirtingas 8d22fb72ae Merge branch 'master' into 'achievements_support'
# Conflicts:
#   dll/steam_remote_storage.h
5 years ago
Mr_Goldberg 736d1a9090
Make isteamutils call result functions respect callback delays. 5 years ago
Mr_Goldberg 1427a4bcef
More accurate steam remote storage behavior. 5 years ago
Mr_Goldberg bd921b0939
Add a way to disable all the networking functionality in the emulator. 5 years ago
soft as HELL 787cac47db Add delay to FileWriteAsync callback 5 years ago
soft as HELL 9508326732 Add validation to writes 5 years ago
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)
5 years ago
Mr_Goldberg 75dd582dec
Fix crash when one of the lobby keys which was supposed to be an int was not an int. 5 years ago
Mr_Goldberg 5ed9a7aa77
Fix dumb bug. 5 years ago
Nemirtingas 5ad434e190 Merge branch 'master' into overlay_h 5 years ago
Nemirtingas 1545e375a2 Fix wrong broadcast addr on windows 5 years ago
Mr_Goldberg b77b4e2ef5
Fix older ActionOrigins functions. 5 years ago
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
5 years ago
Mr_Goldberg ee4722cb33
Activate the action set if there is only one present. 5 years ago
Mr_Goldberg 03a1627d07
SteamInput GetDigitalActionOrigins and GetAnalogActionOrigins implemented. 5 years ago
Mr_Goldberg 09704ae243
Fixed issue where GetAnalogActionData magnitude of joystick was always maximum. 5 years ago
Mr_Goldberg 663728edca
Allow action names to be used in more than one action set at the same time. 5 years ago
Mr_Goldberg 8b9e0e25ca
Forgot this in last commit. 5 years ago
Mr_Goldberg 2af93427fe
Initial Xinput ISteamInput/ISteamController support. 5 years ago
Mr_Goldberg 4db580d945
Add missing older steam api SteamUnifiedMessages() function. 5 years ago
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.
5 years ago
Nemirtingas 86b178f55b Fixed definition update not being called
Should update definition when inventory is requested and definition is not loaded
5 years ago
Nemirtingas dd13377be7 Added linux arch define 5 years ago
Nemirtingas 495bc957cd Added some os detection
Need to detect linux x86 or x64
5 years ago
Nemirtingas d9b9b990f3 Update settings_parser.cpp 5 years ago
Nemirtingas 7a59f48000 Merge branch 'master' into achievements_support 5 years ago
Nemirtingas 2365b50c38 Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg bca4bd6dc1
Added a way to configure stats and moved parser logic to other file. 5 years ago
Nemirtingas f1118030e8 Added the forgotten size update if copied less chars. 5 years ago
Nemirtingas abb26d402f Fix 5 years ago
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.
5 years ago
Nemirtingas ea4588f442 (WIP) achievements support
build is also WIP
5 years ago
Nemirtingas 7daf605511 Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg ced9b77afc
Tweaked auth delays. 5 years ago
Mr_Goldberg 06b4332187
Add some commented out code to disable https in winhttp. 5 years ago
Mr_Goldberg 0e17aeef76
Basic steamclient.dll emulation.
Build with STEAMCLIENT_DLL defined to build in steamclient.dll mode.
5 years ago
Mr_Goldberg e044205e71
Make encrypted ticket size more realistic. 5 years ago
Nemirtingas 8abd24ca54 Re-enabled auto join if overlay is not ready 5 years ago
Nemirtingas cb67853e45 Fixed build for 64bits 5 years ago
Nemirtingas 6224350142 Fixed compilation for windows 5 years ago
Nemirtingas f9ee123a05 Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg 1d19d49419
Increase return value of GetAppBuildId. 5 years ago
Nemirtingas 03d02b497b Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg 07af5737b4
Merge branch 'DLC-comments' of gitlab.com:Lyberta/goldberg_emulator 5 years ago
Nemirtingas 2930f12420 Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg 35860efa3a
Only set g_pSteamClientGameServer in steam gameserver init functions. 5 years ago
Lyberta b41517cd91 Added hash comments to DLC.txt 5 years ago
Nemirtingas f30b0c9fb2 Merge branch 'master' into overlay_h 5 years ago
Mr_Goldberg 35c59044fd
SteamGameServerClient should return NULL if the gameserver is not initialized. 5 years ago
Mr_Goldberg bf4847452e
SteamAPI_Shutdown actually does something now. 5 years ago
Mr_Goldberg f4ab249f36
Add a way to configure which leaderboards are seen by the game. 5 years ago
Nemirtingas 4f9e67d700 Support for chat message (WIP) 5 years ago
Nemirtingas 2a373bbf79 Now I set the invite instead of adding it.
You should send a lobby invite or a rich invite, but not both.
5 years ago
Nemirtingas 8fe7c2267a User must now accept invite 5 years ago
Nemirtingas 156bee1564 Invitation & Chat support (WIP) 5 years ago
Nemirtingas a1037e3bf2 size() returns a size_t. 5 years ago
Nemirtingas 884f147e1b Merge branch 'master' into overlay_h 5 years ago
Nemirtingas e6826d8ead Basic & Ugly implementation of overlay.
Overlay still WIP, don't look too much into the code.
I will do it better soon.
5 years ago
Mr_Goldberg 7939796680
Fix build. 5 years ago
Mr_Goldberg 26c5b7949f
Implemented some ugc remote storage functions related to fileshare. 5 years ago
Mr_Goldberg 8723dad025
Update to sdk 1.46 5 years ago
Nemirtingas a60a106daf Implementing overlay into existing code. 5 years ago
Mr_Goldberg bb9c516775
Fix crash in crazy taxi. 5 years ago
Mr_Goldberg 55835de708
Untested version of GetInstalledDepots. 5 years ago
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...
5 years ago
Mr_Goldberg 514f2ddbd9
Some small cleanups. 5 years ago
Mr_Goldberg 2a659043d3
Fix build. 5 years ago
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
5 years ago
Mr_Goldberg f56503fcd0
Merge branch 'issue_#5' of https://gitlab.com/Nemirtingas/goldberg_emulator into inventory_pr 5 years ago
Nemirtingas fb31aef9b2 Set items to static
Set items to static and call the json load only once.
5 years ago
Mr_Goldberg 66932785c3
Beggining of a actually working steam networking sockets implementation. 5 years ago
Mr_Goldberg e252f83e8a
Make auth stuff behave more like real steam. 5 years ago
Nemirtingas 7853451b01 Added buffer size check while populating it. 5 years ago
Mr_Goldberg 0677b8e2ff
Tweak some delays to get the game ignite working. 5 years ago
Nemirtingas 0b134e98a9 Added debug message 5 years ago
Nemirtingas 98c556d6dc atomic_bool is not copy_constructible 5 years ago
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
5 years ago
Nemirtingas 332c0479bb Moved json.hpp to its own folder. 5 years ago
Nemirtingas 573a01212b Switch to atomic_bool for thread synchronisation. 5 years ago
Nemirtingas 5c66c21f53 Modified Inventory to match steam's implementation 5 years ago
Nemirtingas 06f88d4687 Added the missing use cases
If pchPropertyName == NULL and/or pchValueBuffer == NULL
5 years ago
Mr_Goldberg f3e968b54c
SteamInternal_CreateInterface should return NULL if not called with "SteamClient" 5 years ago
Nemirtingas 0a9b950d2e Merge branch 'master' into issue_#5 5 years ago
Mr_Goldberg 6dd7f517e6
Fix last pull request. 5 years ago
Mr_Goldberg ba1591d8e7
Merge branch 'Nemirtingas/goldberg_emulator-issue_#14' 5 years ago
Mr_Goldberg aa9e3c0c46
Small improvements to last commit. 5 years ago
Nemirtingas 19659da6c2 Fixed crash on load.
Fixed dll crash on load by adding a check if the Json file exists or not.
5 years ago
Nemirtingas 5f67d359b3 Fixed typo because of merging 5 years ago
Nemirtingas bbf6a3b6ff Added partial inventory support.
For now, I load items and add them to the inventory and to the market.
5 years ago
Nemirtingas 5265382d9d Added Json item loader
Added Json item loader
5 years ago
Nemirtingas 38f05f2fc7 Added function definition to load item database.
Added function definition to load item database.
5 years ago
Nemirtingas 2039b04887 Added C++ Json support.
Added C++ Json template library.
Source: https://github.com/nlohmann/json
5 years ago
Nemirtingas 72d7d15adc Added the line to push dir name on linux 5 years ago
Nemirtingas a1d336bf56 Pass dir_name by reference
Passing dir_name by reference will save a copy constructor.
5 years ago
Nemirtingas 717808e796 Updated for the linux case. 5 years ago
Nemirtingas b034ee8781 Changed param source in strncpy
In strncpy its the destination size that should be in the 3rd parameter.
5 years ago
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.
5 years ago
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.
5 years ago
Nemirtingas 6d22c4989e Modified Sanitize
Modified Sanitize to allow all ANSI printable chars.
5 years ago
Nemirtingas 32b8a8b169 Update local_storage.cpp, replace_with string parameters should be const. (Fix build error on VisualStudio) 5 years ago
Mr_Goldberg 794469c4cf
Create lobby even if the run callbacks function is never run. 5 years ago
Mr_Goldberg c4e0c855df
Experimental build: Load luma ceg plugin dll if present. 5 years ago
Mr_Goldberg 1f79ca9231
Basic IsUserInSource implementation for the main lobby. 5 years ago
Mr_Goldberg 51a5e3bc27
Some steam networking accuracy improvements. 5 years ago
Mr_Goldberg 968cd6d601
Only call server request callback if not NULL. 5 years ago
Mr_Goldberg 9a9c3e1a4b
Fix remote folder so that directory structure is exactly like in real steam. 5 years ago
Mr_Goldberg 68b8e0241a
Add support for isteamgameserver 005-011 5 years ago
Mr_Goldberg 1717323cd7
Add delay to p2p session request callback to fix aoe2hd. 5 years ago
Mr_Goldberg 8daa896c86
Cleanup. 5 years ago
Mr_Goldberg cf05e58266
Add program to generate steam_interfaces.txt 5 years ago
Mr_Goldberg c20944ca0a
More accurate behavior. 5 years ago
Mr_Goldberg a36f6e8e68
Add support for setting app/DLC paths. 5 years ago
Mr_Goldberg fae4df7012
Fix custom broadcasts not resolving on windows. 5 years ago
Mr_Goldberg 147fc50be1
custom broadcasts file can now contain domains.
custom broadcasts can now be put in the steam_settings folder.
5 years ago
Mr_Goldberg 106d4025bb
Make the inventory result callback respect the result timeout. 5 years ago
Mr_Goldberg 2ba58d9f78
Fix build. 5 years ago
Mr_Goldberg 701eba17e8
Custom broadcasts file is more appropriate in:
Goldberg SteamEmu Saves/settings/custom_broadcasts.txt

Use C++ vector instead of C arrays.
5 years ago
Mr_Goldberg 9cdf99c63a
Merge branch 'Arkhist/goldberg_emulator-custom_broadcasts' into HEAD 5 years ago
Arkhist b9e2b5fa40 Added custom broadcasts file 5 years ago
Mr_Goldberg e3ddc8d89f
Very basic steam game coordinator emulation. 5 years ago
Mr_Goldberg 08a96883e7
Fix bug. 5 years ago
Mr_Goldberg 5af7508e2f
Add steam offline mode and change steam_appid.txt priority. 5 years ago
Mr_Goldberg 5cf841c603
Made some friends function behavior more accurate. 5 years ago
Mr_Goldberg fb7c8ea35b
Make lobby_connect work on Linux.
Fix a bug with it not finding rich presence.

Code is all open source now so no need to ship the lobby connect source in the release.
5 years ago
soft as HELL 52cad2114d
Simplify default path creation 5 years ago
soft as HELL 1c19f418c6
Respect XDG_DATA_HOME 5 years ago
Mr_Goldberg b7b5f78e7f
Load all interface versions that matter from steam_interfaces.txt 5 years ago
Mr_Goldberg 06b0d1c67f
Fix build issue on latest vs build tools. 5 years ago
Mr_Goldberg d968c3e1b5
Initial commit. 5 years ago