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
8 years ago
|
--[[
|
||
|
* Ashita - Copyright (c) 2014 - 2016 atom0s [atom0s@live.com]
|
||
|
*
|
||
|
* 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;
|