diff --git a/Lailloken UI.ahk b/Lailloken UI.ahk index cef0bdb5..7a0e77d3 100644 --- a/Lailloken UI.ahk +++ b/Lailloken UI.ahk @@ -14,7 +14,6 @@ SetWorkingDir %A_ScriptDir% DllCall("SetThreadDpiAwarenessContext", "ptr", -3, "ptr") -;ComObjError(0) OnMessage(0x0204, "RightClick") StringCaseSense, Locale SetKeyDelay, 100 @@ -28,12 +27,17 @@ OnExit("Exit") Menu, Tray, Tip, Lailloken UI Menu, Tray, Icon, img\GUI\tray.ico -vars := {}, ini := IniBatchRead("ini\config.ini") +vars := {} +If FileExist("ini\") && !FileExist("ini\file check.ini") ;check ini-files for incorrect file-encoding + IniIntegrityCheck() +ini := IniBatchRead("ini\config.ini") If ini.versions["apply update"] +{ UpdateCheck(2) + IniDelete, ini\config.ini, versions, apply update +} Else If ini.settings["update auto-check"] UpdateCheck() -IniDelete, ini\config.ini, versions, apply update Init_vars() Startup() Init_screenchecks() @@ -73,9 +77,15 @@ SetTimer, LogLoop, 1000 If (check := ini.versions["reload settings"]) { - Settings_menu(check) + Settings_menu(check,, 0) IniDelete, ini\config.ini, Versions, reload settings } +If vars.ini_integrity +{ + MsgBox, % "The tool tried to fix misconfigured config-files in order to resolve an AHK bug, but there was an error.`n`nTo fix this manually, you have to open the files listed below (left) in a text-editor and copy their contents into the fixed files (right), replacing everything inside:`n`n" vars.ini_integrity "`n`nThis list is also stored in ""ini\file check.ini"" in case you want to do it later.`nIf you skip this manual fix, you'll have to reconfigure those features that rely on the files listed above." + Reload + ExitApp +} Return #Include modules\betrayal-info.ahk @@ -142,12 +152,8 @@ Exit() If (vars.system.timeout != 0) ;script exited before completing startup routines: return here to prevent storing corrupt/incomplete data in ini-files Return - If (Json.Dump(vars.betrayal.board) != "{}") - { - IniRead, ini, ini\betrayal info.ini, settings, board - If (ini != Json.Dump(vars.betrayal.board)) - IniWrite, % """" Json.Dump(vars.betrayal.board) """", ini\betrayal info.ini, settings, board - } + If IsObject(vars.betrayal.board) && (vars.betrayal.board0 != Json.Dump(vars.betrayal.board)) + IniWrite, % """" Json.Dump(vars.betrayal.board) """", ini\betrayal info.ini, settings, board timer := vars.leveltracker.timer If IsNumber(timer.current_split) && (timer.current_split != timer.current_split0) IniWrite, % vars.leveltracker.timer.current_split, ini\leveling tracker.ini, % "current run" settings.leveltracker.profile, time @@ -246,15 +252,16 @@ HelpToolTip(HWND_key) h := settings.general.fHeight } HWND_key := StrReplace(HWND_key, "|"), check := SubStr(HWND_key, 1, InStr(HWND_key, "_") - 1), control := SubStr(HWND_key, InStr(HWND_key, "_") + 1) - HWND_checks := {"cheatsheets": "cheatsheet_menu", "maptracker": "maptracker_logs", "maptrackernotes": "maptrackernotes_edit", "notepad": 0, "leveltracker": "leveltracker_screencap", "snip": 0, "lab": 0, "searchstrings": "searchstrings_menu" ;cont - , "updater": "update_notification", "geartracker": 0, "seed-explorer": "legion"} + If (check = "donation") + check := "settings", donation := 1 + HWND_checks := {"cheatsheets": "cheatsheet_menu", "maptracker": "maptracker_logs", "maptrackernotes": "maptrackernotes_edit", "notepad": 0, "leveltracker": "leveltracker_screencap", "snip": 0, "lab": 0, "searchstrings": "searchstrings_menu", "updater": "update_notification", "geartracker": 0, "seed-explorer": "legion"} If (check != "settings") WinGetPos, xWin, yWin, wWin,, % "ahk_id "vars.hwnd[(HWND_checks[check] = 0) ? check : HWND_checks[check]].main If (check = "lab" && InStr(control, "square")) vars.help.lab[control] := [vars.lab.compass.rooms[StrReplace(control, "square")].name], vars.help.lab[control].1 .= (vars.help.lab[control].1 = vars.lab.room.2) ? " (" LangTrans("lab_movemarker") ")" : "" - database := !IsObject(vars.help[check][control]) ? vars.help2 : vars.help + database := donation ? vars.settings.donations : !IsObject(vars.help[check][control]) ? vars.help2 : vars.help - tooltip_width := (check = "settings") ? vars.settings.w - vars.settings.wSelection : (wWin - 2) * (check = "cheatsheets" && vars.cheatsheet_menu.type = "advanced" || check = "seed-explorer" ? 0.5 : 1) + tooltip_width := (check = "settings") ? vars.settings.w - vars.settings.wSelection : (wWin - 2) * (check = "cheatsheets" && vars.cheatsheet_menu.type = "advanced" ? 0.5 : 1) If !tooltip_width Return @@ -280,7 +287,7 @@ HelpToolTip(HWND_key) } } Else - For index, text in database[check][control] + For index, text in (donation ? database[control].2 : database[check][control]) { font := InStr(text, "(/bold)") ? "bold" : "", font .= InStr(text, "(/underline)") ? (font ? " " : "") "underline" : "", font := !font ? "norm" : font Gui, %GUI_name%: Font, % font @@ -354,11 +361,47 @@ IniBatchRead(file, section := "", encoding := "1200") Return ini } +IniIntegrityCheck() +{ + local + global vars + + If !FileExist("ini backup\") + FileCopyDir, ini, ini backup, 1 + Loop, Files, ini\*.ini + { + If InStr(A_LoopFileName, " backup") + Continue + FileRead, check, *P1200 %A_LoopFilePath% + If !InStr(check, "[") || !InStr(check, "]") + { + FileRead, check, *P65001 %A_LoopFilePath% + If (StrLen(check) > 0) && (!InStr(check, "[") || !InStr(check, "]")) + { + FileMove, % A_LoopFilePath, % StrReplace(A_LoopFilePath, ".ini", " backup.ini"), 1 + vars.ini_integrity .= (Blank(vars.ini_integrity) ? "" : "`n") "`t" StrReplace(A_LoopFilePath, ".ini", " backup.ini") " -> " A_LoopFilePath + } + Else + { + FileDelete, % A_LoopFilePath + If InStr(check, "[") && InStr(check, "]") + FileAppend, % check, % A_LoopFilePath, CP1200 + } + } + } + IniWrite, % A_Now, ini\file check.ini, check, timestamp + If vars.ini_integrity + IniWrite, % StrReplace(vars.ini_integrity, "`t"), ini\file check.ini, errors +} + Init_client() { local global vars, settings + If !FileExist("ini\config.ini") + IniWrite, % "", ini\config.ini, settings + If !WinExist("ahk_exe GeForceNOW.exe") && !WinExist("ahk_exe boosteroid.exe") ;if client is not a streaming client { ;load client-config location and double-check @@ -407,12 +450,13 @@ Init_client() } ;check if client's window settings have changed since the previous session - If (ini.settings.fullscreen != vars.client.fullscreen) + If ini.settings.fullscreen && (ini.settings.fullscreen != vars.client.fullscreen) { IniWrite, % vars.client.fullscreen, ini\config.ini, Settings, fullscreen IniWrite, 0, ini\config.ini, Settings, remove window-borders IniDelete, ini\config.ini, Settings, custom-resolution IniDelete, ini\config.ini, Settings, custom-width + ini.settings["custom-width"] := ini.settings["custom-resolution"] := "", ini.settings["remove window-borders"] := 0 } } Else vars.client.stream := 1, vars.client.fullscreen := "true" @@ -459,7 +503,7 @@ Init_client() } } - WinGetPos, x, y, w, h, ahk_group poe_window ;get the initial offsets, widths, and heights (separately saved as x0, y0, etc. because of potential recalculation later on) + WinGetPos, x, y, w, h, ahk_group poe_window vars.client.x_offset := (vars.client.fullscreen = "false" && !vars.client.borderless) ? vars.system.xborder : 0 xTarget := (vars.client.docked = "left") ? vars.monitor.x - vars.client.x_offset : (vars.client.docked = "center") ? vars.monitor.x + (vars.monitor.w - w) / 2 : vars.monitor.x + vars.monitor.w - (w - vars.client.x_offset) yTarget := (vars.client.docked2 = "top") ? vars.monitor.y : (vars.client.docked2 = "center") ? vars.monitor.y + (vars.monitor.h - h)/2 : vars.monitor.y + vars.monitor.h - (h - (vars.client.borderless ? 0 : vars.system.yBorder)) @@ -514,6 +558,8 @@ Init_geforce() local global vars, settings + If !FileExist("ini\geforce now.ini") + IniWrite, % "", ini\geforce now.ini, settings vars.pixelsearch.variation := LLK_IniRead("ini\geforce now.ini", "Settings", "pixel-check variation", 10) vars.imagesearch.variation := LLK_IniRead("ini\geforce now.ini", "Settings", "image-check variation", 25) } @@ -564,7 +610,7 @@ Init_general() settings.updater := {"update_check": !Blank(check := ini.settings["update auto-check"]) ? check : 0} - vars.pics := {"global": {"help": LLK_ImageCache("img\GUI\help.png")}, "maptracker": {}, "stashninja": {}} + vars.pics := {"global": {"help": LLK_ImageCache("img\GUI\help.png")}, "iteminfo": {}, "legion": {}, "leveltracker": {}, "maptracker": {}, "stashninja": {}} } Init_vars() @@ -774,7 +820,7 @@ Loop_main() tick_helptooltips += 1 If !Mod(tick_helptooltips, 3) || check_help { - If check_help && (vars.general.active_tooltip != vars.general.cMouse) && (database[check][control].Count() || InStr(control, "update changelog") || check = "lab" && !(vars.lab.mismatch || vars.lab.outdated) && InStr(control, "square")) && !WinExist("ahk_id "vars.hwnd.screencheck_info.main) + If check_help && (vars.general.active_tooltip != vars.general.cMouse) && (database[check][control].Count() || InStr(control, "update changelog") || check = "lab" && !(vars.lab.mismatch || vars.lab.outdated) && InStr(control, "square") || check = "donation" && vars.settings.donations[control].2.Count()) && !WinExist("ahk_id "vars.hwnd.screencheck_info.main) HelpTooltip(check_help) Else If (!check_help || WinExist("ahk_id "vars.hwnd.screencheck_info.main)) && WinExist("ahk_id "vars.hwnd.help_tooltips.main) LLK_Overlay(vars.hwnd.help_tooltips.main, "destroy"), vars.general.active_tooltip := "", vars.hwnd.help_tooltips.main := "" @@ -985,7 +1031,7 @@ SnippingTool(mode := 0) WinSet, trans, 100 vars.hwnd.snip := {"main": hwnd} - Gui, snip: Add, Picture, % "x"settings.general.fWidth*5 " y"settings.general.fHeight*2 " h"settings.general.fHeight " w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, snip: Add, Picture, % "x"settings.general.fWidth*5 " y"settings.general.fHeight*2 " h"settings.general.fHeight " w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.snip.help := vars.hwnd.help_tooltips["snip_about"] := hwnd If vars.snip.w Gui, snip: Show, % "x" vars.snip.x " y" vars.snip.y " w" vars.snip.w - vars.system.xBorder*2 " h" vars.snip.h - vars.system.caption - vars.system.yBorder*2 @@ -1710,7 +1756,7 @@ LLK_Overlay(guiHWND, mode := "show", NA := 1, gui_name0 := "") vars.GUI.RemoveAt(A_LoopField) } -LLK_PanelDimensions(array, fSize, ByRef width, ByRef height, align := "left", header_offset := 0, margins := 1) +LLK_PanelDimensions(array, fSize, ByRef width, ByRef height, align := "left", header_offset := 0, margins := 1, min_width := 0) { local global vars @@ -1719,7 +1765,21 @@ LLK_PanelDimensions(array, fSize, ByRef width, ByRef height, align := "left", he Gui, panel_dimensions: Margin, 0, 0 Gui, panel_dimensions: Color, Black Gui, panel_dimensions: Font, % "s"fSize + header_offset " cWhite", % vars.system.font - width := 0, height := 0 + width := min_width ? 9999 : 0, height := 0, string := array.1 + + If min_width + { + array := [] + Loop, % Max(LLK_InStrCount(string, " "), 1) + { + outer := A_Index, new_string := "" + Loop, Parse, string, %A_Space% + new_string .= A_LoopField . (outer = A_Index ? "`n" : " ") + If (SubStr(new_string, 0) = "`n") + new_string := SubStr(new_string, 1, -1) + array.Push(new_string) + } + } For index, val in array { @@ -1730,11 +1790,14 @@ LLK_PanelDimensions(array, fSize, ByRef width, ByRef height, align := "left", he Gui, panel_dimensions: Font, % "norm s"fSize WinGetPos,,, w, h, ahk_id %hwnd% height := (h > height) ? h : height - width := (w > width) ? w : width + width := (min_width && w < width || !min_width && w > width) ? w : width + min_string := (w = width) ? val : min_string } Gui, panel_dimensions: Destroy ;width := Format("{:0.0f}", width* 1.25) + If min_width + Return min_string While Mod(width, 2) width += 1 While Mod(height, 2) diff --git a/README.md b/README.md index ea337c9e..d9e70444 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,10 @@ A light-weight AHK script with UI and QoL features for Path of Exile, emphasizin ## Download & Setup | [![img](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_autohotkey.png)](https://www.autohotkey.com/) | [![img](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_guide.png)](https://github.com/Lailloken/Lailloken-UI/wiki) | [![img](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_download.png)](https://github.com/Lailloken/Lailloken-UI/archive/refs/heads/main.zip) | [![img](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_releases.png)](https://github.com/Lailloken/Lailloken-UI/releases) | |---|---|---|---| -
## Contributions | [![image](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_translations.png)](https://github.com/Lailloken/Lailloken-UI/discussions/326) | [![image](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_issues.png)](https://github.com/Lailloken/Lailloken-UI/issues/339) | ![image](https://raw.githubusercontent.com/Lailloken/Lailloken-UI/main/img/readme/_code.png) | |---|---|---| -
## Context: What is this project?
show @@ -27,7 +25,6 @@ A light-weight AHK script with UI and QoL features for Path of Exile, emphasizin - I view this as a personal toolkit rather than a product, so certain aspects may seem rough around the edges (or simply unconventional) when compared to other PoE-related projects
-
## Transparency Notice / Things you should know
show @@ -50,7 +47,6 @@ A light-weight AHK script with UI and QoL features for Path of Exile, emphasizin - (weak) annecdotal evidence: I have not been banned, nor have I heard of anyone else being banned
-
## Main Features \* = based on a user-request @@ -158,6 +154,8 @@ A light-weight AHK script with UI and QoL features for Path of Exile, emphasizin - `stash-ninja` uses price-data provided by [poe.ninja](https://poe.ninja/), and bulk-exchange support was implemented with [BocikPG](https://github.com/BocikPG)'s help - `seed-explorer` uses a custom version of the timeless-jewel databases provided via [TimelessJewelData](https://github.com/KeshHere/TimelessJewelData) + +- [GDI+ Library for AutoHotkey](https://github.com/marius-sucan/AHK-GDIp-Library-Compilation), [GDI+ ImageSearch](https://github.com/MasterFocus/AutoHotkey/blob/master/Functions/Gdip_ImageSearch/Gdip_ImageSearch.ahk), [OCR with UWP API](https://www.autohotkey.com/boards/viewtopic.php?t=72674) enable advanced screen/image-related features
### (Temporarily-)retired / Legacy Features: diff --git a/data/changelog.json b/data/changelog.json index 035325d7..e279c0d8 100644 --- a/data/changelog.json +++ b/data/changelog.json @@ -1,4 +1,11 @@ [ + [ + ["1.54.1", 15401], + "fix: autohotkey bug caused ini-files to be misconfigured (you may have to update manually, check the full changelog)", + "fix: pinned mods in the map-info settings didn't work correctly", + "settings: restructured tabs and a bit", + "clone-frames: restructured settings, streamlined setup" + ], [ ["1.54.0", 15400], "hotfix 1: map-tracker's image-check failed when it was the only active check", diff --git a/data/english/UI.txt b/data/english/UI.txt index 23f7beca..beb99e94 100644 --- a/data/english/UI.txt +++ b/data/english/UI.txt @@ -61,6 +61,7 @@ ms_betrayal-info = "betrayal-info" ms_cheat-sheets = "cheat-sheets" ms_clone-frames = "clone-frames" + ms_donations = "donations" ms_hotkeys = "hotkeys" ms_item-info = "item-info" ms_leveling tracker = "act-tracker" @@ -161,6 +162,8 @@ global_price = "price" global_all = "all" global_confirm = "confirm" + global_mouse = "l#m#r" ;## left, middle, right mouse-button + global_coordinates = "coordinates" mechanic_bestiary = "bestiary" mechanic_betrayal = "betrayal" @@ -515,8 +518,8 @@ ;## these strings are displayed/required in the "general" section of the settings menu m_general_settings = "script settings:" m_general_kill = "exit x minutes after closing the game:" - m_general_browser = "enable browser features" - m_general_capslock = "enable capslock-toggling" ;## by default, AHK will toggle capslock to off whenever it sends key-strokes + m_general_browser = "browser features" + m_general_capslock = "capslock-toggling" ;## by default, AHK will toggle capslock back and forth whenever it sends key-strokes m_general_character = "active character:" m_general_level = "lvl" m_general_client = "game-client settings:" @@ -542,7 +545,7 @@ m_general_start = "start test" m_general_admin = "restart script as admin" m_general_toolbar = "toolbar-size:" - m_general_hidetoolbar = "permanently hide the toolbar" + m_general_hidetoolbar = "hide the toolbar when not in use" diff --git a/data/english/help tooltips.json b/data/english/help tooltips.json index 36af5311..15c16f28 100644 --- a/data/english/help tooltips.json +++ b/data/english/help tooltips.json @@ -6,7 +6,7 @@ ], "browser features": [ "enables additional features when accessing 3rd-party websites via the script", - "examples:\n-> chrome calculator: auto-paste stats\n-> poe.db cluster jewels: auto-highlight type" + "examples:\n-> chrome calculator: auto-paste stats\n-> poe.db cluster jewels: auto-highlight type\n-> poelab.com: import layout" ], "capslock toggling": [ "only uncheck this box if something outside of this script is bound to capslock", @@ -18,8 +18,7 @@ "the script will restart upon selection" ], "toolbar hide": [ - "permanently hides the button-toolbar. hold tab or move the cursor to the area to make it appear", - "this is primarily a compatibility setting to improve variable refresh-rate (g-sync, freesync) support by hiding overlays as much as possible" + "permanently hides the toolbar until you hold tab or hover the cursor over its previous position" ], "font-size": [ "– and + can be held down, the middle button resets the size" @@ -49,22 +48,21 @@ ], "client filler": [ "blacks out the empty screen area around the client window and makes it unclickable", - "this black area can be used to place overlays outside the client area and also prevents misclicks on background windows" + "this black area can be used to place overlays outside the client area, and it also prevents misclicks on background windows" ], "window position": [ "the client has to be docked to a specific spot to ensure that overlays are positioned correctly", - "pick a preferred position, the client will be placed there automatically every time" + "pick a preferred position, and the client will be placed there automatically every time" ], "black bars": [ "the client's aspect ratio is limited to 24:10 and there will be black bars if it's wider", - "this option repositions the script's overlays and screen-checks to compensate for this" + "this option repositions the script's overlays and screen-checks to compensate for that" ], "window borders": [ - "removes borders around the client window", - "mostly relevant for 32:9 monitor users" + "removes borders around the client window" ], "write permissions": [ - "troubleshoot write permission issues on your system if the script can't create/edit files", + "use this to troubleshoot write-permission issues on your system if the script can't create/edit files", "when these issues are detected, an error message will appear and ask you to run this test", "if the test results show errors, move the script-folder to a different location or restart the script as admin, then re-run the test" ], @@ -145,15 +143,15 @@ "enters edit-mode, which activates the section below and allows you to adjust the frame's settings" ], "cloneframes delete": [ - "long-click to delete the clone-frame" + "long-click to delete this clone-frame" ], "cloneframes toggle": [ - "enables/disables the clone-frame" + "enable/disable this clone-frame" ], "cloneframes corners": [ - "edit-mode adds colored corners to the source and target frame", - "f-keys: snap the corresponding corner to the cursor's position", - "hitting esc or exits edit-mode" + "in edit-mode, source and target frames have colored corners that correspond to a mouse-button (boxes on the right)", + "click a button to move the corner to the cursor's current position, press or click to exit edit-mode", + "you can also adjust the values below for fine-tuning and more control" ], "cloneframes scroll": [ "for fine-tuning, scroll the mouse-wheel to adjust this value by 1" @@ -216,7 +214,7 @@ ], "iteminfo league-start": [ "adds a section where the item's stats are compared to your current gear", - "this section replaces the base info section and requires the pixel-check to be set up correctly in the menu" + "this section replaces the base-stats section and requires the pixel-check to be set up correctly in the menu" ], "iteminfo base-info": [ "adds a section that shows how the item's stats compare to the best-in-class stats", @@ -235,11 +233,11 @@ "click a box to open the color-palette, right click to reset" ], "iteminfo override": [ - "undesired mods will always be highlighted like t6, except fractured ones" + "undesired mods will always be highlighted like t6 ones, except fractured ones" ], "iteminfo rules": [ - "single-click solution to mark larger mod groups as un/desired", - "the name specifies which mods are affected, the color whether they'll be set to un/desired" + "single-click solution to mark larger mod groups as (un)desired", + "the name specifies which mods are affected, the color whether they'll be set to (un)desired" ], "lang unavailable": [ "this feature is currently not available on non-english clients" @@ -264,8 +262,7 @@ "automatically hides the overlay after a delay (except when in towns)", "delay: x seconds after switching guide pages", "whenever it switches pages, the overlay will be shown again and the delay will be restarted", - "it will also be shown while holding tab", - "this is primarily a compatibility setting to improve variable refresh-rate (g-sync, freesync) support by hiding overlays as much as possible" + "it will also be shown while holding tab" ], "leveltracker fade mouse": [ "overlay will be shown while hovering the cursor over its previous area", @@ -275,7 +272,7 @@ "notifies you when new gear can be equipped (the guide button will show a green number)", "accessed by right-clicking the guide button in the toolbar", "while the panel is open, omni-click items to add them to the list", - "requires specifying your character name in the settings" + "you have to specify your character-name in the section of the settings first" ], "leveltracker expbar": [ "slightly moves the guide-overlay up so it doesn't cover the exp-bar" @@ -323,7 +320,7 @@ "if a hint is marked with a book icon, you can hold tab to see an illustration" ], "leveltracker hotkeys enable": [ - "allows you switch guide-pages via customizable hotkeys" + "allows you to switch guide-pages via customizable hotkeys" ], "leveltracker hotkeys": [ "type in a key-name and press ", @@ -343,8 +340,7 @@ ], "maptracker hide": [ "hides the panel instead of just graying it out whenever tracking is paused (by right-clicking the button in the toolbar)", - "check the toolbar-button to see the state of the tracker (it's also grayed out when paused)", - "this is primarily a compatibility setting to improve variable refresh-rate (g-sync, freesync) support by hiding overlays as much as possible" + "check the toolbar-button to see the state of the tracker (it's also grayed out when paused)" ], "maptracker mechanics": [ "logs certain mechanics you encounter while mapping" @@ -376,7 +372,7 @@ ], "maptracker loot-tracker": [ "items you ctrl-click into the stash will be logged", - "ctrl-rightclick will remove previously added items one by one", + "ctrl-right-click will remove previously added items one by one (similar to ctrl-z in text editing)", "requires the image-check to be set up correctly in the menu" ], "maptracker kill-tracker": [ @@ -401,7 +397,7 @@ "click to open the color-palette, right-click to reset to default" ], "maptracker color leagues": [ - "used to highlight dates that correspond with a league", + "used to highlight dates within a certain league", "click to open the color-palette, right-click to reset to default" ], "mapinfo enable": [ @@ -440,7 +436,7 @@ "quantity, rarity, pack size, maps, scarabs, currency" ], "mapinfo mod settings": [ - "below, you can customize the tiering of specific map mods, without requiring maps that have them", + "below, you can customize the tiering of specific map mods", "hover over mods and press number keys 1-4 to apply highlighting, or space to strike them out", "use the mod search to find mods, click the – and + buttons to (un)pin mods for quick access" ], @@ -477,8 +473,7 @@ ], "notepad opacity": [ "the opacity of inactive widgets (when tab is not held down)", - "0 = inactive widgets are hidden", - "zero opacity is primarily a compatibility setting to improve variable refresh-rate (g-sync, freesync) support by hiding overlays as much as possible" + "0 = inactive widgets are hidden" ], "lab enable": [ "simple lab layout overlay and tracker for casual runs", @@ -561,8 +556,8 @@ "3rd-party website for regex-strings" ], "searchstrings about": [ - "regex-strings are grouped into use-cases, e.g. gwennen, vendor, stash", - "when pressing the omni-key, the script detects the right use-case and displays a context-menu with strings to choose from", + "search-strings are grouped into use-cases, e.g. gwennen, harvest, vendor", + "when pressing the omni-key, the script detects the right use-case and displays a list with entries to choose from", "this detection requires manual image calibration for each use-case" ], "searchstrings calibrate": [ @@ -617,7 +612,7 @@ "also shows exalt-equivalent prices when hovering over highlighted items or pricing items" ], "stash bulk": [ - "right-clicking an item in a tab will open an additional panel for bulk-sale management", + "right-clicking an item in a tab will open an additional panel for (bulk-)sale management", "it will only show poe.ninja prices initially:\nclick a currency icon to view open listings on the bulk exchange, or right-click it to refresh the data", "pick a price from the list, and the panel will offer applicable bulk configurations to scroll through and pick from" ], @@ -651,7 +646,7 @@ ], "update check": [ "checks for updates on script launch and in the background while running", - "if there is an update available, the toolbar will turn green" + "if there is an update available, the main toolbar will turn green" ], "update hotfix": [ "a hotfix release is available, you can download it below", @@ -849,7 +844,7 @@ ], "logviewer header e-exp": [ "effective exp gained in a map (i.e. after penalties), based on your level and the monsters'", - "you have to specify your character's name in the section of the settings menu first" + "you have to specify your character's name in the section of the settings first" ], "logviewer search deaths": [ "supported inputs:\n\"x\" (exact value), \"x-y\" (between x and y), or \"x+\" (x or higher)" @@ -971,13 +966,13 @@ }, "searchstrings": { "config entry-about": [ - "use-cases have their own entries that will be listed in the context-menu", - "type in a descriptive name for the string(s) and press " + "create a custom list of strings for this use-case by adding entries:\ntype in a descriptive name for the entry and press ", + "example-list for harvest crafting:\n- sacrifice corrupted map\n- sacrifice div card\n- change resistance" ], "config entry-list": [ "click an entry to edit its string(s), long-click to remove it", - "each line in the edit-field is an individual string", - "adding multiple lines turns the entry into a scrollable search" + "paste the string(s) into the edit-field on the right:\nyou can add multiple strings per entry by pasting them into separate lines", + "when activating an entry with multiple strings, you can scroll the mouse-wheel to paste them into the game one after the other" ] }, "seed-explorer": { @@ -991,6 +986,23 @@ "the required databases have not been downloaded yet", "click this button to start the download" ], + "legion notables": [ + "the list below shows every legion notable of the current jewel type", + "hover over notables to see their effects, right-click them to mark them as desired" + ], + "legion notables socket": [ + "the list below shows the resulting modifications after slotting this jewel into the selected jewel slot", + "hover over notables to see their effects,\nclick them to highlight their position on the in-game skilltree,\nright-click them to mark them as desired" + ], + "socket": [ + "the list below shows the regular notables around the currently-selected jewel socket", + "click a notable to highlight it on the in-game skilltree, right-click it to mark it as allocated", + "allocated notables are highlighted green, or yellow if the current seed turns it into a desired legion notable" + ], + "tree": [ + "click a jewel socket to load it into the explorer above, or click it again to deselect it", + "each socket may be labeled with numbers if the seed results in desired legion notables:\n- teal labels show the number of desired legion notables around the socket\n- yellow labels show the number of allocated notables that will turn into desired legion notables" + ], "update": [ "click this button to check for database updates" ] diff --git a/data/versions.json b/data/versions.json index 41d8575a..e7b50279 100644 --- a/data/versions.json +++ b/data/versions.json @@ -1,4 +1,3 @@ { - "_release": [15400, "https://github.com/Lailloken/Lailloken-UI/archive/refs/heads/main.zip"], - "hotfix": 1 + "_release": [15401, "https://github.com/Lailloken/Lailloken-UI/archive/refs/heads/main.zip"] } \ No newline at end of file diff --git a/modules/GUI.ahk b/modules/GUI.ahk index 0b6e9c87..92afb4bb 100644 --- a/modules/GUI.ahk +++ b/modules/GUI.ahk @@ -72,40 +72,6 @@ } } -GuiButton(name := "", x := "", y := "") -{ - local - global vars, settings - - If WinExist("ahk_id "vars.hwnd[name "_button"].main) - LLK_Overlay(vars.hwnd[name "_button"].main, "destroy") - Gui, %name%_button: New, % "-DPIScale -Caption +LastFound +AlwaysOnTop +ToolWindow HWNDhwnd" (!Blank(x) || !Blank(y) ? " +E0x20" : "") ; +E0x02000000 +E0x00080000 - Gui, %name%_button: Margin, % (name = "leveltracker") ? 2 : 0, % (name = "leveltracker") ? 2 : 0 - Gui, %name%_button: Color, % (name = "leveltracker") ? "Aqua" : "Black" - If (name = "leveltracker") - WinSet, TransColor, Aqua - Else WinSet, Trans, 255 - vars.hwnd[name "_button"] := {"main": hwnd} - - Gui, %name%_button: Add, Picture, % "BackgroundTrans Border HWNDhwnd g"name " w"settings[name].sButton " h-1", % "img\GUI\"name (name = "leveltracker" && !vars.hwnd.leveltracker.main ? "0" : "") ".jpg" - vars.hwnd[name "_button"].img := hwnd - Gui, %name%_button: Show, NA x10000 y10000 - WinGetPos,,, w, h, % "ahk_id "vars.hwnd[name "_button"].main - - If !Blank(settings[name].xButton) - { - settings[name].xButton := (settings[name].xButton < 0) ? vars.client.x - vars.monitor.x : settings[name].xButton, settings[name].yButton := (settings[name].yButton < 0) ? vars.client.y - vars.monitor.y : settings[name].yButton - xPos := (settings[name].xButton > vars.monitor.w/2 - 1) ? settings[name].xButton - w + 1 : settings[name].xButton - xPos := (xPos + (w - 1) > vars.monitor.w - 1) ? vars.monitor.w - 1 - w : xPos ;prevent panel from leaving screen - yPos := (settings[name].yButton > vars.monitor.h/2 - 1) ? settings[name].yButton - h + 1 : settings[name].yButton - yPos := (yPos + (h - 1) > vars.monitor.h - 1) ? vars.monitor.h - 1 - h : yPos ;prevent panel from leaving screen - } - Else xPos := vars.client.x - vars.monitor.x, yPos := vars.client.y - vars.monitor.y - - Gui, %name%_button: Show, % "NA x"vars.monitor.x + xPos " y"vars.monitor.y + yPos - LLK_Overlay(vars.hwnd[name "_button"].main, "show",, name "_button") -} - GuiClientFiller(mode := "") ;creates a black full-screen GUI to fill blank space between the client and monitor edges when using custom resolutions { local diff --git a/modules/betrayal-info.ahk b/modules/betrayal-info.ahk index 9e497994..383fec30 100644 --- a/modules/betrayal-info.ahk +++ b/modules/betrayal-info.ahk @@ -17,8 +17,8 @@ Loop 3 settings.betrayal.colors[A_Index] := !Blank(check := ini.settings["rank " A_Index " color"]) ? check : settings.betrayal.dColors[A_Index] - If !IsObject(vars.betrayal.board) && ini.settings.board - vars.betrayal.board := Json.Load(ini.settings.board) + If !IsObject(vars.betrayal.board) && (SubStr(ini.settings.board, 1, 1) . SubStr(ini.settings.board, 0) = "{}") + vars.betrayal.board := Json.Load(ini.settings.board), vars.betrayal.board0 := ini.settings.board vars.betrayal.members := Json.Load(LLK_FileRead("data\" file "\Betrayal.json", 0, "65001")), vars.betrayal.members_localized := {}, vars.betrayal.divisions_localized := {} For key in vars.betrayal.members ;create an object with localized names (solely for alphabetical ordering) @@ -30,7 +30,6 @@ If !FileExist("ini\betrayal info.ini") { - IniWrite, % "", ini\betrayal info.ini, settings IniWrite, % settings.general.fSize, ini\betrayal info.ini, Settings, font-size For member in vars.betrayal.members IniWrite, transportation=0`nfortification=0`nresearch=0`nintervention=0, ini\betrayal info.ini, % member diff --git a/modules/cheat sheets.ahk b/modules/cheat sheets.ahk index 3bddb136..f1064112 100644 --- a/modules/cheat sheets.ahk +++ b/modules/cheat sheets.ahk @@ -926,7 +926,7 @@ CheatsheetMenu(name, refresh := 0) ;refresh = 0 will flush data stored in vars.c Gui, %GUI_name%: Font, underline Gui, %GUI_name%: Add, Text, % "y+"settings.general.fHeight//2 " Section xs", % LangTrans("cheat_manage") - Gui, %GUI_name%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", img\GUI\help.png + Gui, %GUI_name%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI_name%: Font, norm Gui, %GUI_name%: Add, Text, % "Section xs HWNDhwnd1 Center w"settings.general.fWidth*2, % "00" Gui, %GUI_name%: Add, Text, % "ys x+"settings.general.fWidth/2 " Border gCheatsheetMenu2 HWNDhwnd", % " " LangTrans("global_paste") " " diff --git a/modules/clone-frames.ahk b/modules/clone-frames.ahk index 5f1371db..d90b5c36 100644 --- a/modules/clone-frames.ahk +++ b/modules/clone-frames.ahk @@ -15,10 +15,7 @@ Else ;when calling this function to update clone-frames, destroy old GUIs just in case { For cloneframe in vars.cloneframes.list - { Gui, % StrReplace(cloneframe, " ", "_") ": Destroy" - vars.hwnd.Delete(cloneframe) - } vars.cloneframes.enabled := 0, vars.cloneframes.list := {}, vars.cloneframes.editing := "" } @@ -273,17 +270,17 @@ CloneframesSnap(hotkey) local global vars, settings - If vars.cloneframes.last - Return + ;If vars.cloneframes.last + ; Return name := vars.cloneframes.editing, vars.cloneframes.last := A_TickCount Switch hotkey { - Case "F1": + Case "LButton": ;vars.cloneframes.list[name].xSource := vars.general.xMouse - vars.monitor.x, vars.cloneframes.list[name].ySource := vars.general.yMouse - vars.monitor.y GuiControl,, % vars.hwnd.settings.xSource, % vars.general.xMouse - vars.monitor.x GuiControl,, % vars.hwnd.settings.ySource, % vars.general.yMouse - vars.monitor.y - Case "F2": + Case "RButton": If (vars.general.xMouse - vars.monitor.x - vars.cloneframes.list[name].xSource <= 0) || (vars.general.yMouse - vars.monitor.y - vars.cloneframes.list[name].ySource <= 0) ;prevent negative widths/heights { LLK_ToolTip(LangTrans("m_clone_errorborders"),,,,, "red") @@ -293,9 +290,10 @@ CloneframesSnap(hotkey) ;vars.cloneframes.list[name].height := vars.general.yMouse - vars.monitor.y - vars.cloneframes.list[name].ySource GuiControl,, % vars.hwnd.settings.width, % vars.general.xMouse - vars.monitor.x - vars.cloneframes.list[name].xSource GuiControl,, % vars.hwnd.settings.height, % vars.general.yMouse - vars.monitor.y - vars.cloneframes.list[name].ySource - Case "F3": + Case "MButton": ;vars.cloneframes.list[name].xTarget := vars.general.xMouse - vars.monitor.x, vars.cloneframes.list[name].yTarget := vars.general.yMouse - vars.monitor.y GuiControl,, % vars.hwnd.settings.xTarget, % vars.general.xMouse - vars.monitor.x GuiControl,, % vars.hwnd.settings.yTarget, % vars.general.yMouse - vars.monitor.y } + KeyWait, %hotkey% } diff --git a/modules/hotkeys.ahk b/modules/hotkeys.ahk index 598603e1..9436056f 100644 --- a/modules/hotkeys.ahk +++ b/modules/hotkeys.ahk @@ -3,6 +3,9 @@ local global vars, settings, db + If !FileExist("ini\hotkeys.ini") + IniWrite, % "", ini\hotkeys.ini, settings + settings.hotkeys := {}, ini := IniBatchRead("ini\hotkeys.ini") settings.hotkeys.rebound_alt := !Blank(check := ini.settings["advanced item-info rebound"]) ? check : 0 settings.hotkeys.item_descriptions := !Blank(check := ini.hotkeys["item-descriptions key"]) ? check : "" @@ -56,7 +59,7 @@ HotkeysESC() global vars, settings If vars.hwnd.cloneframe_borders.main && WinExist("ahk_id "vars.hwnd.cloneframe_borders.main) - CloneframesSettingsRefresh() + CloneframesSettingsRefresh(), vars.hwnd.cloneframe_borders.main := "" Else If WinExist("ahk_id " vars.hwnd.stash_index.main) Stash_PriceIndex("destroy") Else If WinExist("ahk_id " vars.hwnd.stash.main) @@ -483,15 +486,11 @@ RButton::IteminfoGearParse(LLK_HasVal(vars.hwnd.iteminfo_comparison, vars.genera WheelUp:: WheelDown::CloneframesSettingsApply(vars.general.cMouse, A_ThisHotkey) -#If vars.hwnd.cloneframe_borders.main && WinExist("ahk_id "vars.hwnd.cloneframe_borders.main) ;moving clone-frame borders via f-keys - -F1:: -F2:: -F3::CloneframesSnap(A_ThisHotkey) +#If vars.hwnd.cloneframe_borders.main && (vars.general.wMouse != vars.hwnd.settings.main) && WinExist("ahk_id "vars.hwnd.cloneframe_borders.main) ;moving clone-frame borders via clicks -F1 UP:: -F2 UP:: -F3 UP::vars.cloneframes.last := "" +LButton:: +RButton:: +MButton::CloneframesSnap(A_ThisHotkey) #If WinActive("ahk_id "vars.hwnd.snip.main) ;moving the snip-widget via arrow keys diff --git a/modules/item-checker.ahk b/modules/item-checker.ahk index baccbdba..52c01a11 100644 --- a/modules/item-checker.ahk +++ b/modules/item-checker.ahk @@ -5,6 +5,8 @@ If !FileExist("ini\item-checker.ini") IniWrite, % "", ini\item-checker.ini, settings + If !FileExist("ini\item-checker gear.ini") + IniWrite, % "", ini\item-checker gear.ini, amulet lang := settings.general.lang_client If !IsObject(db.anoints) @@ -97,7 +99,9 @@ Gui, iteminfo_button_%key%: New, -DPIScale +LastFound +AlwaysOnTop +ToolWindow -Caption HWNDhwnd Gui, iteminfo_button_%key%: Margin, 0, 0 - Gui, iteminfo_button_%key%: Add, Picture, % "BackgroundTrans w"vars.iteminfo.compare.dButton " h-1", img\GUI\refresh.png + If !vars.pics.iteminfo.refresh + vars.pics.iteminfo.refresh := LLK_ImageCache("img\GUI\refresh.png") + Gui, iteminfo_button_%key%: Add, Picture, % "BackgroundTrans w"vars.iteminfo.compare.dButton " h-1", % "HBitmap:*" vars.pics.iteminfo.refresh Gui, iteminfo_button_%key%: Show, % "Hide x"vars.client.x + vars.client.w - vars.iteminfo.compare.xBase + vars.iteminfo.compare.slots[key].x " y"vars.client.y + vars.iteminfo.compare.slots[key].y vars.hwnd.iteminfo_comparison[key] := hwnd LLK_Overlay(hwnd, "hide",, "iteminfo_button_" key) @@ -718,10 +722,14 @@ Iteminfo4_GUI() Gui, %GUI_name%: Add, Text, % style " Right Border w"filler_width*UI.wSegment " h"UI.hSegment, % LangTrans("iteminfo_dps") " " ;add the filler cell style := "ys", filler := 1 } - Gui, %GUI_name%: Add, Picture, % style " Border BackgroundTrans h"UI.hSegment-2 " w-1", % "img\GUI\item info\"label ".png" ;icon for the dmg-type + If !vars.pics.iteminfo[label] + vars.pics.iteminfo[label] := LLK_ImageCache("img\GUI\item info\" label ".png") + Gui, %GUI_name%: Add, Picture, % style " Border BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo[label] ;icon for the dmg-type Gui, %GUI_name%: Add, Text, % "ys Center Border w"UI.wSegment " h"UI.hSegment, % text ;dmg-text } - Gui, %GUI_name%: Add, Picture, % "ys Border Center BackgroundTrans h"UI.hSegment-2 " w-1", % "img\GUI\item info\damage.png" ;total-dps icon + If !vars.pics.iteminfo.damage + vars.pics.iteminfo.damage := LLK_ImageCache("img\GUI\item info\damage.png") + Gui, %GUI_name%: Add, Picture, % "ys Border Center BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo.damage ;total-dps icon Gui, %GUI_name%: Add, Text, % "ys Center Border w"UI.wSegment " h"UI.hSegment, % (item.dps.total < 1000) ? Format("{:0.1f}", item.dps.total) : Format("{:0.0f}", item.dps.total) ;total-dps text } @@ -947,9 +955,11 @@ Iteminfo4_GUI() label := InStr(stats_present, "armour,evasion") ? "armor_evasion" : InStr(stats_present, "armour,energy") ? "armor_energy" : "evasion_energy" } - If (item.anoint = "") ;add oil-text and color the cell: the two "E0x" styles in the GUI require reverse stack-order for controls, which is why the picture-control is placed before the progress one + If (item.anoint = "") { - Gui, %GUI_name%: Add, Picture, % "ys Border BackgroundTrans h"UI.hSegment-2 " w-1", % "img\GUI\item info\"label ".png" + If !vars.pics.iteminfo[label] + vars.pics.iteminfo[label] := LLK_ImageCache("img\GUI\item info\" label ".png") + Gui, %GUI_name%: Add, Picture, % "ys Border BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo[label] Gui, %GUI_name%: Add, Progress, % "xp yp wp hp Border BackgroundBlack", 0 } @@ -979,7 +989,9 @@ Iteminfo4_GUI() { If (item.type = "defense") ;add the cells for the base-percentile roll { - Gui, %GUI_name%: Add, Picture, % "ys Border BackgroundTrans h"UI.hSegment-2 " w-1", img\GUI\item info\defense.png + If !vars.pics.iteminfo.defense + vars.pics.iteminfo.defense := LLK_ImageCache("img\GUI\item info\defense.png") + Gui, %GUI_name%: Add, Picture, % "ys Border BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo.defense Gui, %GUI_name%: Add, Progress, % "xp yp wp hp Border BackgroundBlack", 0 color := (item.base_percent >= 99) ? settings.iteminfo.colors_tier.1 : "404040", color1 := (color != "404040") ? "Black" : "White" ;highlight base-% bar green if >= 99 Gui, %GUI_name%: Add, Text, % "ys h"UI.hSegment " w"UI.wSegment " Border Center BackgroundTrans c"color1, % item.base_percent "%" @@ -988,7 +1000,9 @@ Iteminfo4_GUI() If (item.rarity != LangTrans("items_unique")) { - Gui, %GUI_name%: Add, Picture, % "ys Border Center BackgroundTrans h"UI.hSegment-2 " w-1", img\GUI\item info\ilvl.png + If !vars.pics.iteminfo.ilvl + vars.pics.iteminfo.ilvl := LLK_ImageCache("img\GUI\item info\ilvl.png") + Gui, %GUI_name%: Add, Picture, % "ys Border Center BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo.ilvl Gui, %GUI_name%: Add, Progress, % "xp yp wp hp Border BackgroundBlack", 0 color := (item.ilvl >= item.ilvl_max) ? settings.iteminfo.colors_tier.1 : "404040", color1 := (color != "404040") ? "Black" : "White" ;highlight ilvl bar green if ilvl >= 86 Gui, %GUI_name%: Add, Text, % "ys h"UI.hSegment " w"UI.wSegment " Border Center BackgroundTrans c"color1, % (item.ilvl = 100) ? item.ilvl : item.ilvl "/" item.ilvl_max @@ -1071,12 +1085,15 @@ Iteminfo4_GUI() If type ;implicit has a suitable icon { + If !vars.pics.iteminfo[type] + vars.pics.iteminfo[type] := LLK_ImageCache("img\GUI\item info\" type ".png") + If (height <= UI.hSegment) ;if cell is single-line height, add regular cell - Gui, %GUI_name%: Add, Picture, % "ys h"UI.hSegment-2 " w-1 Border BackgroundTrans HWNDhwnd", % (type != "") ? "img\GUI\item info\"type ".png" : "" + Gui, %GUI_name%: Add, Picture, % "ys h"UI.hSegment-2 " w-1 Border BackgroundTrans HWNDhwnd", % (type != "") ? "HBitmap:*" vars.pics.iteminfo[type] : "" Else ;if cell is multi-line height, add taller cell and place icon in the middle { Gui, %GUI_name%: Add, Text, % "ys wp hp Border BackgroundTrans HWNDhwnd", ;dummy text-cell with a border (can't use icon-border for this case) - Gui, %GUI_name%: Add, Picture, % "xp+1 yp+"height/2 - UI.hSegment/2 + 1 " BackgroundTrans h"UI.hSegment-2 " w-1", % (type != "") ? "img\GUI\item info\"type ".png" : "" + Gui, %GUI_name%: Add, Picture, % "xp+1 yp+"height/2 - UI.hSegment/2 + 1 " BackgroundTrans h"UI.hSegment-2 " w-1", % (type != "") ? "HBitmap:*" vars.pics.iteminfo[type] : "" } ControlGetPos, x, y,,,, % "ahk_id " hwnd ;manually get coordinates of the appropriate control (can't use xp yp in the second case above) Gui, %GUI_name%: Add, Progress, % "x"x-1 " y"y-1 " w"UI.wSegment/2 " h"height " Disabled Border BackgroundBlack c"color, 100 @@ -1262,12 +1279,15 @@ Iteminfo4_GUI() If (width < UI.wSegment) && (label || settings.iteminfo.ilvl && item.class != "base jewels" && ilvl != "??") ;divide tier-cell if necessary (to add icon/ilvl) { + If !vars.pics.iteminfo[label] + vars.pics.iteminfo[label] := LLK_ImageCache("img\GUI\item info\" label ".png") + If (height <= UI.hSegment) ;if the mod is single-line, enforce standardized height for the cell { If (settings.iteminfo.ilvl && item.class != "base jewels" && ilvl != "??") Gui, %GUI_name%: Add, Text, % "ys h"UI.hSegment " wp Border Center BackgroundTrans HWNDhwnd c" ;cont . (ilvl >= settings.iteminfo.ilevels.1 && (settings.iteminfo.colors_ilvl.1 = "ffffff") ? "Red" : "Black"), % ilvl ;add ilvl-cell - Else Gui, %GUI_name%: Add, Picture, % "ys h"UI.hSegment-2 " w-1 Border BackgroundTrans HWNDhwnd", img\GUI\item info\%label%.png ;add icon-cell + Else Gui, %GUI_name%: Add, Picture, % "ys h"UI.hSegment-2 " w-1 Border BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.iteminfo[label] ;add icon-cell } Else ;if the mod is multi-line, add a taller cell { @@ -1277,7 +1297,7 @@ Iteminfo4_GUI() Else { Gui, %GUI_name%: Add, Text, % "x+0 wp hp Border BackgroundTrans HWNDhwnd", ;add dummy text-panel with borders (can't use icon's borders for taller cells) - Gui, %GUI_name%: Add, Picture, % "xp+1 yp+"height/2 - UI.hSegment/2 + 1 " BackgroundTrans h"UI.hSegment-2 " w-1", img\GUI\item info\%label%.png ;add icon-cell + Gui, %GUI_name%: Add, Picture, % "xp+1 yp+"height/2 - UI.hSegment/2 + 1 " BackgroundTrans h"UI.hSegment-2 " w-1", % "HBitmap:*" vars.pics.iteminfo[label] ;add icon-cell } } ControlGetPos, x, y,,,, % "ahk_id " hwnd ;get the cells coordinates to place progress-control right onto it (can't use xp yp in cases with taller cells that also contain an icon) @@ -1848,7 +1868,8 @@ IteminfoGearParse(slot) ;parse the info of an equipped item and save it for item If (hotkey = "RButton") ;clear the info for the hovered gear-slot { vars.iteminfo.compare.slots[slot].equipped := "" - IniDelete, ini\item-checker gear.ini, % slot + If FileExist("ini\item-checker gear.ini") + IniDelete, ini\item-checker gear.ini, % slot LLK_ToolTip(slot " cleared") If WinExist("ahk_id "vars.hwnd.iteminfo.main) Iteminfo(1) diff --git a/modules/leveling tracker.ahk b/modules/leveling tracker.ahk index da5e36f1..437bba5b 100644 --- a/modules/leveling tracker.ahk +++ b/modules/leveling tracker.ahk @@ -192,7 +192,7 @@ GeartrackerGUI(mode := "") Gui, %GUI_name%: Add, Text, % "Section"(Blank(settings.general.character) || !vars.log.level ? " cRed" : ""), % LangTrans("lvltracker_gearlist") " " (Blank(settings.general.character) ? "unknown" : settings.general.character) " (" vars.log.level ")" Gui, %GUI_name%: Font, % "s" settings.leveltracker.fSize - 2 - Gui, %GUI_name%: Add, Pic, % "ys hp w-1 HWNDhwnd0", img\GUI\help.png + Gui, %GUI_name%: Add, Pic, % "ys hp w-1 HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI_name%: Add, Checkbox, % "xs Section gGeartracker HWNDhwnd checked"vars.leveltracker.gearfilter, % LangTrans("lvltracker_gear5levels") vars.hwnd.geartracker.filter := hwnd, vars.hwnd.help_tooltips["geartracker_about"] := hwnd0 ControlGetPos, x0, y0, w0, h0,, % "ahk_id "hwnd @@ -957,7 +957,7 @@ LeveltrackerScreencapMenu() Gui, %GUI_name%: Font, % "bold underline s"settings.general.fSize Gui, %GUI_name%: Add, Text, % "xs Section HWNDanchor x"settings.general.fWidth/2, % LangTrans("global_skilltree") Gui, %GUI_name%: Font, norm - Gui, %GUI_name%: Add, Picture, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI_name%: Add, Picture, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["leveltracker_skilltree-cap about"] := hwnd Loop, % files + 1 @@ -1004,7 +1004,7 @@ LeveltrackerScreencapMenu() Gui, %GUI_name%: Font, bold underline Gui, %GUI_name%: Add, Text, % "xs Section y+"settings.general.fHeight*0.8, % LangTrans("global_ascendancy") - Gui, %GUI_name%: Add, Picture, % "ys hp w-1 HWNDhwnd69", img\GUI\help.png + Gui, %GUI_name%: Add, Picture, % "ys hp w-1 HWNDhwnd69", % "HBitmap:*" vars.pics.global.help Gui, %GUI_name%: Font, norm Loop 5 { @@ -1180,7 +1180,9 @@ LeveltrackerProgress(mode := 0) ;advances the guide and redraws the overlay If InStr(part, "(img:") { img := SubStr(part, InStr(part, "(img:") + 5), img := SubStr(img, 1, InStr(img, ")") - 1) - Gui, %GUI_name_main%: Add, Picture, % style (A_Index = 1 ? "" : " x+"(InStr(step, "(hint)") ? 0 : settings.leveltracker.fWidth/2)) " BackgroundTrans "(InStr(step, "(hint)") ? "hp-2" : "h" settings.leveltracker.fHeight - 2) " w-1", % "img\GUI\leveling tracker\"img ".png" + If !vars.pics.leveltracker[img] + vars.pics.leveltracker[img] := LLK_ImageCache("img\GUI\leveling tracker\" img ".png") + Gui, %GUI_name_main%: Add, Picture, % style (A_Index = 1 ? "" : " x+"(InStr(step, "(hint)") ? 0 : settings.leveltracker.fWidth/2)) " BackgroundTrans "(InStr(step, "(hint)") ? "hp-2" : "h" settings.leveltracker.fHeight - 2) " w-1", % "HBitmap:*" vars.pics.leveltracker[img] } Else { @@ -1205,7 +1207,7 @@ LeveltrackerProgress(mode := 0) ;advances the guide and redraws the overlay Loop, Files, img\GUI\leveling tracker\hints\*.jpg If InStr(step, StrReplace(A_LoopFileName, ".jpg")) { - Gui, %GUI_name_main%: Add, Picture, % "ys hp w-1 x+" settings.leveltracker.fWidth, img\GUI\help.png + Gui, %GUI_name_main%: Add, Picture, % "ys hp w-1 x+" settings.leveltracker.fWidth, % "HBitmap:*" vars.pics.global.help Break } } diff --git a/modules/map tracker.ahk b/modules/map tracker.ahk index 611e1eec..9983c98f 100644 --- a/modules/map tracker.ahk +++ b/modules/map tracker.ahk @@ -6,10 +6,9 @@ settings.features.maptracker := (settings.general.lang_client = "unknown") ? 0 : LLK_IniRead("ini\config.ini", "Features", "enable map tracker", 0) If !FileExist("ini\map tracker.ini") - { IniWrite, % "", ini\map tracker.ini, settings + If !FileExist("ini\map tracker log.ini") IniWrite, % "", ini\map tracker log.ini, blank - } If !IsObject(settings.maptracker) settings.maptracker := {} @@ -189,7 +188,6 @@ MaptrackerDateSelect() WinSet, TransColor, 800080 Gui, %GUI_name%: Margin, 0, 0 Gui, %GUI_name%: Font, % "s"settings.maptracker.fSize2 + 2 " cWhite", % vars.system.font - ;Gui, %GUI_name%: Add, Pic, % "BackgroundTrans w" wLogs " h" hLogs, % "img\GUI\square_black.png" hwnd_old := vars.hwnd.maptracker_dates.main, vars.hwnd.maptracker_dates := {"main": maptracker_dates, "toggle": toggle}, column := [] diff --git a/modules/ocr.ahk b/modules/ocr.ahk index e87b96c3..52f9af0a 100644 --- a/modules/ocr.ahk +++ b/modules/ocr.ahk @@ -3,6 +3,13 @@ local global vars, settings, db, Json + If !FileExist("ini\ocr.ini") + IniWrite, % "", ini\ocr.ini, settings + If !FileExist("ini\ocr - altars.ini") + IniWrite, % "", ini\ocr - altars.ini, settings + If !FileExist("ini\ocr - vaal areas.ini") + IniWrite, % "", ini\ocr - vaal areas.ini, settings + ini := IniBatchRead("ini\ocr.ini"), settings.OCR := {"profile": 1} ;in case profiles are desired in the future settings.OCR.allow := (!Blank(check := ini.settings["allow ocr"]) ? check : 0) * (vars.client.h > 720 ? 1 : 0) settings.OCR.hotkey := !Blank(check := ini.settings["hotkey"]) ? check : "" diff --git a/modules/qol tools.ahk b/modules/qol tools.ahk index 9c6ea9f4..d9ad41bb 100644 --- a/modules/qol tools.ahk +++ b/modules/qol tools.ahk @@ -335,6 +335,8 @@ Lab(mode := "", override := 0) pBitmap_copy := Gdip_CloneBitmapArea(pBitmap, 257, 42, 1175, 556,, 1), Gdip_DisposeImage(pBitmap) pBitmap := Gdip_ResizeBitmap(pBitmap_copy, vars.client.w * 53/128, 10000, 1, 7, 1) Gdip_SaveBitmapToFile(pBitmap, "img\lab.jpg", 100), Gdip_DisposeImage(pBitmap_copy), Gdip_DisposeImage(pBitmap) + If vars.pics.lab.lab + Gdip_DisposeImage(vars.pics.lab.lab), vars.pics.lab.lab := "" Return } @@ -396,19 +398,26 @@ Lab(mode := "", override := 0) Gui, %GUI_name%: Font, % "s"vars.lab.custom_font " cWhite", % vars.system.font hwnd_old := vars.hwnd.lab.main, hwnd_old2 := vars.hwnd.lab.button, vars.hwnd.lab := {"main": lab} + If !IsObject(vars.pics.lab) + { + vars.pics.lab := {} + For index, val in ["square_red_trans", "square_purple_trans", "square_green_trans", "square_trans", "lab1", "lab2", "lab3"] + vars.pics.lab[val] := LLK_ImageCache("img\GUI\" val ".png") + } + If vars.lab.outdated { Gui, %GUI_name%: Font, % "s"LLK_FontSizeGet(vars.lab.height/8, width) Gui, %GUI_name%: Add, Text, % "BackgroundTrans Center w"vars.lab.width " h"vars.lab.height, % "`n`n" LangTrans("lab_outdated") "`n`n" LangTrans("lab_outdated", 2) " " vars.lab.compass.date "`n" LangTrans("lab_outdated", 3) " " SubStr(A_NowUTC, 1, 4) "-" SubStr(A_NowUTC, 5, 2) "-" SubStr(A_NowUTC, 7, 2) Gui, %GUI_name%: Font, % "s"vars.lab.custom_font - Gui, %GUI_name%: Add, Pic, % "x0 y0 BackgroundTrans w"vars.lab.width " h"vars.lab.height, img\GUI\square_red_trans.png + Gui, %GUI_name%: Add, Pic, % "x0 y0 BackgroundTrans w"vars.lab.width " h"vars.lab.height, % "HBitmap:*" vars.pics.lab.square_red_trans } Else If !InStr(vars.log.areaID, "airlock") && !Blank(vars.lab.compass.difficulty) && (difficulties[vars.log.arealevel] != vars.lab.compass.difficulty) { Gui, %GUI_name%: Font, % "s"LLK_FontSizeGet(vars.lab.height/8, width) Gui, %GUI_name%: Add, Text, % "BackgroundTrans Center w"vars.lab.width " h"vars.lab.height, % "`n`n" LangTrans("lab_mismatch") "`n`n" LangTrans("lab_outdated", 2) " " vars.lab.compass.difficulty "`n" LangTrans("lab_mismatch", 2) " " difficulties[vars.log.arealevel] Gui, %GUI_name%: Font, % "s"vars.lab.custom_font - Gui, %GUI_name%: Add, Pic, % "x0 y0 BackgroundTrans w"vars.lab.width " h"vars.lab.height, img\GUI\square_red_trans.png + Gui, %GUI_name%: Add, Pic, % "x0 y0 BackgroundTrans w"vars.lab.width " h"vars.lab.height, % "HBitmap:*" vars.pics.lab.square_red_trans vars.lab.mismatch := 1 } @@ -419,14 +428,18 @@ Lab(mode := "", override := 0) If !Blank(LLK_HasVal(vars.lab.exits.numbers, index)) && (vars.lab.exits.numbers.Count() > 1) && !(vars.lab.room.2 = "aspirant's trial" && index > vars.lab.room.1) ;&& !(vars.lab.room.1 > index) Gui, %GUI_name%: Add, Text, % "BackgroundTrans Center x"(room.x + 12) * scale - dim/2 " w"dim*2 " y"(room.y + 48) * scale - text_height, % SubStr(room.name, 1, 2) " " SubStr(room.name, InStr(room.name, " ") + 1, 2) If (vars.lab.room.1 = index) - Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, img\GUI\square_purple_trans.png + Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, % "HBitmap:*" vars.pics.lab.square_purple_trans Else If vars.lab.rooms[index].Count() && vars.lab.rooms[index].name - Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, img\GUI\square_green_trans.png - Else Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, img\GUI\square_trans.png + Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, % "HBitmap:*" vars.pics.lab.square_green_trans + Else Gui, %GUI_name%: Add, Pic, % "BackgroundTrans HWNDhwnd x"(room.x + 12) * scale " w"dim " h"dim " y"(room.y + 48) * scale, % "HBitmap:*" vars.pics.lab.square_trans vars.hwnd.lab["square_"index] := vars.hwnd.help_tooltips["lab_square"room.id] := hwnd } If FileExist("img\lab.jpg") - Gui, %GUI_name%: Add, Pic, % "x0 y0", img\lab.jpg + { + If !vars.pics.lab.lab + vars.pics.lab.lab := LLK_ImageCache("img\lab.jpg") + Gui, %GUI_name%: Add, Pic, % "x0 y0", % "HBitmap:*" vars.pics.lab.lab + } Else { Gui, %GUI_name%: Font, % "s"LLK_FontSizeGet(vars.lab.height/8, width) @@ -446,7 +459,7 @@ Lab(mode := "", override := 0) Gui, %GUI_name2%: Margin, 0, 0 Gui, %GUI_name2%: Font, % "s"vars.lab.custom_font " cWhite", % vars.system.font - Gui, %GUI_name2%: Add, Pic, % "h"dim*0.95 " w-1 HWNDhwnd", % "img\GUI\lab" (file_missing || vars.lab.outdated || vars.lab.mismatch ? "3" : Blank(vars.lab.compass.difficulty) ? "2" : "1") ".png" + Gui, %GUI_name2%: Add, Pic, % "h"dim*0.95 " w-1 HWNDhwnd", % "HBitmap:*" vars.pics.lab["lab" (file_missing || vars.lab.outdated || vars.lab.mismatch ? "3" : Blank(vars.lab.compass.difficulty) ? "2" : "1")] vars.hwnd.lab.button := lab2, vars.hwnd.help_tooltips["lab_button"] := hwnd Gui, %GUI_name2%: Show, % "NA x"x " y"y LLK_Overlay(lab, "show",, GUI_name), LLK_Overlay(lab2, "show",, GUI_name2) diff --git a/modules/screen-checks.ahk b/modules/screen-checks.ahk index 6a76aab0..4f6dbdb5 100644 --- a/modules/screen-checks.ahk +++ b/modules/screen-checks.ahk @@ -3,6 +3,9 @@ local global vars, settings + If !FileExist("ini\screen checks (" vars.client.h "p).ini") + IniWrite, % "", % "ini\screen checks (" vars.client.h "p).ini", gamescreen + If (vars.client.h0 / vars.client.w0 < (5/12)) ;if the client is running a resolution that's wider than 21:9, there is a potential for black bars on each side settings.general.blackbars := LLK_IniRead("ini\config.ini", "Settings", "black-bar compensation", 0) ;reminder: keep it in config.ini (instead of screen checks.ini) because it's not resolution-specific Else settings.general.blackbars := 0 @@ -109,7 +112,9 @@ Screenchecks_ImageRecalibrate(mode := "", check := "") text .= (!text ? " " : "`n ") LangTrans("screen_snipinstructions", A_Index) " " vars.hwnd.snipping_tool := {"main": hwnd_gui}, align := "left", LLK_PanelDimensions([text], settings.general.fSize * 2, wText, hText) Gui, LLK_snip: Add, Text, % "x0 y" height//2 - hText//2 " w" width " h" hText " BackgroundTrans Left HWNDhwnd_text", % text - Gui, LLK_snip: Add, Pic, % "x0 y0 wp h" height " BackgroundTrans", img\GUI\square_black_trans.png + If !vars.pics.global.square_black_trans + vars.pics.global.square_black_trans := LLK_ImageCache("img\GUI\square_black_trans.png") + Gui, LLK_snip: Add, Pic, % "x0 y0 wp h" height " BackgroundTrans", % "HBitmap:*" vars.pics.global.square_black_trans Gui, LLK_snip: Add, Pic, % "xp yp wp hp", HBitmap:*%hBitmap%* Gui, LLK_snip: Show, NA x10000 y10000 w%width% h%height% WinGetPos, xPos, yPos, width, height, ahk_id %hwnd_gui% diff --git a/modules/search-strings.ahk b/modules/search-strings.ahk index 9d7514f2..b817a9cf 100644 --- a/modules/search-strings.ahk +++ b/modules/search-strings.ahk @@ -142,7 +142,7 @@ StringMenu(name) Gui, %GUI_name%: Add, Text, % "Section xs HWNDhwnd x"settings.general.fWidth/2, % LangTrans("global_newentry") WinGetPos,, yPos,,, ahk_id %hwnd% Gui, %GUI_name%: Font, % "norm s"settings.general.fSize - 2 - Gui, %GUI_name%: Add, Picture, % "ys BackgroundTrans hp w-1 HWNDhwnd0", img\GUI\help.png + Gui, %GUI_name%: Add, Picture, % "ys BackgroundTrans hp w-1 HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI_name%: Add, Edit, % "xs w"settings.general.fWidth*15 " cBlack HWNDhwnd", vars.hwnd.help_tooltips["searchstrings_config entry-about"] := hwnd0, vars.hwnd.searchstrings_menu.name := hwnd WinGetPos, xPos,, width,, ahk_id %hwnd% @@ -157,7 +157,7 @@ StringMenu(name) Gui, %GUI_name%: Font, % "bold underline s"settings.general.fSize Gui, %GUI_name%: Add, Text, % "Section xs y+"settings.general.fHeight*0.8 " Center BackgroundTrans", % LangTrans("global_savedentry") Gui, %GUI_name%: Font, norm - Gui, %GUI_name%: Add, Picture, % "ys BackgroundTrans hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI_name%: Add, Picture, % "ys BackgroundTrans hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help WinGetPos, xPos,, width, height, ahk_id %hwnd% vars.hwnd.help_tooltips["searchstrings_config entry-list"] := hwnd, xPos_max := (xPos + width > xPos_max) ? xPos + width : xPos_max, added := 0, header := 1 } diff --git a/modules/seed-explorer.ahk b/modules/seed-explorer.ahk index 41d3abee..3c9b97df 100644 --- a/modules/seed-explorer.ahk +++ b/modules/seed-explorer.ahk @@ -102,7 +102,7 @@ Legion(cHWND := "") WinActivate, ahk_group poe_window WinWaitActive, ahk_group poe_window If vars.legion.nodes.HasKey(control) - Clipboard := "^("StrReplace(control, " ", "\s") ")" + Clipboard := "^(" StrReplace(StrReplace(control, "ash frost and storm", "ash, frost and storm"), " ", "\s") ")" Else { For index, val in LLK_HasVal(vars.legion.data.3, vars.legion.decoder_invert[control],,, 1) @@ -197,8 +197,12 @@ LegionGUI() If vars.legion.socket { Gui, %GUI_name%: Font, % "underline bold" - Gui, %GUI_name%: Add, Text, % "xs y+"settings.legion.fWidth, % LangTrans("seed_notables") + Gui, %GUI_name%: Add, Text, % "xs Section y+"settings.legion.fWidth, % LangTrans("seed_notables") Gui, %GUI_name%: Font, % "norm" + + Gui, %GUI_name%: Add, Pic, % "ys hp w-1 HWNDhwnd x+" settings.legion.fWidth/2, % "HBitmap:*" vars.pics.global.help + vars.hwnd.help_tooltips["seed-explorer_legion notables socket"] := hwnd + mods := {} For index, node in db.legion.sockets[vars.legion.socket].nodes text := db.legion.jewels[vars.legion.jewel]["_decoder"][vars.legion.data.3[vars.legion.nodes[node]]], mods[text] := mods[text] ? mods[text] + 1 : 1 @@ -212,7 +216,9 @@ LegionGUI() } Gui, %GUI_name%: Add, Text, % "x0 y0 Border BackgroundTrans w"vars.legion.width " h"vars.monitor.h - vars.legion.width + 1 - Gui, %GUI_name%: Add, Pic, % "xp y+-1 Border HWNDhwnd w"vars.legion.width - 2 " h-1", img\GUI\legion_treemap.jpg + If !vars.pics.legion.treemap + vars.pics.legion.treemap := LLK_ImageCache("img\GUI\legion_treemap.jpg") + Gui, %GUI_name%: Add, Pic, % "xp y+-1 Border HWNDhwnd w"vars.legion.width - 2 " h-1", % "HBitmap:*" vars.pics.legion.treemap vars.hwnd.legion.treemap := hwnd Gui, %GUI_name%: Add, Text, % "Section x"xAnchor + vars.legion.width " y"yAnchor, % LangTrans("global_font") " " @@ -224,9 +230,12 @@ LegionGUI() vars.hwnd.legion.font_plus := hwnd Gui, %GUI_name%: Font, % "underline bold" - Gui, %GUI_name%: Add, Text, % "xs y+"settings.legion.fWidth/2, % vars.legion.socket ? LangTrans("seed_notables", 2) : LangTrans("seed_notables", 3) + Gui, %GUI_name%: Add, Text, % "xs Section y+"settings.legion.fWidth/2, % vars.legion.socket ? LangTrans("seed_notables", 2) : LangTrans("seed_notables", 3) Gui, %GUI_name%: Font, % "norm" + Gui, %GUI_name%: Add, Pic, % "ys hp w-1 HWNDhwnd x+" settings.legion.fWidth/2, % "HBitmap:*" vars.pics.global.help + vars.hwnd.help_tooltips["seed-explorer_" (vars.legion.socket ? "socket" : "legion notables")] := hwnd + If !vars.legion.socket { For index, mod in vars.legion.jewel_mods @@ -370,6 +379,9 @@ LegionTree() Gui, %GUI_name%: Font, % "s"vars.legion.fSize_tree " cWhite bold", % vars.system.font hwnd_old := vars.hwnd.legion_tree.main, vars.hwnd.legion_tree := {"main": tree} + Gui, %GUI_name%: Add, Pic, % "x" settings.legion.fWidth//2 " y" settings.legion.fWidth//2 " HWNDhwnd h" settings.legion.fHeight " w-1", % "HBitmap:*" vars.pics.global.help + vars.hwnd.help_tooltips["seed-explorer_tree"] := hwnd + For socket, val in db.legion.sockets { hAqua := 0, hYellow := 0, mods := {} @@ -381,10 +393,15 @@ LegionTree() hAqua += settings.legion.highlights[mod] ? count : 0 Gui, %GUI_name%: Add, Text, % "BackgroundTrans Center cYellow w"vars.legion.fHeight_tree*1.8 " x"val.x * vars.legion.width*2 " y"val.y * vars.legion.width*2, % hYellow ? hYellow : "" Gui, %GUI_name%: Add, Text, % "BackgroundTrans Center cAqua w"vars.legion.fHeight_tree*1.8 " x"val.x * vars.legion.width*2 " y+-"vars.legion.fHeight_tree*0.2, % hAqua ? hAqua : "" - Gui, %GUI_name%: Add, Pic, % "BackgroundTrans gLegion HWNDhwnd h"vars.legion.fHeight_tree*1.8 " w-1 x"val.x * vars.legion.width*2 " y"val.y * vars.legion.width*2, % "img\GUI\legion_socket"(socket = vars.legion.socket ? 1 : 0) ".jpg" + If !vars.pics.legion.socket1 + vars.pics.legion.socket1 := LLK_ImageCache("img\GUI\legion_socket1.jpg"), vars.pics.legion.socket0 := LLK_ImageCache("img\GUI\legion_socket0.jpg") + Gui, %GUI_name%: Add, Pic, % "BackgroundTrans gLegion HWNDhwnd h"vars.legion.fHeight_tree*1.8 " w-1 x"val.x * vars.legion.width*2 " y"val.y * vars.legion.width*2 + , % "HBitmap:*" vars.pics.legion["socket" (socket = vars.legion.socket ? 1 : 0)] vars.hwnd.legion_tree["socket_"socket] := hwnd } - Gui, %GUI_name%: Add, Pic, % "x0 y0 Border HWNDhwnd w"vars.legion.width*2 - 3 " h-1", img\GUI\legion_treemap.jpg + If !vars.pics.legion.treemap + vars.pics.legion.treemap := LLK_ImageCache("img\GUI\legion_treemap.jpg") + Gui, %GUI_name%: Add, Pic, % "x0 y0 Border HWNDhwnd w"vars.legion.width*2 - 3 " h-1", % "HBitmap:*" vars.pics.legion.treemap vars.hwnd.legion_tree.map := hwnd Gui, %GUI_name%: Show, % "NA x" vars.monitor.x " y" vars.monitor.y + vars.monitor.h - vars.legion.width*2 LLK_Overlay(tree, "show",, GUI_name), LLK_Overlay(hwnd_old, "destroy"), vars.legion.wait := 0 diff --git a/modules/settings menu.ahk b/modules/settings menu.ahk index c8fcadf8..b9a59246 100644 --- a/modules/settings menu.ahk +++ b/modules/settings menu.ahk @@ -43,7 +43,7 @@ Gui, %GUI%: Font, % "underline bold" Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_betrayal_rewards") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_betrayal rewards"] := hwnd Gui, %GUI%: Font, % "norm" wMembers := [] @@ -337,14 +337,14 @@ Settings_cloneframes() global vars, settings Init_cloneframes() - GUI := "settings_menu" vars.settings.GUI_toggle - Gui, %GUI%: Add, Link, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, wiki page + GUI := "settings_menu" vars.settings.GUI_toggle, x_anchor := vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 + Gui, %GUI%: Add, Link, % "Section x" x_anchor " y"vars.settings.ySelection, wiki page If (vars.pixelsearch.gamescreen.x1 && (vars.pixelsearch.gamescreen.x1 != "ERROR") || vars.log.file_location) && settings.features.pixelchecks { Gui, %GUI%: Font, underline bold Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_clone_toggle") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm vars.hwnd.help_tooltips["settings_cloneframes toggle-info"] := hwnd } @@ -396,54 +396,55 @@ Settings_cloneframes() If (vars.cloneframes.list.Count() = 1) Return + LLK_PanelDimensions([LangTrans("global_coordinates"), LangTrans("global_width") "/" LangTrans("global_height")], settings.general.fSize, width, height) Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section HWNDhwnd y+"vars.settings.spacing, % LangTrans("m_clone_editing") - colors := ["3399FF", "DC3220", "Yellow"], handle := "", vars.hwnd.settings.edit_text := vars.hwnd.help_tooltips["settings_cloneframes corners"handle] := hwnd + colors := ["3399FF", "Yellow", "DC3220"], handle := "", vars.hwnd.settings.edit_text := vars.hwnd.help_tooltips["settings_cloneframes corners"handle] := hwnd Gui, %GUI%: Font, norm - Loop 3 + For index, val in vars.lang.global_mouse { - Gui, %GUI%: Add, Text, % "ys x+"settings.general.fWidth/2 " Center BackgroundTrans Border cBlack w"settings.general.fWidth*3, % "f" A_Index - Gui, %GUI%: Add, Progress, % "xp yp wp hp Border BackgroundBlack HWNDhwnd c"colors[A_Index], 100 + Gui, %GUI%: Add, Text, % "ys x+"settings.general.fWidth/2 " Center BackgroundTrans Border cBlack w"settings.general.fWidth*3, % val + Gui, %GUI%: Add, Progress, % "xp yp wp hp Border BackgroundBlack HWNDhwnd c"colors[index], 100 handle .= "|", vars.hwnd.help_tooltips["settings_cloneframes corners"handle] := hwnd } - Gui, %GUI%: Add, Text, % "xs Section c3399FFlue", % LangTrans("m_clone_sourcexy") - Gui, %GUI%: Font, % "s"settings.general.fSize - 4 - Gui, %GUI%: Add, Edit, % "ys x+" settings.general.fWidth/2 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % vars.client.x + 4 - vars.monitor.x + Gui, %GUI%: Add, Text, % "xs Section c3399FF", % LangTrans("global_coordinates") ":" + Gui, %GUI%: Font, % "s" settings.general.fSize - 4 + Gui, %GUI%: Add, Edit, % "ys x" x_anchor + width " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % vars.client.x + 4 - vars.monitor.x vars.hwnd.settings.xSource := vars.cloneframes.scroll.xSource := vars.hwnd.help_tooltips["settings_cloneframes scroll"] := hwnd - ControlGetPos, x, y,,,, ahk_id %hwnd% Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % vars.client.y + 4 - vars.monitor.y vars.hwnd.settings.ySource := vars.cloneframes.scroll.ySource := vars.hwnd.help_tooltips["settings_cloneframes scroll|"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize - Gui, %GUI%: Add, Text, % "ys cDC3220", % LangTrans("m_clone_widthheight") + Gui, %GUI%: Add, Text, % "ys", % LangTrans("m_clone_scale") Gui, %GUI%: Font, % "s"settings.general.fSize - 4 - Gui, %GUI%: Add, Edit, % "ys x+" settings.general.fWidth/2 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % 200 - vars.hwnd.settings.width := vars.cloneframes.scroll.width := vars.hwnd.help_tooltips["settings_cloneframes scroll||"] := hwnd - Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % 200 - vars.hwnd.settings.height := vars.cloneframes.scroll.height := vars.hwnd.help_tooltips["settings_cloneframes scroll|||"] := hwnd + Gui, %GUI%: Add, Edit, % "ys x+" settings.general.fWidth/2 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*3, 100 + vars.hwnd.settings.xScale := vars.cloneframes.scroll.xScale := vars.hwnd.help_tooltips["settings_cloneframes scroll||||||"] := hwnd + Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*3, 100 + vars.hwnd.settings.yScale := vars.cloneframes.scroll.yScale := vars.hwnd.help_tooltips["settings_cloneframes scroll|||||||"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize - Gui, %GUI%: Add, Text, % "xs Section cYellow", % LangTrans("m_clone_targetxy") + Gui, %GUI%: Add, Text, % "xs Section cYellow", % LangTrans("global_coordinates") ":" Gui, %GUI%: Font, % "s"settings.general.fSize - 4 - Gui, %GUI%: Add, Edit, % "ys x"x - 1 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % Format("{:0.0f}", vars.client.xc - 100) + Gui, %GUI%: Add, Edit, % "ys x" x_anchor + width " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % Format("{:0.0f}", vars.client.xc - 100) vars.hwnd.settings.xTarget := vars.cloneframes.scroll.xTarget := vars.hwnd.help_tooltips["settings_cloneframes scroll||||"] := hwnd Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % vars.client.y + 13 - vars.monitor.y vars.hwnd.settings.yTarget := vars.cloneframes.scroll.yTarget := vars.hwnd.help_tooltips["settings_cloneframes scroll|||||"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize - Gui, %GUI%: Add, Text, % "ys", % LangTrans("m_clone_scale") - Gui, %GUI%: Font, % "s"settings.general.fSize - 4 - Gui, %GUI%: Add, Edit, % "ys x+" settings.general.fWidth/2 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*3, 100 - vars.hwnd.settings.xScale := vars.cloneframes.scroll.xScale := vars.hwnd.help_tooltips["settings_cloneframes scroll||||||"] := hwnd - Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*3, 100 - vars.hwnd.settings.yScale := vars.cloneframes.scroll.yScale := vars.hwnd.help_tooltips["settings_cloneframes scroll|||||||"] := hwnd - Gui, %GUI%: Font, % "s"settings.general.fSize - Gui, %GUI%: Add, Text, % "xs Section", % LangTrans("global_opacity") + Gui, %GUI%: Add, Text, % "ys", % LangTrans("global_opacity") Gui, %GUI%: Add, Text, % "ys x+" settings.general.fWidth/2 " 0x200 hp Border Center HWNDhwnd w"settings.general.fWidth*2, 5 ;Gui, %GUI%: Add, UpDown, % "ys hp Disabled range0-5 gSettings_cloneframes2 HWNDhwnd", 5 vars.hwnd.settings.opacity := vars.cloneframes.scroll.opacity := vars.hwnd.help_tooltips["settings_cloneframes scroll||||||||"] := hwnd - Gui, %GUI%: Add, Text, % "ys cGray Border HWNDhwnd", % " " LangTrans("global_save") " " + Gui, %GUI%: Add, Text, % "xs Section cDC3220", % LangTrans("global_width") "/" LangTrans("global_height") ":" + Gui, %GUI%: Font, % "s"settings.general.fSize - 4 + Gui, %GUI%: Add, Edit, % "ys x" x_anchor + width " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % 200 + vars.hwnd.settings.width := vars.cloneframes.scroll.width := vars.hwnd.help_tooltips["settings_cloneframes scroll||"] := hwnd + Gui, %GUI%: Add, Edit, % "ys x+"settings.general.fWidth/4 " hp Disabled Number cBlack Right gCloneframesSettingsApply HWNDhwnd w"settings.general.fWidth*4, % 200 + vars.hwnd.settings.height := vars.cloneframes.scroll.height := vars.hwnd.help_tooltips["settings_cloneframes scroll|||"] := hwnd + Gui, %GUI%: Font, % "s"settings.general.fSize + + Gui, %GUI%: Add, Text, % "xs Section cGray Border HWNDhwnd", % " " LangTrans("global_save") " " vars.hwnd.settings.save := hwnd Gui, %GUI%: Add, Text, % "ys x+"settings.general.fWidth/4 " cGray Border HWNDhwnd", % " " LangTrans("global_discard") " " vars.hwnd.settings.discard := hwnd @@ -498,6 +499,8 @@ Settings_cloneframes2(cHWND) GuiControl, movedraw, % cHWND IniWrite, % vars.cloneframes.list[control].enable, ini\clone frames.ini, % control, enable Init_cloneframes() + GuiControl, % "+c" (!vars.cloneframes.enabled ? "Gray" : "White"), % vars.hwnd.settings["clone-frames"] + GuiControl, % "movedraw", % vars.hwnd.settings["clone-frames"] } Else If (check = "save") CloneframesSettingsSave() @@ -508,6 +511,55 @@ Settings_cloneframes2(cHWND) Else LLK_ToolTip("no action") } +Settings_donations() +{ + local + global vars, settings, JSON + static last_update, live_list, patterns := [["000000", "F99619"], ["000000", "F05A23"], ["FFFFFF", "F05A23"], ["Red", "FFFFFF"]] + , placeholder := "these are placeholders, not actual donations:`ncouldn't download the list, or it doesn't exist yet" + + If !vars.settings.donations + vars.settings.donations := {"Le Toucan": [1, ["june 17, 2024:`ni have arrived. caw, caw"]], "Lightwoods": [4, ["december 23, 2015:`ni can offer you 2 exalted orbs for your mirror", "december 23, 2015:`nsince i'm feeling happy today, i'll give you some maps on top", "december 23, 2015:`n 5 of these?"]], "Average Redditor": [1, ["june 18, 2024:`nbruh, just enjoy the game"]], "Sanest Redditor": [3, ["august 5, 2023:`nyassss keep making more powerful and intrusive tools so ggg finally bans all ahk scripts"]], "ILoveLootsy": [2, ["february 1, 2016:`ndang yo"]]} + + If (last_update + 120000 < A_TickCount) + { + Try donations_new := HTTPtoVar("https://raw.githubusercontent.com/Lailloken/Lailloken-UI/" (settings.general.dev_env ? "dev" : "main") "/img/readme/donations.json") + If (SubStr(donations_new, 1, 1) . SubStr(donations_new, 0) = "{}") + vars.settings.donations := JSON.load(donations_new), live_list := 1 + } + + last_update := A_TickCount, dimensions := [], rearrange := [] + For key, val in vars.settings.donations + If !val.0 + new_key := LLK_PanelDimensions([key], settings.general.fSize, width0, height0,,,, 1), dimensions.Push(new_key), rearrange.Push([key, new_key]) + Else dimensions.Push(key) + + For index, val in rearrange + { + If (val.1 != val.2) + vars.settings.donations[val.2] := vars.settings.donations[val.1].Clone(), vars.settings.donations.Delete(val.1) + vars.settings.donations[val.2].0 := 1 + } + + LLK_PanelDimensions(dimensions, settings.general.fSize - 2, width, height), LLK_PanelDimensions([placeholder], settings.general.fSize, wPlaceholder, hPlaceholder,,, 0) + columns := wPlaceholder//width + GUI := "settings_menu" vars.settings.GUI_toggle, x_anchor := vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 + Gui, %GUI%: Add, Text, % "Section x" x_anchor " y" vars.settings.yselection, special thanks to these people for donating: + Gui, %GUI%: Font, % "s" settings.general.fSize - 2 + For key, val in vars.settings.donations + { + pos := (A_Index = 1) || !Mod(A_Index - 1, columns) ? "xs Section" (A_Index = 1 ? " y+" vars.settings.spacing : "") : "ys" + Gui, %GUI%: Add, Text, % pos " Center Border HWNDhwnd BackgroundTrans w" width " h" height " c" patterns[val.1].1 . (!InStr(key, "`n") ? " 0x200" : ""), % key + Gui, %GUI%: Add, Progress, % "xp+3 yp+3 wp-6 hp-6 Disabled HWNDhwnd Background" patterns[val.1].2, 0 + Gui, %GUI%: Add, Progress, % "xp-3 yp-3 wp+6 hp+6 Disabled Background" patterns[val.1].1, 0 + vars.hwnd.help_tooltips["donation_" key] := hwnd + } + Gui, %GUI%: Font, % "s" settings.general.fSize + If !live_list + Gui, %GUI%: Add, Text, % "xs Section cAqua y+" vars.settings.spacing, % placeholder + Gui, %GUI%: Add, Link, % "xs Section y+" vars.settings.spacing, how to donate +} + Settings_general() { local @@ -520,12 +572,6 @@ Settings_general() Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_general_settings") Gui, %GUI%: Font, norm - If settings.general.dev - { - Gui, %GUI%: Add, Checkbox, % "ys hp gSettings_general2 HWNDhwnd Checked" settings.general.dev_env, % "dev environment" - vars.hwnd.settings.dev_env := hwnd - } - Gui, %GUI%: Add, Checkbox, % "xs Section hp gSettings_general2 HWNDhwnd Checked" settings.general.kill[1], % LangTrans("m_general_kill") vars.hwnd.settings.kill_timer := hwnd, vars.hwnd.help_tooltips["settings_kill timer"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fsize - 4 "norm" @@ -534,9 +580,36 @@ Settings_general() Gui, %GUI%: Font, % "s"settings.general.fsize Gui, %GUI%: Add, Checkbox, % "xs Section HWNDhwnd gSettings_general2 Checked"settings.features.browser, % LangTrans("m_general_browser") vars.hwnd.settings.browser := hwnd, vars.hwnd.help_tooltips["settings_browser features"] := hwnd - Gui, %GUI%: Add, Checkbox, % "xs Section HWNDhwnd gSettings_general2 Checked" settings.general.capslock, % LangTrans("m_general_capslock") + Gui, %GUI%: Add, Checkbox, % "ys HWNDhwnd gSettings_general2 Checked" settings.general.capslock, % LangTrans("m_general_capslock") vars.hwnd.settings.capslock := hwnd, vars.hwnd.help_tooltips["settings_capslock toggling"] := hwnd, check := "" + If vars.log.file_location + { + Gui, %GUI%: Add, Text, % "xs Section HWNDhwnd c"(settings.general.lang_client = "unknown" ? "Gray" : vars.log.level ? "Lime" : settings.general.character ? "Yellow" : "Red"), % LangTrans("m_general_character") " " + vars.hwnd.settings.character_text := hwnd + If (settings.general.lang_client != "unknown") + vars.hwnd.help_tooltips["settings_active character status"] := hwnd + Else vars.hwnd.help_tooltips["settings_lang incompatible"] := hwnd + + Gui, %GUI%: Font, % "s"settings.general.fSize - 4 + Gui, %GUI%: Add, Edit, % "ys x+0 cBlack wp r1 hp gSettings_general2 HWNDhwnd" (settings.general.lang_client = "unknown" ? " Disabled" : ""), % LLK_StringCase(settings.general.character) + If vars.log.level + Gui, %GUI%: Add, Text, % "ys x+-1 hp 0x200 Center Border", % " " LangTrans("m_general_level") " " vars.log.level " " + Gui, %GUI%: Font, % "s"settings.general.fSize + vars.hwnd.settings.character := hwnd + If (settings.general.lang_client != "unknown") + { + vars.hwnd.help_tooltips["settings_active character"] := hwnd + Gui, %GUI%: Add, Button, % "xp yp wp hp Default Hidden gSettings_general2 HWNDhwnd", % "save" + vars.hwnd.settings.save_character := hwnd + } + Else vars.hwnd.help_tooltips["settings_lang incompatible|"] := hwnd + } + + Gui, %GUI%: Font, bold underline + Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("global_ui") + Gui, %GUI%: Font, norm + Loop, Files, data\*, R If (A_LoopFileName = "client.txt") parse := StrReplace(StrReplace(A_LoopFilePath, "data\"), "\client.txt"), check .= parse "|" @@ -574,35 +647,12 @@ Settings_general() Gui, %GUI%: Add, Checkbox, % "xs Section HWNDhwnd gSettings_general2 Checked" settings.general.hide_toolbar, % LangTrans("m_general_hidetoolbar") vars.hwnd.settings.toolbar_hide := vars.hwnd.help_tooltips["settings_toolbar hide"] := hwnd - If vars.log.file_location - { - Gui, %GUI%: Add, Text, % "xs Section HWNDhwnd c"(settings.general.lang_client = "unknown" ? "Gray" : vars.log.level ? "Lime" : settings.general.character ? "Yellow" : "Red"), % LangTrans("m_general_character") " " - vars.hwnd.settings.character_text := hwnd - If (settings.general.lang_client != "unknown") - vars.hwnd.help_tooltips["settings_active character status"] := hwnd - Else vars.hwnd.help_tooltips["settings_lang incompatible"] := hwnd - - Gui, %GUI%: Font, % "s"settings.general.fSize - 4 - Gui, %GUI%: Add, Edit, % "ys x+0 cBlack wp r1 hp gSettings_general2 HWNDhwnd" (settings.general.lang_client = "unknown" ? " Disabled" : ""), % LLK_StringCase(settings.general.character) - If vars.log.level - Gui, %GUI%: Add, Text, % "ys x+-1 hp 0x200 Center Border", % " " LangTrans("m_general_level") " " vars.log.level " " - Gui, %GUI%: Font, % "s"settings.general.fSize - vars.hwnd.settings.character := hwnd - If (settings.general.lang_client != "unknown") - { - vars.hwnd.help_tooltips["settings_active character"] := hwnd - Gui, %GUI%: Add, Button, % "xp yp wp hp Default Hidden gSettings_general2 HWNDhwnd", % "save" - vars.hwnd.settings.save_character := hwnd - } - Else vars.hwnd.help_tooltips["settings_lang incompatible|"] := hwnd - } - If !vars.client.stream { Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_general_client") Gui, %GUI%: Font, norm - Gui, %GUI%: Add, Text, % "ys Border HWNDhwnd gSettings_general2", % " " LangTrans("global_restart") " " + Gui, %GUI%: Add, Text, % "ys Border HWNDhwnd Hidden cRed gSettings_general2", % " " LangTrans("global_restart") " " vars.hwnd.settings.apply := hwnd Gui, %GUI%: Add, Text, % "xs Section", % LangTrans("m_general_language", 2) " " @@ -685,7 +735,7 @@ Settings_general() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section BackgroundTrans HWNDhwnd y+"vars.settings.spacing, % LangTrans("m_general_permissions") vars.hwnd.settings.permissions_test := hwnd - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm Gui, %GUI%: Add, Text, % "xs Section BackgroundTrans Border gSettings_WriteTest", % " " LangTrans("m_general_start") " " Gui, %GUI%: Add, Progress, % "xp yp wp hp Border Disabled BackgroundBlack cGreen Range0-700 HWNDhwnd", 0 @@ -773,10 +823,10 @@ Settings_general2(cHWND := "") Reload ExitApp Case "custom_width": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "custom_resolution": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "apply": width := (LLK_ControlGet(vars.hwnd.settings.custom_width) > vars.monitor.w) ? vars.monitor.w : LLK_ControlGet(vars.hwnd.settings.custom_width) @@ -807,13 +857,13 @@ Settings_general2(cHWND := "") Reload ExitApp Case "ClientFiller": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "dock": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "dock2": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "remove_borders": state := LLK_ControlGet(cHWND), ddl_state := LLK_ControlGet(vars.hwnd.settings.custom_resolution) @@ -822,10 +872,10 @@ Settings_general2(cHWND := "") ddl := !ddl ? key : key "|" ddl ddl := !InStr(ddl, ddl_state) ? "|" StrReplace(ddl, "|", "||",, 1) : "|" StrReplace(ddl, InStr(ddl, ddl_state "|") ? ddl_state "|" : ddl_state, ddl_state "||") GuiControl,, % vars.hwnd.settings.custom_resolution, % ddl - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Case "blackbars": - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply Default: If InStr(check, "font_") @@ -877,14 +927,14 @@ Settings_hotkeys() global vars, settings GUI := "settings_menu" vars.settings.GUI_toggle, x_anchor := vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 - Gui, %GUI%: Add, Link, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, ahk: list of keys + Gui, %GUI%: Add, Link, % "Section x" x_anchor " y"vars.settings.ySelection, ahk: list of keys Gui, %GUI%: Add, Link, % "ys x+"settings.general.fWidth, ahk: formatting If !vars.client.stream || settings.features.leveltracker { Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_hotkeys_settings") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm } @@ -915,7 +965,7 @@ Settings_hotkeys() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing " x" x_anchor, % LangTrans("m_hotkeys_omnikey") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_hotkeys omnikey-info"] := hwnd Gui, %GUI%: Font, norm @@ -953,7 +1003,7 @@ Settings_hotkeys() Gui, %GUI%: Add, Text, % "xs Section HWNDhwnd0 cAqua", % LangTrans("m_hotkeys_emergency") " win + space" vars.hwnd.help_tooltips["settings_hotkeys restart"] := hwnd0, vars.hwnd.settings.tabblock := hwnd, vars.hwnd.help_tooltips["settings_hotkeys omniblock|"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize + 4 - Gui, %GUI%: Add, Text, % "xs Border gSettings_hotkeys2 Section HWNDhwnd y+"vars.settings.spacing, % " " LangTrans("global_restart") " " + Gui, %GUI%: Add, Text, % "xs Border gSettings_hotkeys2 Hidden cRed Section HWNDhwnd y+"vars.settings.spacing, % " " LangTrans("global_restart") " " vars.hwnd.settings.apply := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize } @@ -1031,7 +1081,7 @@ Settings_hotkeys2(cHWND) Reload ExitApp } - GuiControl, +cRed, % vars.hwnd.settings.apply + GuiControl, -Hidden, % vars.hwnd.settings.apply GuiControl, movedraw, % vars.hwnd.settings.apply } @@ -1129,7 +1179,7 @@ Settings_iteminfo() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section Center BackgroundTrans HWNDhwnd0 y+"vars.settings.spacing, % LangTrans("m_iteminfo_rules") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd0", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm Gui, %GUI%: Add, Checkbox, % "xs Section gSettings_iteminfo2 HWNDhwnd01 c" colors.2 " Checked"settings.iteminfo.rules.res_weapons, % LangTrans("m_iteminfo_rules", 2) vars.hwnd.help_tooltips["settings_iteminfo rules"] := hwnd0, vars.hwnd.settings.rule_res_weapons := hwnd01 @@ -1330,7 +1380,7 @@ Settings_leveltracker() global vars, settings GUI := "settings_menu" vars.settings.GUI_toggle, x_anchor := vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 - Gui, %GUI%: Add, Link, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, wiki page + Gui, %GUI%: Add, Link, % "Section x" x_anchor " y"vars.settings.ySelection, wiki page Gui, %GUI%: Add, Checkbox, % "xs y+"vars.settings.spacing " Section gSettings_leveltracker2 HWNDhwnd Checked"settings.features.leveltracker, % LangTrans("m_lvltracker_enable") vars.hwnd.settings.enable := hwnd, vars.hwnd.help_tooltips["settings_leveltracker enable"] := hwnd @@ -1425,7 +1475,7 @@ Settings_leveltracker() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_lvltracker_skilltree") Gui, %GUI%: Font, norm - Gui, %GUI%: Add, Picture, % "ys BackgroundTrans hp HWNDhwnd0 w-1", img\gui\help.png + Gui, %GUI%: Add, Picture, % "ys BackgroundTrans hp HWNDhwnd0 w-1", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Add, Checkbox, % "xs Section gSettings_leveltracker2 HWNDhwnd Checked"settings.leveltracker.pob, % LangTrans("m_lvltracker_pob") vars.hwnd.help_tooltips["settings_leveltracker skilltree-info"] := hwnd0, vars.hwnd.settings.pob := vars.hwnd.help_tooltips["settings_leveltracker pob"] := hwnd Gui, %GUI%: Add, Text, % "xs Section gSettings_leveltracker2 Border HWNDhwnd", % " " LangTrans("m_lvltracker_screencap") " " @@ -1655,7 +1705,7 @@ Settings_mapinfo() global vars, settings, db GUI := "settings_menu" vars.settings.GUI_toggle, x_anchor := vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 - Gui, %GUI%: Add, Link, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, wiki page + Gui, %GUI%: Add, Link, % "Section x" x_anchor " y"vars.settings.ySelection, wiki page If (settings.general.lang_client = "unknown") { @@ -1733,7 +1783,7 @@ Settings_mapinfo() Gui, %GUI%: Font, % "bold underline" Gui, %GUI%: Add, Text, % "xs Section x" x_anchor " y+" vars.settings.spacing, % LangTrans("m_mapinfo_modsettings") Gui, %GUI%: Font, % "norm" - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_mapinfo mod settings"] := hwnd Gui, %GUI%: Add, Text, % "xs Section", % LangTrans("m_mapinfo_pinned") For ID, val in settings.mapinfo.pinned @@ -1864,7 +1914,7 @@ Settings_mapinfo2(cHWND) Else If InStr(check, "pin_") { KeyWait, LButton - IniWrite, % InStr(check, "unpin_") ? 0 : 1, ini\map info.ini, pinned, % control + IniWrite, % (settings.mapinfo.pinned[control] := InStr(check, "unpin_") ? 0 : 1), ini\map info.ini, pinned, % control Settings_menu("map-info",, 0) Return } @@ -1916,7 +1966,7 @@ Settings_maptracker() If settings.maptracker.mechanics { Gui, %GUI%: Add, Text, % "xs Section Center xp+" settings.general.fWidth * 2, % LangTrans("m_maptracker_dialogue") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_maptracker dialogue tracking"] := hwnd, added := 0, ingame_dialogs := vars.maptracker.dialog := InStr(LLK_FileRead(vars.system.config), "output_all_dialogue_to_chat=true") ? 1 : 0 Gui, %GUI%: Font, c505050 For mechanic, type in vars.maptracker.mechanics @@ -1930,7 +1980,7 @@ Settings_maptracker() Gui, %GUI%: Font, cWhite Gui, %GUI%: Add, Text, % "xs Section Center", % LangTrans("m_maptracker_screen") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_maptracker screen tracking"] := hwnd, handle := "", added := 0 Gui, %GUI%: Font, c505050 For mechanic, type in vars.maptracker.mechanics @@ -1957,7 +2007,7 @@ Settings_maptracker() } Gui, %GUI%: Font, bold underline - Gui, %GUI%: Add, Text, % "xs Section Center y+"vars.settings.spacing " x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2, % LangTrans("global_ui") + Gui, %GUI%: Add, Text, % "xs Section Center y+"vars.settings.spacing " x" x_anchor, % LangTrans("global_ui") Gui, %GUI%: Font, norm Gui, %GUI%: Add, Text, % "xs Section Center HWNDhwnd0", % LangTrans("global_panelsize") " " Gui, %GUI%: Add, Text, % "ys x+0 Center gSettings_maptracker2 Border HWNDhwnd w"settings.general.fWidth*2, % "–" @@ -2120,7 +2170,7 @@ Settings_menu(section, mode := 0, NA := 1) ;mode parameter is used when manually If !IsObject(vars.settings) { - vars.settings := {"sections": ["general", "leveling tracker", "betrayal-info", "cheat-sheets", "clone-frames", "hotkeys", "item-info", "map-info", "mapping tracker", "minor qol tools", "necropolis", "screen-checks", "search-strings", "stash-ninja", "tldr-tooltips", "updater"], "sections2": []} ;list of sections in the settings menu + vars.settings := {"sections": ["general", "hotkeys", "screen-checks", "updater", "donations", "leveling tracker", "betrayal-info", "cheat-sheets", "clone-frames", "item-info", "map-info", "mapping tracker", "minor qol tools", "necropolis", "search-strings", "stash-ninja", "tldr-tooltips"], "sections2": []} ;list of sections in the settings menu For index, val in vars.settings.sections vars.settings.sections2.Push(LangTrans("ms_" val)) } @@ -2161,21 +2211,24 @@ Settings_menu(section, mode := 0, NA := 1) ;mode parameter is used when manually Gui, %GUI_name%: Add, Progress, % "xp yp wp hp Border Disabled HWNDhwnd1 BackgroundBlack cBlack", 100 ControlGetPos, x, y,,,, ahk_id %hwnd% vars.hwnd.settings.general := hwnd, vars.settings.xSelection := x, vars.settings.ySelection := y + vars.settings.line1, vars.settings.wSelection := section_width, vars.hwnd.settings["background_general"] := hwnd1 - feature_check := {"betrayal-info": "betrayal", "cheat-sheets": "cheatsheets", "leveling tracker": "leveltracker", "mapping tracker": "maptracker", "map-info": "mapinfo", "necropolis": "necropolis", "tldr-tooltips": "OCR"} + feature_check := {"betrayal-info": "betrayal", "cheat-sheets": "cheatsheets", "leveling tracker": "leveltracker", "mapping tracker": "maptracker", "map-info": "mapinfo", "necropolis": "necropolis", "tldr-tooltips": "OCR", "stash-ninja": "stash"} feature_check2 := {"item-info": 1, "mapping tracker": 1, "map-info": 1} If !vars.general.buggy_resolutions.HasKey(vars.client.h) && !vars.general.safe_mode { For key, val in vars.settings.sections { - If (val = "general") || (val = "screen-checks") && !IsNumber(vars.pixelsearch.gamescreen.x1) || !vars.log.file_location && (val = "mapping tracker") ;cont + If (val = "general") || (val = "screen-checks") && !IsNumber(vars.pixelsearch.gamescreen.x1) || !vars.log.file_location && (val = "mapping tracker") || (WinExist("ahk_exe GeForceNOW.exe") || WinExist("ahk_exe boosteroid.exe")) && InStr("item-info, map-info", val) continue color := (val = "updater" && IsNumber(vars.update.1) && vars.update.1 < 0) ? " cRed" : (val = "updater" && IsNumber(vars.update.1) && vars.update.1 > 0) ? " cLime" : "" - color := feature_check[val] && !settings.features[feature_check[val]] ? " cGray" : color, color := feature_check2[val] && (settings.general.lang_client = "unknown") ? " cGray" : color - Gui, %GUI_name%: Add, Text, % "Section xs y+-1 wp BackgroundTrans Border gSettings_menu HWNDhwnd 0x200 h"settings.general.fHeight*1.5 color, % " " LangTrans("ms_" val) " " + color := feature_check[val] && !settings.features[feature_check[val]] || (val = "clone-frames") && !vars.cloneframes.enabled || (val = "search-strings") && !vars.searchstrings.enabled ? " cGray" : color, color := feature_check2[val] && (settings.general.lang_client = "unknown") ? " cGray" : color + color := (val = "donations") ? " cCCCC00" : color + Gui, %GUI_name%: Add, Text, % "Section xs y+-1 wp BackgroundTrans Border gSettings_menu HWNDhwnd 0x200 h"settings.general.fHeight*1.4 color, % " " LangTrans("ms_" val) " " Gui, %GUI_name%: Add, Progress, % "xp yp wp hp Border Disabled HWNDhwnd1 BackgroundBlack cBlack", 100 vars.hwnd.settings[val] := hwnd, vars.hwnd.settings["background_"val] := hwnd1 + If (val = "donations") + Gui, %GUI_name%: Add, Progress, % "Section xs y+0 wp Background606060 h" settings.general.fWidth//2, 0 } } ControlGetPos, x, yLast_section, w, hLast_section,, ahk_id %hwnd% @@ -2237,7 +2290,7 @@ Settings_menu(section, mode := 0, NA := 1) ;mode parameter is used when manually Else { Gui, %GUI_name%: Show, % "NA x" vars.monitor.x + vars.client.xc - w//2 " y" vars.monitor.y + vars.client.yc - h//2 " w"w - 1 " h"h - 2 - vars.settings.x := vars.client.x + vars.client.xc - w//2 + vars.settings.x := vars.monitor.x + vars.client.xc - w//2 } LLK_Overlay(vars.hwnd.settings.main, "show", NA, GUI_name), LLK_Overlay(hwnd_old, "destroy"), vars.settings.w := w, vars.settings.h := h, vars.settings.restart := vars.settings.wait := vars.settings.color := "" } @@ -2257,6 +2310,8 @@ Settings_menu2(section, mode := 0) ;mode parameter used when manually calling th Settings_cheatsheets() Case "clone-frames": Settings_cloneframes() + Case "donations": + Settings_donations() Case "tldr-tooltips": Settings_OCR() Case "hotkeys": @@ -2342,7 +2397,7 @@ Settings_necropolis() vars.hwnd.settings["opac_minus"] := hwndminus, vars.hwnd.settings["opac_reset"] := hwndreset, vars.hwnd.settings["opac_plus"] := hwndplus Gui, %GUI%: Add, Text, % "xs Section y+" vars.settings.spacing, % LangTrans("m_necro_offset") - Gui, %GUI%: Add, Pic, % "ys HWNDhwnd hp w-1", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys HWNDhwnd hp w-1", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_necro offsets"] := hwnd LLK_PanelDimensions([LangTrans("global_width"), LangTrans("global_height")], settings.general.fSize, w1, h1), LLK_PanelDimensions([LangTrans("global_axis", 1), LangTrans("global_axis", 2)], settings.general.fSize, w2, h2), wControl := Max(w1, w2) For index, array in [["w", "width"], ["h", "height"], ["g", "gap"], ["x", "axis"], ["y", "axis"]] @@ -2355,7 +2410,7 @@ Settings_necropolis() } Gui, %GUI%: Add, Text, % "xs Section y+" vars.settings.spacing, % LangTrans("m_iteminfo_highlight") - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_necro colors"] := hwnd For index, color in settings.necropolis.colors { @@ -2502,7 +2557,7 @@ Settings_OCR() Gui, %GUI%: Add, Text, % "ys x+"settings.general.fWidth/4 " Center Border gSettings_OCR2 HWNDhwnd w"settings.general.fWidth*2, % "+" vars.hwnd.settings.font_plus := vars.hwnd.help_tooltips["settings_font-size|||"] := hwnd Gui, %GUI%: Add, Text, % "xs Section", % LangTrans("m_iteminfo_highlight") - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_ocr colors"] := hwnd LLK_PanelDimensions([LangTrans("global_pattern") " 7"], settings.general.fSize, width, height) @@ -2834,7 +2889,7 @@ Settings_screenchecks() Gui, %GUI%: Add, Link, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, wiki page Gui, %GUI%: Font, % "underline bold" Gui, %GUI%: Add, Text, % "xs Section y+"vars.settings.spacing, % LangTrans("m_screen_pixel") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, % "norm" vars.hwnd.help_tooltips["settings_screenchecks pixel-about"] := hwnd @@ -2860,7 +2915,7 @@ Settings_screenchecks() Gui, %GUI%: Font, % "s" settings.general.fSize - 4 Gui, %GUI%: Add, Edit, % "ys hp Number Limit3 r1 cBlack gSettings_screenchecks2 HWNDhwnd w" settings.general.fWidth * 3, % vars.pixelsearch.variation Gui, %GUI%: Font, % "s" settings.general.fSize - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd1", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd1", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_screenchecks variance"] := hwnd1, vars.hwnd.settings.variance_pixel := hwnd } @@ -2876,7 +2931,7 @@ Settings_screenchecks() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section BackgroundTrans y+"vars.settings.spacing, % LangTrans("m_screen_image") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm vars.hwnd.help_tooltips["settings_screenchecks image-about"] := hwnd, handle := "" @@ -2902,7 +2957,7 @@ Settings_screenchecks() Gui, %GUI%: Font, % "s" settings.general.fSize - 4 Gui, %GUI%: Add, Edit, % "ys hp Number Limit3 r1 cBlack gSettings_screenchecks2 HWNDhwnd w" settings.general.fWidth * 3, % vars.imagesearch.variation Gui, %GUI%: Font, % "s" settings.general.fSize - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd1", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd1", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_screenchecks variance|"] := hwnd1, vars.hwnd.settings.variance_image := hwnd } } @@ -3027,7 +3082,7 @@ Settings_searchstrings() { Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section BackgroundTrans y+"vars.settings.spacing, % LangTrans("m_search_usecases") - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd69", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd69", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, norm } vars.hwnd.help_tooltips["settings_searchstrings about"] := hwnd69, var := vars.searchstrings.list[string] ;short-cut variable @@ -3054,11 +3109,13 @@ Settings_searchstrings() Gui, %GUI%: Add, Edit, % "ys cBlack x+" settings.general.fWidth/2 " hp HWNDhwnd w"settings.general.fWidth*15 If !vars.searchstrings.list.Count() { - Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd69", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 BackgroundTrans HWNDhwnd69", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_searchstrings about"] := hwnd69 } vars.hwnd.settings.name := vars.hwnd.help_tooltips["settings_searchstrings add|"] := hwnd Gui, %GUI%: Font, % "s"settings.general.fSize + GuiControl, % "+c" (!vars.searchstrings.enabled ? "Gray" : "White"), % vars.hwnd.settings["search-strings"] + GuiControl, % "movedraw", % vars.hwnd.settings["search-strings"] } Settings_searchstrings2(cHWND) @@ -3217,7 +3274,7 @@ Settings_stash() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "xs Section y+" vars.settings.spacing, % LangTrans("m_stash_tabs") Gui, %GUI%: Font, norm - Gui, %GUI%: Add, Pic, % "ys BackgroundTrans HWNDhwnd hp w-1", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys BackgroundTrans HWNDhwnd hp w-1", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_stash config"] := hwnd If WinExist("ahk_id " vars.hwnd.stash.main) && vars.stash.active @@ -3237,7 +3294,7 @@ Settings_stash() vars.hwnd.settings["gap+_" tab] := hwnd4, vars.hwnd.settings["infolder_" tab] := vars.hwnd.help_tooltips["settings_stash in folder"] := hwnd5 Gui, %GUI%: Add, Text, % "xs Section", % LangTrans("m_stash_limits") - Gui, %GUI%: Add, Pic, % "ys HWNDhwnd hp w-1", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys HWNDhwnd hp w-1", % "HBitmap:*" vars.pics.global.help Gui, %GUI%: Font, % "s" settings.general.fSize - 4 " cBlack" vars.hwnd.help_tooltips["settings_stash limits"] := hwnd, currencies := ["c", "e", "d", "%"] Loop 5 @@ -3480,6 +3537,7 @@ Settings_updater() Gui, %GUI%: Font, bold underline Gui, %GUI%: Add, Text, % "Section x"vars.settings.xSelection + vars.settings.wSelection + vars.settings.xMargin*2 " y"vars.settings.ySelection, % LangTrans("global_general") Gui, %GUI%: Font, norm + Gui, %GUI%: Add, Checkbox, % "Section xs HWNDhwnd gSettings_updater2 checked"settings.updater.update_check, % LangTrans("m_updater_autocheck") Gui, %GUI%: Add, Text, % "ys", % " " ;to make the window a bit wider and improve changelog tooltips WinGetPos,,, wCheckbox, hCheckbox, ahk_id %hwnd% @@ -3491,6 +3549,12 @@ Settings_updater() Gui, %GUI%: Add, Pic, % "ys hp w-1 Center Border BackgroundTrans HWNDhwnd gSettings_updater2", % "img\GUI\restart.png" vars.hwnd.settings.update_refresh := hwnd, LLK_PanelDimensions([LangTrans("m_updater_version", 2), LangTrans("m_updater_version", 3)], settings.general.fSize, width, height) + If settings.general.dev + { + Gui, %GUI%: Add, Checkbox, % "ys hp gSettings_general2 HWNDhwnd Checked" settings.general.dev_env, % "dev branch" + vars.hwnd.settings.dev_env := hwnd + } + Gui, %GUI%: Add, Text, % "Section xs w" width, % LangTrans("m_updater_version", 2) Gui, %GUI%: Add, Text, % "ys HWNDhwnd x+0", % vars.updater.version.2 ControlGetPos, x,,,,, ahk_id %hwnd% @@ -3500,7 +3564,7 @@ Settings_updater() If InStr(vars.updater.latest.1, ".") { - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_update hotfix"] := hwnd } @@ -3517,7 +3581,7 @@ Settings_updater() Gui, %GUI%: Add, Text, % "Section xs y+" vars.settings.spacing, % LangTrans("m_updater_versions") added := {}, selected := vars.updater.selected, selected_sub := SubStr(selected, InStr(selected, ".",, 0) + 1) Gui, %GUI%: Font, norm - Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", img\GUI\help.png + Gui, %GUI%: Add, Pic, % "ys hp w-1 HWNDhwnd", % "HBitmap:*" vars.pics.global.help vars.hwnd.help_tooltips["settings_update versions"] := hwnd For index, val in vars.updater.changelog @@ -3561,7 +3625,7 @@ Settings_updater() Else If InStr("5", StrReplace(vars.update.1, "-")) Gui, %GUI%: Add, Text, % "Section xs w" wCheckbox, % LangTrans("m_updater_error4") " " LangTrans("m_updater_error2", 2) "`n`n" LangTrans("m_updater_error2", 3) - If InStr("345", StrReplace(vars.update.1, "-")) + If InStr("35", StrReplace(vars.update.1, "-")) { Gui, %GUI%: Add, Text, % "Section xs Center Border BackgroundTrans HWNDmanual gSettings_updater2", % " " LangTrans("m_updater_manual") " " Gui, %GUI%: Add, Progress, % "xp yp wp hp Border HWNDbar range0-10 BackgroundBlack cGreen", 0