### ImGui InputInt3 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Illustrates InputInt3 with default and flag-specified usage. ```lua values, used = ImGui.InputInt3("Label", values) ``` ```lua values, used = ImGui.InputInt3("Label", values, ImGuiInputTextFlags.None) ``` -------------------------------- ### Install CyberEngineTweaks with xmake Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/BUILD.md Execute the installation command after configuring the install path. The short alias 'i' can also be used. ```bash xmake install ``` ```bash xmake i ``` -------------------------------- ### ImGui InputInt4 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Demonstrates InputInt4 with default and flag-specified usage. ```lua values, used = ImGui.InputInt4("Label", values) ``` ```lua values, used = ImGui.InputInt4("Label", values, ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputFloat2 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Demonstrates InputFloat2 with default, formatted, and flag-specified usage. ```lua values, used = ImGui.InputFloat2("Label", values) ``` ```lua values, used = ImGui.InputFloat2("Label", values, "%.1f") ``` ```lua values, used = ImGui.InputFloat2("Label", values, "%.1f", ImGuiInputTextFlags.None) ``` -------------------------------- ### Configure Installation Path with xmake Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/BUILD.md Set the target installation directory for the plugin. Ensure this path points to the 'plugins' subfolder within the Cyberpunk 2077 'x64' directory. ```bash xmake f --installpath=\bin\x64\plugins ``` -------------------------------- ### ImGui InputInt Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Demonstrates InputInt with default, step, fast step, and flag configurations. ```lua value, used = ImGui.InputInt("Label", value) ``` ```lua value, used = ImGui.InputInt("Label", value, 1) ``` ```lua value, used = ImGui.InputInt("Label", value, 1, 10) ``` ```lua value, used = ImGui.InputInt("Label", value, 1, 10, ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputFloat4 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Illustrates InputFloat4 with default, formatted, and flag-specified usage. ```lua values, used = ImGui.InputFloat4("Label", values) ``` ```lua values, used = ImGui.InputFloat4("Label", values, "%.1f") ``` ```lua values, used = ImGui.InputFloat4("Label", values, "%.1f", ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui VSliderInt Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Demonstrates the usage of VSliderInt with and without logarithmic flags. ```lua value, used = ImGui.VSliderInt("Label", 100, 25, value, -10, 10, "%d") ``` ```lua value, used = ImGui.VSliderInt("Label", 100, 25, value, -10, 10, "%d", ImGuiSliderFlags.Logarithmic) ``` -------------------------------- ### ImGui InputTextMultiline Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Demonstrates InputTextMultiline with default, sized, and read-only configurations. ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100) ``` ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35) ``` ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35, ImGuiInputTextFlags.ReadOnly) ``` -------------------------------- ### ImGui InputFloat3 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Shows InputFloat3 with default, formatted, and flag-specified usage. ```lua values, used = ImGui.InputFloat3("Label", values) ``` ```lua values, used = ImGui.InputFloat3("Label", values, "%.1f") ``` ```lua values, used = ImGui.InputFloat3("Label", values, "%.1f", ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputDouble Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Shows InputDouble with various step, fast step, format, and flag options. ```lua value, used = ImGui.InputDouble("Label", value) ``` ```lua value, used = ImGui.InputDouble("Label", value, 1) ``` ```lua value, used = ImGui.InputDouble("Label", value, 1, 10) ``` ```lua value, used = ImGui.InputDouble("Label", value, 1, 10, "%.4f") ``` ```lua value, used = ImGui.InputDouble("Label", value, 1, 10, "%.4f", ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputInt2 Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Shows InputInt2 with default and flag-specified usage. ```lua values, used = ImGui.InputInt2("Label", values) ``` ```lua values, used = ImGui.InputInt2("Label", values, ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputFloat Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Shows various configurations for InputFloat, including step values, fast step, format, and flags. ```lua value, used = ImGui.InputFloat("Label", value) ``` ```lua value, used = ImGui.InputFloat("Label", value, 1) ``` ```lua value, used = ImGui.InputFloat("Label", value, 1, 10) ``` ```lua value, used = ImGui.InputFloat("Label", value, 1, 10, "%.1f") ``` ```lua value, used = ImGui.InputFloat("Label", value, 1, 10, "%.1f", ImGuiInputTextFlags.None) ``` -------------------------------- ### ImGui InputText Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Shows basic and read-only usage of the InputText widget. ```lua text, selected = ImGui.InputText("Label", text, 100) ``` ```lua text, selected = ImGui.InputText("Label", text, 100, ImGuiInputTextFlags.ReadOnly) ``` -------------------------------- ### Class Naming Convention Example Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/CODE_GUIDELINES.md Demonstrates the naming convention for class names and their attributes. ```cpp class SomeClass { int* m_pSomeMemberPointer; }; ``` -------------------------------- ### Function Naming Convention Example Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/CODE_GUIDELINES.md Shows the required naming convention for functions. ```cpp void SomeFunc(); ``` -------------------------------- ### ImGui InputTextWithHint Examples Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Illustrates InputTextWithHint for providing placeholder text, with and without read-only flags. ```lua text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100) ``` ```lua text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100, ImGuiInputTextFlags.ReadOnly) ``` -------------------------------- ### Create and Manage ImGui Tables Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.BeginTable to start a table with specified ID, column count, and optional flags, size, and inner width. Call ImGui.EndTable to close the table, but only if BeginTable returned true. Use TableNextRow to add rows and TableNextColumn or TableSetColumnIndex to navigate columns. ```lua ImGui.BeginTable("Table1", 3) ImGui.BeginTable("Table1", 3, ImGuiTableFlags.Resizable) ImGui.BeginTable("Table1", 3, ImGuiTableFlags.Resizable, 200, 150) ImGui.BeginTable("Table1", 3, ImGuiTableFlags.Resizable, 200, 150, 10) ``` ```lua ImGui.EndTable() ``` ```lua ImGui.TableNextRow() ImGui.TableNextRow(ImGuiTableRowFlags.Headers) ImGui.TableNextRow(ImGuiTableRowFlags.Headers, 25) ``` ```lua visible = ImGui.TableNextColumn() ``` ```lua visible = ImGui.TableSetColumnIndex(2) ``` -------------------------------- ### Variable Naming Convention Example Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/CODE_GUIDELINES.md Illustrates the naming conventions for variables, including function arguments, const variables, pointers, static variables, and global variables. ```cpp int* m_pSomeMemberPointer; static int s_someInt; extern int g_someGlobalInt; void SomeFunc(const int* acpSomeArgument); ``` -------------------------------- ### Manage Mouse Cursor Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Get the current mouse cursor type or set it to a predefined type. `SetMouseCursor` changes the cursor's appearance, for example, to a hand icon. ```lua cursor = ImGui.GetMouseCursor() ``` ```lua ImGui.SetMouseCursor(ImGuiMouseCursor.Hand) ``` -------------------------------- ### Game.PrevSys_on() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for turning on a previous system. Currently WIP. ```APIDOC ## Game.PrevSys_on() ### Description Placeholder for turning on a previous system. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Get Key Pressed Amount in Lua Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.GetKeyPressedAmount to get the number of times a key has been pressed within a frame, considering repeat delay and rate. Useful for handling rapid key presses. ```lua pressed_amount = ImGui.GetKeyPressedAmount(0, 0.5, 5) ``` ```lua pressed_amount = ImGui.GetKeyPressedAmount(ImGuiKey.Z, 0.5, 5) ``` -------------------------------- ### Clipboard Utilities Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Functions for getting and setting text content in the system clipboard. ```APIDOC ## Clipboard Utilities ### ImGui.GetClipboardText #### Description Retrieves the current text content from the system clipboard. #### Method GET #### Endpoint N/A (Function Call) #### Parameters ##### Path Parameters None ##### Query Parameters None ##### Request Body None #### Request Example ```lua local clipboard_content = ImGui.GetClipboardText() ``` ### ImGui.SetClipboardText #### Description Sets the text content of the system clipboard. #### Method PUT #### Endpoint N/A (Function Call) #### Parameters ##### Path Parameters None ##### Query Parameters None ##### Request Body None #### Request Example ```lua ImGui.SetClipboardText("I made it to the clipboard!") ``` ``` -------------------------------- ### Game.PrevSys_active() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for activating a previous system. Currently WIP. ```APIDOC ## Game.PrevSys_active() ### Description Placeholder for activating a previous system. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Create and Manage ImGui Windows in Lua Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.Begin and ImGui.End to create and manage ImGui windows. Various overloads allow for customization of window behavior and appearance. ```lua -- ImGui.Begin(...) -- Parameters: text (name), bool (open) [O], ImGuiWindowFlags (flags) [O] -- Returns A: bool (shouldDraw) -- Returns B & C: bool (open), bool (shouldDraw) -- Overloads shouldDraw = ImGui.Begin("Name") shouldDraw = ImGui.Begin("Name", ImGuiWindowFlags.NoMove) open, shouldDraw = ImGui.Begin("Name", open) open, shouldDraw = ImGui.Begin("Name", open, ImGuiWindowFlags.NoMove) ``` ```lua -- ImGui.End() ImGui.End() ``` -------------------------------- ### Content Region API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Provides functions to get information about the content region of ImGui windows. ```APIDOC ## Content Region ### Description Functions for retrieving maximum and available content region dimensions, and window content region boundaries. ### Methods #### `ImGui.GetContentRegionMax()` - **Description**: Gets the maximum content region of the current window. - **Returns**: `float` (x), `float` (y) #### `ImGui.GetContentRegionAvail()` - **Description**: Gets the available content region of the current window. - **Returns**: `float` (x), `float` (y) #### `ImGui.GetWindowContentRegionMin()` - **Description**: Gets the minimum content region boundary of the current window. - **Returns**: `float` (x), `float` (y) #### `ImGui.GetWindowContentRegionMax()` - **Description**: Gets the maximum content region boundary of the current window. - **Returns**: `float` (x), `float` (y) #### `ImGui.GetWindowContentRegionWidth()` - **Description**: Gets the width of the content region of the current window. - **Returns**: `float` (width) ``` -------------------------------- ### Initialize sol2_ImGui_Bindings Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Call this function to initialize the ImGui bindings with your sol::state. Ensure your sol::state object is correctly set up before calling. ```cpp // Call this function! sol_ImGui::InitBindings(lua); // lua being your sol::state ``` -------------------------------- ### Self-Explanatory Naming Example Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/CODE_GUIDELINES.md Highlights the importance of self-explanatory names for variables over short, ambiguous ones. ```cpp size_t incomingPacketCount; ``` -------------------------------- ### Game.TestNavigationSystem() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for testing the navigation system. Currently WIP. ```APIDOC ## Game.TestNavigationSystem() ### Description Placeholder for testing the navigation system. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Windows Scrolling API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Functions to get and set the scroll position and maximum scroll limits for ImGui windows. ```APIDOC ## Windows Scrolling ### GetScrollX - **Description**: Returns the current horizontal scroll position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Returns**: float (x) ### GetScrollY - **Description**: Returns the current vertical scroll position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Returns**: float (y) ### GetScrollMaxX - **Description**: Returns the maximum horizontal scrollable distance. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Returns**: float (x) ### GetScrollMaxY - **Description**: Returns the maximum vertical scrollable distance. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Returns**: float (y) ### SetScrollX - **Description**: Sets the horizontal scroll position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **scroll_x** (float) - Required - The desired horizontal scroll position. ### SetScrollY - **Description**: Sets the vertical scroll position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **scroll_y** (float) - Required - The desired vertical scroll position. ### SetScrollHereX - **Description**: Adjusts the horizontal scroll to make the current item visible. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **center_x_ratio** (float) - Optional - Ratio to center the item horizontally (0.0 to 1.0). ### SetScrollHereY - **Description**: Adjusts the vertical scroll to make the current item visible. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **center_y_ratio** (float) - Optional - Ratio to center the item vertically (0.0 to 1.0). ### SetScrollFromPosX - **Description**: Scrolls to a specific horizontal position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **local_x** (float) - Required - The target horizontal position within the window. - **center_x_ratio** (float) - Optional - Ratio to center the target position horizontally. ### SetScrollFromPosY - **Description**: Scrolls to a specific vertical position. - **Method**: N/A (Function Call) - **Endpoint**: N/A - **Parameters**: - **local_y** (float) - Required - The target vertical position within the window. - **center_y_ratio** (float) - Optional - Ratio to center the target position vertically. ``` -------------------------------- ### Game['PlayFinisherSingle;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for playing a single finisher animation within the game instance. Currently WIP. ```APIDOC ## Game['PlayFinisherSingle;GameInstance']() ### Description Placeholder for playing a single finisher animation within the game instance. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Initialization Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Call this function to initialize the ImGui bindings with your Lua state. ```APIDOC ## Initialization ### Description Initializes the ImGui bindings for the provided Lua state. ### Method `sol_ImGui_InitBindings` ### Parameters - **lua** (sol::state) - The Lua state to bind ImGui functions to. ### Request Example ```cpp sol_ImGui::InitBindings(lua); ``` ``` -------------------------------- ### Game.PrintEquipment() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for printing the player's equipped items. Currently WIP. ```APIDOC ## Game.PrintEquipment() ### Description Placeholder for printing the player's equipped items. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### ImGui Style Color Name Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Get the string name of an ImGui style color index. This can be helpful for debugging or dynamically referencing style colors. ```lua style_color_name = ImGui.GetStyleColorName(ImGuiCol.Text) ``` -------------------------------- ### Get Mouse Position Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Retrieve the current mouse cursor position in screen coordinates. `GetMousePosOnOpeningCurrentPopup` specifically returns the mouse position when the current popup was opened. ```lua x, y = ImGui.GetMousePos() ``` ```lua x, y = ImGui.GetMousePosOnOpeningCurrentPopup() ``` -------------------------------- ### ImGui Tooltip Functions Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.BeginTooltip() and ImGui.EndTooltip() to create tooltips. ImGui.SetTooltip(...) sets the content of the tooltip. ```lua -- returns bool (n/a) [value will always be true in current implementations] -- ImGui.BeginTooltip() ImGui.BeginTooltip() -- ImGui.EndTooltip() ImGui.EndTooltip() -- ImGui.SetTooltip(...) -- Parameters: text (fmt) ImGui.SetTooltip("Did you know that I have the high ground?") ``` -------------------------------- ### Get Style and Font Information Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Retrieve style colors as RGBA floats, the current font size, or the UV coordinates of the white pixel from the font texture. ```lua -- ImGui.GetStyleColorVec4(...) -- Parameters: ImGuiCol (idx) -- Returns: float (color_r), float (color_g), float (color_b), float (color_a) color_r, color_g, color_b, color_a = ImGui.GetStyleColorVec4(ImGuiCol.Text) -- ImGui.GetFontSize() -- Returns: float (fontSize) fontSize = ImGui.GetFontSize() -- ImGui.GetFontTexUvWhitePixel() -- Returns: float (x), float (y) x, y = ImGui.GetFontTexUvWhitePixel() ``` -------------------------------- ### Game['PPS;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for an unknown function 'PPS' within the game instance. Currently WIP. ```APIDOC ## Game['PPS;GameInstance']() ### Description Placeholder for an unknown function 'PPS' within the game instance. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Set and Get Item Width Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Control the width of the next item or calculate the current item's width. `PushItemWidth` and `SetNextItemWidth` set the width, while `CalcItemWidth` retrieves it. ```lua -- ImGui.PushItemWidth(...) -- Parameters: float (width) ImGui.PushItemWidth(100) -- ImGui.PopItemWidth() ImGui.PopItemWidth() -- ImGui.SetNextItemWidth(...) -- Parameters: float (width) ImGui.SetNextItemWidth(100) -- ImGui.CalcItemWidth() -- Returns: float (width) width = ImGui.CalcItemWidth() ``` -------------------------------- ### Get and Set Window Scroll Position Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use these functions to retrieve the current scroll position and maximum scrollable area, or to programmatically set the scroll position for a window. ```lua -- ImGui.GetScrollX() -- Returns: float (x) x = ImGui.GetScrollX() -- ImGui.GetScrollY() -- Returns: float (y) y = ImGui.GetScrollY() -- ImGui.GetScrollMaxX() -- Returns: float (x) x = ImGui.GetScrollMaxX() -- ImGui.GetScrollMaxY() -- Returns: float (y) y = ImGui.GetScrollMaxY() -- ImGui.SetScrollX(...) -- Parameters: float (scroll_x) ImGui.SetScrollX(0.7) -- ImGui.SetScrollY(...) -- Parameters: float (scroll_y) ImGui.SetScrollY(0.7) ``` -------------------------------- ### Windows API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Functions for creating and managing ImGui windows. ```APIDOC ## Windows ### ImGui.Begin #### Description Starts a new ImGui window. Returns a boolean indicating if the window should be drawn. #### Method `ImGui.Begin` #### Parameters - **text** (string) - The title of the window. - **open** (bool) - Optional. A boolean pointer to control the window's open state. If provided, the function returns the updated open state and a draw flag. - **flags** (ImGuiWindowFlags) - Optional. Flags to customize window behavior. #### Returns - **shouldDraw** (bool) - True if the window should be drawn, false otherwise. - **open** (bool) - (Only if 'open' parameter is provided) The updated open state of the window. #### Overloads - `shouldDraw = ImGui.Begin("Name")` - `shouldDraw = ImGui.Begin("Name", ImGuiWindowFlags.NoMove)` - `open, shouldDraw = ImGui.Begin("Name", open)` - `open, shouldDraw = ImGui.Begin("Name", open, ImGuiWindowFlags.NoMove)` ### ImGui.End #### Description Ends the current ImGui window. #### Method `ImGui.End` #### Request Example ```lua ImGui.End() ``` ``` -------------------------------- ### Get Content Region Information Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Retrieve dimensions and boundaries related to the content region of an ImGui window. These functions are useful for drawing within specific areas of a window. ```lua -- ImGui.GetContentRegionMax() -- Returns: float (x), float (y) x, y = ImGui.GetContentRegionMax() -- ImGui.GetContentRegionAvail() -- Returns: float (x), float (y) x, y = ImGui.GetContentRegionAvail() -- ImGui.GetWindowContentRegionMin() -- Returns: float (x), float (y) x, y = ImGui.GetWindowContentRegionMin() -- ImGui.GetWindowContentRegionMax() -- Returns: float (x), float (y) x, y = ImGui.GetWindowContentRegionMax() -- ImGui.GetWindowContentRegionWidth() -- Returns: float (width) width = ImGui.GetWindowContentRegionWidth() ``` -------------------------------- ### ImGui.InputTextWithHint API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Handles text input with a placeholder hint. ```APIDOC ## ImGui.InputTextWithHint ### Description Handles text input with a placeholder hint. ### Parameters - **label** (text) - Description for the input field label. - **hint** (text) - The placeholder text to display when the input is empty. - **text** (text) - The current text content. - **buf_size** (int) - The maximum size of the text buffer. - **flags** (ImGuiInputTextFlags) - Optional flags to modify behavior. ### Returns - **text** (text) - The updated text content. - **selected** (bool) - True if the text was modified. ### Overloads #### Overload 1: Basic Usage ```lua text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100) ``` #### Overload 2: With Flags ```lua text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100, ImGuiInputTextFlags.ReadOnly) ``` ``` -------------------------------- ### ImGui Disabling Widgets Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Control the interactive state of widgets. `ImGui.BeginDisabled()` starts a disabled block, and `ImGui.EndDisabled()` closes it. You can optionally pass a boolean to `ImGui.BeginDisabled()` to conditionally disable. ```lua ImGui.BeginDisabled() ImGui.BeginDisabled(false) ImGui.EndDisabled() ``` -------------------------------- ### Game['PlayFinisher;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for playing a finisher animation within the game instance. Currently WIP. ```APIDOC ## Game['PlayFinisher;GameInstance']() ### Description Placeholder for playing a finisher animation within the game instance. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### BeginCombo Usage Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.BeginCombo to start a combo box. It takes a label, a preview value, and optional flags. It returns a boolean indicating if the combo box should be drawn. ```lua shouldDraw = ImGui.BeginCombo("My Combo", "Preview") ``` ```lua shouldDraw = ImGui.BeginCombo("My Combo", "Preview", ImGuiComboFlags.PopupAlignLeft) ``` -------------------------------- ### Game['GetPlayer;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for retrieving the player object from the game instance. Currently WIP. ```APIDOC ## Game['GetPlayer;GameInstance']() ### Description Placeholder for retrieving the player object from the game instance. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Get Color as UInt32 Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Convert style colors or RGBA float values into a 32-bit unsigned integer representation. Useful for compatibility with older APIs or specific color formats. ```lua -- ImGui.GetColorU32(...) -- Parameters A: ImGuiCol (idx), float (alphaMultiplier, usually stays at 1) -- Parameters B: float (color_r), float (color_g), float (color_b), float (color_a) -- Returns: int (color_u32) -- Overloads color_u32 = ImGui.GetColorU32(ImGuiCol.Text, 1) color_u32 = ImGui.GetColorU32(0, 1, 0, 1) ``` -------------------------------- ### Game.testq101done() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for testing quest 'q101' completion. Currently WIP. ```APIDOC ## Game.testq101done() ### Description Placeholder for testing quest 'q101' completion. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### ImGui Menu Bar Functions Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.BeginMenuBar() and ImGui.EndMenuBar() to create a menu bar at the top of the viewport. ImGui.BeginMainMenuBar() creates a main menu bar. ```lua -- ImGui.BeginMenuBar() -- Returns: bool (shouldDraw) shouldDraw = ImGui.BeginMenuBar() -- ImGui.EndMenuBar() ImGui.EndMenuBar() -- ImGui.BeginMainMenuBar() -- Returns: bool (shouldDraw) shouldDraw = ImGui.BeginMainMenuBar() -- ImGui.EndMainMenuBar() ImGui.EndMainMenuBar() ``` -------------------------------- ### ImGui.DragInt4 with Custom Format Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md This example shows how to specify a custom format string for the displayed integer values. The format specifier, like "%d", controls how the numbers are presented. ```lua values, used = ImGui.DragInt4("Label", values, 0.01, -10, 10, "%d") ``` -------------------------------- ### ImGui Item Rectangle Geometry Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Get the minimum and maximum screen coordinates, as well as the size, of the last item's bounding rectangle. Useful for custom drawing or layout calculations. ```lua x, y = ImGui.GetItemRectMin() x, y = ImGui.GetItemRectMax() x, y = ImGui.GetItemRectSize() ``` -------------------------------- ### Get Window State Information Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use these functions to check the current state of an ImGui window, such as whether it is appearing, collapsed, focused, or hovered. Some functions accept flags to specify which window type to check. ```lua -- ImGui.IsWindowAppearing() -- Returns: bool (appearing) appearing = ImGui.IsWindowAppearing() -- ImGui.IsWindowCollapsed() -- Returns: bool (collapsed) collapsed = ImGui.IsWindowCollapsed() -- ImGui.IsWindowFocused(...) -- Parameters: ImGuiFocusedFlags (flags) [O] -- Returns: bool (focused) -- Overloads focused = ImGui.IsWindowFocused() focused = ImGui.IsWindowFocused(ImGuiFocusedFlags.ChildWindows) -- ImGui.IsWindowHovered(...) -- Parameters: ImGuiHoveredFlags (flags) [O] -- Returns: bool (hovered) -- Overloads hovered = ImGui.IswindowHovered() hovered = ImGui.IsWindowHovered(ImGuiHoveredFlags.ChildWindows) -- ImGui.GetWindowDpiScale() -- Returns: float (dpiScale) dpiScale = ImGui.GetWindowDpiScale() -- ImGui.GetWindowPos() -- Returns: float (pos_x), float (pos_y) pos_x, pos_y = ImGui.GetWindowPos() -- ImGui.GetWindowSize() -- Returns: float (size_x), float (size_y) size_x, size_y = ImGui.GetWindowSize() -- ImGui.GetWindowWidth() -- Returns: float (width) width = ImGui.GetWindowWidth() -- ImGui.GetWindowHeight() -- Returns: float (height) height = ImGui.GetWindowHeight() ``` -------------------------------- ### Legacy ImGui Columns API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md The legacy ImGui.Columns API allows for creating multi-column layouts. Use ImGui.Columns to initialize, ImGui.NextColumn to move to the next column, and ImGui.GetColumnIndex, ImGui.GetColumnWidth, ImGui.SetColumnWidth, ImGui.GetColumnOffset, ImGui.SetColumnOffset, and ImGui.GetColumnsCount to manage column properties. ```lua ImGui.Columns() ImGui.Columns(2) ImGui.Columns(2, "MyOtherColumn") ImGui.Columns(3, "MyColumnWithBorder", true) ``` ```lua ImGui.NextColumn() ``` ```lua width = ImGui.GetColumnWidth() width = ImGui.getColumnWidth(2) ``` ```lua ImGui.SetColumnWidth(2, 100) ``` ```lua offset = ImGui.GetColumnOffset() offset = ImGui.GetColumnOffset(2) ``` ```lua ImGui.SetColumnOffset(2, 10) ``` ```lua count = ImGui.GetColumnsCount() ``` ```lua index = ImGui.GetColumnIndex() ``` -------------------------------- ### Game.test_inputhint() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for testing input hint functionality. Currently WIP. ```APIDOC ## Game.test_inputhint() ### Description Placeholder for testing input hint functionality. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.SwapPreset(mappingName) Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for swapping a preset based on a mapping name. Currently WIP. ```APIDOC ## Game.SwapPreset(mappingName) ### Description Placeholder for swapping a preset based on a mapping name. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example ```json { "example": "Game.SwapPreset(\"defaultMapping\")" } ``` ### Response #### Success Response (200) N/A #### Response Example ```json { "example": "N/A" } ``` ``` -------------------------------- ### Game['GetPlayerObject;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for retrieving the player object from the game instance (alternative). Currently WIP. ```APIDOC ## Game['GetPlayerObject;GameInstance']() ### Description Placeholder for retrieving the player object from the game instance (alternative). Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.NetrunnerTesting() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for Netrunner testing functionality. Currently WIP. ```APIDOC ## Game.NetrunnerTesting() ### Description Placeholder for Netrunner testing functionality. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.PrintGodModeSources() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for printing the sources of god mode status. Currently WIP. ```APIDOC ## Game.PrintGodModeSources() ### Description Placeholder for printing the sources of god mode status. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.PrevSys_safe() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for setting a previous system to a safe mode. Currently WIP. ```APIDOC ## Game.PrevSys_safe() ### Description Placeholder for setting a previous system to a safe mode. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.PrintItems() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for printing all items in the player's inventory. Currently WIP. ```APIDOC ## Game.PrintItems() ### Description Placeholder for printing all items in the player's inventory. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.test_inputhint1() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for testing input hint functionality variant 1. Currently WIP. ```APIDOC ## Game.test_inputhint1() ### Description Placeholder for testing input hint functionality variant 1. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### Game.SetBuild(stringType) Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for setting the character build type. Currently WIP. ```APIDOC ## Game.SetBuild(stringType) ### Description Placeholder for setting the character build type. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example ```json { "example": "Game.SetBuild(\"Netrunner\")" } ``` ### Response #### Success Response (200) N/A #### Response Example ```json { "example": "N/A" } ``` ``` -------------------------------- ### Game['DebugGiveHotkeys;GameInstance']() Source: https://github.com/maximegmd/cyberenginetweaks/wiki/ConsoleCommands Placeholder for debugging function related to giving hotkeys within the game instance. Currently WIP. ```APIDOC ## Game['DebugGiveHotkeys;GameInstance']() ### Description Placeholder for debugging function related to giving hotkeys within the game instance. Currently WIP. ### Method N/A (Assumed to be a function call within the game's scripting) ### Endpoint N/A ``` -------------------------------- ### ImGui Modal Popup Functions Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Create and manage modal popups with ImGui.BeginPopupModal(...) and ImGui.EndPopup(). Modals can be opened programmatically or by user interaction. ```lua -- ImGui.BeginPopupModal(...) -- Parameters: text (name), bool (open) [O], ImGuiWindowFlags (flags) [O] -- Returns: bool (open) -- Overloads open = ImGui.BeginPopupModal("Name") open = ImGui.BeginPopupModal("Name", ImGuiWindowFlags.NoCollapse) open = ImGui.BeginPopupModal("Name", open) open = ImGui.BeginPopupModal("Name", open, ImGuiWindowFlags.NoCollapse) ``` -------------------------------- ### ImGui.InputTextMultiline API Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Handles multi-line text input. ```APIDOC ## ImGui.InputTextMultiline ### Description Handles multi-line text input. ### Parameters - **label** (text) - Description for the input field label. - **text** (text) - The current text content. - **buf_size** (int) - The maximum size of the text buffer. - **size_x** (float) - Optional width of the input area. - **size_y** (float) - Optional height of the input area. - **flags** (ImGuiInputTextFlags) - Optional flags to modify behavior. ### Returns - **text** (text) - The updated text content. - **selected** (bool) - True if the text was modified. ### Overloads #### Overload 1: Basic Usage ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100) ``` #### Overload 2: With Size ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35) ``` #### Overload 3: With Size and Flags ```lua text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35, ImGuiInputTextFlags.ReadOnly) ``` ``` -------------------------------- ### Create and Manage ImGui Child Windows in Lua Source: https://github.com/maximegmd/cyberenginetweaks/blob/master/src/sol_imgui/README.md Use ImGui.BeginChild and ImGui.EndChild for creating child windows. Newer overloads offer more control with ImGuiChildFlags and ImGuiWindowFlags. Deprecated overloads using a boolean for border are also supported. ```lua -- ImGui.BeginChild(...) -- Parameters: text (name), float (size_x) [O], float (size_y) [O], ImGuiChildFlags (child_flags) [O], ImGuiWindowFlags (window_flags) [O] -- Returns: bool (shouldDraw) -- Overloads shouldDraw = ImGui.BeginChild("Name") shouldDraw = ImGui.BeginChild("Name", 100) shouldDraw = ImGui.BeginChild("Name", 100, 200) shouldDraw = ImGui.BeginChild("Name", 100, 200, ImGuiChildFlags.Border) shouldDraw = ImGui.BeginChild("Name", 100, 200, ImGuiChildFlags.Border, ImGuiWindowFlags.NoMove) ``` ```lua -- The following will still work, but are considered deprecated and the newer overloads above should be used. -- Parameters: text (name), float (size_x) [O], float (size_y) [O], bool (border) [O], ImGuiWindowFlags (flags) [O] shouldDraw = ImGui.BeginChild("Name", 100, 200, true) shouldDraw = ImGui.BeginChild("Name", 100, 200, true, ImGuiWindowFlags.NoMove) ``` ```lua -- ImGui.EndChild() ImGui.EndChild() ```