diff --git a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Mod/CheckTurn.ahk b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Mod/CheckTurn.ahk index 06ecb7d..8882041 100644 --- a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Mod/CheckTurn.ahk +++ b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Mod/CheckTurn.ahk @@ -22,9 +22,11 @@ TurnTolerance := 10 GoTo EndTurnDef - -CheckTurn(x,y, b_size := 2) +CheckTurn(x,y, timeout := 3500, b_size := 2) { + check_turn_start_tick_count := A_TickCount + ;ToolTipper("A_TickCount at the begining of CheckTurn " A_TickCount, 100, 150) + color_player := 0xDE6E70 if (__enableTurn_mod__ = 0){ return @@ -34,11 +36,21 @@ CheckTurn(x,y, b_size := 2) loop { tc := BitGrab(x, y, b_size) - + ;ToolTipper("debug until loop") for i, c in tc { + + + check_turn_now_tick_count := A_TickCount + check_turn_tick_count_from_start_to_now := check_turn_now_tick_count - check_turn_start_tick_count + if (check_turn_tick_count_from_start_to_now > timeout) { + ToolTipper("Turn Check Timeout exceeded", 100, 200) + return false + } + ;ToolTipper("debug i loop") + td := Distance(c, color_player) - ToolTipper("Turn" td) + ; ToolTipper("Turn" td) if (td < 20 ){ turn_complete := true @@ -46,10 +58,20 @@ CheckTurn(x,y, b_size := 2) } } - } until turn_complete = true - ToolTipper("Turn Found") + check_turn_now_tick_count := A_TickCount + check_turn_tick_count_from_start_to_now := check_turn_now_tick_count - check_turn_start_tick_count + if (check_turn_tick_count_from_start_to_now > timeout) { + ToolTipper("Turn Check Timeout exceeded", 100, 200) + return false + } + } until (turn_complete = true) + check_turn_found_tick_count := A_TickCount + check_turn_tick_count_from_start_to_found := check_turn_found_tick_count - check_turn_start_tick_count + ToolTipper("tickCount from start to end " check_turn_tick_count_from_start_to_found, 100, 250) + ; Sleep, 100000 ; debug + ;ToolTipper("Turn Found") - return + return true } ResetTurn: diff --git a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Races/PanAm.ahk b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Races/PanAm.ahk index 2835638..bd1db85 100644 --- a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Races/PanAm.ahk +++ b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/Races/PanAm.ahk @@ -53,67 +53,128 @@ Race_PANAM() Loop { ; Turn 1 ; Tooltip - CheckTurn(turn1.startX, turn1.startY) - ToolTipper("Turn 1 start found") - /* - if( A_Index != 1){ - Nitrous_Off() - Accel_On(75) - + + turn_one_end_found := false + if (CheckTurn(turn1.startX, turn1.startY)) + { + turn_one_end_found := true + ToolTipper("Turn 1 start found") } - */ + /* + if( A_Index != 1){ + Nitrous_Off() + Accel_On(75) + + } + */ controller.Axes.LX.SetState(18-3*%A_Index%) ;Sleep(500) Accel_On(100) - CheckTurn(turn1.endX, turn1.endY) - ToolTipper("Turn 1 end found") - - Nitrous_On() - controller.Axes.LX.SetState(75) - sleep(2000) - controller.Axes.LX.SetState(65) - sleep(2500) - controller.Axes.LX.SetState(62) - sleep(2000) + + + turn_one_end_found := false + turn_one_end_found := true ; debug TODO check if wheels are curved + if (CheckTurn(turn1.endX, turn1.endY)) + { + turn_one_end_found := true + ToolTipper("Turn 1 end found") + Nitrous_On() + controller.Axes.LX.SetState(75) + } + sleep(2000) + if (turn_one_end_found) + { + controller.Axes.LX.SetState(65) + } + sleep(2500) + if (turn_one_end_found) + { + controller.Axes.LX.SetState(62) + } + sleep(2000) + + turn_two_start_found := false ; Turn 2 if( A_Index = 1 || A_Index = 6){ - CheckTurn(turn2.startX, turn2.startY) + if (CheckTurn(turn2.startX, turn2.startY, 5000)) + { + turn_two_start_found := true + } } else{ - CheckTurn(545, turn2.startY) + if (CheckTurn(545, turn2.startY)) { + turn_two_start_found := true + } + } + if (turn_two_start_found) + { + ToolTipper("Turn 2 start found") + controller.Axes.LX.SetState(18.3) } - ToolTipper("Turn 2 start found") - controller.Axes.LX.SetState(18.3) - CheckTurn(turn2.endX, turn2.endY) - ToolTipper("Turn 2 end found") - controller.Axes.LX.SetState(50) - if( A_Index = 1 || A_Index = 6){ - controller.Axes.LX.SetState(75) - sleep(2000) - controller.Axes.LX.SetState(65) - sleep(500) + turn_two_end_found := false + turn_two_end_found := true ; debug TODO check if wheels are curved + if (CheckTurn(turn2.endX, turn2.endY)) + { + turn_two_end_found := true + ToolTipper("Turn 2 end found") + controller.Axes.LX.SetState(50) + } + + if( A_Index = 1 || A_Index = 6){ + if (turn_two_end_found) + { + controller.Axes.LX.SetState(75) + } + sleep(2000) + + if (turn_two_end_found) + { + controller.Axes.LX.SetState(65) + } + sleep(500) } else{ - Turn_Left(500, 28) + if (turn_two_end_found) + { + Turn_Left(500, 28) + } } + ; Turn 3 - CheckTurn(turn3.startX, turn3.startY) - Nitrous_Off() - ToolTipper("Turn 3 start found") - controller.Axes.LX.SetState(12) - CheckTurn(turn3.endX, turn3.endY) - Nitrous_On() - ToolTipper("Turn 3 end found") - controller.Axes.LX.SetState(42) - sleep(500) - controller.Axes.LX.SetState(58) + if (CheckTurn(turn3.startX, turn3.startY)) + { + Nitrous_Off() + ToolTipper("Turn 3 start found") + controller.Axes.LX.SetState(12) + } + + turn_three_end_found := false + turn_three_end_found := true ; debug TODO check if wheels are curved + if (CheckTurn(turn3.endX, turn3.endY)) + { + turn_three_end_found := true + Nitrous_On() + ToolTipper("Turn 3 end found") + controller.Axes.LX.SetState(42) + } + + sleep(500) + if (turn_three_end_found) + { + controller.Axes.LX.SetState(58) + } sleep(2000) - controller.Axes.LX.SetState(62) + + if (turn_three_end_found) + { + controller.Axes.LX.SetState(62) + } sleep(2000) + CheckTurn(lap_marker.startX, lap_marker.startY) ToolTipper("Lap Complete") diff --git a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/config.ini b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/config.ini index 6639de4..1754742 100644 Binary files a/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/config.ini and b/bnowakow/old versions/3 GT7-AHK/GT7-AHKv1.00.12_test/config.ini differ