Closed OWalbridge closed 1 year ago
Thank you @OWalbridge for providing the all resolution support + constructive criticism.
I will make the kbm_only
branch the main branch and will make the current main
branch into gamepad_only
branch. Then, I will remove any keyboard support from the gamepad_only
branch and for now will left the hacky approach of detecting gamepads as it is, as I don't have any game pads to properly test it. The gamepad_only
branch will be described as "experimental" in the readme.
After all that, I'll look into your all-resolution approach, test it and if I get it to work properly - push it with some note about how all-resolution works in the readme if necessary. I will also close all of the issues that mention a need for support of resolutions other than 1080p and describe the recent changes we made and how it can be done.
@1hubert Sounds good. I've finished the GUI on my fork. I'll make a pull request once I've hooked it up to the back end. I'll attach some screenshots:
Hey @OWalbridge, I've tested and pushed your solution to auto resolution scaling to the main branch. Works great. I've added an .env
file to store the resolution so that once a user knows it's correct, he doesn't have to deal with the Is the resolution correct? (y/n)
every time he runs the script.
Your GUI looks super good. It honestly means a lot to me that people continue the work I did. Together, we can waste less time on filler genshin story and learn some coding along the way. I'll be waiting for your pull request.
Closing this issue as it's related to all resolution support. Thank you again.
Summary
I've edited the KBM version to include all resolution support and some other neat features. Sadly, I've been unable to do the same for the controller version due to the way we're detecting inputs.
Here's the link to the .bat and .py file or download it from my fork, for anyone interested in this all resolution version! (GitHub doesn't let users attach .bat or .py files)
Please leave a comment if you're having issues with any particular resolutions and I'll try work on a fix ASAP.
I'll be continuing development and hoping to get controller support and a UI setup before submitting a pull request.
Solution
We're scaling the resolution by dividing the variables provided and multiplying by the detected resolution.
Controller and other issues
The issue with the controller version is how we're detecting inputs. TL;DR, it doesn't work (at least not as of Sep 2023). From my testing the program isn't able to detect the auto play button at all, even in the KBM solution I've attached. It's basically redundant so we should remove it.
Extra info (for anyone interested)
It seems that the only thing triggering the selecting of dialogue is the "is_dialogue()" function, in the controller version, and the "is_dialogue_option_available()" function, in the KBM version, because of this, and the way the conditions are setup in main, the program just tries every dialogue selection option regardless of UI (KBM, DS4, Xbox) and hopes one works (define_ui() and is_dialogue_playing() are currently broken, they can be removed and the code still works). We'll need a better way of detecting game pads (they do exist, it can be done).