Commit Graph

45 Commits (9ac6b263ecd4292384c8cde17ede580bff550e03)

Author SHA1 Message Date
Peter Repukat 9ac6b263ec SteamTarget: Increase process priority
This helps input responsiveness in CPU heavy games (like Forza Horizon 3)
7 years ago
Peter Repukat e89c413b2d SteamTarget: Re-hide console window 7 years ago
Peter Repukat f2eb3662f3 Const correctness 7 years ago
Kyle Herock 5b6ca16ffc Support passing command line arguments to targets (closes #6)
This also refactors target configuration storage to reduce the redundancy in copying the same set of files for every target. Each configured entry now instead uses a .ini file with the name of the entry stored in ./targets. SteamTarget can accept the path to a .ini file as a command line argument.

This also fixes the UI so that inputs are ordered the same as the visual order so that tab behavior isn't confusing.
7 years ago
Kyle Herock 0e4f9545e7 Fix crash when CloseWhenDone is enabled
The renderer thread is automatically closed in the SteamTargetRenderer destructor, so just stop the loop and let the program die
7 years ago
Peter Repukat 9fff72cc65 Add assemblyinformation 7 years ago
Peter Repukat bd99fc0857 Unify build-dirs 7 years ago
Peter Repukat e263746e41 Merged branch controller_fix into master 8 years ago
Peter Repukat 31791049bf SteamTarget: Fix Unhooking 8 years ago
Peter Repukat 0be26dce37 Cleanup 8 years ago
Peter Repukat 95eb87e183 Cleanup 8 years ago
Peter Repukat 9014a8c7af SteamTarget: Add x86 opcodes for unpatching Valve's XInputGetState hook 8 years ago
Peter Repukat 7d02ef4e6f SteamTarget: Unhook Steam from Target
Previously was done via GloSC_GameLauncher
Let's leave unhooking in GloSC_GameLauncher too, just to be safe.
8 years ago
Peter Repukat 4693542321 SteamTarget: Remove unnecessary VirtualProtect calls 8 years ago
Peter Repukat a9d947812e SteamTarget: Use VID / PID of Valve's SteamController / Cleanup
By using VID and PID of Valve's SteamController, Steam doesn't give us ANOTHER "fake" XInput device
Therefore it's not necessary anymore to count controllers before we plug in any virtual controllers
8 years ago
Peter Repukat 09f9faec7c Fix Multiple controllers / Cleanup
By Unhooking Steams hook to XInputGetState, we can detect how many Controllers Steam "emulates", before pluggin in any virtual controllers.
This *should* enable the use of multiple Valve SteamControllers.

The unhooking procedure currently only works on AMD64 and prob. only with XInput1_4
8 years ago
Peter Repukat 209126ea17 Add setting to use Desktop-Config
Add a setting to use desktop-config
If enabled, will disable hooking and deactive any focus-switch trickery
Problems with overlay may occur
8 years ago
Peter Repukat 79ced09dcf SteamTarget: Better way to detect overlay opening / closing
Found out GameOverlayRenderer likes to post very specific messages
Now, instead of memory reading some value from some address, which changes in updates, examine the messagequeue of the process to get overlay status
8 years ago
Peter Repukat 88fbd8c53c Update overlay memory addresses for latest Steam beta
TODO: Switch to pattern scanning!
8 years ago
Peter Repukat 51e5a6c0c1 Cleanup 8 years ago
Peter Repukat 4dd65156a6 SteamTarget: Show a little GloSC logo when the overlay is shown 8 years ago
Peter Repukat 9ae0161195 SteamTarget: Ensure clean application exit... 8 years ago
Peter Repukat 69515127b3 Cleanup 8 years ago
Peter Repukat 5a9bf44225 Fix controller updaterate 8 years ago
Peter Repukat 84a0849e7d Hide console window / communite to user with messageboxes 8 years ago
Peter Repukat 5770730ea7 Fix Icon paths 8 years ago
Peter Repukat c4b8f4d443 GloSC-Main: change wording in UI 8 years ago
Peter Repukat 6e7480c601 SteamTarget: Move mousecursor inside the overlay after console has got focus again 8 years ago
Peter Repukat f3aa9b2d67 SteamTarget: Force 60FPS lock 8 years ago
Peter Repukat 19445c3ad3 Fix: Injector \ SteamTarget: Not beeing able to hook Steam for some people 8 years ago
Peter Repukat deccc86441 Add own injector 8 years ago
Peter Repukat 56edf5bad4 fix dll injection / ejection not working:
fixed injection not working when dll-path has spaces
fixed ejection not working by running gameluancher as admin
8 years ago
Peter Repukat 7947d6faac Enforce non desktop bindings:
done by mid function hooking a function in steamclient.dll
the function appears to be setting the appId of the new controller bindings

inject/hook right after the target launched
switch focus -> binding gets changed to shortcut bindings -> hook function grabs appid
hook function replaces desktop-config appid with the one grabbed everytime steam tries to active desktop-config
glosc_gamelauncher unloads dll when the target closes; unloading dll patches steamclient.dll back to original
8 years ago
Peter Repukat a90d1f2802 Add x86 (32bit) support 8 years ago
Peter Repukat d9fdb3f929 completely kick TargetUserWindow 8 years ago
Peter Repukat fa4a6a439d setting to close GloSC-SteamTarget when launched game closes 8 years ago
Peter Repukat 6eda0595e3 make sure we stay in game bindings
also removed the userwindow and always show the console (for now?)
8 years ago
Peter Repukat 6cf0397902 remove testing code 8 years ago
Peter Repukat 9a435b39f2 decouple input from framerate by moving it to own thread
this significantly reduces input-lag while keeping cpu usage at a minimum

also removed any of the vsync / framerate options as we now always render the overlay with 60fps
this reduces cpu usage and unnecessary overhead if playing with the default option of vsync on high refresh rate displays
8 years ago
Peter Repukat 524cde67cc fix: file copying in release builds 8 years ago
Peter Repukat 7c77129a06 Add program icons 8 years ago
Peter Repukat 38cf868d56 add license 8 years ago
Peter Repukat 24e49fda7b remove Qt GeneratedFiles 8 years ago
Peter Repukat 98603a3068 initial GloSC implementation 8 years ago
Peter Repukat 46281174d9 Projektdateien hinzufügen. 8 years ago