The main release package of Ashita v3. Contains all the needed files for users to get up and running. Used by the launcher/injector to auto-update as well.
https://ashitaxi.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
304 lines
15 KiB
304 lines
15 KiB
--[[ |
|
* Ashita - Copyright (c) 2014 - 2017 atom0s [[email protected]] |
|
* |
|
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. |
|
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to |
|
* Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. |
|
* |
|
* By using Ashita, you agree to the above license and its terms. |
|
* |
|
* Attribution - You must give appropriate credit, provide a link to the license and indicate if changes were |
|
* made. You must do so in any reasonable manner, but not in any way that suggests the licensor |
|
* endorses you or your use. |
|
* |
|
* Non-Commercial - You may not use the material (Ashita) for commercial purposes. |
|
* |
|
* No-Derivatives - If you remix, transform, or build upon the material (Ashita), you may not distribute the |
|
* modified material. You are, however, allowed to submit the modified works back to the original |
|
* Ashita project in attempt to have it added to the original project. |
|
* |
|
* You may not apply legal terms or technological measures that legally restrict others |
|
* from doing anything the license permits. |
|
* |
|
* No warranties are given. |
|
]]-- |
|
|
|
ashita = ashita or { }; |
|
ashita.gui = ashita.gui or { }; |
|
|
|
-- Helper To Reduce Nesting |
|
imgui = ashita.gui; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Common Values Used By ImGui |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
FLT_MAX = 3.402823466e+38; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Flags for ImGui::Begin() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiWindowFlags_NoTitleBar = 1; |
|
ImGuiWindowFlags_NoResize = 2; |
|
ImGuiWindowFlags_NoMove = 4; |
|
ImGuiWindowFlags_NoScrollbar = 8; |
|
ImGuiWindowFlags_NoScrollWithMouse = 16; |
|
ImGuiWindowFlags_NoCollapse = 32; |
|
ImGuiWindowFlags_AlwaysAutoResize = 64; |
|
ImGuiWindowFlags_ShowBorders = 128; |
|
ImGuiWindowFlags_NoSavedSettings = 256; |
|
ImGuiWindowFlags_NoInputs = 512; |
|
ImGuiWindowFlags_MenuBar = 1024; |
|
ImGuiWindowFlags_HorizontalScrollbar = 2048; |
|
ImGuiWindowFlags_NoFocusOnAppearing = 4096; |
|
ImGuiWindowFlags_NoBringToFrontOnFocus = 8192; |
|
ImGuiWindowFlags_AlwaysVerticalScrollbar = 16384; |
|
ImGuiWindowFlags_AlwaysHorizontalScrollbar = 32768; |
|
ImGuiWindowFlags_AlwaysUseWindowPadding = 65536; |
|
ImGuiWindowFlags_ChildWindow = 1048576; -- Internal use only! |
|
ImGuiWindowFlags_ChildWindowAutoFitX = 2097152; -- Internal use only! |
|
ImGuiWindowFlags_ChildWindowAutoFitY = 4194304; -- Internal use only! |
|
ImGuiWindowFlags_ComboBox = 8388608; -- Internal use only! |
|
ImGuiWindowFlags_Tooltip = 16777216; -- Internal use only! |
|
ImGuiWindowFlags_Popup = 33554432; -- Internal use only! |
|
ImGuiWindowFlags_Modal = 67108864; -- Internal use only! |
|
ImGuiWindowFlags_ChildMenu = 134217728; -- Internal use only! |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Flags for ImGui::InputText() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiInputTextFlags_CharsDecimal = 1; |
|
ImGuiInputTextFlags_CharsHexadecimal = 2; |
|
ImGuiInputTextFlags_CharsUppercase = 4; |
|
ImGuiInputTextFlags_CharsNoBlank = 8; |
|
ImGuiInputTextFlags_AutoSelectAll = 16; |
|
ImGuiInputTextFlags_EnterReturnsTrue = 32; |
|
ImGuiInputTextFlags_CallbackCompletion = 64; |
|
ImGuiInputTextFlags_CallbackHistory = 128; |
|
ImGuiInputTextFlags_CallbackAlways = 256; |
|
ImGuiInputTextFlags_CallbackCharFilter = 512; |
|
ImGuiInputTextFlags_AllowTabInput = 1024; |
|
ImGuiInputTextFlags_CtrlEnterForNewLine = 2048; |
|
ImGuiInputTextFlags_NoHorizontalScroll = 4096; |
|
ImGuiInputTextFlags_AlwaysInsertMode = 8192; |
|
ImGuiInputTextFlags_ReadOnly = 16384; |
|
ImGuiInputTextFlags_Password = 32768; |
|
ImGuiInputTextFlags_Multiline = 1048576; -- Internal use only! |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiTreeNodeFlags_Selected = 1; |
|
ImGuiTreeNodeFlags_Framed = 2; |
|
ImGuiTreeNodeFlags_AllowOverlapMode = 4; |
|
ImGuiTreeNodeFlags_NoTreePushOnOpen = 8; |
|
ImGuiTreeNodeFlags_NoAutoOpenOnLog = 16; |
|
ImGuiTreeNodeFlags_DefaultOpen = 32; |
|
ImGuiTreeNodeFlags_OpenOnDoubleClick = 64; |
|
ImGuiTreeNodeFlags_OpenOnArrow = 128; |
|
ImGuiTreeNodeFlags_Leaf = 256; |
|
ImGuiTreeNodeFlags_Bullet = 512; |
|
|
|
ImGuiTreeNodeFlags_CollapsingHeader = 18; -- ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoAutoOpenOnLog |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Flags for ImGui::Selectable() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiSelectableFlags_DontClosePopups = 1; |
|
ImGuiSelectableFlags_SpanAllColumns = 2; |
|
ImGuiSelectableFlags_AllowDoubleClick = 4; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- User fill ImGuiIO.KeyMap[] array with indices into the ImGuiIO.KeysDown[512] array |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiKey_Tab = 0; |
|
ImGuiKey_LeftArrow = 1; |
|
ImGuiKey_RightArrow = 2; |
|
ImGuiKey_UpArrow = 3; |
|
ImGuiKey_DownArrow = 4; |
|
ImGuiKey_PageUp = 5; |
|
ImGuiKey_PageDown = 6; |
|
ImGuiKey_Home = 7; |
|
ImGuiKey_End = 8; |
|
ImGuiKey_Delete = 9; |
|
ImGuiKey_Backspace = 10; |
|
ImGuiKey_Enter = 11; |
|
ImGuiKey_Escape = 12; |
|
ImGuiKey_A = 13; |
|
ImGuiKey_C = 14; |
|
ImGuiKey_V = 15; |
|
ImGuiKey_X = 16; |
|
ImGuiKey_Y = 17; |
|
ImGuiKey_Z = 18; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Enumeration for PushStyleColor() / PopStyleColor() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiCol_Text = 0; |
|
ImGuiCol_TextDisabled = 1; |
|
ImGuiCol_WindowBg = 2; |
|
ImGuiCol_ChildWindowBg = 3; |
|
ImGuiCol_PopupBg = 4; |
|
ImGuiCol_Border = 5; |
|
ImGuiCol_BorderShadow = 6; |
|
ImGuiCol_FrameBg = 7; |
|
ImGuiCol_FrameBgHovered = 8; |
|
ImGuiCol_FrameBgActive = 9; |
|
ImGuiCol_TitleBg = 10; |
|
ImGuiCol_TitleBgCollapsed = 11; |
|
ImGuiCol_TitleBgActive = 12; |
|
ImGuiCol_MenuBarBg = 13; |
|
ImGuiCol_ScrollbarBg = 14; |
|
ImGuiCol_ScrollbarGrab = 15; |
|
ImGuiCol_ScrollbarGrabHovered = 16; |
|
ImGuiCol_ScrollbarGrabActive = 17; |
|
ImGuiCol_ComboBg = 18; |
|
ImGuiCol_CheckMark = 19; |
|
ImGuiCol_SliderGrab = 20; |
|
ImGuiCol_SliderGrabActive = 21; |
|
ImGuiCol_Button = 22; |
|
ImGuiCol_ButtonHovered = 23; |
|
ImGuiCol_ButtonActive = 24; |
|
ImGuiCol_Header = 25; |
|
ImGuiCol_HeaderHovered = 26; |
|
ImGuiCol_HeaderActive = 27; |
|
ImGuiCol_Column = 28; |
|
ImGuiCol_ColumnHovered = 29; |
|
ImGuiCol_ColumnActive = 30; |
|
ImGuiCol_ResizeGrip = 31; |
|
ImGuiCol_ResizeGripHovered = 32; |
|
ImGuiCol_ResizeGripActive = 33; |
|
ImGuiCol_CloseButton = 34; |
|
ImGuiCol_CloseButtonHovered = 35; |
|
ImGuiCol_CloseButtonActive = 36; |
|
ImGuiCol_PlotLines = 37; |
|
ImGuiCol_PlotLinesHovered = 38; |
|
ImGuiCol_PlotHistogram = 39; |
|
ImGuiCol_PlotHistogramHovered = 40; |
|
ImGuiCol_TextSelectedBg = 41; |
|
ImGuiCol_ModalWindowDarkening = 42; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Enumeration for PushStyleVar() / PopStyleVar() |
|
-- NB: the enum only refers to fields of ImGuiStyle() which makes sense to be pushed/poped in UI code. Feel free to add others. |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiStyleVar_Alpha = 0; |
|
ImGuiStyleVar_WindowPadding = 1; |
|
ImGuiStyleVar_WindowRounding = 2; |
|
ImGuiStyleVar_WindowMinSize = 3; |
|
ImGuiStyleVar_ChildWindowRounding = 4; |
|
ImGuiStyleVar_FramePadding = 5; |
|
ImGuiStyleVar_FrameRounding = 6; |
|
ImGuiStyleVar_ItemSpacing = 7; |
|
ImGuiStyleVar_ItemInnerSpacing = 8; |
|
ImGuiStyleVar_IndentSpacing = 9; |
|
ImGuiStyleVar_GrabMinSize = 10; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- ImGuiAlign_ |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiAlign_Left = 1; |
|
ImGuiAlign_Center = 2; |
|
ImGuiAlign_Right = 4; |
|
ImGuiAlign_Top = 8; |
|
ImGuiAlign_VCenter = 16; |
|
ImGuiAlign_Default = 9; -- ImGuiAlign_Left | ImGuiAlign_Top |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Enumeration for ColorEditMode() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiColorEditMode_UserSelect = -2; |
|
ImGuiColorEditMode_UserSelectShowButton = -1; |
|
ImGuiColorEditMode_RGB = 0; |
|
ImGuiColorEditMode_HSV = 1; |
|
ImGuiColorEditMode_HEX = 2; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Enumeration for GetMouseCursor() |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiMouseCursor_Arrow = 0; |
|
ImGuiMouseCursor_TextInput = 1; |
|
ImGuiMouseCursor_Move = 2; |
|
ImGuiMouseCursor_ResizeNS = 3; |
|
ImGuiMouseCursor_ResizeEW = 4; |
|
ImGuiMouseCursor_ResizeNESW = 5; |
|
ImGuiMouseCursor_ResizeNWSE = 6; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Condition flags for ImGui::SetWindow***(), SetNextWindow***(), SetNextTreeNode***() functions |
|
-- All those functions treat 0 as a shortcut to ImGuiSetCond_Always |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiSetCond_Always = 1; |
|
ImGuiSetCond_Once = 2; |
|
ImGuiSetCond_FirstUseEver = 4; |
|
ImGuiSetCond_Appearing = 8; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- Custom Variable Creation Types |
|
-- Used with imgui.CreateVar |
|
---------------------------------------------------------------------------------------------------- |
|
|
|
ImGuiVar_UNDEF = 0; -- 0 bytes (null) |
|
ImGuiVar_BOOLCPP = 1; -- 1 byte bool |
|
ImGuiVar_BOOL8 = 2; -- 1 byte char |
|
ImGuiVar_BOOL16 = 3; -- 2 bytes short |
|
ImGuiVar_BOOL32 = 4; -- 4 bytes BOOL |
|
ImGuiVar_CHAR = 5; -- 1 byte char |
|
ImGuiVar_INT8 = 6; -- 1 byte char |
|
ImGuiVar_UINT8 = 7; -- 1 byte unsigned char |
|
ImGuiVar_INT16 = 8; -- 2 bytes short |
|
ImGuiVar_UINT16 = 9; -- 2 bytes unsigned short |
|
ImGuiVar_INT32 = 10; -- 4 bytes int |
|
ImGuiVar_UINT32 = 11; -- 4 bytes unsigned int |
|
ImGuiVar_FLOAT = 12; -- 4 bytes float |
|
ImGuiVar_DOUBLE = 13; -- 8 bytes double |
|
ImGuiVar_CDSTRING = 14; -- ? bytes char[] |
|
ImGuiVar_BOOLARRAY = 15; -- ? bytes bool[] |
|
ImGuiVar_INT16ARRAY = 16; -- ? bytes short[] |
|
ImGuiVar_INT32ARRAY = 17; -- ? bytes int[] |
|
ImGuiVar_FLOATARRAY = 18; -- ? bytes float[] |
|
ImGuiVar_DOUBLEARRAY = 19; -- ? bytes double[] |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- func: stylecolor |
|
-- desc: Sets a style color of the ImGui system. |
|
---------------------------------------------------------------------------------------------------- |
|
local function stylecolor(idx, color) |
|
if (idx < 0 or idx > ImGuiCol_ModalWindowDarkening) then |
|
error('Attempting to set an invalid style color!'); |
|
return; |
|
end |
|
|
|
local s = imgui.style.Colors; |
|
s[idx] = color; |
|
imgui.style.Colors = s; |
|
end |
|
ashita.gui.stylecolor = stylecolor; |
|
|
|
---------------------------------------------------------------------------------------------------- |
|
-- func: bor |
|
-- desc: Bitwise or operation handler to loop varargs of flags and bitwise or them together. |
|
---------------------------------------------------------------------------------------------------- |
|
local function imguibor(...) |
|
-- Obtain the arguments in a loopable table.. |
|
local args = { n = select('#', ...), ... }; |
|
local ret = 0; |
|
|
|
for x = 1, args.n do |
|
ret = bit.bor(ret, args[x]); |
|
end |
|
|
|
return ret; |
|
end |
|
ashita.gui.bor = imguibor; |