-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xbox Game Stream Support #20
Comments
Well, yeah, that would be a cool feature, kind of. I guess. Almost all the code required already exists in v1.2.1/unused. But - hah, there's a catch, you see - I don't own a console myself, so I couldn't test that on my own, I'd need help for that step. So, yes, that is a thing I could work on, but, as I said, I'd need help in order to implement such a feature. If you wanna help, just tell me, that would be great, In the meantime, thank you for your suggestion, message me, if you want to help, if not, well, I'd have to find someone willing to help, which would result in this game stream feature being added later or maybe never, dunno. |
If I find the time I could try to implement it, but i never worked on a c++ project. I will create a pull request if I manage to create some working code. :) |
Well, if you want to work on this, you can give it a try. But I don't expect you to do it all on your own. I'd just need someone to test the changes, to see if they actually work (surprise). I'll merge my devel branch tomorrow or so, that one is way better to work of, the code is cleaner, yeah. Whatever. I mean, maybe I can try to sqush in your suggestions into release v1.3.0, don't know yet. In hindsight, not adding game stream support would somewhat mess up the versioning scheme. If I should take a look at that thing, I'd need the name of the streaming software (I'll assume it's microsofts xbox app) and maybe some pictures of how it actually looks when you are streaming the game to your pc. An alternative to hardcoding the streaming app's name into the native module would be adding a program selector, where the user can select a custom application which should be used to 'place the bets', so you could just select the (this is an assumption) xbox app instead of "GTAV.exe". And, just throwing it out there, we'll have to work out the D-Pad or in general, button presses on the controller to:
If I'll decide on putting this into v1.3.0, the earliest I can (seriously) start working on this is in 2 - 3 weeks. |
The app is called "Xbox Console Companion" - it's not the normal xbox app. In the resource monitor it's called "XboxApp.exe" The button presses are as follows:
|
Looks great, thank you very much. Some small notes:
Again, I'll let you know when I get started working on this, which will be at some point after next week or so. |
So it seems to be working...for now. I've added an option to the ui to select a custom game executable. You'll have to select "ApplicationFrameHost.exe - Xbox Console Companion" for your custom application. So it is not actually "XboxApp.exe - Xbox Console Companion". This is so weird because the actual window is owned by "ApplicationFrameHost.exe" and not "XboxApp.exe" but the actual program logic is owned by "XboxApp.exe" which is sometimes detected as a window although it is not visible and has no size - and I'm starting to realize this already doesn't make any sense, so let's just agree that Microsoft's Window and API design is just stupid. Just select the right application. There's also a new option to select a virtual game controller as an input device to the game. In order to use it, ScpVBus has to be installed, instructions on how to do that can be found here. Some other notes:
If something is not working, please send me some logs and maybe some images generated by the full_debug option (see notes here). In order to try out the program, just download the latest (successful) CI/CD Artifact from the Artifacts section. If you have any other questions, just let me know and also tell me if the changes are working for you. Have a good one, |
Thank you very much for your work! |
Maybe that's because some TVs cut away a bit of the image (overscan), which is why there is an option to set the screen size in most games/consoles. So Rockstar wanted to make sure that one can see the important stuff (?). |
Interesting. So I've just extended the width of the single "odd images", therefore the numbers should be correctly read by the image detection algorithm. Works on PC. Just check the CI/CD Downloads to get the new version. No need to uninstall the old one. And let me know if it works |
It still doesn't work: |
Ah, yes, the good ol' german translation. If the game is set to english, your lowest odd will actually be 'evens', in the german version it is '1/1'... For some reason. I've already added odd translations and this finally confirms...that they don't work - I'll be right back. |
Well, that was embarrassing. On the plus side, the odd translations do work now. |
Ok, new problem: Looks like the inputs are done too fast? |
Yeah, let's just go with that. Should be fixed, the CI/CD build should be done in ~12 Minutes |
Now the place-the-bet window opens on the right but that's it - the race is not being started. I think its still too fast. |
Just doubled the sleep time after a button press, tell me if that's enough |
On my first try it worked for one single race, but when it got to the betting screen it stopped after the screen was opened. - Maybe it needs to wait a bit on the start of this "loop". |
Okay, let's try with a delay of 600ms. CD build should be done soon. |
Now it runs one time but stops on the betting screen and this message appeares: |
The function to check whether the game is in foreground was not adapted for custom game applications, sorry, my bad |
I tried the build "Adapt utils::isForeground for custom game applications autobet-build #163" but it still stops working after one race and shows the message above. |
This is weird but ok. I've removed the foreground check for custom game applications. |
Now there is the old problem (I guess - maybe not): Maybe this first left click from the cancel button to the horse should be followed by a longer waiting time because the cursor has to travel a relatively long distance. (longer than from one horse to another) which takes more time. Even after a retry it stops exactly at this stage. |
Another observation I made is, that the streaming quality setting should be at least medium. Otherwise the KNN doesn't recognize anything. :D |
And I just wrote an comment the length of the bible containing all sorts of theories...whatever. So, I'll try creating some kind of custom sleep time for those movements? Maybe. If it worked 6-7 times before, did it always stop when the horse was the fifth one? Or was it always a different one? |
:D I put it in low quality mode cause i thought it would maybe lower the latency but even in the very high setting the latency seems to be pretty low. I meant it worked one time before and did six or seven rounds of betting. There it stopped on the fifth horse where we are still now. I will start the current race manually and study the further behavior. |
Yeah, inside your network the latency should be non-existent, basically, except you are using wifi and your signal is really bad, who knows. Or microsoft uses some kind of online-encryption-validation thing like for example TeamViewer does (straight up just dies when using inside a local network and the internet connection drops), which may depend on your Internet speed. Or you are using some old 10BASE-T Ethernet shit, then, ok, yes, that may be a fair point. Anyway, there are two possible problems causing this behaviour:
|
I think it's the second point you mentioned. autobet_debug.zip |
No skips before that point? Ok, then, I'll try to fix that. I can even try it myself on the PC version of the game, which handles controllers just awfully. |
I cant remember seeing a skip. |
Since I currently don't have gta 5 installed and the epic games servers are not interested in providing proper download speeds, I just winged that one. May work, but probably won't. |
I tried it and it did do one race and then went to the betting screen -> back to the main screen and stayed there. So it was different than the previous behavior. |
I retried and it got immediately stuck: |
That shouldn't happen. The game finally downloaded, so I'll try it myself, hang on |
Yeah, got the same behavior on the second retry (still with the same horses). |
Ok, that was stupid, but it works now. At least for me it does. |
Okay, so far it is running pretty well! But one time it skipped even though there was a single horse with the highest chance to win: Is that desired? Another thought: |
Do you save statistics (like [name of all horses, probability of all horses, outcome] - per race ) to a file to be able to analyse such things? That would be cool. :D |
Finally assigned myself, as if that matters... And yes, the skip was intended, just take a look at the betting rules in the wiki, I think it is explained well enough in there. I always wanted to publish the statistics I (with the help of some other guy) have created, but that is some kind of a hassle with no reward (so if there's no pot 'o Gold at the end of the rainbow, I'm not interested, so the urban legend goes). For the statistics thing, I also thought of that, it would be pretty cool, but again, that would be a huge pain in the ass for literally nothing. It would be just some amazing looking statistics and that's that. So I could add that to the list of long-term goals to add if I'll ever be really bored, to have something to do. But my time would be better spent converting the whole ui code to react code to make it look less garbage. |
Okay, understandable. :D |
Does it work now? |
It does work. |
Ok, I've made some changes:
This was all made possible by expanding end enhancing™ the settings. A quick note on that last change: In order to change the settings for your desired navigation strategy you must first select the navigation strategy, the values in the specific text boxes may change to the preset (or previously set) values for this strategy and can then be edited. The settings are saved by pressing enter and the change will be confirmed with one of this snackbar notifications as usual. Those changes seem to be working for me, let me know if that is also the case with your "streaming setup". |
I set the click sleep and after click sleep to 0 and it worked..... |
Did you save using enter? Did you see the 'Settings saved' confirmation dialog? Because it didn't work when I tried that. It just...did not sleep. Surprise. |
Ups, i didn't press enter, my bad. I figured out that a click sleep of 50 and an after click sleep of 350 works pretty well on my setup. (Xbox wired to the router, Notebook connected via WLAN) |
Well, that was not really your fault, the design of the whole thing was a bit misleading, I guess. From now on, if you unselect any of these setting textfields, the value will revert to the (actual) current setting and a message will pop up informing you about the change. Or the fact that nothing was changed. |
So is everything now? So I'll just set your values as the default values and close his issue on merging the branch, if that's ok with you. |
Yes, I guess that is it. |
The changes are now merged into the master branch, so thank you for your patience and have fun with the new additions, I guess. |
As an Xbox user I think it would be pretty nice, if your software would support GTA Online on Xbox One.
There is an option to stream Xbox games to any device (also to a PC) and play them with a controller.
Maybe you could add a controller emulation to do the inputs instead of the current mouse input, so Xbox users could use it, too. I don't think that there are a lot more tasks to make it work.
Thank You!
The text was updated successfully, but these errors were encountered: