Babyhamsta / Aimmy

Universal Second Eye for Gamers with Impairments (Universal AI Aim Aligner - ONNX/YOLOv8 - C#)
Other
807 stars 327 forks source link

Improve Aimmy2 a lot #1442

Closed fgilde closed 2 weeks ago

fgilde commented 2 months ago

PR for this https://github.com/Babyhamsta/Aimmy/discussions/1440

Gamepad Support:

General Improvements:

Auto Trigger Enhancements:

fgilde commented 1 month ago

Currently Iam on vacation but I can fix that. Also if you want I can build a selector to pick screen or app to record and calculate on window position what can make sense if you are not playing in full screen. And instead of using the detected player window I would suggest to drag directly on the screen then you can improve performance and handle multiple detections.

ownageontoast @.***> schrieb am Do. 25. Juli 2024 um 02:30:

PR for this #1440 https://github.com/Babyhamsta/Aimmy/discussions/1440

Gamepad Support:

  • Added Gamepad read support
  • Working on Gamepad sending support

General Improvements:

  • Added a global active switch with an indicator and toggle key
  • Added settings for the gamepad before it counts as pressed
  • Created an FOV Opacity slider
  • Added theming

Auto Trigger Enhancements:

  • Made the auto trigger completely independent of the Aim Assist with separate center and head area detection in the AIManager
  • Added an additional Send command for the trigger, allowing automatic pinging of enemies
  • Custom head area to setup when the trigger should hit. You can also configure leg shots with this feature

ESP Improvements:

  • Added option to show relative trigger head area

Code Improvements.

  • Remove Dictionary, SaveDictionary, UIManager and PropertyChanger
  • Create full correct type safe config
  • Apply all changes with correct WPF binding patterns

Hey man, tried your build and it is excellent with some nice features. However, there is a major issue with the dynamic FOV as it no longer works correctly on your build.

First of all, even when dynamic FOV is disabled it will still change the FOV size when the hotkey is pressed. This isnt a big deal, however the major issue is that when using the dynamic FOV it visually shows the circle changing but doesnt actually effect the detection area.

For example, I have my FOV set to the max for hipfiring and then have dynamic FOV enabled on a hotkey for precise aiming. The FOV will shrink down to whatever I have it set as, but if I enable ESP to see detected players then a target appears on screen outside of the circle, it will still attempt to lock on to it as if the FOV was still maxed out.

Its easy to replicate this by temporarily changing the detection area type to closest to mouse and then opening a game with a dummy or screenshot of a target on screen and then running the mouse over it with the FOV maxed and then the dynamic FOV and you will see it treats them as one and the same. I hope my description makes sense.

Just thought I'd give you a heads up about the issue!

— Reply to this email directly, view it on GitHub https://github.com/Babyhamsta/Aimmy/pull/1442#issuecomment-2249189271, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUOZ7MJOHNKWIUOKLVSMTDZOBIMNAVCNFSM6AAAAABKTDAEHKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGE4DSMRXGE . You are receiving this because you authored the thread.Message ID: @.***>

ownageontoast commented 1 month ago

Currently Iam on vacation but I can fix that. Also if you want I can build a selector to pick screen or app to record and calculate on window position what can make sense if you are not playing in full screen. And instead of using the detected player window I would suggest to drag directly on the screen then you can improve performance and handle multiple detections. ownageontoast @.> schrieb am Do. 25. Juli 2024 um 02:30: PR for this #1440 <#1440> Gamepad Support: - Added Gamepad read support - Working on Gamepad sending support General Improvements: - Added a global active switch with an indicator and toggle key - Added settings for the gamepad before it counts as pressed - Created an FOV Opacity slider - Added theming Auto Trigger Enhancements: - Made the auto trigger completely independent of the Aim Assist with separate center and head area detection in the AIManager - Added an additional Send command for the trigger, allowing automatic pinging of enemies - Custom head area to setup when the trigger should hit. You can also configure leg shots with this feature ESP Improvements: - Added option to show relative trigger head area Code Improvements. - Remove Dictionary, SaveDictionary, UIManager and PropertyChanger - Create full correct type safe config - Apply all changes with correct WPF binding patterns Hey man, tried your build and it is excellent with some nice features. However, there is a major issue with the dynamic FOV as it no longer works correctly on your build. First of all, even when dynamic FOV is disabled it will still change the FOV size when the hotkey is pressed. This isnt a big deal, however the major issue is that when using the dynamic FOV it visually shows the circle changing but doesnt actually effect the detection area. For example, I have my FOV set to the max for hipfiring and then have dynamic FOV enabled on a hotkey for precise aiming. The FOV will shrink down to whatever I have it set as, but if I enable ESP to see detected players then a target appears on screen outside of the circle, it will still attempt to lock on to it as if the FOV was still maxed out. Its easy to replicate this by temporarily changing the detection area type to closest to mouse and then opening a game with a dummy or screenshot of a target on screen and then running the mouse over it with the FOV maxed and then the dynamic FOV and you will see it treats them as one and the same. I hope my description makes sense. Just thought I'd give you a heads up about the issue! — Reply to this email directly, view it on GitHub <#1442 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUOZ7MJOHNKWIUOKLVSMTDZOBIMNAVCNFSM6AAAAABKTDAEHKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGE4DSMRXGE . You are receiving this because you authored the thread.Message ID: @.>

I took a look through the source code and was able to fix the issue I mentioned. For the button toggle fix I noticed in some older versions you had this check "if (AppConfig.Current.ToggleState.DynamicFOV)" but removed it in later versions. I went back onto MainWindow.xaml.cs and added the checks back to BindingOnKeyReleased and BindingOnKeyPressed and it fixes the FOV no longer changing when Dynamic FOV is disabled.

For the detection fix I went onto AIManager.cs and it will have this "float FovSize = (float)AppConfig.Current.SliderSettings.FOVSize"

Changing it to "float FovSize = (float)AppConfig.Current.SliderSettings.ActualFovSize;" has completely fixed the issue on my end. You might want to go about it some other way but this should at least save you some time in working out a fix.

Your suggestions would be great additions as I play on an Ultrawide monitor and often some games dont support my screensize so I have to play windowed mode which can cause problems with Aimmy, so those changes could solve that issue for me completely.

Also quick question, as you have added gamepad detection support, and I know you are working on future versions to send gamepad input, would it be possible to add one of the movement methods to be the controller aim itself?

fgilde commented 1 month ago

I hoped that I only forget to use actualiFov somewhere. Great that you found it. For gamepad: Yes that is my goal in general. I currently have a mapping build that maps the gamepad input to a virtual gamepad. This virtual gamepad is then possible to use in a game and can be manipulated. I created long time ago a similar project with ganepad it’s harder to move to a position but you can move in directions until the detection is in center for example. Currently I’m on vacation till 6 th of August after that I want to continue. I think I can improve some things. If you want you can give me access to the repo than it’s easier to create pull requests based on branch.

ownageontoast @.***> schrieb am Do. 25. Juli 2024 um 23:33:

Currently Iam on vacation but I can fix that. Also if you want I can build a selector to pick screen or app to record and calculate on window position what can make sense if you are not playing in full screen. And instead of using the detected player window I would suggest to drag directly on the screen then you can improve performance and handle multiple detections. ownageontoast @.

> schrieb am Do. 25. Juli 2024 um 02:30: … <#m3034730730452747383> PR for this #1440 https://github.com/Babyhamsta/Aimmy/discussions/1440 <#1440 https://github.com/Babyhamsta/Aimmy/discussions/1440> Gamepad Support: - Added Gamepad read support - Working on Gamepad sending support General Improvements: - Added a global active switch with an indicator and toggle key - Added settings for the gamepad before it counts as pressed - Created an FOV Opacity slider - Added theming Auto Trigger Enhancements: - Made the auto trigger completely independent of the Aim Assist with separate center and head area detection in the AIManager - Added an additional Send command for the trigger, allowing automatic pinging of enemies - Custom head area to setup when the trigger should hit. You can also configure leg shots with this feature ESP Improvements: - Added option to show relative trigger head area Code Improvements. - Remove Dictionary, SaveDictionary, UIManager and PropertyChanger - Create full correct type safe config - Apply all changes with correct WPF binding patterns Hey man, tried your build and it is excellent with some nice features. However, there is a major issue with the dynamic FOV as it no longer works correctly on your build. First of all, even when dynamic FOV is disabled it will still change the FOV size when the hotkey is pressed. This isnt a big deal, however the major issue is that when using the dynamic FOV it visually shows the circle changing but doesnt actually effect the detection area. For example, I have my FOV set to the max for hipfiring and then have dynamic FOV enabled on a hotkey for precise aiming. The FOV will shrink down to whatever I have it set as, but if I enable ESP to see detected players then a target appears on screen outside of the circle, it will still attempt to lock on to it as if the FOV was still maxed out. Its easy to replicate this by temporarily changing the detection area type to closest to mouse and then opening a game with a dummy or screenshot of a target on screen and then running the mouse over it with the FOV maxed and then the dynamic FOV and you will see it treats them as one and the same. I hope my description makes sense. Just thought I'd give you a heads up about the issue! — Reply to this email directly, view it on GitHub <#1442 (comment) https://github.com/Babyhamsta/Aimmy/pull/1442#issuecomment-2249189271>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUOZ7MJOHNKWIUOKLVSMTDZOBIMNAVCNFSM6AAAAABKTDAEHKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGE4DSMRXGE https://github.com/notifications/unsubscribe-auth/ACUOZ7MJOHNKWIUOKLVSMTDZOBIMNAVCNFSM6AAAAABKTDAEHKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGE4DSMRXGE . You are receiving this because you authored the thread.Message ID: @.>

I took a look through the source code and was able to fix the issue I mentioned. For the button toggle fix I noticed in some older versions you had this check "if (AppConfig.Current.ToggleState.DynamicFOV)" but removed it in later versions. I went back onto MainWindow.xaml.cs and added the checks back to BindingOnKeyReleased and BindingOnKeyPressed and it fixes the FOV no longer changing when Dynamic FOV is disabled.

For the detection fix I went onto AIManager.cs and it will have this "float FovSize = (float)AppConfig.Current.SliderSettings.FOVSize"

Changing it to "float FovSize = (float)AppConfig.Current.SliderSettings.ActualFovSize;" has completely fixed the issue on my end. You might want to go about it some other way but this should at least save you some time in working out a fix.

Your suggestions would be great additions as I play on an Ultrawide monitor and often some games dont support my screensize so I have to play windowed mode which can cause problems with Aimmy, so those changes could solve that issue for me completely.

Also quick question, as you have added gamepad detection support, and I know you are working on future versions to send gamepad input, would it be possible to add one of the movement methods to be the controller aim itself?

— Reply to this email directly, view it on GitHub https://github.com/Babyhamsta/Aimmy/pull/1442#issuecomment-2251510227, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUOZ7JDDKHQOSAUUUHVPCLZOF4KHAVCNFSM6AAAAABKTDAEHKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJRGUYTAMRSG4 . You are receiving this because you authored the thread.Message ID: @.***>