JoshuaKasa / BASO

Open-source "Rainbow Six Siege" recoil control script with no injection 👨🏻‍💻
Other
2 stars 0 forks source link

Missing Minimize Button / Window get Focus ingame #1

Open Absurdv1 opened 2 months ago

Absurdv1 commented 2 months ago

Hello, first of all. Great tool with a really nice GUI for optimizing recoil behavior. At first I thought that all the .exe was doing was loading / running the BASO.py, but it seems that they are 2 different things.

After installing the required packages for the python scripts, I realized that the python script itself doesn't work, so now I have to rely on the .exe file :)

grafik

It would be great if you could add a minimize button to the GUI, because I suspect something like "self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)" is in the .exe, when you are in the game, the (invisible) mouse pointer hits the window and you click because you are shooting or something, the game is minimized because the application gets the focus.

Is the .exe a closed source code for this project?

Many thanks in advance!

JoshuaKasa commented 2 months ago

Hey! Thanks for the report.

The .exe file is exactly the same as the .py code, actually, the .exe is an older version, of which you can find the original source code somewhere in the commit history (you can also decompile the .exe file - as I've built it using pyinstaller and no obfuscation - and check the original source code out).

Only thing that changes from the .exe to the more modern version of BASO is the ability to make your own scripts using a scripting language I made (which you can't run yet inside the menu as I stopped working on it, even tho the language is fully functional) and the ability to change color themes and make your own using .json files.

If you could provide more information of why the .py file isn't working that would be helpful, as it works on my machine. Send a log of the error or a screenshot, the problem likely comes from missing dependencies tho.

Have a great day.

EDIT: I actually initially decided to not include the minimize button and 'always on top option' for aesthetic purposes, as you can just fullscreen the game window (not maximize, fullscreen) and the problem would be fixed, but if you think it'd be worth it to add a 'minimize' button I'll surely do it, just gotta remove 1/2 lines of code and change a few other.

Absurdv1 commented 2 months ago

I thank you for answering me! (there was not that much hope! :)=

grafik

I can run the python-script after i've installed all the dependencies. (QT ... and so on) Now i can start the python version and serve it but the python itself wont correct my mouse movement behaviour.

grafik

(dont mind the minimize , maximize buttons...i added code by myself to the script, where i was thinking, the .exe just load the py script).

i would provide logfiles, if you tell me how i can generate them?

grafik

Your intention and idea to change from fullscreen to "maximized window" is a good workaround but: within a maximized window, the graphic driver has never the full control over the application and you can't use the full potential of the graphic card and driver (e.g. refreshrate is limited to 60Hz instead of 144Hz) performance in a window is always worse than in a exclusive fullscreen so a minimize button would be great. :)

The really only message i get is while closing the python gui:

C:\Users\Morty\Downloads\BASO-main\BASO-main>python BASO.py 
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread

Do you accept further ideas for this tool (it's really great, because it's not binded to 1 game, it's universal useable)

Happy to hear from you again!

EDIT: As you can see, with running python script and really high values, there is no recoil correction:

grafik

Compared to the .exe

grafik

If you still mind about the aesthetic reasons: maybe a shortcut / hotkey would be the perfect solution (that would be a feature that i had requested later maybe, if the effort is not too much.)

A fix Hotkey like "NUMLOCK" or "CTRL + " to get the window quickly open, because thats a thing too. The permanent "tab out" from the game is time "intense" (dramatical expression), if you could just open it as a overlay, that would be the perfect solution, but at first, the minimize button would be enough. :)

JoshuaKasa commented 2 months ago

Hi, so sorry for getting back to you so late, I'm very busy with school as it's the last month and I gotta recover the grades of some subjects that otherwise I will fail (I do bad at school).

Anyway, jokes aside, I've actually been pretty busy so I haven't read your response until now.

I love your 2 ideas (hotkey for activating/deactivating the recoil control and the minimize button) and I'll be working on it right after I finish all my school work and tests. I also saw that you managed to create the buttons yourself, so if you want you are always free to make a pull request and after checking it I will accept it for sure.

Other than that, the menu works on my machine, so you might try to take it back to the original version and test it again; for now there are no log files btw, what I I meant to say was to send me the console output, but the one warning you're getting doesn't seem to be a concern afaik.

Let me know!

EDIT: upon rereading your answer I noticed you was actually asking for a hotkey for quickly getting the menu open, lol, I forgot the thing just after reading it. Good idea still tho!

Absurdv1 commented 2 months ago

At first: No problem at all! Private life comes first. Second: Thank you for your impulse to check the python code again. I solved it now. i added the code for the buttons at the wrong lines. (everyting into class ModMenu(QMainWindow):

But the code for the buttons:

# Minimize Button
        minimize_button = QPushButton('-', self)
        minimize_button.setGeometry(370, 0, 30, 30)
        minimize_button.clicked.connect(self.minimize_window)
        # Close Button
        close_button = QPushButton('X', self)
        close_button.setGeometry(400, 0, 30, 30)
        close_button.clicked.connect(self.close_window)

must be in def initUI(self):

Now the python version works really fine! Thank you so much. Maybe i will workout the overlay idea and use a pull request. Thanks for your time!

JoshuaKasa commented 2 months ago

Hey brother, happy to hear it works now!

Let me know if you'd prefer to contribute yourself by making a pull request or would like better for me to do it.

Stay well!

ByeSora commented 1 month ago

how i can add Minimize Button and change the theme ?

JoshuaKasa commented 4 weeks ago

how i can add Minimize Button and change the theme ?

You might want to open a new issue.