diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5b3984d..3e5b14e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,12 +56,12 @@ jobs: cd "$Env:GITHUB_WORKSPACE" Copy-Item -Path .\SkipCutscene\bin\Release\net8.0-windows\SkipCutscene.json -Destination .\SkipCutscene\bin\Package\ - name: Upload artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: SkipCutscene path: ${{ github.workspace }}\SkipCutscene\bin\Release\net8.0-windows - name: Upload artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Package path: ${{ github.workspace }}\SkipCutscene\bin\Package\ diff --git a/Lib/Dalamud/Dalamud.dll b/Lib/Dalamud/Dalamud.dll index 48d3495..73d917e 100644 Binary files a/Lib/Dalamud/Dalamud.dll and b/Lib/Dalamud/Dalamud.dll differ diff --git a/Lib/Dalamud/Dalamud.xml b/Lib/Dalamud/Dalamud.xml index abdfb7b..a759c5f 100644 --- a/Lib/Dalamud/Dalamud.xml +++ b/Lib/Dalamud/Dalamud.xml @@ -410,6 +410,12 @@ Gets or sets a value indicating whether the FFXIV window should be toggled to immersive mode. + + Gets or sets the mode specifying how to handle ReShade. + + + Gets or sets the swap chain hook mode. + Gets or sets hitch threshold for game network up in milliseconds. @@ -1237,10 +1243,10 @@ Gets a value indicating whether Game Data is ready to be read. - + - + @@ -1249,12 +1255,45 @@ + + + + + + A helper class to easily resolve Lumina data within Dalamud. + + + + + Initializes a new instance of the class using the default . + + The type of Lumina sheet to resolve. + The id of the row to resolve. + A new object. + + + + Provides functionality for resolving RSV strings. + + + + + Initializes a new instance of the class. + + + + Attemps to resolve an RSV string. + + + + + The main entrypoint for the Dalamud system. @@ -2184,67 +2223,112 @@ - Event that is fired before an addon begins it's setup process. + An event that is fired prior to an addon being setup with its implementation of + . This event is useful for modifying the initial data contained within + prior to the addon being created. + - Event that is fired after an addon has completed it's setup process. + An event that is fired after an addon has finished its initial setup. This event is particularly useful for + developers seeking to add custom elements to now-initialized and populated node lists, as well as reading data + placed in the AtkValues by the game during the setup process. + See for more information. - Event that is fired before an addon begins update. + An event that is fired before an addon begins its update cycle via . This event + is fired every frame that an addon is loaded, regardless of visibility. + - Event that is fired after an addon has completed update. + An event that is fired after an addon has finished its update. + See for more information. - Event that is fired before an addon begins draw. + An event that is fired before an addon begins drawing to screen via . Unlike + , this event is only fired if an addon is visible or otherwise drawing to screen. + - Event that is fired after an addon has completed draw. + An event that is fired after an addon has finished its draw to screen. + See for more information. - Event that is fired before an addon is finalized. + An event that is fired immediately before an addon is finalized via and + destroyed. After this event, the addon will destruct its UI node data as well as free any allocated memory. + This event can be used for cleanup and tracking tasks. + + This event is NOT fired when the addon is being hidden, but tends to be fired when it's being properly + closed. +
+ As this is part of the destruction process for an addon, this event does not have an associated Post event. +
+
- Event that is fired before an addon begins a requested update. + An event that is fired before a call to is made in response to a + change in the subscribed or + backing this addon. This generally occurs in response to + receiving data from the game server, but can happen in other cases as well. This event is useful for modifying + the data received before it's passed to the UI for display. Contrast to which tends to + be in response to client-driven interactions. + + + + A developer would use this event to intercept free company information after it's received from the server, but + before it's displayed to the user. This would allow the developer to add user-driven notes or other information + to the Free Company's overview. + - Event that is fired after an addon finishes a requested update. + An event that is fired after an addon has finished processing an ArrayData update. + See for more information. - Event that is fired before an addon begins a refresh. - + An event that is fired before an addon calls its method. Refreshes are + generally triggered in response to certain user interactions such as changing tabs, and are primarily used to + update the AtkValues present in this addon. Contrast to which is called + in response to ArrayData updates.
+ +
- Event that is fired after an addon has finished a refresh. + An event that is fired after an addon has finished its refresh. + See for more information. - Event that is fired before an addon begins processing an event. + An event that is fired before an addon begins processing a user-driven event via + , such as mousing over an element or clicking a button. This event + is only valid for addons that actually override the ReceiveEvent method of the underlying + AtkEventListener. + + - Event that is fired after an addon has processed an event. + An event that is fired after an addon finishes calling its method. + See for more information. @@ -2537,6 +2621,32 @@ Gets a value indicating whether or not auto-updates have already completed this session. + + + Pattern:
+ (http|ftp|https)://([\\w_-]+(?:(?:\\.[\\w_-]+)+))([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?
+ Options:
+ RegexOptions.Compiled
+ Explanation:
+ + ○ 1st capture group.
+ ○ Match with 3 alternative expressions.
+ ○ Match the string "http".
+ ○ Match the string "ftp".
+ ○ Match the string "https".
+ ○ Match the string "://".
+ ○ 2nd capture group.
+ ○ Match a character in the set [-_\w] atomically at least once.
+ ○ Loop greedily at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-_\w] greedily at least once.
+ ○ Optional (greedy).
+ ○ 3rd capture group.
+ ○ Match a character in the set [#%&+-/:=?@^~\w] greedily any number of times.
+ ○ Match a character in the set [#%&+-/=?@^~\w].
+
+
+
Enum describing the language the game loads in. @@ -2699,11 +2809,6 @@ - - - Gets the address of the buddy list. - - @@ -2827,6 +2932,12 @@ + + + + + + @@ -2898,6 +3009,12 @@ + + + + + + @@ -2954,39 +3071,6 @@ Client state memory address resolver. - - - Gets the address of the actor table. - - - - - Gets the address of the buddy list. - - - - - Gets the address of a pointer to the fate table. - - - This is a static address to a pointer, not the address of the table itself. - - - - - Gets the address of the Group Manager. - - - - - Gets the address of the local content id. - - - - - Gets the address of job gauge data. - - Gets the address of the keyboard state. @@ -2997,14 +3081,9 @@ Gets the address of the keyboard state index array which translates the VK enumeration to the key state. - - - Gets the address of the condition flag array. - - - + - Gets the address of the method which sets the territory type. + Gets the address of the method which sets up the player. @@ -3640,6 +3719,11 @@ Gets a value indicating whether or not this has a EXP bonus. + + + Gets a value indicating whether or not this has a bonus. + + Gets the icon id of this . @@ -3755,6 +3839,9 @@ + + + @@ -3822,11 +3909,6 @@ - - - Gets the address of the Fate table. - - @@ -4080,12 +4162,7 @@ - No card. - - - - - The Coeurl chakra. + No chakra. @@ -4098,6 +4175,11 @@ The Raptor chakra. + + + The Coeurl chakra. + + Represents the flags for the canvas in the job gauge. @@ -4335,7 +4417,7 @@ - No card. + No nadi. @@ -4418,6 +4500,46 @@ Ka Sen type. + + + Enum representing the SerpentCombo actions for the VPR job gauge. + + + + + No Serpent combo is active. + + + + + Death Rattle action. + + + + + Last Lash action. + + + + + First Legacy action. + + + + + Second Legacy action. + + + + + Third Legacy action. + + + + + Fourth Legacy action. + + BRD Song types. @@ -4539,6 +4661,11 @@ Gets the amount of Astral Fire stacks. + + + Gets the amount of Astral Soul stacks. + + Gets a value indicating whether or not the player is in Umbral Ice. @@ -4849,6 +4976,21 @@ Gets the types of Nadi available. + + + Gets the amount of available Opo-opo Fury stacks. + + + + + Gets the amount of available Raptor Fury stacks. + + + + + Gets the amount of available Coeurl Fury stacks. + + Gets the time remaining that Blitz is active. @@ -4870,6 +5012,11 @@ Gets the amount of Ninki available. + + + Gets the current charges for Kazematoi. + + In-Memory PCT job gauge. @@ -5140,13 +5287,13 @@ Gets the summon that will return after the current summon expires. - This maps to the sheet. + This maps to the sheet. Gets the summon glam for the . - This maps to the sheet. + This maps to the sheet. @@ -5250,6 +5397,11 @@ Gets the last Weaponskill used in DreadWinder/Pit of Dread combo. + + + Gets current ability for Serpent's Tail. + + In-memory WAR job gauge. @@ -6451,7 +6603,12 @@ - BattleNpc representing a standard enemy. + BattleNpc representing a standard enemy. This includes allies (overworld guards and allies in single-player duties). + + + + + BattleNpc representing an NPC party member (from Duty Support, Trust, or Grand Company Command Mission). @@ -6744,6 +6901,9 @@ + + + @@ -6752,11 +6912,13 @@ Stores an object table entry, with preallocated concrete types. + Initializes a new instance of the struct. + A pointer to the object table entry this entry should be pointing to. - - Initializes a new instance of the struct. - The object table that this entry should be pointing to. - The slot index inside the table. + + Stores an object table entry, with preallocated concrete types. + Initializes a new instance of the struct. + A pointer to the object table entry this entry should be pointing to. Gets the address of the underlying native object. May be null. @@ -6812,12 +6974,12 @@ - Gets the current world of the character. + Gets the current world of the character. - Gets the home world of the character. + Gets the home world of the character. @@ -7083,6 +7245,18 @@ Gets the status flags. + + + Gets the current mount for this character. Will be null if the character doesn't have a mount. + + + + + Gets the current minion summoned for this character. Will be null if the character doesn't have a minion. + This method *will* return information about a spawned (but invisible) minion, e.g. if the character is riding a + mount. + + This class represents the base for non-static entities. @@ -7150,6 +7324,12 @@ Gets the status flags. + + + + + + Gets the underlying structure. @@ -7655,35 +7835,6 @@ Gets the level of this party member. - - - This object resolves a rowID within an Excel sheet. - - The type of Lumina sheet to resolve. - - - - Initializes a new instance of the class. - - The ID of the classJob. - - - - Gets the ID to be resolved. - - - - - Gets GameData linked to this excel row. - - - - - Gets GameData linked to this excel row with the specified language. - - The language. - The ExcelRow in the specified language. - This class represents a status effect an actor is afflicted by. @@ -8103,6 +8254,9 @@ + + + @@ -8239,6 +8393,9 @@ + + + @@ -8558,6 +8715,13 @@ Value of the config option. Thrown if the config option is not found. + + Attempts to get a string config value as an enum value. + Name of the config option. + The returned value of the config option. + Type of the enum. Name of each enum fields are compared against. + A value representing the success. + Set a string config option. @@ -8614,6 +8778,85 @@ The correct type for the config option. The type that was attempted. + + Valid values for PadButton options under . + Names are the valid part. Enum values are exclusively for use with current Dalamud version. + + + Auto-run. + + + Change Hotbar Set. + + + Highlight Left Hotbar. + + + Highlight Right Hotbar. + + + Not directly referenced by Gamepad button customization window. + + + Draw Weapon/Lock On. + + + Sit/Lock On. + + + Change Camera. + + + Reset Camera Position. + + + Draw/Sheathe Weapon. + + + Lock On. + + + Face Target. + + + Assist Target. + + + Face Camera. + + + Execute Macro #98 (Exclusive). + + + Execute Macro #99 (Exclusive). + + + Not Assigned. + + + Jump/Cancel Casting. + + + Select Target/Confirm. + + + Cancel. + + + Open Map/Subcommands. + + + Open Main Menu. + + + Select HUD. + + + Move Character. + + + Move Camera. + Represents a string configuration property. @@ -9908,6 +10151,42 @@ This option is a String. + + + System option with the internal name ActiveInstanceGuid. + This option is a String. + + + + + System option with the internal name ActiveProductGuid. + This option is a String. + + + + + System option with the internal name MsqProgress. + This option is a UInt. + + + + + System option with the internal name PromptConfigUpdate. + This option is a UInt. + + + + + System option with the internal name TitleScreenType. + This option is a UInt. + + + + + System option with the internal name FirstConfigBackup. + This option is a UInt. + + Config options in the UiConfig section. @@ -12973,6 +13252,24 @@ This option is a UInt. + + + System option with the internal name EnableMoveTiltCharacter. + This option is a UInt. + + + + + System option with the internal name EnableMoveTiltMountGround. + This option is a UInt. + + + + + System option with the internal name EnableMoveTiltMountFly. + This option is a UInt. + + Config options in the UiControl section. @@ -14143,13 +14440,6 @@ This class represents the Framework of the native game client and grants access to various subsystems. - - - A delegate type used during the native Framework::destroy. - - The native Framework address. - A value indicating if the call was successful. - @@ -14327,29 +14617,6 @@ - - - The address resolver for the class. - - - - - Gets the address for the function that is called once the Framework is destroyed. - - - - - Gets the address for the function that is called once the Framework is free'd. - - - - - Gets the function that is called every tick. - - - - - Class offering cancellation tokens for common gameplay events. @@ -14511,24 +14778,6 @@ - - - The address resolver for the class. - - - - - Gets the address of the native PopulateItemLinkObject method. - - - - - Gets the address of the native InteractableLinkClicked method. - - - - - This class handles interacting with the game's (right-click) context menu. @@ -14691,7 +14940,7 @@ - Gets or sets the color of the . Specifies a row id. + Gets or sets the color of the . Specifies a row id. @@ -14905,19 +15154,40 @@ + + + Get a DTR bar entry. + This allows you to add your own text, and users to sort it. + + Plugin that owns the DTR bar, or null if owned by Dalamud. + A user-friendly name for sorting. + The text the entry shows. + The entry object used to update, hide and remove the entry. + Thrown when an entry with the specified title exists. + + + + Removes a DTR bar entry from the system. + + Plugin that owns the DTR bar, or null if owned by Dalamud. + Title of the entry to remove, or null to remove all entries under the plugin. + Remove operation is not immediate. If you try to add right after removing, the operation may fail. + + - + - Remove nodes marked as "should be removed" from the bar. + Remove native resources for the specified entry. + The resources to remove. @@ -14938,7 +15208,7 @@ Reapply the DTR entry ordering from . - + Checks if there are any Dalamud nodes in the DTR. @@ -15074,9 +15344,14 @@ Gets or sets the internal text node of this entry. + + + Gets or sets the storage for the text of this entry. + + - Gets a value indicating whether this entry should be removed. + Gets or sets a value indicating whether this entry should be removed. @@ -15089,6 +15364,11 @@ Gets or sets a value indicating whether this entry has just been added. + + + Gets or sets the plugin that owns this entry. + + @@ -15106,24 +15386,9 @@ This class facilitates interacting with and creating native in-game "fly text". - - - The native function responsible for adding fly text to the UI. See . - - - The hook that fires when the game creates a fly text element. See . - - - - - Private delegate for the native CreateFlyText function's hook. - - - - - Private delegate for the native AddFlyText function pointer. + The hook that fires when the game creates a fly text element. @@ -15156,29 +15421,6 @@ - - - An address resolver for the class. - - - - - Gets the address of the native AddFlyText method, which occurs - when the game adds fly text elements to the UI. Multiple fly text - elements can be added in a single AddFlyText call. - - - - - Gets the address of the native CreateFlyText method, which occurs - when the game creates a new fly text element. This method is called - once per fly text element, and can be called multiple times per - AddFlyText call. - - - - - Enum of FlyTextKind values. @@ -15627,41 +15869,11 @@ Gets the address of the native SetGlobalBgm method. - - - Gets the address of the native HandleItemHover method. - - - - - Gets the address of the native HandleItemOut method. - - - - - Gets the address of the native HandleActionHover method. - - - - - Gets the address of the native HandleActionOut method. - - Gets the address of the native HandleImm method. - - - Gets the address of the native ToggleUiHide method. - - - - - Gets the address of the native Utf8StringFromSequence method. - - @@ -15681,6 +15893,11 @@ A regular action is hovered. + + + A crafting action is hovered. + + A general action is hovered. @@ -15701,6 +15918,11 @@ An extras command type of action is hovered. + + + A companion action is hovered. + + A pet order type of action is hovered. @@ -15711,6 +15933,101 @@ A trait is hovered. + + + A buddy action is hovered. + + + + + A company action is hovered. + + + + + A mount is hovered. + + + + + A chocobo race action is hovered. + + + + + A chocobo race item is hovered. + + + + + A deep dungeon equipment is hovered. + + + + + A deep dungeon equipment 2 is hovered. + + + + + A deep dungeon item is hovered. + + + + + A quick chat is hovered. + + + + + An action combo route is hovered. + + + + + A pvp trait is hovered. + + + + + A squadron action is hovered. + + + + + A perform action is hovered. + + + + + A deep dungeon magic stone is hovered. + + + + + A deep dungeon demiclone is hovered. + + + + + An eureka magia action is hovered. + + + + + An island sanctuary temporary item is hovered. + + + + + An ornament is hovered. + + + + + Glasses are hovered. + + This class represents the hotbar action currently hovered over by the cursor. @@ -15731,1498 +16048,2096 @@ Gets or sets the type of action. - + - The structure of the PartyFinder packet. + Class used to modify the data used when rendering nameplates. - + - Gets the size of this packet. + The index for of the FullUpdate entry in the NamePlate number array. - + - The structure of an individual listing within a packet. + An empty null-terminated string pointer allocated in unmanaged memory, used to tag removed fields. + + + + + + + + + + + + + + + + + + + + + + + Strips the surrounding quotes from a free company tag. If the quotes are not present in the expected location, + no modifications will be made. + A quoted free company tag. + A span containing the free company tag without its surrounding quote characters. - + - The address resolver for the class. + Strips the surrounding quotes from a title. If the quotes are not present in the expected location, no + modifications will be made. + A quoted title. + A span containing the title without its surrounding quote characters. - + - Gets the address of the native ReceiveListing method. + Plugin-scoped version of a AddonEventManager service. - + - + + + + + + + + + + + + + + + + - This class handles interacting with the native PartyFinder window. + An address resolver for the class. - + - Initializes a new instance of the class. + Gets the address of the AddonNamePlate OnRequestedUpdate method. We need to use a hook for this because + AddonNamePlate.Show calls OnRequestedUpdate directly, bypassing the AddonLifecycle callsite hook. - Sig scanner to use. - + - + - Dispose of managed and unmanaged resources. + Provides a read-only view of the nameplate info object data for a nameplate. Modifications to + fields do not affect this data. - + - A scoped variant of the PartyFinderGui service. + Gets the displayed name for this nameplate according to the nameplate info object. - + - Initializes a new instance of the class. + Gets the displayed free company tag for this nameplate according to the nameplate info object. For this field, + the quote characters which appear on either side of the title are NOT included. - - + + + Gets the displayed free company tag for this nameplate according to the nameplate info object. For this field, + the quote characters which appear on either side of the title ARE included. + - - + + + Gets the displayed title for this nameplate according to the nameplate info object. For this field, the quote + characters which appear on either side of the title are NOT included. + - + - Condition flags for the class. + Gets the displayed title for this nameplate according to the nameplate info object. For this field, the quote + characters which appear on either side of the title ARE included. - + - No duty condition. + Gets the displayed level text for this nameplate according to the nameplate info object. - + - The duty complete condition. + Gets the flags for this nameplate according to the nameplate info object. - + - The duty complete (weekly reward unclaimed) condition. This condition is - only available for savage fights prior to echo release. + Gets a value indicating whether this nameplate is considered 'dirty' or not according to the nameplate + info object. - + - The duty incomplete condition. + Gets a value indicating whether the title for this nameplate is a prefix title or not according to the nameplate + info object. This value is derived from the field. - + - Category flags for the class. + Provides a read-only view of the nameplate info object data for a nameplate. Modifications to + fields do not affect this data. - + - The none category. + Provides a read-only view of the nameplate info object data for a nameplate. Modifications to + fields do not affect this data. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The duty roulette category. + An enum describing what kind of game object this nameplate represents. - + - The dungeons category. + A player character. - + - The guildhests category. + An event NPC or companion. - + - The trials category. + A retainer. - + - The raids category. + An enemy battle NPC. - + - The high-end duty category. + A friendly battle NPC. - + - The pvp category. + An event object. - + - The gold saucer category. + Treasure. - + - The FATEs category. + A gathering point. - + - The treasure hunts category. + A battle NPC with subkind 6. - + - The hunts category. + Something else. - + - The gathering forays category. + A container for parts. - + - The deep dungeons category. + Initializes a new instance of the class. + The currently executing update context. - + - The field operations category. + Gets a parts object for constructing a nameplate name. - + - The variant and criterion dungeons category. + Gets a parts object for constructing a nameplate title. - + - Duty finder settings flags for the class. + Gets a parts object for constructing a nameplate free company tag. - + - No duty finder settings. + Applies all container parts. + The handler to apply the builders to. - + - The undersized party setting. + A part builder for constructing and setting quoted nameplate fields (i.e. free company tag and title). + The field type which should be set. + Whether or not this is a Free Company part. + + This class works as a lazy writer initialized with empty parts, where an empty part signifies no change should be + performed. Only after all handler processing is complete does it write out any parts which were set to the + associated field. Reading fields from this class is usually not what you want to do, as you'll only be reading the + contents of parts which other plugins have written to. Prefer reading from the base handler's properties or using + . + - + - The minimum item level setting. + A part builder for constructing and setting quoted nameplate fields (i.e. free company tag and title). + The field type which should be set. + Whether or not this is a Free Company part. + + This class works as a lazy writer initialized with empty parts, where an empty part signifies no change should be + performed. Only after all handler processing is complete does it write out any parts which were set to the + associated field. Reading fields from this class is usually not what you want to do, as you'll only be reading the + contents of parts which other plugins have written to. Prefer reading from the base handler's properties or using + . + - + - The silence echo setting. + Gets or sets the opening and closing SeStrings which will wrap the entire contents, which can be used to apply + colors or styling to the entire field. - + - Duty type flags for the class. + Gets or sets the opening quote string which appears before the text and opening text-wrap. - + - No duty type. + Gets or sets the closing quote string which appears after the text and closing text-wrap. - + - The roulette duty type. + Gets or sets the opening and closing SeStrings which will wrap the text, which can be used to apply colors or + styling to the field's text. - + - The normal duty type. + Gets or sets this field's text. - + - Job flags for the class. + Applies the changes from this builder to the actual field. + The handler to perform the changes on. - + - Gladiator (GLD). + A part builder for constructing and setting a simple (unquoted) nameplate field. + The field type which should be set. + + This class works as a lazy writer initialized with empty parts, where an empty part signifies no change should be + performed. Only after all handler processing is complete does it write out any parts which were set to the + associated field. Reading fields from this class is usually not what you want to do, as you'll only be reading the + contents of parts which other plugins have written to. Prefer reading from the base handler's properties or using + . + - + - Pugilist (PGL). + A part builder for constructing and setting a simple (unquoted) nameplate field. + The field type which should be set. + + This class works as a lazy writer initialized with empty parts, where an empty part signifies no change should be + performed. Only after all handler processing is complete does it write out any parts which were set to the + associated field. Reading fields from this class is usually not what you want to do, as you'll only be reading the + contents of parts which other plugins have written to. Prefer reading from the base handler's properties or using + . + - + - Marauder (MRD). + Gets or sets the opening and closing SeStrings which will wrap the text, which can be used to apply colors or + styling to the field's text. - + - Lancer (LNC). + Gets or sets this field's text. - + - Archer (ARC). + Applies the changes from this builder to the actual field. + The handler to perform the changes on. - + - Conjurer (CNJ). + An enum describing the string fields available in nameplate data. The and various flags + determine which fields will actually be rendered. - + - Thaumaturge (THM). + The object's name. - + - Paladin (PLD). + The object's title. - + - Monk (MNK). + The object's free company tag. - + - Warrior (WAR). + The object's status prefix. - + - Dragoon (DRG). + The object's target suffix. - + - Bard (BRD). + The object's level prefix. - + - White mage (WHM). + Contains information related to the pending nameplate data update. This is only valid for a single frame and should + not be kept across frames. - + - Black mage (BLM). + Gets the number of active nameplates. The actual number visible may be lower than this in cases where some + nameplates are hidden by default (based on in-game "Display Name Settings" and so on). - + - Arcanist (ACN). + Gets a value indicating whether the game is currently performing a full update of all active nameplates. - + - Summoner (SMN). + Gets the address of the NamePlate addon. - + - Scholar (SCH). + Gets the address of the NamePlate addon's number array data container. - + - Rogue (ROG). + Gets the address of the NamePlate addon's string array data container. - + - Ninja (NIN). + Gets the address of the first entry in the NamePlate addon's int array. - + - Machinist (MCH). + Contains information related to the pending nameplate data update. This is only valid for a single frame and should + not be kept across frames. - + - Dark Knight (DRK). + Initializes a new instance of the class. + An object table. - + - Astrologian (AST). + Gets the number of active nameplates. The actual number visible may be lower than this in cases where some + nameplates are hidden by default (based on in-game "Display Name Settings" and so on). - + - Samurai (SAM). + Gets a value indicating whether the game is currently performing a full update of all active nameplates. - + - Red mage (RDM). + Gets the address of the NamePlate addon. - + - Blue mage (BLM). + Gets the address of the NamePlate addon's number array data container. - + - Gunbreaker (GNB). + Gets the address of the NamePlate addon's string array data container. - + - Dancer (DNC). + Gets the address of the first entry in the NamePlate addon's int array. - + - Reaper (RPR). + Gets the RaptureAtkModule. - + - Sage (SGE). + Gets the Ui3DModule. - + - Viper (VPR). + Gets the ObjectTable. - + - Pictomancer (PCT). + Gets a pointer to the NamePlate addon. - + - Extensions for the enum. + Gets a pointer to the NamePlate addon's number array data container. - + - Get the actual ClassJob from the in-game sheets for this JobFlags. + Gets a pointer to the NamePlate addon's string array data container. - A JobFlags enum member. - A DataManager to get the ClassJob from. - A ClassJob if found or null if not. - + - Loot rule flags for the class. + Gets a pointer to the NamePlate addon's number array entries as a struct. - + - No loot rules. + Gets or sets a value indicating whether any handler in the current context has instantiated a part builder. - + - The greed only rule. + Resets the state of the context based on the provided addon lifecycle arguments. + A pointer to the addon. + A pointer to the global number array data struct. + A pointer to the global string array data struct. - + - The lootmaster rule. + A class representing a single nameplate. Provides mechanisms to look up the game object associated with the + nameplate and allows for modification of various backing fields in number and string array data, which in turn + affect aspects of the nameplate's appearance when drawn. Instances of this class are only valid for a single frame + and should not be kept across frames. - + - Objective flags for the class. + Gets the GameObjectId of the game object associated with this nameplate. - + - No objective. + Gets the associated with this nameplate, if possible. Performs an object table scan + and caches the result if successful. - + - The duty completion objective. + Gets a read-only view of the nameplate info object data for a nameplate. Modifications to + fields do not affect fields in the returned view. - + - The practice objective. + Gets the index for this nameplate data in the backing number and string array data. This is not the same as the + rendered or object index, which can be retrieved from . - + - The loot objective. + Gets the associated with this nameplate, if possible. Returns null if the nameplate + has an associated , but that object cannot be assigned to . - + - A interface representing a single listing in party finder. + Gets the associated with this nameplate, if possible. Returns null if the + nameplate has an associated , but that object cannot be assigned to + . - + - Gets the objective of this listing. + Gets the address of the nameplate info struct. - + - Gets the conditions of this listing. + Gets the address of the first entry associated with this nameplate in the NamePlate addon's int array. - + - Gets the Duty Finder settings that will be used for this listing. + Gets a value indicating what kind of nameplate this is, based on the kind of object it is associated with. - + - Gets the loot rules that will be used for this listing. + Gets the update flags for this nameplate. - + - Gets where this listing is searching. Note that this is also used for denoting alliance raid listings and one - player per job. + Gets or sets the overall text color for this nameplate. If this value is changed, the appropriate update flag + will be set so that the game will reflect this change immediately. - + - Gets a list of player slots that the Party Finder is accepting. + Gets or sets the overall text edge color for this nameplate. If this value is changed, the appropriate update + flag will be set so that the game will reflect this change immediately. - + - Gets a list of the classes/jobs that are currently present in the party. + Gets or sets the icon ID for the nameplate's marker icon, which is the large icon used to indicate quest + availability and so on. This value is read from and reset by the game every frame, not just when a nameplate + changes. Setting this to 0 disables the icon. - + - Gets the ID assigned to this listing by the game's server. + Gets or sets the icon ID for the nameplate's name icon, which is the small icon shown to the left of the name. + Setting this to -1 disables the icon. - + - Gets the player's unique content ID. + Gets the nameplate index, which is the index used for rendering and looking up entries in the object array. For + number and string array data, is used. - + - Gets the name of the player hosting this listing. + Gets the draw flags for this nameplate. - + - Gets the description of this listing as set by the host. May be multiple lines. + Gets or sets the visibility flags for this nameplate. - + - Gets the world that this listing was created on. + Gets a value indicating whether this nameplate is undergoing a major update or not. This is usually true when a + nameplate has just appeared or something meaningful about the entity has changed (e.g. its job or status). This + flag is reset by the game during the update process (during requested update and before draw). - + - Gets the home world of the listing's host. + Gets or sets a value indicating whether the title (when visible) will be displayed above the object's name (a + prefix title) instead of below the object's name (a suffix title). - + - Gets the current world of the listing's host. + Gets or sets a value indicating whether the title should be displayed at all. - + - Gets the Party Finder category this listing is listed under. + Gets or sets the name for this nameplate. - + - Gets the row ID of the duty this listing is for. May be 0 for non-duty listings. + Gets a builder which can be used to help cooperatively build a new name for this nameplate even when other + plugins modifying the name are present. Specifically, this builder allows setting text and text-wrapping + payloads (e.g. for setting text color) separately. - + - Gets the duty this listing is for. May be null for non-duty listings. + Gets or sets the title for this nameplate. - + - Gets the type of duty this listing is for. + Gets a builder which can be used to help cooperatively build a new title for this nameplate even when other + plugins modifying the title are present. Specifically, this builder allows setting text, text-wrapping + payloads (e.g. for setting text color), and opening and closing quote sequences separately. - + - Gets a value indicating whether if this listing is beginner-friendly. Shown with a sprout icon in-game. + Gets or sets the free company tag for this nameplate. - + - Gets how many seconds this listing will continue to be available for. It may end before this time if the party - fills or the host ends it early. + Gets a builder which can be used to help cooperatively build a new FC tag for this nameplate even when other + plugins modifying the FC tag are present. Specifically, this builder allows setting text, text-wrapping + payloads (e.g. for setting text color), and opening and closing quote sequences separately. - + - Gets the minimum item level required to join this listing. + Gets or sets the status prefix for this nameplate. This prefix is used by the game to add BitmapFontIcon-based + online status icons to player nameplates. - + - Gets the number of parties this listing is recruiting for. + Gets or sets the target suffix for this nameplate. This suffix is used by the game to add the squared-letter + target tags to the end of combat target nameplates. - + - Gets the number of player slots this listing is recruiting for. + Gets or sets the level prefix for this nameplate. This "Lv60" style prefix is added to enemy and friendly battle + NPC nameplates to indicate the NPC level. - + - Gets the number of player slots filled. + Removes the contents of the name field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - + - Gets the time at which the server this listings is on last restarted for a patch/hotfix. - Probably. + Removes the contents of the title field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - + - Gets a list of the class/job IDs that are currently present in the party. + Removes the contents of the FC tag field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - + - Check if the given flag is present. + Removes the contents of the status prefix field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - The flag to check for. - A value indicating whether the flag is present. - + - Check if the given flag is present. + Removes the contents of the target suffix field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - The flag to check for. - A value indicating whether the flag is present. - + - Check if the given flag is present. + Removes the contents of the level prefix field for this nameplate. This differs from simply setting the field + to an empty string because it writes a special value to memory, and other setters (except SetField variants) + will refuse to overwrite this value. Therefore, fields removed this way are more likely to stay removed. - The flag to check for. - A value indicating whether the flag is present. - + - Check if the given flag is present. + Gets a pointer to the string array value in the provided field. - The flag to check for. - A value indicating whether the flag is present. + The field to read from. + A pointer to a sequence of non-null bytes. - + - Check if the given flag is present. + Gets a byte span containing the string array value in the provided field. - The flag to check for. - A value indicating whether the flag is present. + The field to read from. + A ReadOnlySpan containing a sequence of non-null bytes. - + - A single listing in party finder. + Gets a UTF8 string copy of the string array value in the provided field. + The field to read from. + A copy of the string array value as a string. - + - Initializes a new instance of the class. + Gets a parsed SeString copy of the string array value in the provided field. - The interop listing data. + The field to read from. + A copy of the string array value as a parsed SeString. - - + + + Sets the string array value for the provided field. + + The field to write to. + The string to write. - - + + + Sets the string array value for the provided field. + + The field to write to. + The SeString to write. - + + + Sets the string array value for the provided field. The provided byte sequence must be null-terminated. + + The field to write to. + The ReadOnlySpan of bytes to write. + + + + Sets the string array value for the provided field. The provided byte sequence must be null-terminated. + + The field to write to. + The pointer to a null-terminated sequence of bytes to write. + + + + Sets the string array value for the provided field to a fixed pointer to an empty string in unmanaged memory. + Other methods may notice this fixed pointer and refuse to overwrite it, preserving the emptiness of the field. + + The field to write to. + + + + A class representing a single nameplate. Provides mechanisms to look up the game object associated with the + nameplate and allows for modification of various backing fields in number and string array data, which in turn + affect aspects of the nameplate's appearance when drawn. Instances of this class are only valid for a single frame + and should not be kept across frames. + + + + + Initializes a new instance of the class. + + The current update context. + The index for this nameplate data in the backing number and string array data. This is + not the same as the rendered index, which can be retrieved from . + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - A interface representing additional arguments passed by the game. + Gets or (lazily) creates a part builder container for this nameplate. - - - Gets the batch number. - + + - - - Gets or sets a value indicating whether the listing is visible. - + + - - - This class represents additional arguments passed by the game. - + + - - - Initializes a new instance of the class. - - The batch number. + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - A player slot in a Party Finder listing. + Resets the state of this handler for re-use in a new update. - + - Initializes a new instance of the class. + Sets the string array value for the provided field, unless it was already set to the special empty string + pointer used by the Remove methods. - The flag value of accepted jobs. + The field to write to. + The SeString to write. - + - Gets a list of jobs that this slot is accepting. + The structure of the PartyFinder packet. - + - Tests if this slot is accepting a job. + Gets the size of this packet. - Job to test. - + - Search area flags for the class. + The structure of an individual listing within a packet. - + - Datacenter. + This class handles interacting with the native PartyFinder window. - + - Private. + Initializes a new instance of the class. + Sig scanner to use. - + + + + - Alliance raid. + Dispose of managed and unmanaged resources. - + - World. + A scoped variant of the PartyFinderGui service. - + - One player per job. + Initializes a new instance of the class. - + + + + + + + - This class represents options that can be used with the class for the quest toast variant. + Condition flags for the class. - + - Gets or sets the position of the toast on the screen. + No duty condition. - - - Gets or sets the ID of the icon that will appear in the toast. - - This may be 0 for no icon. - - - + - Gets or sets a value indicating whether the toast will show a checkmark after appearing. + The duty complete condition. - - - Gets or sets a value indicating whether the toast will play a completion sound. - - This only works if is non-zero or is true. - - - + - The alignment of native quest toast windows. + The duty complete (weekly reward unclaimed) condition. This condition is + only available for savage fights prior to echo release. - + - The toast will be aligned screen centre. + The duty incomplete condition. - + - The toast will be aligned screen right. + Category flags for the class. - + - The toast will be aligned screen left. + The none category. - + - This class facilitates interacting with and creating native toast windows. + The duty roulette category. + + - Handles normal toasts. + The dungeons category. + + - Handles quest toasts. + The guildhests category. + + - Handles error toasts. + The trials category. - + - Initializes a new instance of the class. + The raids category. - Sig scanner to use. - - - - - - - - - - + - Disposes of managed and unmanaged resources. + The high-end duty category. - + - Process the toast queue. + The pvp category. - - - - - - - - - - - - - - - - - - - + - Plugin scoped version of ToastGui. + The gold saucer category. - + - Initializes a new instance of the class. + The FATEs category. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - An address resolver for the class. + The treasure hunts category. - + - Gets the address of the native ShowNormalToast method. + The hunts category. - + - Gets the address of the native ShowQuestToast method. + The gathering forays category. - + - Gets the address of the ShowErrorToast method. + The deep dungeons category. - - - - + - This class represents options that can be used with the class. + The field operations category. - + - Gets or sets the position of the toast on the screen. + The variant and criterion dungeons category. - + - Gets or sets the speed of the toast. + Duty finder settings flags for the class. - + - The positioning of native toast windows. + No duty finder settings. - + - The toast will be towards the bottom. + The undersized party setting. - + - The toast will be towards the top. + The minimum item level setting. - + - The speed at which native toast windows will persist. + The silence echo setting. - + - The toast will take longer to disappear (around four seconds). + Duty type flags for the class. - + - The toast will disappear more quickly (around two seconds). + No duty type. - + - This class disables anti-debug functionality in the game client. + The roulette duty type. - - Finalizes an instance of the class. - - + - Gets a value indicating whether the anti-debugging is enabled. + The normal duty type. - - - - + - Enables the anti-debugging by overwriting code in memory. + Job flags for the class. - + - Disable the anti-debugging by reverting the overwritten code in memory. + Gladiator (GLD). - + - This class implements in-game Dalamud options in the in-game System menu. + Pugilist (PGL). - - Finalizes an instance of the class. - - - - - + - Contains a full list of ID3D11Device functions to be used as an indexer into the DirectX Virtual Function Table entries. + Marauder (MRD). - + - IUnknown::QueryInterface method (unknwn.h). + Lancer (LNC). - + - IUnknown::AddRef method (unknwn.h). + Archer (ARC). - + - IUnknown::Release method (unknwn.h). + Conjurer (CNJ). - + - ID3D11Device::CreateBuffer method (d3d11.h). + Thaumaturge (THM). - + - ID3D11Device::CreateTexture1D method (d3d11.h). + Paladin (PLD). - + - ID3D11Device::CreateTexture2D method (d3d11.h). + Monk (MNK). - + - ID3D11Device::CreateTexture3D method (d3d11.h). + Warrior (WAR). - + - ID3D11Device::CreateShaderResourceView method (d3d11.h). + Dragoon (DRG). - + - ID3D11Device::CreateUnorderedAccessView method (d3d11.h). + Bard (BRD). - + - ID3D11Device::CreateRenderTargetView method (d3d11.h). + White mage (WHM). - + - ID3D11Device::CreateDepthStencilView method (d3d11.h). + Black mage (BLM). - + - ID3D11Device::CreateInputLayout method (d3d11.h). + Arcanist (ACN). - + - ID3D11Device::CreateVertexShader method (d3d11.h). + Summoner (SMN). - + - ID3D11Device::CreateGeometryShader method (d3d11.h). + Scholar (SCH). - + - ID3D11Device::CreateGeometryShaderWithStreamOutput method (d3d11.h). + Rogue (ROG). - + - ID3D11Device::CreatePixelShader method (d3d11.h). + Ninja (NIN). - + - ID3D11Device::CreateHullShader method (d3d11.h). + Machinist (MCH). - + - ID3D11Device::CreateDomainShader method (d3d11.h). + Dark Knight (DRK). - + - ID3D11Device::CreateComputeShader method (d3d11.h). + Astrologian (AST). - + - ID3D11Device::CreateClassLinkage method (d3d11.h). + Samurai (SAM). - + - ID3D11Device::CreateBlendState method (d3d11.h). + Red mage (RDM). - + - ID3D11Device::CreateDepthStencilState method (d3d11.h). + Blue mage (BLM). - + - ID3D11Device::CreateRasterizerState method (d3d11.h). + Gunbreaker (GNB). - + - ID3D11Device::CreateSamplerState method (d3d11.h). + Dancer (DNC). - + - ID3D11Device::CreateQuery method (d3d11.h). + Reaper (RPR). - + - ID3D11Device::CreatePredicate method (d3d11.h). + Sage (SGE). - + - ID3D11Device::CreateCounter method (d3d11.h). + Viper (VPR). - + - ID3D11Device::CreateDeferredContext method (d3d11.h). + Pictomancer (PCT). - + - ID3D11Device::OpenSharedResource method (d3d11.h). + Extensions for the enum. - + - ID3D11Device::CheckFormatSupport method (d3d11.h). + Get the actual ClassJob from the in-game sheets for this JobFlags. + A JobFlags enum member. + A DataManager to get the ClassJob from. + A ClassJob if found or null if not. - + - ID3D11Device::CheckMultisampleQualityLevels method (d3d11.h). + Loot rule flags for the class. - + - ID3D11Device::CheckCounterInfo method (d3d11.h). + No loot rules. - + - ID3D11Device::CheckCounter method (d3d11.h). + The greed only rule. - + - ID3D11Device::CheckFeatureSupport method (d3d11.h). + The lootmaster rule. - + - ID3D11Device::GetPrivateData method (d3d11.h). + Objective flags for the class. - + - ID3D11Device::SetPrivateData method (d3d11.h). + No objective. - + - ID3D11Device::SetPrivateDataInterface method (d3d11.h). + The duty completion objective. - + - ID3D11Device::GetFeatureLevel method (d3d11.h). + The practice objective. - + - ID3D11Device::GetCreationFlags method (d3d11.h). + The loot objective. - + - ID3D11Device::GetDeviceRemovedReason method (d3d11.h). + A interface representing a single listing in party finder. - + - ID3D11Device::GetImmediateContext method (d3d11.h). + Gets the objective of this listing. - + - ID3D11Device::SetExceptionMode method (d3d11.h). + Gets the conditions of this listing. - + - ID3D11Device::GetExceptionMode method (d3d11.h). + Gets the Duty Finder settings that will be used for this listing. - + - Contains a full list of IDXGISwapChain functions to be used as an indexer into the SwapChain Virtual Function Table - entries. + Gets the loot rules that will be used for this listing. - + - IUnknown::QueryInterface method (unknwn.h). + Gets where this listing is searching. Note that this is also used for denoting alliance raid listings and one + player per job. - + - IUnknown::AddRef method (unknwn.h). + Gets a list of player slots that the Party Finder is accepting. - + - IUnknown::Release method (unknwn.h). + Gets a list of the classes/jobs that are currently present in the party. - + - IDXGIObject::SetPrivateData method (dxgi.h). + Gets the ID assigned to this listing by the game's server. - + - IDXGIObject::SetPrivateDataInterface method (dxgi.h). + Gets the player's unique content ID. - + - IDXGIObject::GetPrivateData method (dxgi.h). + Gets the name of the player hosting this listing. - + - IDXGIObject::GetParent method (dxgi.h). + Gets the description of this listing as set by the host. May be multiple lines. - + - IDXGIDeviceSubObject::GetDevice method (dxgi.h). + Gets the world that this listing was created on. - + - IDXGISwapChain::Present method (dxgi.h). + Gets the home world of the listing's host. - + - IUnknIDXGISwapChainown::GetBuffer method (dxgi.h). + Gets the current world of the listing's host. - + - IDXGISwapChain::SetFullscreenState method (dxgi.h). + Gets the Party Finder category this listing is listed under. - + - IDXGISwapChain::GetFullscreenState method (dxgi.h). + Gets the row ID of the duty this listing is for. May be 0 for non-duty listings. - + - IDXGISwapChain::GetDesc method (dxgi.h). + Gets the duty this listing is for. May be null for non-duty listings. - + - IDXGISwapChain::ResizeBuffers method (dxgi.h). + Gets the type of duty this listing is for. - + - IDXGISwapChain::ResizeTarget method (dxgi.h). + Gets a value indicating whether if this listing is beginner-friendly. Shown with a sprout icon in-game. - + - IDXGISwapChain::GetContainingOutput method (dxgi.h). + Gets how many seconds this listing will continue to be available for. It may end before this time if the party + fills or the host ends it early. - + - IDXGISwapChain::GetFrameStatistics method (dxgi.h). + Gets the minimum item level required to join this listing. - + - IDXGISwapChain::GetLastPresentCount method (dxgi.h). + Gets the number of parties this listing is recruiting for. - + - An interface binding for the address resolvers that attempt to find native D3D11 methods. + Gets the number of player slots this listing is recruiting for. - + - Gets or sets the address of the native D3D11.Present method. + Gets the number of player slots filled. - + - Gets or sets the address of the native D3D11.ResizeBuffers method. + Gets the time at which the server this listings is on last restarted for a patch/hotfix. + Probably. - + - This class attempts to determine the D3D11 SwapChain vtable addresses via instantiating a new form and inspecting it. + Gets a list of the class/job IDs that are currently present in the party. - - If the normal signature based method of resolution fails, this is the backup. - - - - - - - - + - Gets a value indicating whether or not ReShade is loaded/used. + Check if the given flag is present. + The flag to check for. + A value indicating whether the flag is present. - - - - + - This class provides events for the players in-game inventory. + Check if the given flag is present. + The flag to check for. + A value indicating whether the flag is present. - - - - + - Subscribe to events. + Check if the given flag is present. - The event target. + The flag to check for. + A value indicating whether the flag is present. - + - Unsubscribe from events. + Check if the given flag is present. - The event target. + The flag to check for. + A value indicating whether the flag is present. - + - A view of , so that the number of items - contained within can be known in advance, and it can be enumerated multiple times. + Check if the given flag is present. - The type of elements being enumerated. + The flag to check for. + A value indicating whether the flag is present. - + - Plugin-scoped version of a GameInventory service. + A single listing in party finder. - + - Initializes a new instance of the class. + Initializes a new instance of the class. + The interop listing data. - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - Invoke . - - The data. + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A interface representing additional arguments passed by the game. + + + + + Gets the batch number. + + + + + Gets or sets a value indicating whether the listing is visible. + + + + + This class represents additional arguments passed by the game. + + + + + Initializes a new instance of the class. + + The batch number. + + + + + + + + + + A player slot in a Party Finder listing. + + + + + Initializes a new instance of the class. + + The flag value of accepted jobs. + + + + Gets a list of jobs that this slot is accepting. + + + + + Tests if this slot is accepting a job. + + Job to test. + + + + Search area flags for the class. + + + + + Datacenter. + + + + + Private. + + + + + Alliance raid. + + + + + World. + + + + + One player per job. + + + + + This class represents options that can be used with the class for the quest toast variant. + + + + + Gets or sets the position of the toast on the screen. + + + + + Gets or sets the ID of the icon that will appear in the toast. + + This may be 0 for no icon. + + + + + Gets or sets a value indicating whether the toast will show a checkmark after appearing. + + + + + Gets or sets a value indicating whether the toast will play a completion sound. + + This only works if is non-zero or is true. + + + + + The alignment of native quest toast windows. + + + + + The toast will be aligned screen centre. + + + + + The toast will be aligned screen right. + + + + + The toast will be aligned screen left. + + + + + This class facilitates interacting with and creating native toast windows. + + + Handles normal toasts. + + + Handles quest toasts. + + + Handles error toasts. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Disposes of managed and unmanaged resources. + + + + + Process the toast queue. + + + + + + + + + + + + + + + + + + + + + + + Plugin scoped version of ToastGui. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This class represents options that can be used with the class. + + + + + Gets or sets the position of the toast on the screen. + + + + + Gets or sets the speed of the toast. + + + + + The positioning of native toast windows. + + + + + The toast will be towards the bottom. + + + + + The toast will be towards the top. + + + + + The speed at which native toast windows will persist. + + + + + The toast will take longer to disappear (around four seconds). + + + + + The toast will disappear more quickly (around two seconds). + + + + + This class disables anti-debug functionality in the game client. + + + + Finalizes an instance of the class. + + + + Gets a value indicating whether the anti-debugging is enabled. + + + + + + + + Enables the anti-debugging by overwriting code in memory. + + + + + Disable the anti-debugging by reverting the overwritten code in memory. + + + + + This class implements in-game Dalamud options in the in-game System menu. + + + + Finalizes an instance of the class. + + + + + + + This class provides events for the players in-game inventory. + + + + + + + + Subscribe to events. + + The event target. + + + + Unsubscribe from events. + + The event target. + + + + A view of , so that the number of items + contained within can be known in advance, and it can be enumerated multiple times. + + The type of elements being enumerated. + + + + Plugin-scoped version of a GameInventory service. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invoke . + + The data. + + + Invoke . The data. @@ -17479,9 +18394,14 @@ Crystal container. + + + Item attachments of a letter the player is currently composing. + + - Mail container. + Item attachments of a letter the player is currently reading. @@ -17496,7 +18416,7 @@ - DamagedGear container. + Repair window container. @@ -17504,6 +18424,21 @@ Examine window container. + + + Estate Possession Retrieval container. + + + + + Container for items when changing the exterior housing appearance. + + + + + Container for items when changing the interior housing appearance. + + Doman Enclave Reconstruction Reclamation Box. @@ -17532,10 +18467,10 @@ Armory waist container. + This container should be unused as belt items were removed from the game in Shadowbringers. - @@ -18068,11 +19003,6 @@ The address resolver for the class. - - - Gets the address of the ProcessZonePacketDown method. - - Gets the address of the ProcessZonePacketUp method. @@ -18128,6 +19058,11 @@ Gets the amount to arrive. + + + Gets or sets the offered catalog id used in this listing. + + Gets the offered item listings. @@ -18405,6 +19340,11 @@ Gets or sets Old Sharlayan's current tax rate. + + + Gets or sets Tuliyollal's current tax rate. + + A Universalis API structure. @@ -18506,45 +19446,12 @@ Internal address resolver for the network handlers. - - - Gets or sets the pointer to the method responsible for handling CfPop packets. - - - - - Gets or sets the pointer to the method responsible for handling market board history. In this case, we are - sigging the packet handler method directly. - - - - - Gets or sets the pointer to the method responsible for processing the market board purchase packet. In this - case, we are sigging the packet handler method directly. - - Gets or sets the pointer to the method responsible for custom talk events. Necessary for marketboard tax data, as this isn't really exposed anywhere else. - - - Gets or sets the pointer to the method responsible for the marketboard ItemRequestStart packet. - - - - - Gets or sets the pointer to the InfoProxyItemSearch.AddPage method, used to load market data. - - - - - Gets or sets the pointer to the method inside InfoProxyItemSearch that is responsible for building and sending - a purchase request packet. - - @@ -19509,6 +20416,12 @@ + + + + + + @@ -20390,6 +21303,56 @@ The Japanese Eorzea time icon unicode character. + + + The boxed, outlined number 0 icon unicode character. + + + + + The boxed, outlined number 1 icon unicode character. + + + + + The boxed, outlined number 2 icon unicode character. + + + + + The boxed, outlined number 3 icon unicode character. + + + + + The boxed, outlined number 4 icon unicode character. + + + + + The boxed, outlined number 5 icon unicode character. + + + + + The boxed, outlined number 6 icon unicode character. + + + + + The boxed, outlined number 7 icon unicode character. + + + + + The boxed, outlined number 8 icon unicode character. + + + + + The boxed, outlined number 9 icon unicode character. + + Extension methods for . @@ -20899,6 +21862,11 @@ A blue star icon with an orange exclamation mark. + + + The PlayStation Plus icon. + + The Disconnecting icon. @@ -21124,6 +22092,26 @@ The Waiting For Duty Finder icon. + + + The Tural flag icon. + + + + + The Viper icon. + + + + + The Pictomancer icon. + + + + + The Venture Delivery Moogle icon. + + An interface binding for a payload that can provide readable Text. @@ -21152,11 +22140,6 @@ Gets or sets a value indicating whether whether this payload has been modified since the last Encode(). - - - Gets the Lumina instance to use for any necessary data lookups. - - Decodes a binary representation of a payload into its corresponding nice object payload. @@ -21392,14 +22375,19 @@ - - Gets the plugin command ID to be linked. - + Gets the plugin command ID to be linked. + + + Gets an optional extra integer value 1. + + + Gets an optional extra integer value 2. - - Gets the plugin name to be linked. - + Gets the plugin name to be linked. + + + Gets an optional extra string. @@ -21573,11 +22561,8 @@ - Gets the underlying Lumina Item represented by this payload. + Gets the underlying Lumina data represented by this payload. This is either a Item or EventItem . - - The value is evaluated lazily and cached. - @@ -21648,17 +22633,11 @@ Gets the Map specified for this map link. - - The value is evaluated lazily and cached. - Gets the TerritoryType specified for this map link. - - The value is evaluated lazily and cached. - @@ -21823,9 +22802,6 @@ Gets the Lumina object representing the player's home server. - - Value is evaluated lazily and cached. - @@ -21875,9 +22851,6 @@ Gets the underlying Lumina Quest represented by this payload. - - The value is evaluated lazily and cached. - @@ -21985,9 +22958,6 @@ Gets the Lumina Status object represented by this payload. - - The value is evaluated lazily and cached. - @@ -22069,9 +23039,6 @@ Gets a Lumina UIColor object representing this payload. The actual color data is at UIColor.UIForeground. - - The value is evaluated lazily and cached. - @@ -22147,9 +23114,6 @@ Gets a Lumina UIColor object representing this payload. The actual color data is at UIColor.UIGlow. - - The value is evaluated lazily and cached. - @@ -22331,6 +23295,13 @@ Binary message payload data in SE's internal format. An SeString containing parsed Payload objects for each payload in the data. + + + Parse a binary game message into an SeString. + + Pointer to the string's data in memory. Needs to be null-terminated. + An SeString containing parsed Payload objects for each payload in the data. + Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log. @@ -22349,7 +23320,7 @@ An optional name override to display, instead of the actual item name. An SeString containing all the payloads necessary to display an item link in the chat log. - + Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log. @@ -22482,6 +23453,14 @@ The binary encoded payload data. + + + Encodes the Payloads in this SeString into a binary representation + suitable for use by in-game handlers, such as the chat log. + Includes a null terminator at the end of the string. + + The binary encoded payload data. + Get the text value of this SeString. @@ -23122,6 +24101,21 @@ The real offset of the signature, if found. true if the signature was found. + + + Scan for all matching byte signatures in the .text section. + + The Signature. + The list of real offsets of the found elements based on signature. + + + + Scan for all matching byte signatures in the .text section. + + The Signature. + Cancellation token. + Enumerable yielding the real offsets of the found elements based on signature. + Manages a hook which can be used to intercept a call to native function. @@ -23587,6 +24581,170 @@ + + Manages a hook that works by replacing the vtable of target object. + + + Extra data for overriden vtable entries, primarily for keeping references to delegates that are used + with . + + + Initializes a new instance of the class. + Address to vtable. Usually the address of the object itself. + Number of methods in this vtable. + + + Initializes a new instance of the class. + Address to vtable. Usually the address of the object itself. + Number of methods in this vtable. + + + Finalizes an instance of the class. + + + Gets the span view of original vtable. + + + Gets the span view of overriden vtable. + + + Gets the address of the pointer to the vtable. + + + Gets the address of the original vtable. + + + Gets the address of the overriden vtable. + + + Disables the hook. + + + + + + Enables the hook. + + + Gets the original method address of the given method index. + Index of the method. + Address of the original method. + + + Gets the original method of the given method index, as a delegate of given type. + Index of the method. + Type of delegate. + Delegate to the original method. + + + Resets a method to the original function. + Index of the method. + + + Sets a method in vtable to the given address of function. + Index of the method. + Address of the detour function. + Additional reference to keep in memory. + + + Sets a method in vtable to the given delegate. + Index of the method. + Detour delegate. + Type of delegate. + + + Sets a method in vtable to the given delegate. + Index of the method. + Detour delegate. + Original method delegate. + Type of delegate. + + + Creates a new instance of that manages one entry in the vtable hook. + Index of the method. + Detour delegate. + Type of delegate. + A new instance of . + Even if a single hook is enabled, without , the hook will remain disabled. + + + + + + + + + + + + + + + + + + + Typed version of . + VTable struct. + + + Initializes a new instance of the class. + Address to vtable. Usually the address of the object itself. + + + Gets the original vtable. + + + Gets the overriden vtable. + + + Gets the index of the method by method name. + Name of the method. + Index of the method. + + + Gets the original method address of the given method index. + Name of the method. + Address of the original method. + + + Gets the original method of the given method index, as a delegate of given type. + Name of the method. + Type of delegate. + Delegate to the original method. + + + Resets a method to the original function. + Name of the method. + + + Sets a method in vtable to the given address of function. + Name of the method. + Address of the detour function. + Additional reference to keep in memory. + + + Sets a method in vtable to the given delegate. + Name of the method. + Detour delegate. + Type of delegate. + + + Sets a method in vtable to the given delegate. + Name of the method. + Detour delegate. + Original method delegate. + Type of delegate. + + + Creates a new instance of that manages one entry in the vtable hook. + Name of the method. + Detour delegate. + Type of delegate. + A new instance of . + Even if a single hook is enabled, without , the hook will remain + disabled. + Reserved for future use. @@ -24396,6 +25554,17 @@ The amount to lighten. The desaturated color. + + Applies the given opacity value ranging from 0 to 1 to an uint value containing a RGBA value. + RGBA value to transform. + Opacity to apply. + Transformed value. + + + Swaps red and blue channels of a given color in ARGB(BB GG RR AA) and ABGR(RR GG BB AA). + Color to process. + Swapped color. + Fade a color. @@ -24639,12 +25808,13 @@ The text to display on hover. - + HelpMarker component to add a custom icon with text on hover. The text to display on hover. The icon to use. + The color of the icon. @@ -24653,40 +25823,43 @@ The icon for the button. Indicator if button is clicked. - + IconButton component to use an icon as a button. - The ID of the button. The icon for the button. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. - + IconButton component to use an icon as a button. - The ID of the button. The icon for the button. + The default color of the button. + The color of the button when active. + The color of the button when hovered. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. - + IconButton component to use an icon as a button. - Text already containing the icon string. + The ID of the button. + The icon for the button. Indicator if button is clicked. - + IconButton component to use an icon as a button. + The ID of the button. The icon for the button. - The default color of the button. - The color of the button when active. - The color of the button when hovered. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. - + IconButton component to use an icon as a button with color options. @@ -24695,9 +25868,27 @@ The default color of the button. The color of the button when active. The color of the button when hovered. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. - + + + IconButton component to use an icon as a button. + + The ID of the button. + The icon for the button. + Indicator if button is clicked. + + + + IconButton component to use an icon as a button. + + The ID of the button. + The icon for the button. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. + Indicator if button is clicked. + + IconButton component to use an icon as a button with color options. @@ -24706,29 +25897,37 @@ The default color of the button. The color of the button when active. The color of the button when hovered. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. - + - IconButton component to use an icon as a button with color options. + IconButton component to use an icon as a button. Text already containing the icon string. - The default color of the button. - The color of the button when active. - The color of the button when hovered. Indicator if button is clicked. - + + + IconButton component to use an icon as a button. + + Text already containing the icon string. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. + Indicator if button is clicked. + + IconButton component to use an icon as a button with color options. - Icon to show. - Text to show. + Text already containing the icon string. The default color of the button. The color of the button when active. The color of the button when hovered. + Sets the size of the button. If either dimension is set to 0, that dimension will conform to the size of the icon. Indicator if button is clicked. + + Get width of IconButtonWithText component. @@ -24737,6 +25936,37 @@ Text to use. Width. + + + A radio-like input that uses icon buttons. + + The type of the value being set. + Text that will be used to generate individual labels for the buttons. + The value to set. + The icons that will be displayed on each button. + The options that each button will apply. + Arranges the buttons in a grid with the given number of columns. 0 = ignored (all buttons drawn in one row). + Sets the size of all buttons. If either dimension is set to 0, that dimension will conform to the size of the icon. + The default color of the button range. + The color of the actively-selected button. + The color of the buttons when hovered. + True if any button is clicked. + + + + A radio-like input that uses icon buttons. + + The type of the value being set. + Text that will be used to generate individual labels for the buttons. + The value to set. + A list of all icon/option pairs. + Arranges the buttons in a grid with the given number of columns. 0 = ignored (all buttons drawn in one row). + Sets the size of all buttons. If either dimension is set to 0, that dimension will conform to the size of the icon. + The default color of the button range. + The color of the actively-selected button. + The color of the buttons when hovered. + True if any button is clicked. + Test component to demonstrate how ImGui components work. @@ -34387,6 +35617,1351 @@ The coordinates of the top left of the icon area. The coordinates of the bottom right of the icon area. + + Game font data file. + + + Gets or sets the file header. + + + Gets or sets the entries. + + + + + + Attempts to get an entry. + The icon ID. + The entry. + Whether to follow redirects. + true if found. + + + Header of a .gfd file. + + + Signature: "gftd0100". + + + Number of entries. + + + Unused/unknown. + + + An entry of a .gfd file. + + + ID of the entry. + + + The left offset of the entry. + + + The top offset of the entry. + + + The width of the entry. + + + The height of the entry. + + + Unknown/unused. + + + The redirected entry, maybe. + + + Unknown/unused. + + + Gets a value indicating whether this entry is effectively empty. + + + Gets or sets the size of this entry. + + + Gets the UV0 of this entry. + + + Gets the UV1 of this entry. + + + Gets the UV0 of the HQ version of this entry. + + + Gets the UV1 of the HQ version of this entry. + + + Calculates the size in pixels of a GFD entry when drawn along with a text. + Font size in pixels. + Whether to draw the HQ texture. + Determined size of the GFD entry when drawn. + + + Color stacks to use while evaluating a SeString. + + + Parsed , containing colors to use with and + . + + + Foreground color stack while evaluating a SeString for rendering. + Touched only from the main thread. + + + Edge/border color stack while evaluating a SeString for rendering. + Touched only from the main thread. + + + Shadow color stack while evaluating a SeString for rendering. + Touched only from the main thread. + + + Initializes a new instance of the class. + UIColor sheet. + + + Gets a value indicating whether at least one color has been pushed to the edge color stack. + + + Resets the colors in the stack. + Draw state. + + + Handles a payload. + Draw state. + Payload to handle. + + + Handles a payload. + Draw state. + Payload to handle. + + + Handles a payload. + Draw state. + Payload to handle. + + + Handles a payload. + Draw state. + Payload to handle. + + + Handles a payload. + Draw state. + Payload to handle. + + + Draws SeString. + + + Soft hyphen character, which signifies that a word can be broken here, and will display a standard + hyphen when it is broken there. + + + Object replacement character, which signifies that there should be something else displayed in place + of this placeholder. On its own, usually displayed like [OBJ]. + + + Cache of compiled SeStrings from . + + + Parsed gfdata.gfd file, containing bitmap font icon lookup table. + + + Parsed text fragments from a SeString. + Touched only from the main thread. + + + Color stacks to use while evaluating a SeString for rendering. + Touched only from the main thread. + + + Splits a draw list so that different layers of a single glyph can be drawn out of order. + + + Finalizes an instance of the class. + + + + + + Compiles and caches a SeString from a text macro representation. + SeString text macro representation. + Newline characters will be normalized to newline payloads. + Compiled SeString. + + + Compiles and caches a SeString from a text macro representation, and then draws it. + SeString text macro representation. + Newline characters will be normalized to newline payloads. + Parameters for drawing. + ImGui ID, if link functionality is desired. + Button flags to use on link interaction. + Interaction result of the rendered text. + + + Draws a SeString. + SeString to draw. + Parameters for drawing. + ImGui ID, if link functionality is desired. + Button flags to use on link interaction. + Interaction result of the rendered text. + + + Draws a SeString. + SeString to draw. + Parameters for drawing. + ImGui ID, if link functionality is desired. + Button flags to use on link interaction. + Interaction result of the rendered text. + + + Gets the effective char for the given char, or null(\0) if it should not be handled at all. + Character to determine. + Corresponding rune. + Whether to display soft hyphens. + Rune corresponding to the unicode codepoint to process, or null(\0) if none. + + + Creates text fragment, taking line and word breaking into account. + Draw state. + + + Draws a text fragment. + Draw state. + Offset of left top corner of this text fragment in pixels w.r.t. + . + Whether to display soft hyphens in this text fragment. + Byte span of the SeString fragment to draw. + Rune that preceded this text fragment in the same line, or 0 if none. + Byte offset of the link payload that decorates this text fragment in + , or -1 if none. + + + Determines a bitmap icon to display for the given SeString payload. + Byte span that should include a SeString payload. + Icon to display, or if it should not be displayed as an icon. + + + Creates a text fragment. + Draw state. + Starting byte offset (inclusive) in that this fragment + deals with. + Ending byte offset (exclusive) in that this fragment deals + with. + Whether to break line after this fragment. + Offset in pixels w.r.t. . + Byte offset of the link payload in that + decorates this text fragment. + Entity to display in place of this fragment. + Optional wrap width to stop at while creating this text fragment. Note that at least + one visible character needs to be there in a single text fragment, in which case it is allowed to exceed + the wrap width. + Newly created text fragment. + + + Represents a text fragment in a SeString span. + Starting byte offset (inclusive) in a SeString. + Ending byte offset (exclusive) in a SeString. + Byte offset of the link that decorates this text fragment, or -1 if none. + Offset in pixels w.r.t. . + Replacement entity, if any. + Visible width of this text fragment. This is the width required to draw everything + without clipping. + Advance width of this text fragment. This is the width required to add to the cursor + to position the next fragment correctly. + Same with , but trimming all the + trailing soft hyphens. + Whether to insert a line break after this text fragment. + Whether this text fragment ends with one or more soft hyphens. + First rune in this text fragment. + Last rune in this text fragment, for the purpose of calculating kerning distance with + the following text fragment in the same line, if any. + + + Represents a text fragment in a SeString span. + Starting byte offset (inclusive) in a SeString. + Ending byte offset (exclusive) in a SeString. + Byte offset of the link that decorates this text fragment, or -1 if none. + Offset in pixels w.r.t. . + Replacement entity, if any. + Visible width of this text fragment. This is the width required to draw everything + without clipping. + Advance width of this text fragment. This is the width required to add to the cursor + to position the next fragment correctly. + Same with , but trimming all the + trailing soft hyphens. + Whether to insert a line break after this text fragment. + Whether this text fragment ends with one or more soft hyphens. + First rune in this text fragment. + Last rune in this text fragment, for the purpose of calculating kerning distance with + the following text fragment in the same line, if any. + + + Starting byte offset (inclusive) in a SeString. + + + Ending byte offset (exclusive) in a SeString. + + + Byte offset of the link that decorates this text fragment, or -1 if none. + + + Offset in pixels w.r.t. . + + + Replacement entity, if any. + + + Visible width of this text fragment. This is the width required to draw everything + without clipping. + + + Advance width of this text fragment. This is the width required to add to the cursor + to position the next fragment correctly. + + + Same with , but trimming all the + trailing soft hyphens. + + + Whether to insert a line break after this text fragment. + + + Whether this text fragment ends with one or more soft hyphens. + + + First rune in this text fragment. + + + Last rune in this text fragment, for the purpose of calculating kerning distance with + the following text fragment in the same line, if any. + + + Enumerates line break offsets. + + + Initializes a new instance of the struct. + UTF-N byte sequence. + Flags to pass to sub-enumerator. + + + + + + Gets a value indicating whether the end of the underlying span has been reached. + + + Resumes enumeration with the given data. + The data. + Offset to add to .ByteOffset. + + + + + + + + + Stores unicode data. + + + Line break classes. + + + East asian width classes. + + + General categories. + + + Emoji properties. + + + Unicode east asian width. + + + East Asian Ambiguous. + + + East Asian Fullwidth. + + + East Asian Halfwidth. + + + Neutral. + + + East Asian Narrow. + + + East Asian Wide. + + + Unicode emoji property. + + + Characters that are emoji. + + + Characters that have emoji presentation by default. + + + Characters that are emoji modifiers. + + + Characters that can serve as a base for emoji modifiers. + + + Characters used in emoji sequences that normally do not appear on emoji keyboards as separate choices, + such as keycap base characters or Regional_Indicator characters. + + + Characters that are used to future-proof segmentation. + + + Unicode general category.. + + + + Uppercase_Letter; an uppercase letter. + + + Lowercase_Letter; a lowercase letter. + + + Titlecase_Letter; a digraph encoded as a single character, with first part uppercase. + + + Modifier_Letter; a modifier letter. + + + Other_Letter; other letters, including syllables and ideographs. + + + Nonspacing_Mark; a nonspacing combining mark (zero advance width). + + + Spacing_Mark; a spacing combining mark (positive advance width). + + + Enclosing_Mark; an enclosing combining mark. + + + Decimal_Number; a decimal digit. + + + Letter_Number; a letterlike numeric character. + + + Other_Number; a numeric character of other type. + + + Connector_Punctuation; a connecting punctuation mark, like a tie. + + + Dash_Punctuation; a dash or hyphen punctuation mark. + + + Open_Punctuation; an opening punctuation mark (of a pair). + + + Close_Punctuation; a closing punctuation mark (of a pair). + + + Initial_Punctuation; an initial quotation mark. + + + Final_Punctuation; a final quotation mark. + + + Other_Punctuation; a punctuation mark of other type. + + + Math_Symbol; a symbol of mathematical use. + + + Currency_Symbol; a currency sign. + + + Modifier_Symbol; a non-letterlike modifier symbol. + + + Other_Symbol; a symbol of other type. + + + Space_Separator; a space character (of various non-zero widths). + + + Line_Separator; U+2028 LINE SEPARATOR only. + + + Paragraph_Separator; U+2029 PARAGRAPH SEPARATOR only. + + + Control; a C0 or C1 control code. + + + Format; a format control character. + + + Surrogate; a surrogate code point. + + + Private_Use; a private-use character. + + + Unassigned; a reserved unassigned code point or a noncharacter. + + + Unicode line break class. + + + Start of text. + + + End of text. + + + Mandatory Break; NL, PARAGRAPH SEPARATOR; Cause a line break (after). + + + Carriage Return; CR; Cause a line break (after), except between CR and LF. + + + Line Feed; LF; Cause a line break (after). + + + Combining Mark; Combining marks, control codes; Prohibit a line break between the character and the preceding character. + + + Next Line; NEL; Cause a line break (after). + + + Surrogate; Surrogates; Do not occur in well-formed text. + + + Word Joiner; WJ; Prohibit line breaks before and after. + + + Zero Width Space; ZWSP; Provide a break opportunity. + + + Non-breaking (“Glue”); CGJ, NBSP, ZWNBSP; Prohibit line breaks before and after. + + + Space; SPACE; Enable indirect line breaks. + + + Zero Width Joiner; Zero Width Joiner; Prohibit line breaks within joiner sequences. + + + Break Opportunity Before and After; Em dash; Provide a line break opportunity before and after the character. + + + Break After; Spaces, hyphens; Generally provide a line break opportunity after the character. + + + Break Before; Punctuation used in dictionaries; Generally provide a line break opportunity before the character. + + + Hyphen; HYPHEN-MINUS; Provide a line break opportunity after the character, except in numeric context. + + + Contingent Break Opportunity; Inline objects; Provide a line break opportunity contingent on additional information. + + + Close Punctuation; “}”, “❳”, “⟫” etc.; Prohibit line breaks before. + + + Close Parenthesis; “)”, “]”; Prohibit line breaks before. + + + Exclamation/Interrogation; “!”, “?”, etc.; Prohibit line breaks before. + + + Inseparable; Leaders; Allow only indirect line breaks between pairs. + + + Nonstarter; “‼”, “‽”, “⁇”, “⁉”, etc.; Allow only indirect line breaks before. + + + Open Punctuation; “(“, “[“, “{“, etc.; Prohibit line breaks after. + + + Quotation; Quotation marks; Act like they are both opening and closing. + + + Infix Numeric Separator; . ,; Prevent breaks after any and before numeric. + + + Numeric; Digits; Form numeric expressions for line breaking purposes. + + + Postfix Numeric; %, ¢; Do not break following a numeric expression. + + + Prefix Numeric; $, £, ¥, etc.; Do not break in front of a numeric expression. + + + Symbols Allowing Break After; /; Prevent a break before, and allow a break after. + + + Ambiguous (Alphabetic or Ideographic); Characters with Ambiguous East Asian Width; Act like AL when the resolved EAW is N; otherwise, act as ID. + + + Aksara; Consonants; Form orthographic syllables in Brahmic scripts. + + + Alphabetic; Alphabets and regular symbols; Are alphabetic characters or symbols that are used with alphabetic characters. + + + Aksara Pre-Base; Pre-base repha; Form orthographic syllables in Brahmic scripts. + + + Aksara Start; Independent vowels; Form orthographic syllables in Brahmic scripts. + + + Conditional Japanese Starter; Small kana; Treat as NS or ID for strict or normal breaking. + + + Emoji Base; All emoji allowing modifiers; Do not break from following Emoji Modifier. + + + Emoji Modifier; Skin tone modifiers; Do not break from preceding Emoji Base. + + + Hangul LV Syllable; Hangul; Form Korean syllable blocks. + + + Hangul LVT Syllable; Hangul; Form Korean syllable blocks. + + + Hebrew Letter; Hebrew; Do not break around a following hyphen; otherwise act as Alphabetic. + + + Ideographic; Ideographs; Break before or after, except in some numeric context. + + + Hangul L Jamo; Conjoining jamo; Form Korean syllable blocks. + + + Hangul V Jamo; Conjoining jamo; Form Korean syllable blocks. + + + Hangul T Jamo; Conjoining jamo; Form Korean syllable blocks. + + + Regional Indicator; REGIONAL INDICATOR SYMBOL LETTER A .. Z; Keep pairs together. For pairs, break before and after other classes. + + + Complex Context Dependent (South East Asian); South East Asian: Thai, Lao, Khmer; Provide a line break opportunity contingent on additional, language-specific context analysis. + + + Virama Final; Viramas for final consonants; Form orthographic syllables in Brahmic scripts. + + + Virama; Conjoining viramas; Form orthographic syllables in Brahmic scripts. + + + Unknown; Most unassigned, private-use; Have as yet unknown line breaking behavior or unassigned code positions. + + + Enumerates a UTF-N byte sequence by codepoint. + + + Initializes a new instance of the struct. + UTF-N byte sequence. + Enumeration flags. + + + + + + Creates a new instance of the struct. + UTF-N byte sequence. + Enumeration flags. + A new enumerator. + + + Creates a new instance of the struct. + UTF-N byte sequence. + Enumeration flags. + A new enumerator. + + + Gets the representative char for a given SeString macro code. + The macro code. + Representative char, or if none. + + + Attempts to peek the next item. + Retrieved next item. + Whether it still should be parsed in big endian. + true if anything is retrieved. + The sequence is not a fully valid Unicode sequence, and + is set. + + + + + + + + + A part of a UTF-N sequence containing one codepoint. + + + The codepoint. Valid if is false. + + + The macro code. Valid if is true. + + + The offset of this part of a UTF-8 sequence. + + + The length of this part of a UTF-8 sequence. + This may not match , if is true. + + + + Whether this part of the UTF-8 sequence is broken. + + + Whether this part of the SeString sequence is a payload. + + + Storage at byte offset 0, for fast implementation. + + + Storage at byte offset 8, for fast implementation. + + + Initializes a new instance of the struct. + The value. + The byte offset of this part of a UTF-N sequence. + The byte length of this part of a UTF-N sequence. + Whether this part of the UTF-N sequence is broken. + Whether this part of the SeString sequence is a payload. + + + Gets the effective char value, with invalid or non-representable codepoints replaced. + + if the character should not be displayed at all. + + + Gets the effective int value, with invalid codepoints replaced. + if the character should not be displayed at all. + + + Gets the effective value, with invalid codepoints replaced. + if the character should not be displayed at all. + + + Creates a new instance of the struct from a Unicode value. + The codepoint. + The byte offset of this part of a UTF-N sequence. + The byte length of this part of a UTF-N sequence. + Whether this part of the UTF-N sequence is broken. + A new instance. + + + Creates a new instance of the struct from a SeString payload. + The macro code. + The byte offset of this part of a UTF-N sequence. + The byte length of this part of a UTF-N sequence. + A new instance. + + + Tests whether this subsequence contains a valid Unicode codepoint. + true if this subsequence contains a valid Unicode codepoint. + + + + + + + + + + + + Flags on enumerating a unicode sequence. + + + Use the default configuration of and . + + + Enumerate as UTF-8 (the default.) + + + Enumerate as UTF-8 in a SeString. + + + Enumerate as UTF-16. + + + Enumerate as UTF-32. + + + Bitmask for specifying the encoding. + + + On error, replace to U+FFFD (REPLACEMENT CHARACTER, the default.) + + + On error, drop the invalid byte. + + + On error, stop the handling. + + + On error, throw an exception. + + + Bitmask for specifying the error handling mode. + + + Use the current system native endianness from + (the default.) + + + Use little endianness. + + + Use big endianness. + + + Bitmask for specifying endianness. + + + Disrespect byte order mask. + + + Yield byte order masks, if it shows up. + + + Represents a single value to be used in a UTF-N byte sequence. + + + The unicode codepoint in int, that may not be in a valid range. + + + The unicode codepoint in uint, that may not be in a valid range. + + + The high UInt16 value in char, that may have been cut off if outside BMP. + + + Initializes a new instance of the struct. + The raw codepoint value. + + + + + + Gets the length of this codepoint, encoded in UTF-8. + + + Gets the length of this codepoint, encoded in UTF-16. + + + Gets the short name, if supported. + The buffer containing the short name, or empty if unsupported. + + + Gets the short name of the codepoint, for some select codepoints. + The codepoint. + The value. + + + Gets the length of the codepoint, when encoded in UTF-8. + The codepoint to encode. + The length. + + + Gets the length of the codepoint, when encoded in UTF-16. + The codepoint to encode. + The length. + + + + Trims at beginning by . + + + Attempts to decode a value from a UTF-8 byte sequence. + The span to decode from. + The decoded value. + The length of the consumed bytes. 1 if sequence is broken. + true if is successfully decoded. + Codepoints that results in false from can still be returned, + including unpaired surrogate characters, or codepoints above U+10FFFFF. This function returns a value only + indicating whether the sequence could be decoded into a number, without being too short. + + + + Trims at beginning by . + + + Attempts to decode a value from a UTF-16 byte sequence. + The span to decode from. + Whether to use big endian. + The decoded value. + The length of the consumed bytes. 1 if cut short. + 2 if sequence is broken. + true if is successfully decoded. + Codepoints that results in false from can still be returned, + including unpaired surrogate characters, or codepoints above U+10FFFFF. This function returns a value only + indicating whether the sequence could be decoded into a number, without being too short. + + + + Trims at beginning by . + + + Attempts to decode a value from a UTF-32 byte sequence. + The span to decode from. + Whether to use big endian. + The decoded value. + The length of the consumed bytes. 1 to 3 if cut short. + 4 if sequence is broken. + true if is successfully decoded. + Codepoints that results in false from can still be returned, + including unpaired surrogate characters, or codepoints above U+10FFFFF. This function returns a value only + indicating whether the sequence could be decoded into a number, without being too short. + + + Encodes the codepoint to the target in UTF-8. + The target stream. + The codepoint to encode. + The length of the encoded data. + Trims at beginning by the length. + + + Encodes the codepoint to the target in UTF-8. + The target byte span. + The codepoint to encode. + The length of the encoded data. + Trims at beginning by the length. + + + Encodes the codepoint to the target in UTF-8. + The optional target byte span. + The codepoint to encode. + The length of the encoded data. + The remaning region of . + + + Encodes the codepoint to the target in UTF-16. + The target stream. + The codepoint to encode. + Whether to use big endian. + The length of the encoded data. + Trims at beginning by the length. + + + Encodes the codepoint to the target in UTF-16. + The target byte span. + The codepoint to encode. + Whether to use big endian. + The length of the encoded data. + Trims at beginning by the length. + + + Encodes the codepoint to the target in UTF-16. + The optional target byte span. + The codepoint to encode. + Whether to use big endian. + The length of the encoded data. + The remaning region of . + + + + + + + + + + + + + + + Attempts to get the corresponding rune. + The retrieved rune. + true if retrieved. + + + Encodes the codepoint to the target. + The target byte span. + The remaning region of . + + + Predefined channels for drawing onto, for out-of-order drawing. + + + Next draw operation on the draw list will be put below . + + + Next draw operation on the draw list will be put onto the background channel. + + + Next draw operation on the draw list will be put above . + + + Next draw operation on the draw list will be put below . + + + Next draw operation on the draw list will be put onto the shadow channel. + + + Next draw operation on the draw list will be put above . + + + Next draw operation on the draw list will be put below . + + + Next draw operation on the draw list will be put onto the edge channel. + + + Next draw operation on the draw list will be put above . + + + Next draw operation on the draw list will be put below . + + + Next draw operation on the draw list will be put onto the foreground channel. + + + Next draw operation on the draw list will be put above . + + + Render styles for a SeString. + + + Gets or sets the target draw list. + Target draw list, default(ImDrawListPtr) to not draw, or null to use + (the default). + If this value is set, will not be called, and ImGui ID will be ignored. + + + + Gets or sets the function to be called on every codepoint and payload for the purpose of offering + chances to draw something else instead of glyphs or SeString payload entities. + + + Gets or sets the screen offset of the left top corner. + Screen offset to draw at, or null to use . + + + Gets or sets the font to use. + Font to use, or null to use (the default). + + + Gets or sets the font size. + Font size in pixels, or 0 to use the current ImGui font size . + + + + Gets or sets the line height ratio. + 1 or null (the default) will use as the line height. + 2 will make line height twice the . + + + Gets or sets the wrapping width. + Width in pixels, or null to wrap at the end of available content region from + (the default). + + + Gets or sets the thickness of underline under links. + + + Gets or sets the opacity, commonly called "alpha". + Opacity value ranging from 0(invisible) to 1(fully visible), or null to use the current ImGui + opacity from accessed using . + + + Gets or sets the strength of the edge, which will have effects on the edge opacity. + Strength value ranging from 0(invisible) to 1(fully visible), or null to use the default value + of 0.25f that might be subject to change in the future. + + + Gets or sets the theme that will decide the colors to use for + and . + 0 to use colors for Dark theme, 1 to use colors for Light theme, 2 to use colors + for Classic FF theme, 3 to use colors for Clear Blue theme, or null to use the theme set from the + game configuration. + + + Gets or sets the color of the rendered text. + Color in RGBA, or null to use (the default). + + + Gets or sets the color of the rendered text edge. + Color in RGBA, or null to use opaque black (the default). + + + Gets or sets the color of the rendered text shadow. + Color in RGBA, or null to use opaque black (the default). + + + Gets or sets the background color of a link when hovered. + Color in RGBA, or null to use (the default). + + + Gets or sets the background color of a link when active. + Color in RGBA, or null to use (the default). + + + Gets or sets a value indicating whether to force the color of the rendered text edge. + If set, then and will be + ignored. + + + Gets or sets a value indicating whether the text is rendered bold. + + + Gets or sets a value indicating whether the text is rendered italic. + + + Gets or sets a value indicating whether the text is rendered with edge. + If an edge color is pushed with or + , it will be drawn regardless. Set to + true and set to 0 to fully disable edge. + + + Gets or sets a value indicating whether the text is rendered with shadow. + + + Gets the effective font. + + + Gets the effective line height in pixels. + + + Gets the effective opacity. + + + Represents the result of a rendered interactable SeString. + + + Gets the visible size of the text rendered/to be rendered. + + + Gets a value indicating whether a payload or the whole text has been clicked. + + + Gets the offset of the interacted payload, or -1 if none. + + + Gets the interacted payload envelope, or if none. + + + Gets the interacted payload, or null if none. + + + Calculated values from using ImGui styles. + + + Initializes a new instance of the struct. + Raw SeString byte span. + Instance of to initialize from. + Instance of to use. + Instance of ImGui Splitter to use. + + + + + + Gets the raw SeString byte span. + + + + + + + + + + + + + + + Gets the multiplier value for glyph metrics, so that it scales to . + Multiplied to , + , and distance values from + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a value indicating whether the edge should be drawn. + + + Gets a value indicating whether the edge should be drawn. + + + Gets a value indicating whether the edge should be drawn. + + + Sets the current channel in the ImGui draw list splitter. + Channel to switch to. + + + Draws a single texture. + ImGui texture ID to draw from. + Offset of the glyph in pixels w.r.t. . + Right bottom corner of the glyph w.r.t. its glyph origin in the target draw list. + Left top corner of the glyph w.r.t. its glyph origin in the source texture. + Right bottom corner of the glyph w.r.t. its glyph origin in the source texture. + Color of the glyph in RGBA. + + + Draws a single texture. + ImGui texture ID to draw from. + Offset of the glyph in pixels w.r.t. . + Left top corner of the glyph w.r.t. its glyph origin in the target draw list. + Right bottom corner of the glyph w.r.t. its glyph origin in the target draw list. + Left top corner of the glyph w.r.t. its glyph origin in the source texture. + Right bottom corner of the glyph w.r.t. its glyph origin in the source texture. + Color of the glyph in RGBA. + Transformation for and that will push + top and bottom pixels to apply faux italicization by and + respectively. + + + Draws a single glyph using current styling configurations. + Glyph to draw. + Offset of the glyph in pixels w.r.t. . + + + Draws an underline, for links. + Offset of the glyph in pixels w.r.t. + . + Advance width of the glyph. + + + Gets the glyph corresponding to the given codepoint. + An instance of that represents a character to display. + Corresponding glyph, or glyph of a fallback character specified from + . + + + Gets the glyph corresponding to the given codepoint. + An instance of that represents a character to display, that will be + changed on return to the rune corresponding to the fallback glyph if a glyph not corresponding to the + requested glyph is being returned. + Corresponding glyph, or glyph of a fallback character specified from + . + + + Gets the kerning adjustment between two glyphs in a succession corresponding to the given runes. + + Rune representing the glyph on the left side of a pair. + Rune representing the glyph on the right side of a pair. + Distance adjustment in pixels, scaled to the size specified from + , and rounded. + + + Handles style adjusting payloads. + Payload to handle. + true if the payload was handled. + + + Splits the draw list. + + + Merges the draw list. + + + Replacement entity to draw instead while rendering a SeString. + + + Initializes a new instance of the struct. + Number of bytes taken by this entity. Must be at least 0. If 0, then the entity + is considered as empty. + Size of this entity in pixels. Components must be non-negative. + Draw callback. + + + Gets the replacement entity. + Draw state. + Byte offset in . + Replacement entity definition, or default if none. + + + Draws the replacement entity. + Draw state. + Byte offset in . + Relative offset in pixels w.r.t. . + + + Gets the number of bytes taken by this entity. + + + Gets the size of this entity in pixels. + + + Gets the Draw callback. + + + Gets a value indicating whether this entity is empty. + Instance of to test. + Class handling Dalamud core commands. @@ -34792,6 +37367,60 @@ This class manages interaction with the ImGui interface. + + This class manages interaction with the ImGui interface. + + + This class manages interaction with the ImGui interface. + + + + Delegate for DXGISwapChain::on_present(UINT flags, const DXGI_PRESENT_PARAMETERS *params) in + dxgi_swapchain.cpp. + Pointer to an instance of DXGISwapChain, which happens to be an + . + An integer value that contains swap-chain presentation options. These options are defined by + the DXGI_PRESENT constants. + Optional; DXGI present parameters. + + + Delegate for . + Microsoft + Learn. + Pointer to an instance of . + An integer that specifies how to synchronize presentation of a frame with the + vertical blank. + An integer value that contains swap-chain presentation options. These options are defined by + the DXGI_PRESENT constants. + A representing the result of the operation. + + + Detour function for . + + Microsoft Learn. + Pointer to an instance of . + The number of buffers in the swap chain (including all back and front buffers). + This number can be different from the number of buffers with which you created the swap chain. This number + can't be greater than . Set this number to zero to preserve the + existing number of buffers in the swap chain. You can't specify less than two buffers for the flip presentation + model. + The new width of the back buffer. If you specify zero, DXGI will use the width of the client + area of the target window. You can't specify the width as zero if you called the + method to create the swap chain for a composition + surface. + The new height of the back buffer. If you specify zero, DXGI will use the height of the + client area of the target window. You can't specify the height as zero if you called the + method to create the swap chain for a composition + surface. + A DXGI_FORMAT-typed value for the new format of the back buffer. Set this value to + to preserve the existing format of the back buffer. The flip + presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model. + A combination of -typed values that are combined + by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior. + A representing the result of the operation. + + + Represents DXGISwapChain in ReShade. @@ -34813,540 +37442,3280 @@ This event gets called when ResizeBuffers is called. - + + + Gets or sets an action that is executed right after fonts are rebuilt. + + + + + Gets the default ImGui font.
+ Accessing this static property outside of the main thread is dangerous and not supported. +
+
+ + + Gets an included FontAwesome icon font.
+ Accessing this static property outside of the main thread is dangerous and not supported. +
+
+ + + Gets an included FontAwesome icon font with fixed width. + Accessing this static property outside of the main thread is dangerous and not supported. + + + + + Gets an included monospaced font.
+ Accessing this static property outside of the main thread is dangerous and not supported. +
+
+ + + Gets the default font handle. + + + + + Gets the icon font handle. + + + + + Gets the icon font handle with fixed width. + + + + + Gets the mono font handle. + + + + + Gets or sets the pointer to ImGui.IO(), when it was last used. + + + + + Gets the DX11 scene. + + + + + Gets the D3D11 device instance. + + + + + Gets the address handle to the main process window. + + + + + Gets or sets a value indicating whether or not the game's cursor should be overridden with the ImGui cursor. + + + + + Gets a value indicating whether the Dalamud interface ready to use. + + + + + Gets or sets a value indicating whether or not Draw events should be dispatched. + + + + Gets a value indicating whether the main thread is executing . + This still will be true even when queried off the main thread. + + + + Gets a value indicating the native handle of the game main window. + + + + + Gets the font build task. + + + + Gets the number of calls to so far. + + The value increases even when Dalamud is hidden via "/xlui hide". + does not. + + + + + Dispose of managed and unmanaged resources. + + + + + Sets up a deferred invocation of font rebuilding, before the next render frame. + + + + + Enqueue a texture to be disposed at the end of the frame. + + The texture. + + + + Enqueue an to be disposed at the end of the frame. + + The disposable. + + + Queues an action to be run before call. + The action. + A that resolves once is run. + + + Queues a function to be run before call. + The type of the return value. + The function. + A that resolves once is run. + + + Queues an action to be run after call. + The action. + A that resolves once is run. + + + Queues a function to be run after call. + The type of the return value. + The function. + A that resolves once is run. + + + + Get video memory information. + + The currently used video memory, or null if not available. + + + + Clear font, style, and color stack. Dangerous, only use when you know + no one else has something pushed they may try to pop. + + + + + Toggle Windows 11 immersive mode on the game window. + + Value. + + + Checks if the provided swap chain is the target that Dalamud should draw its interface onto, + and initializes ImGui for drawing. + The swap chain to test and initialize ImGui with if conditions are met. + Flags passed to . + An initialized instance of , or null if + is not the main swap chain. + + + Draws Dalamud to the given scene representing the ImGui context. + The scene to draw to. + + + + Represents an instance of InstanceManager with scene ready for use. + + + + + Initializes a new instance of the class. + + An instance of . + + + + Gets the associated InterfaceManager. + + + + + Offsets to various data in ImGui context. + + + Last updated for ImGui 1.83. + + + + + Report ImGui problems with a MessageBox dialog. + + + + + Gets or sets a value indicating whether asserts are enabled for ImGui. + + + + + Create a snapshot of the current ImGui context. + Should be called before rendering an ImGui frame. + + A snapshot of the current context. + + + + Compare a snapshot to the current post-draw state and report any errors in a MessageBox dialog. + + The source of any problems, something to blame. + ImGui context snapshot. + + + + A snapshot of various ImGui context properties. + + + + + Gets the ImGui style var stack size. + + + + + Gets the ImGui color stack size. + + + + + Gets the ImGui font stack size. + + + + + Gets the ImGui begin popup stack size. + + + + + Gets the ImGui window stack size. + + + + + Manage category filters for PluginInstallerWindow. + + + + + First categoryId for tag based categories. + + + + + Type of category group. + + + + + UI group: dev mode only. + + + + + UI group: installed plugins. + + + + + UI group: plugins that can be installed. + + + + + UI group: changelog of plugins. + + + + + Type of category. + + + + + All plugins. + + + + + Plugins currently being tested. + + + + + Plugins available for testing. + + + + + Plugins that were hidden. + + + + + Installed dev plugins. + + + + + Icon tester. + + + + + Changelogs for Dalamud. + + + + + Changelogs for plugins. + + + + + Change plugin profiles. + + + + + Updateable plugins. + + + + + Plugins tagged as "other". + + + + + Plugins tagged as "jobs". + + + + + Plugins tagged as "ui". + + + + + Plugins tagged as "minigames". + + + + + Plugins tagged as "inventory". + + + + + Plugins tagged as "sound". + + + + + Plugins tagged as "social". + + + + + Plugins tagged as "utility". + + + + + Gets the list of all known categories. + + + + + Gets the list of all known UI groups. + + + + + Gets or sets the current group kind. + + + + + Gets information about currently selected group. + + + + + Gets or sets the current category kind. + + + + + Gets information about currently selected category. + + + + + Gets a value indicating whether current group + category selection changed recently. + Changes in Available group should be followed with , everything else can use . + + + + + Gets a value indicating whether and are valid. + + + + + Rebuild available categories based on currently available plugins. + + list of all available plugin manifests to install. + + + + Filters list of available plugins based on currently selected category. + Resets . + + List of available plugins to install. + Filtered list of plugins. + + + + Clears flag, indicating that all cached values about currently selected group + category have been updated. + + + + + Sets category highlight based on list of plugins. Used for searching. + + List of plugins whose categories should be highlighted. + + + + Checks if category should be highlighted. + + CategoryKind to check. + true if highlight is needed. + + + + Plugin installer category info. + + + + + Unique Id number of category, tag match based should be greater of equal . + + + + + Tag from plugin manifest to match. + + + + + Initializes a new instance of the struct. + + Kind of the category. + Tag to match. + Function returning localized name of category. + Condition to be checked when deciding whether this category should be shown. + + + + Conditions for categories. + + + + + Check no conditions. + + + + + Check if plugin testing is enabled. + + + + + Check if there are any hidden plugins. + + + + + Gets or sets the condition to be checked when rendering. + + + + + Gets the name of category. + + + + + Plugin installer UI group, a container for categories. + + + + + Type of group. + + + + + List of categories in container. + + + + + Initializes a new instance of the struct. + + Type of group. + Function returning localized name of category. + List of category Ids to hardcode. + + + + Gets the name of UI group. + + + + ReShade interface. + ReShade interface. + ReShade interface. + + + Supported events emitted by ReShade. + + + + Called after successful device creation, from: + + IDirect3D9::CreateDevice + IDirect3D9Ex::CreateDeviceEx + IDirect3DDevice9::Reset + IDirect3DDevice9Ex::ResetEx + D3D10CreateDevice + D3D10CreateDevice1 + D3D10CreateDeviceAndSwapChain + D3D10CreateDeviceAndSwapChain1 + D3D11CreateDevice + D3D11CreateDeviceAndSwapChain + D3D12CreateDevice + glMakeCurrent + vkCreateDevice + + Callback function signature: void (api::device *device) + + + + + Called on device destruction, before: + + IDirect3DDevice9::Reset + IDirect3DDevice9Ex::ResetEx + IDirect3DDevice9::Release + ID3D10Device::Release + ID3D11Device::Release + ID3D12Device::Release + wglDeleteContext + vkDestroyDevice + + Callback function signature: void (api::device *device) + + + + + Called after successful command list creation, from: + + ID3D11Device::CreateDeferredContext + ID3D11Device1::CreateDeferredContext1 + ID3D11Device2::CreateDeferredContext2 + ID3D11Device3::CreateDeferredContext3 + ID3D12Device::CreateCommandList + ID3D12Device4::CreateCommandList1 + vkAllocateCommandBuffers + + Callback function signature: void (api::command_list *cmd_list) + + + In case of D3D9, D3D10, D3D11 and OpenGL this is called during device initialization as well and behaves as if an implicit immediate command list was created. + + + + + Called on command list destruction, before: + + ID3D11CommandList::Release + ID3D12CommandList::Release + vkFreeCommandBuffers + + Callback function signature: void (api::command_list *cmd_list) + + + + + Called after successful command queue creation, from: + + ID3D12Device::CreateCommandQueue + vkCreateDevice (for every queue associated with the device) + + Callback function signature: void (api::command_queue *queue) + + + In case of D3D9, D3D10, D3D11 and OpenGL this is called during device initialization as well and behaves as if an implicit command queue was created. + + + + + Called on command queue destruction, before: + + ID3D12CommandQueue::Release + vkDestroyDevice (for every queue associated with the device) + + Callback function signature: void (api::command_queue *queue) + + + + + Called after successful swap chain creation, from: + + IDirect3D9::CreateDevice (for the implicit swap chain) + IDirect3D9Ex::CreateDeviceEx (for the implicit swap chain) + IDirect3D9Device::CreateAdditionalSwapChain + IDXGIFactory::CreateSwapChain + IDXGIFactory2::CreateSwapChain(...) + wglMakeCurrent + wglSwapBuffers (after window was resized) + vkCreateSwapchainKHR + xrCreateSession + + In addition, called when swap chain is resized, after: + + IDirect3DDevice9::Reset (for the implicit swap chain) + IDirect3DDevice9Ex::ResetEx (for the implicit swap chain) + IDXGISwapChain::ResizeBuffers + IDXGISwapChain3::ResizeBuffers1 + + Callback function signature: void (api::swapchain *swapchain) + + + + + Called on swap chain creation, before: + + IDirect3D9::CreateDevice (for the implicit swap chain) + IDirect3D9Ex::CreateDeviceEx (for the implicit swap chain) + IDirect3D9Device::CreateAdditionalSwapChain + IDirect3D9Device::Reset (for the implicit swap chain) + IDirect3D9DeviceEx::ResetEx (for the implicit swap chain) + IDXGIFactory::CreateSwapChain + IDXGIFactory2::CreateSwapChain(...) + IDXGISwapChain::ResizeBuffers + IDXGISwapChain3::ResizeBuffers1 + wglSetPixelFormat + vkCreateSwapchainKHR + + Callback function signature: bool (api::swapchain_desc &desc, void *hwnd) + + + To overwrite the swap chain description, modify desc in the callback and return , otherwise return . + + + + + Called on swap chain destruction, before: + + IDirect3DDevice9::Release (for the implicit swap chain) + IDirect3DSwapChain9::Release + IDXGISwapChain::Release + wglDeleteContext + wglSwapBuffers (after window was resized) + vkDestroySwapchainKHR + xrDestroySession + + In addition, called when swap chain is resized, before: + + IDirect3DDevice9::Reset (for the implicit swap chain) + IDirect3DDevice9Ex::ResetEx (for the implicit swap chain) + IDXGISwapChain::ResizeBuffers + IDXGISwapChain1::ResizeBuffers1 + + Callback function signature: void (api::swapchain *swapchain) + + + + + Called after effect runtime initialization (which happens after swap chain creation or a swap chain buffer resize). + Callback function signature: void (api::effect_runtime *runtime) + + + + + Called when an effect runtime is reset or destroyed. + Callback function signature: void (api::effect_runtime *runtime) + + + + + Called after successful sampler creation from: + + ID3D10Device::CreateSamplerState + ID3D11Device::CreateSamplerState + ID3D12Device::CreateSampler + vkCreateSampler + + Callback function signature: void (api::device *device, const api::sampler_desc &desc, api::sampler sampler) + + + Is not called in D3D9 (since samplers are loose state there) or OpenGL. + + + + + Called on sampler creation, before: + + ID3D10Device::CreateSamplerState + ID3D11Device::CreateSamplerState + ID3D12Device::CreateSampler + ID3D12Device::CreateRootSignature + vkCreateSampler + + Callback function signature: bool (api::device *device, api::sampler_desc &desc) + + + To overwrite the sampler description, modify desc in the callback and return , otherwise return . + Is not called in D3D9 (since samplers are loose state there) or OpenGL. + + + + + Called on sampler destruction, before: + + ID3D10SamplerState::Release + ID3D11SamplerState::Release + glDeleteSamplers + vkDestroySampler + + Callback function signature: void (api::device *device, api::sampler sampler) + + + Is not called in D3D9 (since samplers are loose state there), D3D12 (since samplers are descriptor handles instead of objects there) or OpenGL. + + + + + Called after successful resource creation from: + + IDirect3DDevice9::CreateVertexBuffer + IDirect3DDevice9::CreateIndexBuffer + IDirect3DDevice9::CreateTexture + IDirect3DDevice9::CreateCubeTexture + IDirect3DDevice9::CreateVolumeTexture + IDirect3DDevice9::CreateRenderTargetSurface + IDirect3DDevice9::CreateDepthStencilSurface + IDirect3DDevice9::CreateOffscreenPlainSurface + IDirect3DDevice9Ex::CreateRenderTargetSurfaceEx + IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx + IDirect3DDevice9Ex::CreateOffscreenPlainSurfaceEx + ID3D10Device::CreateBuffer + ID3D10Device::CreateTexture1D + ID3D10Device::CreateTexture2D + ID3D10Device::CreateTexture2D + ID3D11Device::CreateBuffer + ID3D11Device::CreateTexture1D + ID3D11Device::CreateTexture2D + ID3D11Device::CreateTexture3D + ID3D11Device3::CreateTexture2D + ID3D11Device3::CreateTexture3D + ID3D12Device::CreateCommittedResource + ID3D12Device::CreatePlacedResource + ID3D12Device::CreateReservedResource + ID3D12Device4::CreateCommittedResource1 + ID3D12Device4::CreateReservedResource1 + glBufferData + glBufferStorage + glNamedBufferData + glNamedBufferStorage + glTexImage1D + glTexImage2D + glTexImage2DMultisample + glTexImage3D + glTexImage3DMultisample + glCompressedTexImage1D + glCompressedTexImage2D + glCompressedTexImage3D + glTexStorage1D + glTexStorage2D + glTexStorage2DMultisample + glTexStorage3D + glTexStorage3DMultisample + glTextureStorage1D + glTextureStorage2D + glTextureStorage2DMultisample + glTextureStorage3D + glTextureStorage3DMultisample + glRenderbufferStorage + glRenderbufferStorageMultisample + glNamedRenderbufferStorage + glNamedRenderbufferStorageMultisample + vkBindBufferMemory + vkBindBufferMemory2 + vkBindImageMemory + vkBindImageMemory2 + + Callback function signature: void (api::device *device, const api::resource_desc &desc, const api::subresource_data *initial_data, api::resource_usage initial_state, api::resource resource) + + + May be called multiple times with the same resource handle (whenever the resource is updated or its reference count is incremented). + + + + + Called on resource creation, before: + + IDirect3DDevice9::CreateVertexBuffer + IDirect3DDevice9::CreateIndexBuffer + IDirect3DDevice9::CreateTexture + IDirect3DDevice9::CreateCubeTexture + IDirect3DDevice9::CreateVolumeTexture + IDirect3DDevice9::CreateRenderTargetSurface + IDirect3DDevice9::CreateDepthStencilSurface + IDirect3DDevice9::CreateOffscreenPlainSurface + IDirect3DDevice9Ex::CreateRenderTargetSurfaceEx + IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx + IDirect3DDevice9Ex::CreateOffscreenPlainSurfaceEx + ID3D10Device::CreateBuffer + ID3D10Device::CreateTexture1D + ID3D10Device::CreateTexture2D + ID3D10Device::CreateTexture2D + ID3D11Device::CreateBuffer + ID3D11Device::CreateTexture1D + ID3D11Device::CreateTexture2D + ID3D11Device::CreateTexture3D + ID3D11Device3::CreateTexture2D + ID3D11Device3::CreateTexture3D + ID3D12Device::CreateCommittedResource + ID3D12Device::CreatePlacedResource + ID3D12Device::CreateReservedResource + ID3D12Device4::CreateCommittedResource1 + ID3D12Device4::CreateReservedResource1 + glBufferData + glBufferStorage + glNamedBufferData + glNamedBufferStorage + glTexImage1D + glTexImage2D + glTexImage2DMultisample + glTexImage3D + glTexImage3DMultisample + glCompressedTexImage1D + glCompressedTexImage2D + glCompressedTexImage3D + glTexStorage1D + glTexStorage2D + glTexStorage2DMultisample + glTexStorage3D + glTexStorage3DMultisample + glTextureStorage1D + glTextureStorage2D + glTextureStorage2DMultisample + glTextureStorage3D + glTextureStorage3DMultisample + glRenderbufferStorage + glRenderbufferStorageMultisample + glNamedRenderbufferStorage + glNamedRenderbufferStorageMultisample + vkCreateBuffer + vkCreateImage + + Callback function signature: bool (api::device *device, api::resource_desc &desc, api::subresource_data *initial_data, api::resource_usage initial_state) + + + To overwrite the resource description, modify desc in the callback and return , otherwise return . + + + + + Called on resource destruction, before: + + IDirect3DResource9::Release + ID3D10Resource::Release + ID3D11Resource::Release + ID3D12Resource::Release + glDeleteBuffers + glDeleteTextures + glDeleteRenderbuffers + vkDestroyBuffer + vkDestroyImage + + Callback function signature: void (api::device *device, api::resource resource) + + + + + Called after successful resource view creation from: + + IDirect3DDevice9::CreateTexture + IDirect3DDevice9::CreateCubeTexture + IDirect3DDevice9::CreateVolumeTexture + ID3D10Device::CreateShaderResourceView + ID3D10Device::CreateRenderTargetView + ID3D10Device::CreateDepthStencilView + ID3D10Device1::CreateShaderResourceView1 + ID3D11Device::CreateShaderResourceView + ID3D11Device::CreateUnorderedAccessView + ID3D11Device::CreateRenderTargetView + ID3D11Device::CreateDepthStencilView + ID3D11Device3::CreateShaderResourceView1 + ID3D11Device3::CreateUnorderedAccessView1 + ID3D11Device3::CreateRenderTargetView1 + ID3D12Device::CreateShaderResourceView + ID3D12Device::CreateUnorderedAccessView + ID3D12Device::CreateRenderTargetView + ID3D12Device::CreateDepthStencilView + glTexBuffer + glTextureBuffer + glTextureView + vkCreateBufferView + vkCreateImageView + vkCreateAccelerationStructureKHR + + Callback function signature: void (api::device *device, api::resource resource, api::resource_usage usage_type, const api::resource_view_desc &desc, api::resource_view view) + + + May be called multiple times with the same resource view handle (whenever the resource view is updated). + + + + + Called on resource view creation, before: + + ID3D10Device::CreateShaderResourceView + ID3D10Device::CreateRenderTargetView + ID3D10Device::CreateDepthStencilView + ID3D10Device1::CreateShaderResourceView1 + ID3D11Device::CreateShaderResourceView + ID3D11Device::CreateUnorderedAccessView + ID3D11Device::CreateRenderTargetView + ID3D11Device::CreateDepthStencilView + ID3D11Device3::CreateShaderResourceView1 + ID3D11Device3::CreateUnorderedAccessView1 + ID3D11Device3::CreateRenderTargetView1 + ID3D12Device::CreateShaderResourceView + ID3D12Device::CreateUnorderedAccessView + ID3D12Device::CreateRenderTargetView + ID3D12Device::CreateDepthStencilView + glTexBuffer + glTextureBuffer + glTextureView + vkCreateBufferView + vkCreateImageView + vkCreateAccelerationStructureKHR + + Callback function signature: bool (api::device *device, api::resource resource, api::resource_usage usage_type, api::resource_view_desc &desc) + + + To overwrite the resource view description, modify desc in the callback and return , otherwise return . + Is not called in D3D9 (since resource views are tied to resources there). + + + + + Called on resource view destruction, before: + + IDirect3DResource9::Release + ID3D10View::Release + ID3D11View::Release + glDeleteTextures + vkDestroyBufferView + vkDestroyImageView + vkDestroyAccelerationStructureKHR + + Callback function signature: void (api::device *device, api::resource_view view) + + + Is not called in D3D12 (since resource views are descriptor handles instead of objects there). + + + + + Called after: + + IDirect3DVertexBuffer9::Lock + IDirect3DIndexBuffer9::Lock + ID3D10Resource::Map + ID3D11DeviceContext::Map + ID3D12Resource::Map + glMapBuffer + glMapBufferRange + glMapNamedBuffer + glMapNamedBufferRange + + Callback function signature: void (api::device *device, api::resource resource, uint64_t offset, uint64_t size, api::map_access access, void **data) + + + + + Called before: + + IDirect3DVertexBuffer9::Unlock + IDirect3DIndexBuffer9::Unlock + ID3D10Resource::Unmap + ID3D11DeviceContext::Unmap + ID3D12Resource::Unmap + glUnmapBuffer + glUnmapNamedBuffer + + Callback function signature: void (api::device *device, api::resource resource) + + + + + Called after: + + IDirect3DSurface9::LockRect + IDirect3DVolume9::LockBox + IDirect3DTexture9::LockRect + IDirect3DVolumeTexture9::LockBox + IDirect3DCubeTexture9::LockRect + ID3D10Resource::Map + ID3D11DeviceContext::Map + ID3D12Resource::Map + + Callback function signature: void (api::device *device, api::resource resource, uint32_t subresource, const api::subresource_box *box, api::map_access access, api::subresource_data *data) + + + + + Called before: + + IDirect3DSurface9::UnlockRect + IDirect3DVolume9::UnlockBox + IDirect3DTexture9::UnlockRect + IDirect3DVolumeTexture9::UnlockBox + IDirect3DCubeTexture9::UnlockRect + ID3D10Resource::Unmap + ID3D11DeviceContext::Unmap + ID3D12Resource::Unmap + + Callback function signature: void (api::device *device, api::resource resource, uint32_t subresource) + + + + + Called before: + + ID3D10Device::UpdateSubresource + ID3D11DeviceContext::UpdateSubresource + glBufferSubData + glNamedBufferSubData + + Callback function signature: bool (api::device *device, const void *data, api::resource resource, uint64_t offset, uint64_t size) + + + To prevent this command from being executed, return , otherwise return . + Destination resource will be in the state. + + + + + Called before: + + ID3D10Device::UpdateSubresource + ID3D11DeviceContext::UpdateSubresource + glTexSubData1D + glTexSubData2D + glTexSubData3D + glTextureSubData1D + glTextureSubData2D + glTextureSubData3D + glCompressedTexSubData1D + glCompressedTexSubData2D + glCompressedTexSubData3D + glCompressedTextureSubData1D + glCompressedTextureSubData2D + glCompressedTextureSubData3D + + Callback function signature: bool (api::device *device, const api::subresource_data &data, api::resource resource, uint32_t subresource, const api::subresource_box *box) + + + To prevent this command from being executed, return , otherwise return . + Destination resource will be in the state. + + + + + Called after successful pipeline creation from: + + IDirect3DDevice9::CreateVertexShader + IDirect3DDevice9::CreatePixelShader + IDirect3DDevice9::CreateVertexDeclaration + ID3D10Device::CreateVertexShader + ID3D10Device::CreateGeometryShader + ID3D10Device::CreateGeometryShaderWithStreamOutput + ID3D10Device::CreatePixelShader + ID3D10Device::CreateInputLayout + ID3D10Device::CreateBlendState + ID3D10Device::CreateDepthStencilState + ID3D10Device::CreateRasterizerState + ID3D10Device1::CreateBlendState1 + ID3D11Device::CreateVertexShader + ID3D11Device::CreateHullShader + ID3D11Device::CreateDomainShader + ID3D11Device::CreateGeometryShader + ID3D11Device::CreateGeometryShaderWithStreamOutput + ID3D11Device::CreatePixelShader + ID3D11Device::CreateComputeShader + ID3D11Device::CreateInputLayout + ID3D11Device::CreateBlendState + ID3D11Device::CreateDepthStencilState + ID3D11Device::CreateRasterizerState + ID3D11Device1::CreateBlendState1 + ID3D11Device1::CreateRasterizerState1 + ID3D11Device3::CreateRasterizerState2 + ID3D12Device::CreateComputePipelineState + ID3D12Device::CreateGraphicsPipelineState + ID3D12Device2::CreatePipelineState + ID3D12Device5::CreateStateObject + ID3D12Device7::AddToStateObject + ID3D12PipelineLibrary::LoadComputePipeline + ID3D12PipelineLibrary::LoadGraphicsPipeline + ID3D12PipelineLibrary1::LoadPipeline + glLinkProgram + vkCreateComputePipelines + vkCreateGraphicsPipelines + + Callback function signature: void (api::device *device, api::pipeline_layout layout, uint32_t subobject_count, const api::pipeline_subobject *subobjects, api::pipeline pipeline) + + + May be called multiple times with the same pipeline handle (whenever the pipeline is updated or its reference count is incremented). + + + + + Called on pipeline creation, before: + + IDirect3DDevice9::CreateVertexShader + IDirect3DDevice9::CreatePixelShader + IDirect3DDevice9::CreateVertexDeclaration + ID3D10Device::CreateVertexShader + ID3D10Device::CreateGeometryShader + ID3D10Device::CreateGeometryShaderWithStreamOutput + ID3D10Device::CreatePixelShader + ID3D10Device::CreateInputLayout + ID3D10Device::CreateBlendState + ID3D10Device::CreateDepthStencilState + ID3D10Device::CreateRasterizerState + ID3D10Device1::CreateBlendState1 + ID3D11Device::CreateVertexShader + ID3D11Device::CreateHullShader + ID3D11Device::CreateDomainShader + ID3D11Device::CreateGeometryShader + ID3D11Device::CreateGeometryShaderWithStreamOutput + ID3D11Device::CreatePixelShader + ID3D11Device::CreateComputeShader + ID3D11Device::CreateInputLayout + ID3D11Device::CreateBlendState + ID3D11Device::CreateDepthStencilState + ID3D11Device::CreateRasterizerState + ID3D11Device1::CreateBlendState1 + ID3D11Device1::CreateRasterizerState1 + ID3D11Device3::CreateRasterizerState2 + ID3D12Device::CreateComputePipelineState + ID3D12Device::CreateGraphicsPipelineState + ID3D12Device2::CreatePipelineState + ID3D12Device5::CreateStateObject + glShaderSource + vkCreateComputePipelines + vkCreateGraphicsPipelines + + Callback function signature: bool (api::device *device, api::pipeline_layout layout, uint32_t subobject_count, const api::pipeline_subobject *subobjects) + + + To overwrite the pipeline description, modify desc in the callback and return , otherwise return . + + + + + Called on pipeline destruction, before: + + ID3D10VertexShader::Release + ID3D10GeometryShader::Release + ID3D10PixelShader::Release + ID3D10InputLayout::Release + ID3D10BlendState::Release + ID3D10DepthStencilState::Release + ID3D10RasterizerState::Release + ID3D11VertexShader::Release + ID3D11HullShader::Release + ID3D11DomainShader::Release + ID3D11GeometryShader::Release + ID3D11PixelShader::Release + ID3D11ComputeShader::Release + ID3D11InputLayout::Release + ID3D11BlendState::Release + ID3D11DepthStencilState::Release + ID3D11RasterizerState::Release + ID3D12PipelineState::Release + ID3D12StateObject::Release + glDeleteProgram + vkDestroyPipeline + + Callback function signature: void (api::device *device, api::pipeline pipeline) + + + Is not called in D3D9. + + + + + Called after successful pipeline layout creation from: + + ID3D12Device::CreateRootSignature + vkCreatePipelineLayout + + Callback function signature: void (api::device *device, uint32_t param_count, const api::pipeline_layout_param *params, api::pipeline_layout layout) + + + In case of D3D9, D3D10, D3D11 and OpenGL this is called during device initialization as well and behaves as if an implicit global pipeline layout was created. + + + + + Called on pipeline layout creation, before: + + ID3D12Device::CreateRootSignature + vkCreatePipelineLayout + + Callback function signature: bool (api::device *device, uint32_t &param_count, api::pipeline_layout_param *&params) + + + Is not called in D3D9, D3D10, D3D11 or OpenGL. + + + + + Called on pipeline layout destruction, before: + + ID3D12RootSignature::Release + VkDestroyPipelineLayout + + Callback function signature: void (api::device *device, api::pipeline_layout layout) + + + + + Called before: + + ID3D12Device::CopyDescriptors + ID3D12Device::CopyDescriptorsSimple + vkUpdateDescriptorSets + + Callback function signature: bool (api::device *device, uint32_t count, const api::descriptor_table_copy *copies) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12Device::CreateConstantBufferView + ID3D12Device::CreateShaderResourceView + ID3D12Device::CreateUnorderedAccessView + ID3D12Device::CreateSampler + vkUpdateDescriptorSets + + Callback function signature: bool (api::device *device, uint32_t count, const api::descriptor_table_update *updates) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called after successful query heap creation from: + + ID3D12Device::CreateQueryHeap + vkCreateQueryPool + + Callback function signature: void (api::device *device, api::query_type type, uint32_t size, api::query_heap heap) + + + + + Called on query heap creation, before: + + ID3D12Device::CreateQueryHeap + vkCreateQueryPool + + Callback function signature: bool (api::device *device, api::query_type type, uint32_t &size) + + + + + Called on query heap destruction, before: + + ID3D12QueryHeap::Release + vkDestroyQueryPool + + Callback function signature: void (api::device *device, api::query_heap heap) + + + + + Called before: + + vkGetQueryPoolResults + + Callback function signature: bool (api::device *device, api::query_heap heap, uint32_t first, uint32_t count, void *results, uint32_t stride) + + + + + Called after: + + ID3D12GraphicsCommandList::ResourceBarrier + ID3D12GraphicsCommandList7::Barrier + vkCmdPipelineBarrier + vkCmdPipelineBarrier2 + + Callback function signature: void (api::command_list *cmd_list, uint32_t count, const api::resource *resources, const api::resource_usage *old_states, const api::resource_usage *new_states) + + + + + Called before: + + ID3D12GraphicsCommandList4::BeginRenderPass + vkCmdBeginRenderPass + vkCmdBeginRenderPass2 + vkCmdNextSubpass + vkCmdNextSubpass2 + vkCmdBeginRendering + + Callback function signature: void (api::command_list *cmd_list, uint32_t count, const api::render_pass_render_target_desc *rts, const api::render_pass_depth_stencil_desc *ds) + + + The depth-stencil description argument is optional and may be (which indicates that no depth-stencil is used). + + + + + Called before: + + ID3D12GraphicsCommandList4::EndRenderPass + vkCmdEndRenderPass + vkCmdEndRenderPass2 + vkCmdNextSubpass + vkCmdNextSubpass2 + vkCmdEndRendering + + Callback function signature: void (api::command_list *cmd_list) + + + + + Called after: + + IDirect3DDevice9::SetRenderTarget + IDirect3DDevice9::SetDepthStencilSurface + ID3D10Device::OMSetRenderTargets + ID3D11DeviceContext::OMSetRenderTargets + ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews + ID3D12GraphicsCommandList::OMSetRenderTargets + glBindFramebuffer + + Callback function signature: void (api::command_list *cmd_list, uint32_t count, const api::resource_view *rtvs, api::resource_view dsv) + + + + + Called after: + + IDirect3DDevice9::SetVertexShader + IDirect3DDevice9::SetPixelShader + IDirect3DDevice9::SetVertexDeclaration + IDirect3DDevice9::ProcessVertices + ID3D10Device::VSSetShader + ID3D10Device::GSSetShader + ID3D10Device::PSSetShader + ID3D10Device::IASetInputLayout + ID3D10Device::OMSetBlendState + ID3D10Device::OMSetDepthStencilState + ID3D10Device::RSSetState + ID3D11DeviceContext::VSSetShader + ID3D11DeviceContext::HSSetShader + ID3D11DeviceContext::DSSetShader + ID3D11DeviceContext::GSSetShader + ID3D11DeviceContext::PSSetShader + ID3D11DeviceContext::CSSetShader + ID3D11DeviceContext::IASetInputLayout + ID3D11DeviceContext::OMSetBlendState + ID3D11DeviceContext::OMSetDepthStencilState + ID3D11DeviceContext::RSSetState + ID3D12GraphicsCommandList::Reset + ID3D12GraphicsCommandList::SetPipelineState + ID3D12GraphicsCommandList4::SetPipelineState1 + glUseProgram + glBindVertexArray + vkCmdBindPipeline + + Callback function signature: void (api::command_list *cmd_list, api::pipeline_stage stages, api::pipeline pipeline) + + + + + Called after: + + IDirect3DDevice9::SetRenderState + ID3D10Device::IASetPrimitiveTopology + ID3D10Device::OMSetBlendState + ID3D10Device::OMSetDepthStencilState + ID3D11DeviceContext::IASetPrimitiveTopology + ID3D11DeviceContext::OMSetBlendState + ID3D11DeviceContext::OMSetDepthStencilState + ID3D12GraphicsCommandList::IASetPrimitiveTopology + ID3D12GraphicsCommandList::OMSetBlendFactor + ID3D12GraphicsCommandList::OMSetStencilRef + gl(...) + vkCmdSetDepthBias + vkCmdSetBlendConstants + vkCmdSetStencilCompareMask + vkCmdSetStencilWriteMask + vkCmdSetStencilReference + + Callback function signature: void (api::command_list *cmd_list, uint32_t count, const api::dynamic_state *states, const uint32_t *values) + + + + + Called after: + + IDirect3DDevice9::SetViewport + IDirect3DDevice9::SetRenderTarget (implicitly updates the viewport) + ID3D10Device::RSSetViewports + ID3D11DeviceContext::RSSetViewports + ID3D12GraphicsCommandList::RSSetViewports + glViewport + glViewportArrayv + glViewportIndexedf + glViewportIndexedfv + vkCmdSetViewport + + Callback function signature: void (api::command_list *cmd_list, uint32_t first, uint32_t count, const api::viewport *viewports) + + + + + Called after: + + IDirect3DDevice9::SetScissorRect + ID3D10Device::RSSetScissorRects + ID3D11DeviceContext::RSSetScissorRects + ID3D12GraphicsCommandList::RSSetScissorRects + glScissor + glScissorArrayv + glScissorIndexed + glScissorIndexedv + vkCmdSetScissor + + Callback function signature: void (api::command_list *cmd_list, uint32_t first, uint32_t count, const api::rect *rects) + + + + + Called after: + + IDirect3DDevice9::SetVertexShaderConstantF + IDirect3DDevice9::SetPixelShaderConstantF + ID3D12GraphicsCommandList::SetComputeRoot32BitConstant + ID3D12GraphicsCommandList::SetComputeRoot32BitConstants + ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstant + ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstants + glUniform(...) + vkCmdPushConstants + + Callback function signature: void (api::command_list *cmd_list, api::shader_stage stages, api::pipeline_layout layout, uint32_t layout_param, uint32_t first, uint32_t count, const void *values) + + + + + Called after: + + IDirect3DDevice9::SetTexture + ID3D10Device::VSSetSamplers + ID3D10Device::VSSetShaderResources + ID3D10Device::VSSetConstantBuffers + ID3D10Device::GSSetSamplers + ID3D10Device::GSSetShaderResources + ID3D10Device::GSSetConstantBuffers + ID3D10Device::PSSetSamplers + ID3D10Device::PSSetShaderResources + ID3D10Device::PSSetConstantBuffers + ID3D11DeviceContext::VSSetSamplers + ID3D11DeviceContext::VSSetShaderResources + ID3D11DeviceContext::VSSetConstantBuffers + ID3D11DeviceContext::HSSetSamplers + ID3D11DeviceContext::HSSetShaderResources + ID3D11DeviceContext::HSSetConstantBuffers + ID3D11DeviceContext::DSSetSamplers + ID3D11DeviceContext::DSSetShaderResources + ID3D11DeviceContext::DSSetConstantBuffers + ID3D11DeviceContext::GSSetSamplers + ID3D11DeviceContext::GSSetShaderResources + ID3D11DeviceContext::GSSetConstantBuffers + ID3D11DeviceContext::PSSetSamplers + ID3D11DeviceContext::PSSetShaderResources + ID3D11DeviceContext::PSSetConstantBuffers + ID3D11DeviceContext::CSSetSamplers + ID3D11DeviceContext::CSSetShaderResources + ID3D11DeviceContext::CSSetUnorderedAccessViews + ID3D11DeviceContext::CSSetConstantBuffers + ID3D12GraphicsCommandList::SetComputeRootConstantBufferView + ID3D12GraphicsCommandList::SetGraphicsRootConstantBufferView + ID3D12GraphicsCommandList::SetComputeRootShaderResourceView + ID3D12GraphicsCommandList::SetGraphicsRootShaderResourceView + ID3D12GraphicsCommandList::SetComputeRootUnorderedAccessView + ID3D12GraphicsCommandList::SetGraphicsRootUnorderedAccessView + glBindBufferBase + glBindBufferRange + glBindBuffersBase + glBindBuffersRange + glBindTexture + glBindImageTexture + glBindTextures + glBindImageTextures + glBindTextureUnit + glBindMultiTextureEXT + vkCmdPushDescriptorSetKHR + + Callback function signature: void (api::command_list *cmd_list, api::shader_stage stages, api::pipeline_layout layout, uint32_t layout_param, const api::descriptor_table_update &update) + + + + + Called after: + + ID3D12GraphicsCommandList::SetComputeRootSignature + ID3D12GraphicsCommandList::SetGraphicsRootSignature + ID3D12GraphicsCommandList::SetComputeRootDescriptorTable + ID3D12GraphicsCommandList::SetGraphicsRootDescriptorTable + vkCmdBindDescriptorSets + + Callback function signature: void (api::command_list *cmd_list, api::shader_stage stages, api::pipeline_layout layout, uint32_t first, uint32_t count, const api::descriptor_table *tables) + + + + + Called after: + + IDirect3DDevice9::SetIndices + ID3D10Device::IASetIndexBuffer + ID3D11DeviceContext::IASetIndexBuffer + ID3D12GraphicsCommandList::IASetIndexBuffer + glBindBuffer + vkCmdBindIndexBuffer + + Callback function signature: void (api::command_list *cmd_list, api::resource buffer, uint64_t offset, uint32_t index_size) + + + + + Called after: + + IDirect3DDevice9::SetStreamSource + ID3D10Device::IASetVertexBuffers + ID3D11DeviceContext::IASetVertexBuffers + ID3D12GraphicsCommandList::IASetVertexBuffers + glBindBuffer + glBindVertexBuffer + glBindVertexBuffers + vkCmdBindVertexBuffers + vkCmdBindVertexBuffers2 + + Callback function signature: void (api::command_list *cmd_list, uint32_t first, uint32_t count, const api::resource *buffers, const uint64_t *offsets, const uint32_t *strides) + + + The strides argument is optional and may be . + + + + + Called after: + + IDirect3DDevice9::ProcessVertices + ID3D10Device::SOSetTargets + ID3D11DeviceContext::SOSetTargets + ID3D12GraphicsCommandList::SOSetTargets + glBindBufferBase + glBindBufferRange + glBindBuffersBase + glBindBuffersRange + vkCmdBindTransformFeedbackBuffersEXT + + Callback function signature: void (api::command_list *cmd_list, uint32_t first, uint32_t count, const api::resource *buffers, const uint64_t *offsets, const uint64_t *max_sizes, const api::resource *counter_buffers, const uint64_t *counter_offsets) + + + The counter arguments are optional and may be . + + + + + Called before: + + IDirect3DDevice9::DrawPrimitive + IDirect3DDevice9::DrawPrimitiveUP + IDirect3DDevice9::ProcessVertices + ID3D10Device::Draw + ID3D10Device::DrawInstanced + ID3D11DeviceContext::Draw + ID3D11DeviceContext::DrawInstanced + ID3D12GraphicsCommandList::DrawInstanced + glDrawArrays + glDrawArraysInstanced + glDrawArraysInstancedBaseInstance + glMultiDrawArrays + vkCmdDraw + + Callback function signature: bool (api::command_list *cmd_list, uint32_t vertex_count, uint32_t instance_count, uint32_t first_vertex, uint32_t first_instance) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + IDirect3DDevice9::DrawIndexedPrimitive + IDirect3DDevice9::DrawIndexedPrimitiveUP + ID3D10Device::DrawIndexed + ID3D10Device::DrawIndexedInstanced + ID3D11DeviceContext::DrawIndexed + ID3D11DeviceContext::DrawIndexedInstanced + ID3D12GraphicsCommandList::DrawIndexedInstanced + glDrawElements + glDrawElementsBaseVertex + glDrawElementsInstanced + glDrawElementsInstancedBaseVertex + glDrawElementsInstancedBaseInstance + glDrawElementsInstancedBaseVertexBaseInstance + glMultiDrawElements + glMultiDrawElementsBaseVertex + vkCmdDrawIndexed + + Callback function signature: bool (api::command_list *cmd_list, uint32_t index_count, uint32_t instance_count, uint32_t first_index, int32_t vertex_offset, uint32_t first_instance) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D11DeviceContext::Dispatch + ID3D12GraphicsCommandList::Dispatch + glDispatchCompute + vkCmdDispatch + + Callback function signature: bool (api::command_list *cmd_list, uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList::DispatchMesh + vkCmdDrawMeshTasksEXT + + Callback function signature: bool (api::command_list *cmd_list, uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList::DispatchRays + vkCmdTraceRaysKHR + + Callback function signature: bool (api::command_list *cmd_list, api::resource raygen, uint64_t raygen_offset, uint64_t raygen_size, api::resource miss, uint64_t miss_offset, uint64_t miss_size, uint64_t miss_stride, api::resource hit_group, uint64_t hit_group_offset, uint64_t hit_group_size, uint64_t hit_group_stride, api::resource callable, uint64_t callable_offset, uint64_t callable_size, uint64_t callable_stride, uint32_t width, uint32_t height, uint32_t depth) + + + To prevent this command from being executed, return , otherwise return . + In case of D3D12 and Vulkan, the shader handle buffer handles may be zero with the buffers instead referred to via a device address passed in the related offset argument. + + + + + Called before: + + ID3D11DeviceContext::DrawInstancedIndirect + ID3D11DeviceContext::DrawIndexedInstancedIndirect + ID3D11DeviceContext::DispatchIndirect + ID3D12GraphicsCommandList::ExecuteIndirect + glDrawArraysIndirect + glDrawElementsIndirect + glMultiDrawArraysIndirect + glMultiDrawElementsIndirect + glDispatchComputeIndirect + vkCmdDrawIndirect + vkCmdDrawIndexedIndirect + vkCmdDispatchIndirect + vkCmdTraceRaysIndirect2KHR + vkCmdDrawMeshTasksIndirectEXT + vkCmdDrawMeshTasksIndirectCountEXT + + Callback function signature: bool (api::command_list *cmd_list, api::indirect_command type, api::resource buffer, uint64_t offset, uint32_t draw_count, uint32_t stride) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + IDirect3DDevice9::UpdateTexture + IDirect3DDevice9::GetRenderTargetData + ID3D10Device::CopyResource + ID3D11DeviceContext::CopyResource + ID3D12GraphicsCommandList::CopyResource + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, api::resource dest) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + + + + + Called before: + + ID3D12GraphicsCommandList::CopyBufferRegion + glCopyBufferSubData + glCopyNamedBufferSubData + vkCmdCopyBuffer + vkCmdCopyBuffer2 + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, uint64_t source_offset, api::resource dest, uint64_t dest_offset, uint64_t size) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + + + + + Called before: + + ID3D12GraphicsCommandList::CopyTextureRegion + vkCmdCopyBufferToImage + vkCmdCopyBufferToImage2 + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, uint64_t source_offset, uint32_t row_length, uint32_t slice_height, api::resource dest, uint32_t dest_subresource, const api::subresource_box *dest_box) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + The subresource box argument is optional and may be (which indicates the entire subresource is referenced). + + + + + Called before: + + IDirect3DDevice9::UpdateSurface + IDirect3DDevice9::StretchRect + ID3D10Device::CopySubresourceRegion + ID3D11DeviceContext::CopySubresourceRegion + ID3D12GraphicsCommandList::CopyTextureRegion + glBlitFramebuffer + glBlitNamedFramebuffer + glCopyImageSubData + glCopyTexSubImage1D + glCopyTexSubImage2D + glCopyTexSubImage3D + glCopyTextureSubImage1D + glCopyTextureSubImage2D + glCopyTextureSubImage3D + vkCmdBlitImage + vkCmdBlitImage2 + vkCmdCopyImage + vkCmdCopyImage2 + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, uint32_t source_subresource, const api::subresource_box *source_box, api::resource dest, uint32_t dest_subresource, const api::subresource_box *dest_box, api::filter_mode filter) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + The subresource box arguments are optional and may be (which indicates the entire subresource is used). + + + + + Called before: + + ID3D12GraphicsCommandList::CopyTextureRegion + vkCmdCopyImageToBuffer + vkCmdCopyImageToBuffer2 + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, uint32_t source_subresource, const api::subresource_box *source_box, api::resource dest, uint64_t dest_offset, uint32_t row_length, uint32_t slice_height) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + The subresource box argument is optional and may be (which indicates the entire subresource is used). + + + + + Called before: + + IDirect3DDevice9::StretchRect + ID3D10Device::ResolveSubresource + ID3D11DeviceContext::ResolveSubresource + ID3D12GraphicsCommandList::ResolveSubresource + ID3D12GraphicsCommandList1::ResolveSubresourceRegion + glBlitFramebuffer + glBlitNamedFramebuffer + vkCmdResolveImage + vkCmdResolveImage2 + + Callback function signature: bool (api::command_list *cmd_list, api::resource source, uint32_t source_subresource, const api::subresource_box *source_box, api::resource dest, uint32_t dest_subresource, int32_t dest_x, int32_t dest_y, int32_t dest_z, api::format format) + + + To prevent this command from being executed, return , otherwise return . + Source resource will be in the state. + Destination resource will be in the state. + The subresource box argument is optional and may be (which indicates the entire subresource is used). + + + + + Called before: + + IDirect3DDevice9::Clear + ID3D10Device::ClearDepthStencilView + ID3D11DeviceContext::ClearDepthStencilView + ID3D11DeviceContext1::ClearView (for depth-stencil views) + ID3D12GraphicsCommandList::ClearDepthStencilView + glClear + glClearBufferfi + glClearBufferfv + glClearNamedFramebufferfi + glClearNamedFramebufferfv + vkCmdClearDepthStencilImage + vkCmdClearAttachments + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view dsv, const float *depth, const uint8_t *stencil, uint32_t rect_count, const api::rect *rects) + + + To prevent this command from being executed, return , otherwise return . + Resource will be in the state. + One of the depth or stencil clear value arguments may be when the respective component is not cleared. + + + + + Called before: + + IDirect3DDevice9::Clear + IDirect3DDevice9::ColorFill + ID3D10Device::ClearRenderTargetView + ID3D11DeviceContext::ClearRenderTargetView + ID3D11DeviceContext1::ClearView (for render target views) + ID3D12GraphicsCommandList::ClearRenderTargetView + glClear + glClearBufferfv + glClearNamedFramebufferfv + vkCmdClearColorImage + vkCmdClearAttachments + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view rtv, const float color[4], uint32_t rect_count, const api::rect *rects) + + + To prevent this command from being executed, return , otherwise return . + Resources will be in the state. + + + + + Called before: + + ID3D11DeviceContext::ClearUnorderedAccessViewUint + ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view uav, const uint32_t values[4], uint32_t rect_count, const api::rect *rects) + + + To prevent this command from being executed, return , otherwise return . + Resource will be in the state. + + + + + Called before: + + ID3D11DeviceContext::ClearUnorderedAccessViewFloat + ID3D11DeviceContext1::ClearView (for unordered access views) + ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view uav, const float values[4], uint32_t rect_count, const api::rect *rects) + + + To prevent this command from being executed, return , otherwise return . + Resource will be in the state. + + + + + Called before: + + ID3D10Device::GenerateMips + ID3D11DeviceContext::GenerateMips + glGenerateMipmap + glGenerateTextureMipmap + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view srv) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList::BeginQuery + vkCmdBeginQuery + vkCmdBeginQueryIndexedEXT + + Callback function signature: bool (api::command_list *cmd_list, api::query_heap heap, api::query_type type, uint32_t index) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList::EndQuery + vkCmdEndQuery + vkCmdEndQueryIndexedEXT + vkCmdWriteTimestamp + vkCmdWriteTimestamp2 + + Callback function signature: bool (api::command_list *cmd_list, api::query_heap heap, api::query_type type, uint32_t index) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList::ResolveQueryData + vkCmdCopyQueryPoolResults + + Callback function signature: bool (api::command_list *cmd_list, api::query_heap heap, api::query_type type, uint32_t first, uint32_t count, api::resource dest, uint64_t dest_offset, uint32_t stride) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure + vkCmdCopyAccelerationStructureKHR + + Callback function signature: bool (api::command_list *cmd_list, api::resource_view source, api::resource_view dest, api::acceleration_structure_copy_mode mode) + + + To prevent this command from being executed, return , otherwise return . + + + + + Called before: + + ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure + vkCmdBuildAccelerationStructuresKHR + + Callback function signature: bool (api::command_list *cmd_list, api::acceleration_structure_type type, api::acceleration_structure_build_flags flags, uint32_t input_count, const api::acceleration_structure_build_input *inputs, api::resource scratch, uint64_t scratch_offset, api::resource_view source, api::resource_view dest, api::acceleration_structure_build_mode mode) + + + To prevent this command from being executed, return , otherwise return . + In case of D3D12 and Vulkan, the scratch buffer handle may be zero with the buffer instead referred to via a device address passed in the related offset argument. + Scratch buffer will be in the resource state. + + + + + Called before: + + ID3D12GraphicsCommandList::Reset + vkBeginCommandBuffer + + Callback function signature: void (api::command_list *cmd_list) + + + Is not called for immediate command lists (since they cannot be reset). + + + + + Called before: + + ID3D11DeviceContext::FinishCommandList + ID3D12GraphicsCommandList::Close + vkEndCommandBuffer + + Callback function signature: void (api::command_list *cmd_list) + + + Is not called for immediate command lists (since they cannot be closed). + + + + + Called when a command list is submitted to a command queue (or an immediate command list is flushed), before: + + IDirect3DDevice9::EndScene + ID3D10Device::Flush + ID3D11DeviceContext::Flush + ID3D11DeviceContext3::Flush1 + ID3D12CommandQueue::ExecuteCommandLists + glFlush + vkQueueSubmit + + Callback function signature: void (api::command_queue *queue, api::command_list *cmd_list) + + + + + Called when a secondary command list is executed on a primary command list, before: + + ID3D11DeviceContext::ExecuteCommandList + ID3D12GraphicsCommandList::ExecuteBundle + vkCmdExecuteCommands + + In addition, called after: + + ID3D11DeviceContext::FinishCommandList + + Callback function signature: void (api::command_list *cmd_list, api::command_list *secondary_cmd_list) + + + + + Called before: + + IDirect3DDevice9::Present + IDirect3DDevice9Ex::PresentEx + IDirect3DSwapChain9::Present + IDXGISwapChain::Present + IDXGISwapChain3::Present1 + ID3D12CommandQueueDownlevel::Present + wglSwapBuffers + vkQueuePresentKHR + IVRCompositor::Submit + xrEndFrame + + Callback function signature: void (api::command_queue *queue, api::swapchain *swapchain, const api::rect *source_rect, const api::rect *dest_rect, uint32_t dirty_rect_count, const api::rect *dirty_rects) + + + The source and destination rectangle arguments are optional and may be (which indicates the swap chain is presented in its entirety). + + + + + Called before: + + IDXGISwapChain::SetFullscreenState + vkAcquireFullScreenExclusiveModeEXT + vkReleaseFullScreenExclusiveModeEXT + + Callback function signature: bool (api::swapchain *swapchain, bool fullscreen, void *hmonitor) + + + To prevent the fullscreen state from being changed, return , otherwise return . + + + + + Called after ReShade has rendered its overlay. + Callback function signature: void (api::effect_runtime *runtime) + + + + + Called right before ReShade effects are rendered. + Callback function signature: void (api::effect_runtime *runtime, api::command_list *cmd_list, api::resource_view rtv, api::resource_view rtv_srgb) + + + + + Called right after ReShade effects were rendered. + Callback function signature: void (api::effect_runtime *runtime, api::command_list *cmd_list, api::resource_view rtv, api::resource_view rtv_srgb) + + + + + Called right after all ReShade effects were reloaded. + This occurs during effect runtime initialization or because the user pressed the "Reload" button in the overlay. + Any , and handles are invalidated when this event occurs and need to be queried again. + Callback function signature: void (api::effect_runtime *runtime) + + + + + Called before a uniform variable is changed, with the new value. + Callback function signature: bool (api::effect_runtime *runtime, api::effect_uniform_variable variable, const void *new_value, size_t new_value_size) + + + To prevent the variable value from being changed, return , otherwise return . + The new value has the data type reported by . The new value size is in bytes. + + + + + Called before a technique is enabled or disabled, with the new state. + Callback function signature: bool (api::effect_runtime *runtime, api::effect_technique technique, bool enabled) + + + To prevent the technique state from being changed, return , otherwise return . + + + + + Called between the ImGui::NewFrame and ImGui::EndFrame calls for the ReShade overlay. + Can be used to perform custom Dear ImGui calls, but it is recommended to instead use to register a dedicated overlay. + Callback function signature: void (api::effect_runtime *runtime) + + + This is not called for effect runtimes in VR. + + + + + Called after a screenshot was taken and saved to disk, with the path to the saved image file. + Callback function signature: void (api::effect_runtime *runtime, const char *path) + + + + + Called for each technique after it was rendered, usually between and . + Callback function signature: void (api::effect_runtime *runtime, api::effect_technique technique, api::command_list *cmd_list, api::resource_view rtv, api::resource_view rtv_srgb) + + + + + Called when all effects are about to be enabled or disabled. + Callback function signature: bool (api::effect_runtime *runtime, bool enabled) + + + To prevent the effects state from being changed, return , otherwise return . + + + + + Called after a preset was loaded and applied. + This occurs after effect reloading or when the user chooses a new preset in the overlay. + Callback function signature: void (api::effect_runtime *runtime, const char *path) + + + + + Called when the rendering order of loaded techniques is changed, with a handle array specifying the new order. + Callback function signature: bool (api::effect_runtime *runtime, size_t count, api::effect_technique *techniques) + + + To prevent the order from being changed, return , otherwise return . + + + + + Called when the ReShade overlay is about to be opened or closed. + Callback function signature: bool (api::effect_runtime *runtime, bool open, api::input_source source) + + + To prevent the overlay state from being changed, return , otherwise return . + + + + + Called when a uniform variable widget is added to the variable list in the overlay. + Can be used to replace with custom one or add widgets for specific uniform variables. + Callback function signature: bool (api::effect_runtime *runtime, api::effect_uniform_variable variable) + + + To prevent the normal widget from being added to the overlay, return , otherwise return . + + + + + Called when a technique is added to the technique list in the overlay. + Can be used to replace with custom one or add widgets for specific techniques. + Callback function signature: bool (api::effect_runtime *runtime, api::effect_technique technique) + + + To prevent the normal widget from being added to the overlay, return , otherwise return . + + + + Finalizes an instance of the class. + + + Delegate for . + Current command queue. Type: api::command_queue. + Current swap chain. Type: api::swapchain. + Optional; source rectangle. May contain up to 1 element. + Optional; target rectangle. May contain up to 1 element. + Dirty rectangles. + + + Delegate for . + Reference to the ReShade runtime. + + + Delegate for . + Reference to the ReShade SwapChain wrapper. + + + Delegate for . + Reference to the ReShade SwapChain wrapper. + + + Delegate for . + Current command queue. Type: api::command_queue. + Current swap chain. Type: api::swapchain. + Optional; source rectangle. + Optional; target rectangle. + Number of dirty rectangles. + Optional; dirty rectangles. + + + Called on . + + + Called on . + + + Called on . + + + Called on . + + + Registers Dalamud as a ReShade addon. + Initialized interface. + true on success. + + + + + + ReShade effect runtime object. + + + The vtable. + + + Gets this object as a typed pointer. + Address of this instance. + This call is invalid if this object is not already fixed. + + + Gets the native object. + The native object. + + + + + + VTable of . + + + + + + Gets the active ReShade module. + + + Gets all the detected ReShade modules. + + + Gets a value indicating whether the loaded ReShade has signatures. + ReShade without addon support is signed, but may not pass signature verification. + + + Finds the address of DXGISwapChain::on_present in . + Address of the function, or 0 if not found. + + + Gets the name of the signer of a file that has a certificate embedded within, without verifying if the + file has a valid signature. + Path to the file. + Name of the signer. + + + Available handling modes for working with ReShade. + + + Use the default method, whatever it is for the current Dalamud version. + + + Unwrap ReShade from the swap chain obtained from the game. + + + Register as a ReShade addon, and draw on event. + + + + Register as a ReShade addon, and draw on + event. + + + Hook DXGISwapChain::on_present(UINT flags, const DXGI_PRESENT_PARAMETERS *params) in + dxgi_swapchain.cpp. + + + Do not do anything special about it. ReShade will process Dalamud rendered stuff. + + + Unwraps IUnknown wrapped by ReShade. + + + Unwraps if it is wrapped by ReShade. + [inout] The COM pointer to an instance of . + A COM type that is or extends . + true if peeled. + + + Helper for dealing with swap chains. + + + Describes how to hook methods. + + + Hooks by rewriting the native bytecode. + + + Hooks by providing an alternative vtable. + + + Gets the game's active instance of IDXGISwapChain that is initialized. + Address of the game's instance of IDXGISwapChain, or null if not available (yet.) + + + Gets the vtable of . + + + + + + Determines if the given instance of IUnknown is the game device's swap chain. + Object to check. + Type of the object to check. + true if the object is the game's swap chain. + + + + + + Wait for the game to have finished initializing the IDXGISwapChain. + + + + Make store address of unwrapped swap chain, if it was wrapped with ReShade. + + true if it was wrapped with ReShade. + + + + This class displays a debug window to inspect native addons. + + + + + Initializes a new instance of the class. + + + + + Renders this window. + + + + + A class representing an , allowing it to be browsed within an ImGui window. + + + + + + Prints a table of AtkValues associated with a given addon. + + The addon to look up. + + + + Gets the name of the addon this tree represents. + + + + + Gets the addon's pointer at the time this was created. + + + + + Gets or sets a collection of trees representing nodes within this addon. + + + + + + + + Gets an instance of for the given addon name (or creates one if none are found). + The tree can then be drawn within the Addon Inspector and browsed. + + The name of the addon. + The for the named addon. Returns null if it does not exist, or if it is not at the expected address. + + + + Draws this AddonTree within a window. + + + + + Checks whether a given exists somewhere within this 's associated (or any of its s). + + The node to check. + true if the node was found. + + + + Checks whether the addon exists at the expected address. If the addon is null or has a new address, disposes this instance of . + + The addon, if successfully found. + true if the addon is found. + + + + Gets or sets a collection of names for field offsets that have been documented in FFXIVClientStructs. + + + + + Gets or sets the size of the addon according to its Attributes in FFXIVClientStructs. + + + + + Class that prints the events table for a node, where applicable. + + + + + Prints out each for a given node. + + The node to print events for. + + + + A tree for an that can be printed and browsed via ImGui. + + + + + Initializes a new instance of the class. + + The node to create a tree for. + The tree representing the containing addon. + + + + + + + + + + + + + + - Gets or sets an action that is executed right after fonts are rebuilt. + A tree for an that can be printed and browsed via ImGui. - + - Gets the default ImGui font.
- Accessing this static property outside of the main thread is dangerous and not supported. + Initializes a new instance of the class.
+ The node to create a tree for. + The tree representing the containing addon.
- - - Gets an included FontAwesome icon font.
- Accessing this static property outside of the main thread is dangerous and not supported. -
+ + - + - Gets an included FontAwesome icon font with fixed width. - Accessing this static property outside of the main thread is dangerous and not supported. + A tree for an that can be printed and browsed via ImGui. - + - Gets an included monospaced font.
- Accessing this static property outside of the main thread is dangerous and not supported. + Initializes a new instance of the class.
+ The node to create a tree for. + The tree representing the containing addon.
- - - Gets the default font handle. - + + - + + + + + + + + + + + + + + + + - Gets the icon font handle. + A tree for an that can be printed and browsed via ImGui. + - + - Gets the icon font handle with fixed width. + Initializes a new instance of the class. + The node to create a tree for. + The tree representing the containing addon. - + + + + + + + + + + + - Gets the mono font handle. + A tree for an that can be printed and browsed via ImGui. + As with the structs they represent, this class serves as the base class for other types of NodeTree. - + - Gets or sets the pointer to ImGui.IO(), when it was last used. + Sets up the table for the node editor, if the "Edit" checkbox is ticked. - + - Gets the DX11 scene. + Draws each row in the node editor table. - + - Gets the D3D11 device instance. + Initializes a new instance of the class. + The node to create a tree for. + The tree representing the containing addon. - + - Gets the address handle to the main process window. + Gets or sets the this tree represents. - + - Gets or sets a value indicating whether or not the game's cursor should be overridden with the ImGui cursor. + Gets the containing this tree. - + - Gets a value indicating whether the Dalamud interface ready to use. + Gets this node's type. - + - Gets or sets a value indicating whether or not Draw events should be dispatched. + Gets or sets the offset of this node within its parent Addon. - - Gets a value indicating whether the main thread is executing . - This still will be true even when queried off the main thread. - - + - Gets a value indicating the native handle of the game main window. + Clears this NodeTree's popout window, if it has one. - + - Gets the font build task. + Gets an instance of (or one of its inheriting types) for the given node. If no instance exists, one is created. + The node to get a tree for. + The tree for the node's containing addon. + An existing or newly-created instance of . - - Gets the number of calls to so far. - - The value increases even when Dalamud is hidden via "/xlui hide". - does not. - - - + - Dispose of managed and unmanaged resources. + Prints a list of NodeTrees for a given list of nodes. + The address of the start of the list. + The number of nodes in the list. + The tree for the containing addon. - + - Sets up a deferred invocation of font rebuilding, before the next render frame. + Calls , but outputs the results as a collapsible tree. + The address of the start of the list. + The number of nodes in the list. + The heading text of the tree. + The tree for the containing addon. + The text color of the heading. - + - Enqueue a texture to be disposed at the end of the frame. + Prints this tree in the window. - The texture. + The index of the tree within its containing node or addon, if applicable. + Whether the tree should default to being open. - + - Enqueue an to be disposed at the end of the frame. + Prints out the tree's header text. - The disposable. - - - Queues an action to be run before call. - The action. - A that resolves once is run. - - - Queues a function to be run before call. - The type of the return value. - The function. - A that resolves once is run. - - - Queues an action to be run after call. - The action. - A that resolves once is run. - - - Queues a function to be run after call. - The type of the return value. - The function. - A that resolves once is run. - + - Get video memory information. + If the given pointer is referenced with the addon struct, the offset within the addon will be printed. If the given pointer has been identified as a field within the addon struct, this method also prints that field's name. - The currently used video memory, or null if not available. + The pointer to check. + The text color to use. + The field offset of the pointer, if it was found in the addon. - + - Clear font, style, and color stack. Dangerous, only use when you know - no one else has something pushed they may try to pop. + Builds a string that will serve as the header text for the tree. Indicates the node type, the number of direct children it contains, and its pointer. + The resulting header text string. - + - Toggle Windows 11 immersive mode on the game window. + Prints any field names for the node. - Value. - + - Represents an instance of InstanceManager with scene ready for use. + Prints the node struct. - + - Initializes a new instance of the class. + Prints all direct children of this node. - An instance of . - + - Gets the associated InterfaceManager. + Prints any specific fields pertaining to the specific type of node. + Whether the "Edit" box is currently checked. - + - Offsets to various data in ImGui context. + Attempts to retrieve the field offset of the given pointer within the parent addon. - - Last updated for ImGui 1.83. - - + + - Report ImGui problems with a MessageBox dialog. + A tree for an that can be printed and browsed via ImGui. - + + + + - Gets or sets a value indicating whether asserts are enabled for ImGui. + Initializes a new instance of the class. + The node to create a tree for. + The tree representing the containing addon. - + - Create a snapshot of the current ImGui context. - Should be called before rendering an ImGui frame. + Gets the part ID that this node uses. - A snapshot of the current context. - + - Compare a snapshot to the current post-draw state and report any errors in a MessageBox dialog. + Gets the parts list that this node uses. - The source of any problems, something to blame. - ImGui context snapshot. - + - A snapshot of various ImGui context properties. + Gets or sets a summary of pertinent data about this 's texture. Updated each time is called. - + - Gets the ImGui style var stack size. + Draws the texture inside the window, in either of two styles.

+ Full Image (0)presents the texture in full as a spritesheet.
+ Parts List (1)presents the individual parts as rows in a table.
- + - Gets the ImGui color stack size. + Draws an outline of a given part within the texture. + The part ID. + The absolute position of the cursor onscreen. + The relative position of the cursor within the window. + The color of the outline. + Whether this outline requires the user to mouse over it. - + + + + + + + - Gets the ImGui font stack size. + A summary of pertinent data about a node's texture. - + + The texture's partslist. + + + The number of parts in the texture. + + + The part ID the node is using. + + + The texture itself. + + + The type of texture. + + + The texture's file path (if , otherwise this value is null). + + + Whether this is a high-resolution texture. + + - Gets the ImGui begin popup stack size. + Initializes a new instance of the struct. + The texture's parts list. + The part ID being used by the node. - + + - Gets the ImGui window stack size. + A tree for an that can be printed and browsed via ImGui. + - + + + + - Manage category filters for PluginInstallerWindow. + Initializes a new instance of the class. + The node to create a tree for. + The tree representing the containing addon. - + + + + + + + + + + + + + + + + - First categoryId for tag based categories. + A struct representing the four offsets of an . - + + Top offset. + + + Left offset. + + + Right offset. + + + Bottom offset. + + - Type of category group. + Initializes a new instance of the struct. + The top offset. + The right offset. + The bottom offset. + The left offset. - + - UI group: dev mode only. + Initializes a new instance of the struct. + The node using these offsets. - + + Prints the offsets in ImGui. + + + - UI group: installed plugins. + A tree for an that can be printed and browsed via ImGui. - + + + + - UI group: plugins that can be installed. + Initializes a new instance of the class. + The node to create a tree for. + The tree representing the containing addon. - + + + + + + + - UI group: changelog of plugins. + A struct allowing a node's animation timeline to be printed and browsed. + - + - Type of category. + Initializes a new instance of the struct. + The node whose timelines are to be displayed. - + - All plugins. + Prints out this timeline tree within a window. - + - Plugins currently being tested. + An interface for retrieving and printing the contents of a given column in an animation timeline table. - + + Gets the column's name/heading. + + + Gets the number of cells in the column. + + + Gets the column's width. + + - Plugins available for testing. + Calls this column's print function for a given row. + The row number. - + - Installed dev plugins. + A column within an animation timeline table, representing a particular KeyGroup. + The value type of the KeyGroup. - + + The values of each cell in the column. + + + The method that should be used to format and print values in this KeyGroup. + + - Icon tester. + Initializes a new instance of the struct. + The column's name/heading. + The method that should be used to format and print values in this KeyGroup. - + + + + + + + + + + - Changelogs for Dalamud. + The default print function, if none is specified. + The value to print. - + - Changelogs for plugins. + Adds a value to this column. + The value to add. - + + + + - Change plugin profiles. + A tool that enables the user to select UI elements within the inspector by mousing over them onscreen. - + - Updateable plugins. + Initializes a new instance of the class. + The instance of this Element Selector belongs to. - + - Plugins tagged as "other". + Gets or sets the results retrieved by the Element Selector. - + - Plugins tagged as "jobs". + Gets or sets a value governing the highlighting of nodes when found via search. - + - Plugins tagged as "ui". + Gets or sets a value indicating whether the window has scrolled down to the position of the search result. - + - Plugins tagged as "minigames". + Gets or sets a value indicating whether the mouseover UI is currently active. - + + + + - Plugins tagged as "inventory". + Draws the Element Selector and Address Search interface at the bottom of the sidebar. - + - Plugins tagged as "sound". + Draws the Element Selector's search output within the main window. - + - Plugins tagged as "social". + An found by the Element Selector. - + + The addon itself. + + + A list of nodes discovered within this addon by the Element Selector. + + + The calculated area of the addon's root node. + + - Plugins tagged as "utility". + Initializes a new instance of the struct. + The addon found. + A list for documenting nodes found within the addon. - + + + + - Gets the list of all known categories. + An found by the Element Selector. - + + The node itself. + + + A struct representing the perimeter of the node. + + + + + - Gets the list of all known UI groups. + A popout window for an . - + - Gets or sets the current group kind. + Initializes a new instance of the class. + The AddonTree this popout will show. + the window's name. - + + + + + + + - Gets information about currently selected group. + A popout window for a . - + - Gets or sets the current category kind. + Initializes a new instance of the class. + The node tree this window will show. + The name of the window. - + + + + + + + - Gets information about currently selected category. + A tool for browsing the contents and structure of UI elements. + - + - Gets a value indicating whether current group + category selection changed recently. - Changes in Available group should be followed with , everything else can use . + Initializes a new instance of the class. - + + + + + + + - Gets a value indicating whether and are valid. + Gets a collection of instances, each representing an . - + - Rebuild available categories based on currently available plugins. + Gets or sets a window system to handle any popout windows for addons or nodes. - list of all available plugin manifests to install. - + - Filters list of available plugins based on currently selected category. - Resets . + Gets or sets the name of the currently-selected . - List of available plugins to install. - Filtered list of plugins. - + - Clears flag, indicating that all cached values about currently selected group + category have been updated. + Clears all windows and s. - + - Sets category highlight based on list of plugins. Used for searching. + Draws the UiDebug tool's interface and contents. - List of plugins whose categories should be highlighted. - + - Checks if category should be highlighted. + All unit lists to check for addons. - CategoryKind to check. - true if highlight is needed. - + - Plugin installer category info. + Gets the base address for all unit lists. + The address, if found. - + - Unique Id number of category, tag match based should be greater of equal . + A struct representing a unit list that can be browed in the sidebar. - + + The index of the unit list. + + + The name of the unit list. + + - Tag from plugin manifest to match. + Initializes a new instance of the struct. + The index of the unit list. + The name of the unit list. - + - Initializes a new instance of the struct. + A struct representing an addon that can be selected in the sidebar. - Kind of the category. - Tag to match. - Function returning localized name of category. - Condition to be checked when deciding whether this category should be shown. - + + The name of the addon. + + + Whether the addon is visible. + + - Conditions for categories. + Initializes a new instance of the struct. + The name of the addon. + Whether the addon is visible. - + - Check no conditions. + Miscellaneous ImGui tools used by . - + - Check if plugin testing is enabled. + Prints field name and its value. + The name of the field. + The value of the field. + Whether to enable click-to-copy. - + - Gets or sets the condition to be checked when rendering. + Prints a set of fields and their values. + Tuples of fieldnames and values to display. - + + + + + + + - Gets the name of category. + Prints a text string representing a color, with a backdrop in that color. + The color value. + The text string to print. + Colors the text itself either white or black, depending on the luminosity of the background color. - + - Plugin installer UI group, a container for categories. + Draws a tooltip that changes based on the cursor's x-position within the hovered item. + The text for each section. + true if the item is hovered. - + - Type of group. + Draws a separator with some padding above and below. + Governs whether to pad above, below, or both. + The amount of padding. - + - List of categories in container. + A struct representing the perimeter of an , accounting for all transformations. - + - Initializes a new instance of the struct. + Initializes a new instance of the struct. - Type of group. - Function returning localized name of category. - List of category Ids to hardcode. + The node to calculate the bounds of. - + - Gets the name of UI group. + Initializes a new instance of the struct, containing only a single given point. + The point onscreen. + The node used to calculate transformations. - + - This class displays a debug window to inspect native addons. + Draws the bounds onscreen. + The color of line to use. + The thickness of line to use. + If there is only a single point to draw, it will be indicated with a circle and dot. - + - Initializes a new instance of the class. + Draws the bounds onscreen, filled in. + The fill and border color. + The border thickness. - + - Renders this window. + Checks whether the bounds contain a given point. + The point to check. + True if the point exists within the bounds. @@ -35446,6 +40815,9 @@ Initializes a new instance of the class. An instance of . + + Gets the queue where log entries that are not processed yet are stored. + @@ -35477,10 +40849,6 @@ Queues filtering the log entries again, before next call to . - - Enqueues the new log line to the log-to-be-processed queue. - See for the handler for the queued log entries. - Gets or sets the system responsible for generating this log entry. Generally will be a plugin's @@ -35517,6 +40885,16 @@ Draw the window via ImGui. + + Useful functions for implementing data window widgets. + + + Draws a text column, and make it copiable by clicking. + Owner widget. + String to display. + Whether to align to right. + Whether to offset to frame padding. + Tester for . @@ -35594,6 +40972,26 @@ + + + Widget for displaying addon inspector. + + + + + + + + + + + + + + + + + Debug widget for displaying AddonLifecycle data. @@ -35811,6 +41209,9 @@ + + + @@ -35997,6 +41398,26 @@ + + + Widget for displaying inventory data. + + + + + + + + + + + + + + + + + Widget for displaying keyboard state. @@ -36169,6 +41590,26 @@ + + + Widget for displaying Addon Data. + + + + + + + + + + + + + + + + + Widget for displaying start info. @@ -36269,26 +41710,52 @@ - + Widget for displaying all UI Colors from Lumina. - + + + + + + + + + + + + + + + + + + Displays the full data of the selected ULD element. + + + - + - + - + - + + + + Gets all known ULD locations in the game based on a few signatures. + + Uld locations. + Class responsible for drawing a notifier on screen that gamepad mode is active. @@ -37012,6 +42479,14 @@ Test setup for Lumina. ExcelRow to run test on. + Whether or not the sheet is large. If it is large, the self test will iterate through the full sheet in one frame and benchmark the time taken. + + + + Test setup for Lumina. + + ExcelRow to run test on. + Whether or not the sheet is large. If it is large, the self test will iterate through the full sheet in one frame and benchmark the time taken. @@ -37036,6 +42511,20 @@ + + + Tests for nameplates. + + + + + + + + + + + Test setup for Party Finder events. @@ -37176,6 +42665,11 @@ Draw this setting control. + + + Called after the draw function and when the style overrides are removed. + + Function to be called when the tab is opened. @@ -37255,7 +42749,7 @@ Class responsible for drawing the main plugin window. - + Initializes a new instance of the class. @@ -37267,6 +42761,7 @@ An instance of . An instance of . An instance of . + An instance of . @@ -38111,6 +43606,7 @@ fontHandle.Push(); ImGui.TextUnformatted("Test 2"); + fontHandle.Pop(); Push a font between two choices. @@ -39791,6 +45287,12 @@ An instance of . This function does not throw. + + + + + + @@ -39842,6 +45344,9 @@ + + + @@ -39883,6 +45388,9 @@ + + + @@ -40008,6 +45516,9 @@ + + + @@ -40056,6 +45567,9 @@ + + + @@ -40107,7 +45621,8 @@ s may be cached, but the performance benefit will be minimal. Calling outside the main thread will fail. This function does not throw. - will be ignored. + will be ignored, including the cases when the returned texture wrap + is passed to a function with leaveWrapOpen parameter. If the texture is unavailable for any reason, then the returned instance of will point to an empty texture instead. @@ -40124,7 +45639,8 @@ s may be cached, but the performance benefit will be minimal. Calling outside the main thread will fail. This function does not throw. - will be ignored. + will be ignored, including the cases when the returned texture wrap + is passed to a function with leaveWrapOpen parameter. If the texture is unavailable for any reason, then will be returned. @@ -40140,7 +45656,8 @@ s may be cached, but the performance benefit will be minimal. Calling outside the main thread will fail. This function does not throw. - on the returned will be ignored. + on the returned will be ignored, including + the cases when the returned texture wrap is passed to a function with leaveWrapOpen parameter. Thrown when called outside the UI thread. @@ -40381,10 +45898,11 @@ A texture wrap that ignores calls. + The inner wrap. - Initializes a new instance of the class. - The inner wrap. + A texture wrap that ignores calls. + The inner wrap. @@ -41340,12 +46858,34 @@ Text in the button. with the size of the button. - + Print out text that can be copied when clicked. The text to show. The text to copy when clicked. + The color of the text. + + + Draws a SeString. + SeString to draw. + Initial rendering style. + ImGui ID, if link functionality is desired. + Button flags to use on link interaction. + Interaction result of the rendered text. + This function is experimental. Report any issues to GitHub issues or to Discord #dalamud-dev channel. + The function definition is stable; only in the next API version a function may be removed. + + + Creates and caches a SeString from a text macro representation, and then draws it. + SeString text macro representation. + Newline characters will be normalized to . + Initial rendering style. + ImGui ID, if link functionality is desired. + Button flags to use on link interaction. + Interaction result of the rendered text. + This function is experimental. Report any issues to GitHub issues or to Discord #dalamud-dev channel. + The function definition is stable; only in the next API version a function may be removed. @@ -41553,6 +47093,56 @@ ImFontAtlasCustomRect the correct version. + + Represents any type of ImGui ID. + + + Type of the ID. + + + Numeric ID. Valid if is . + + + UTF-16 string ID. Valid if is . + + + UTF-8 string ID. Valid if is . + + + Initializes a new instance of the struct. + A numeric ID, or 0 to not provide an ID. + + + Initializes a new instance of the struct. + A UTF-16 string ID, or to not provide an ID. + + + Initializes a new instance of the struct. + A UTF-8 string ID, or to not provide an ID. + + + Possible types for an ImGui ID. + + + No ID is specified. + + + field is used. + + + field is used. + + + field is used. + + + Determines if no ID is stored. + true if no ID is stored. + + + Pushes ID if any is stored. + true if any ID is pushed. + Helpers for drawing tables. @@ -41942,6 +47532,22 @@ A task returning the texture to save. A representing the asynchronous operation. + + + Pushes the item width for the next widget and returns an IDisposable that pops + the width when done. + + The width to set the next widget to. + An for use in a using statement. + + + + Pushes the item wrapping width for the next string written and returns an IDisposable + that pops the wrap width when done. + + The wrap width to set the next text written to. + An for use in a using statement. + Base class you can use to implement an ImGui window for use with the built-in . @@ -42363,7 +47969,7 @@ The object instance. Scoped objects to be injected. The scope to be used to create scoped services. - Whether or not the injection was successful. + A representing the operation. @@ -42401,7 +48007,7 @@ The object instance. Scoped objects to be injected. - Whether or not the injection was successful. + A representing the status of the operation. @@ -42409,9 +48015,7 @@ - - Initializes a new instance of the class. - + Initializes a new instance of the class. The container this scope will use to create services. @@ -42431,7 +48035,7 @@ Additional scoped objects. The created object, or null. - + @@ -42517,6 +48121,14 @@ If set to true, this ignores malformed Localize functions instead of failing. + + + Creates a new instance of the class. + + Path to Dalamud assets. + Optional language override. + A new instance. + Class offering various methods to allow for logging in Dalamud modules. @@ -42797,13 +48409,11 @@ The plugin that owns this service. - + - - - Gets a logger that may be exposed to plugins some day. - + + @@ -45624,20 +51234,16 @@ - - Create a new object of the provided type using its default constructor, then inject objects and properties. - - Objects to inject additionally. - The type to create. - The created and initialized type. + + + + - - Inject services into properties on the provided object instance. - - The instance to inject services into. - Objects to inject additionally. - Whether or not the injection succeeded. + + + + Unregister the plugin and dispose all references. @@ -45943,7 +51549,15 @@ Objects to inject additionally. The type to create. - The created and initialized type. + The created and initialized type, or null on failure. + + + + Create a new object of the provided type using its default constructor, then inject objects and properties. + + Objects to inject additionally. + The type to create. + A task representing the created and initialized type. @@ -45951,7 +51565,15 @@ The instance to inject services into. Objects to inject additionally. - Whether or not the injection succeeded. + Whether the injection succeeded. + + + + Inject services into properties on the provided object instance. + + The instance to inject services into. + Objects to inject additionally. + A representing the status of the operation. @@ -47557,7 +53179,7 @@ Gets a list of validation problems that have been dismissed by the user. - + @@ -47710,7 +53332,7 @@ Gets the service scope for this plugin. - + @@ -47721,13 +53343,12 @@ Load while reloading. A task. - + Unload this plugin. This is the same as dispose, but without the "disposed" connotations. This object should stay in the plugin list until it has been actually disposed. - Unload while reloading. - Wait before disposing loader. + How to dispose loader. The task. @@ -47765,6 +53386,19 @@ Called before a plugin is reloaded. + + Creates a new instance of the plugin. + Plugin manifest. + Service scope. + Type of the plugin main class. + Instance of . + A new instance of the plugin. + + + Clears and disposes all resources associated with the plugin instance. + Whether to clear and dispose . + Exceptions, if any occurred. + Public interface for the local plugin manifest. @@ -48058,6 +53692,19 @@ plugin definition 2 to compare. sort order. + + Specify how to dispose . + + + Do not dispose the plugin loader. + + + Whether to wait a few before disposing the loader, just in case there are s + from the plugin that are still running. + + + Immediately dispose the plugin loader. + Information about a plugin, packaged in a json file with the DLL. @@ -48488,8 +54135,23 @@ The type expected. Index of the failing argument. + + + The backing interface for the provider ("server") half of an IPC channel. This interface is used to expose methods + to other plugins via RPC, as well as to allow other plugins to subscribe to notifications from this plugin. + + + + + + + + + + + - + @@ -48497,17 +54159,11 @@ - - - - - - - + @@ -48515,17 +54171,11 @@ - - - - - - - + @@ -48533,17 +54183,11 @@ - - - - - - - + @@ -48551,17 +54195,11 @@ - - - - - - - + @@ -48569,17 +54207,11 @@ - - - - - - - + @@ -48587,17 +54219,11 @@ - - - - - - - + @@ -48605,17 +54231,11 @@ - - - - - - - + @@ -48623,17 +54243,11 @@ - - - - - - - + @@ -48641,15 +54255,20 @@ - - - - - - + + + An interface for all IPC subscribers. + + + + + + + + @@ -48726,7 +54345,7 @@ - + : ICallGateSubscriber @@ -48741,7 +54360,7 @@ - + : ICallGateSubscriber @@ -48756,7 +54375,7 @@ - + : ICallGateSubscriber @@ -48771,7 +54390,7 @@ - + : ICallGateSubscriber @@ -49136,6 +54755,24 @@ The name of the IPC registration. + + + Gets a value indicating whether this IPC call gate has an associated Action. Only exposed to + s. + + + + + Gets a value indicating whether this IPC call gate has an associated Function. Only exposed to + s. + + + + + Gets the count of subscribers listening for messages through this call gate. Only exposed to + s, and can be used to determine if messages should be sent through the gate. + + Gets the underlying channel implementation. @@ -49143,60 +54780,100 @@ - Removes a registered Action from inter-plugin communication. + Removes the associated Action from this call gate, effectively disabling RPC calls. + - Removes a registered Func from inter-plugin communication. + Removes the associated Function from this call gate. + - Registers an Action for inter-plugin communication. + Registers a for use by other plugins via RPC. This Delegate must satisfy the constraints + of an type as defined by the interface, meaning they may not return a value and must have + the proper number of parameters. Action to register. + + - Registers a Func for inter-plugin communication. + Registers a for use by other plugins via RPC. This Delegate must satisfy the constraints + of a type as defined by the interface, meaning its return type and parameters must + match accordingly. Func to register. + + - Subscribe an expression to this registration. + Registers a (of type ) that will be called when the providing + plugin calls . This method can be used to receive notifications + of events or data updates from a specific plugin. Action to subscribe. + - Unsubscribe an expression from this registration. + Removes a subscription created through . Note that the to be + unsubscribed must be the same instance as the one passed in. Action to unsubscribe. + - Invoke an action registered for inter-plugin communication. + Executes the Action registered for this IPC call gate via . This method is intended + to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be + passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will + be passed as-is. The target Action will be called on the same thread as the caller. Action arguments. This is thrown when the IPC publisher has not registered an action for calling yet. + + - Invoke a function registered for inter-plugin communication. + Executes the Function registered for this IPC call gate via . This method is intended + to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be + passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will + be passed as-is. The target Action will be called on the same thread as the caller. Parameter args. The return value. The return type. This is thrown when the IPC publisher has not registered a func for calling yet. + + - Invoke all actions that have subscribed to this IPC. + Send the given arguments to all subscribers (through ) of this IPC call gate. This method + is intended to be used by the provider plugin to notify all subscribers of an event or data update. The + parameters passed to this method will be passed to all subscribers, with appropriate serialization for complex + data types. Primitive data types will be passed as-is. The subscription actions will be called sequentially in + order of registration on the same thread as the caller. Delegate arguments. + + + JSON converter for IGameObject and its derived types. + + + + + + + + A helper struct for reference-counted, type-safe shared access across plugin boundaries. @@ -49660,11 +55337,42 @@ This class represents the state of the game client at the time of access. + + + A delegate type used for the event. + + The new ClassJob id. + + + + A delegate type used for the event. + + The ClassJob id. + The level of the corresponding ClassJob. + + + + A delegate type used for the event. + + The type of logout. + The success/failure code. + Event that gets fired when the current Territory changes. + + + Event that fires when a characters ClassJob changed. + + + + + Event that fires when any character level changes, including levels + for a not-currently-active ClassJob (e.g. PvP matches, DoH/DoL). + + Event that fires when a character is logging in, and the local character object is available. @@ -50048,20 +55756,41 @@ Gets a value indicating whether the game data files have been modified by another third-party tool. - + Get an with the given Excel sheet row type. + Language of the sheet to get. Leave or empty to use the default language. + Explicitly provide the name of the sheet to get. Leave to use 's sheet name. Explicit names are necessary for quest/dungeon/cutscene sheets. The excel sheet type to get. The , giving access to game rows. + + If the sheet type you want has subrows, use instead. + + Sheet name was not specified neither via 's nor . + does not have a valid . + Sheet does not exist. + Sheet had a mismatched column hash. + Sheet does not support nor . + Sheet was not a . - + - Get an with the given Excel sheet row type with a specified language. + Get a with the given Excel sheet row type. - Language of the sheet to get. + Language of the sheet to get. Leave or empty to use the default language. + Explicitly provide the name of the sheet to get. Leave to use 's sheet name. Explicit names are necessary for quest/dungeon/cutscene sheets. The excel sheet type to get. - The , giving access to game rows. + The , giving access to game rows. + + If the sheet type you want has only rows, use instead. + + Sheet name was not specified neither via 's nor . + does not have a valid . + Sheet does not exist. + Sheet had a mismatched column hash. + Sheet does not support nor . + Sheet was not a . @@ -50078,6 +55807,16 @@ The path inside of the game files. The of the file. + + + Get a with the given path, of the given type. + + The type of resource. + The path inside of the game files. + Cancellation token. + A containing the of the file on success. + + Check if the file with the given path exists within the game's index files. @@ -50092,8 +55831,11 @@ - Gets a read-only list of all DTR bar entries. + Gets a read-only copy of the list of all DTR bar entries. + If the list changes due to changes in order or insertion/removal, then this property will return a + completely new object on getter invocation. The returned object is safe to use from any thread, and will not + change. @@ -50110,6 +55852,8 @@ Removes a DTR bar entry from the system. Title of the entry to remove. + Remove operation is not guaranteed to be immediately effective. Calls to may result + in an entry marked to be remove being revived and used again. @@ -50607,6 +56351,14 @@ Details of the option: Minimum, Maximum, and Default values. A value representing the success. + + + Attempts to get a string config value as a gamepad button enum value from the UiConfig section. + + Option to get the value of. + The returned value of the config option. + A value representing the success. + Attempts to get the properties of a String option from the System section. @@ -51165,6 +56917,13 @@ + + + Gets all item slots of the specified inventory type. + + The type of inventory to get the items for. + A read-only span of all items in the specified inventory type. + Class offering cancellation tokens for common gameplay events. @@ -51413,6 +57172,66 @@ Event that fires when the client receives new tax rates. These events only occur when accessing a retainer vocate and requesting the tax rates. + + + Class used to modify the data used when rendering nameplates. + + + + + The delegate used for receiving nameplate update events. + + An object containing information about the pending data update. + A list of handlers used for updating nameplate data. + + + + An event which fires when nameplate data is updated and at least one nameplate has important updates. The + subscriber is provided with a list of handlers for nameplates with important updates. + + + Fires after . + + + + + An event which fires after nameplate data is updated and at least one nameplate had important updates. The + subscriber is provided with a list of handlers for nameplates with important updates. + + + Fires before . + + + + + An event which fires when nameplate data is updated. The subscriber is provided with a list of handlers for all + nameplates. + + + This event is likely to fire every frame even when no nameplates are actually updated, so in most cases + is preferred. Fires before . + + + + + An event which fires after nameplate data is updated. The subscriber is provided with a list of handlers for all + nameplates. + + + This event is likely to fire every frame even when no nameplates are actually updated, so in most cases + is preferred. Fires after . + + + + + Requests that all nameplates should be redrawn on the following frame. + + + This causes extra work for the game, and should not need to be called every frame. However, it is acceptable to + call frequently when needed (e.g. in response to a manual settings change by the user) or when necessary (e.g. + after a change of zone, party type, etc.). + + Manager for notifications provided by Dalamud using ImGui. @@ -51450,6 +57269,13 @@ Object ID to find. A game object or null. + + + Search for a game object by the Entity ID. + + Entity ID to find. + A game object or null. + Gets the address of the game object at the specified index of the object table. @@ -51563,6 +57389,12 @@ An opinionated service to handle logging for plugins. + + + Gets a Serilog ILogger instance for this plugin. This is the entrypoint for plugins that wish to use more + advanced logging functionality. + + Gets or sets the minimum log level that will be recorded from this plugin to Dalamud's logs. This may be set @@ -51860,6 +57692,15 @@ Caching the returned object is not recommended. Performance benefit will be minimal. + + Gets a shared texture corresponding to the given file on the filesystem. + The file on the filesystem to load. Requires a full path. + The shared texture that you may use to obtain the loaded texture wrap and load states. + + This function does not throw exceptions. + Caching the returned object is not recommended. Performance benefit will be minimal. + + Gets a shared texture corresponding to the given file of the assembly manifest resources. The assembly containing manifest resources. @@ -51901,6 +57742,22 @@ true if supported. This function does not throw exceptions. + + Converts an existing instance to a new instance of + which can be used to supply a custom + texture onto an in-game addon (UI element.) + Instance of to convert. + Whether to leave non-disposed when the returned + completes. + Address of the new . + See PrintTextureInfo in for an example + of replacing the texture of an image node. + + If the returned kernel texture is to be destroyed, call the fourth function in its vtable, by calling + or + ((delegate* unmanaged<nint, void>)(*(nint**)ptr)[3](ptr). + + Service that grants you to read instances of . @@ -51915,6 +57772,9 @@ The length of the returned RawData may not match * . + may not be the minimal value required to represent the texture + bitmap data. For example, if a texture is 4x4 B8G8R8A8, the minimal pitch would be 32, but the function may + return 64 instead. This function may throw an exception. @@ -52319,6 +58179,13 @@ Show a message stating that Dalamud is currently updating plugins. + + Gets the queue where log entries that are not processed yet are stored. + + + Gets a value indicating whether the initial Dalamud loading dialog will not show again until next + game restart. + Gets or sets the current state of the dialog. @@ -52326,7 +58193,7 @@ - Gets or sets a value indicating whether or not the dialog can be hidden by the user. + Gets or sets a value indicating whether the dialog can be hidden by the user. Thrown if called before the dialog has been created. @@ -52339,6 +58206,7 @@ Hide the dialog. + A representing the asynchronous operation. @@ -52414,7 +58282,7 @@ during initialization or during regular operation. - + Initializes Provided Services and FFXIVClientStructs. @@ -52422,6 +58290,7 @@ Instance of . Instance of . Instance of . + Instance of . @@ -52700,17 +58569,18 @@ - - Extension methods for . - + Extension methods for . - - Gets the purpose. - + Gets the purpose. The asset. The purpose. + + Gets the attribute. + The asset. + The attribute. + A concrete class for . @@ -52791,7 +58661,7 @@ - The asset has no purpose. + The asset has no purpose, and is not valid and/or not accessible. @@ -53045,6 +58915,30 @@ Whether or not the most recent exception to occur should be included in the report. A representing the asynchronous operation. + + Tracks the loaded process modules. + + + Gets all the loaded modules, up to date. + + + + Service for fetching Dalamud release information. + + + + + Initializes a new instance of the class. + + The shared HTTP client. + The Dalamud configuration. + + + + Get the latest version info for the current track. + + The version info for the current track. + Class responsible for printing troubleshooting information to the log. @@ -53067,24 +58961,19 @@ Log troubleshooting information in a parseable format to Serilog. - - - Utility class for marking something to be changed for API 10, for ease of lookup. - - - + - Marks that this exists purely for making API 9 plugins work. + Utility class for marking something to be changed for API 11, for ease of lookup. - + - Marks that this should be moved to an another namespace. + Marks that this should be made internal. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The explanation. The explanation 2. @@ -53628,7 +59517,7 @@ An optional mode to "correct" a Z offset of -10000 to be a more human-friendly value. Returns a Vector3 representing visible map coordinates. - + All-in-one helper method to convert a World Coordinate (internal to the game) to a Map Coordinate (visible to players in the minimap/elsewhere). @@ -53653,7 +59542,7 @@ The global scale to apply to the incoming X and Y parameters, generally Lumina's Map.SizeFactor. Returns a Vector2 representing visible map coordinates. - + All-in-one helper method to convert a World Coordinate (internal to the game) to a Map Coordinate (visible to players in the minimap/elsewhere). @@ -53796,6 +59685,46 @@ The original Lumina SeString. The re-parsed Dalamud SeString. + + + Convert a Lumina ReadOnlySeString into a Dalamud SeString. + This conversion re-parses the string. + + The original Lumina ReadOnlySeString. + The re-parsed Dalamud SeString. + + + + Convert a Lumina ReadOnlySeStringSpan into a Dalamud SeString. + This conversion re-parses the string. + + The original Lumina ReadOnlySeStringSpan. + The re-parsed Dalamud SeString. + + + Compiles and appends a macro string. + Target SeString builder. + Macro string in UTF-8 to compile and append to . + this for method chaining. + + + Compiles and appends a macro string. + Target SeString builder. + Macro string in UTF-16 to compile and append to . + this for method chaining. + + + Compiles and appends a macro string. + Target SeString builder. + Macro string in UTF-8 to compile and append to . + this for method chaining. + + + Compiles and appends a macro string. + Target SeString builder. + Macro string in UTF-16 to compile and append to . + this for method chaining. + Validate if character name is valid. @@ -54129,6 +60058,54 @@ include legacy names (combined can be 30 instead of 20). indicator if character is name is valid. + + + Extension methods to make working with easier. + + + + + Safe alternative to Task.Wait which ensures the calling thread is not a thread pool thread. + + The task to be awaited. + + + + Safe alternative to Task.Result which ensures the calling thread is not a thread pool thread. + + The target task. + The type of the result. + The result. + + + Creates a new that resolves when completes, ignoring + exceptions thrown from the task, if any. + Task to await and ignore exceptions on failure. + A that completes successfully when completes in any state. + + Awaiting the returned will always complete without exceptions, but awaiting + will throw exceptions if it fails, even after this function is called. + + + Wrong use of this function + + var task = TaskThrowingException(); + task.SuppressException(); + await TaskThrowingException(); // This line will throw. + + + + Correct use of this function, if waiting for the task + await TaskThrowingException().SuppressException(); + + + Fire-and-forget
+ If not interested in the execution state of Task (fire-and-forget), simply calling this function will do. + This function consumes the task's exception, so that it won't bubble up on later garbage collection. + TaskThrowingException().SuppressException(); +
+
+
Managed iterator for . The unknown type. @@ -54555,26 +60532,35 @@ The second byte array. Whether or not the byte arrays are equal. - + - Gets the git hash value from the assembly - or null if it cannot be found. + Gets the SCM Version from the assembly, or null if it cannot be found. This method will generally return + the git describe output for this build, which will be a raw version if this is a stable build or an + appropriately-annotated version if this is *not* stable. Local builds will return a `Local Build` text string. - The git hash of the assembly. + The SCM version of the assembly. - + - Gets the amount of commits in the current branch, or null if undetermined. + Gets the git commit hash value from the assembly or null if it cannot be found. Will be null for Debug builds, + and will be suffixed with `-dirty` if in release with pending changes. - The amount of commits in the current branch. + The git hash of the assembly. - Gets the git hash value from the assembly - or null if it cannot be found. + Gets the git hash value from the assembly or null if it cannot be found. The git hash of the assembly. + + + + + Describes a memory address relative to module, or allocation base. + Address. + Address description. + Read memory from an offset and hexdump them via Serilog. @@ -55322,6 +61308,38 @@ The text being scanned by the regular expression. true if a possible match was found; false if no more matches are possible. + + Custom -derived type for the CompiledUrlRegex method. + + + Cached, thread-safe singleton instance. + + + Initializes the instance. + + + Provides a factory for creating instances to be used by methods on . + + + Creates an instance of a used by methods on . + + + Provides the runner that contains the custom logic implementing the specified regular expression. + + + Scan the starting from base.runtextstart for the next match. + The text being scanned by the regular expression. + + + Search starting from base.runtextpos for the next location a match could possibly start. + The text being scanned by the regular expression. + true if a possible match was found; false if no more matches are possible. + + + Determine whether at base.runtextpos is a match for the regular expression. + The text being scanned by the regular expression. + true if the regular expression matches at the current position; otherwise, false. + Helper methods used by generated -derived implementations. @@ -55331,5 +61349,14 @@ Whether is non-infinite. + + Pops 2 values from the backtracking stack. + + + Pushes 2 values onto the backtracking stack. + + + Pushes 3 values onto the backtracking stack. + diff --git a/SkipCutscene/Properties/AssemblyInfo.cs b/SkipCutscene/Properties/AssemblyInfo.cs index bcf1d18..9abccee 100644 --- a/SkipCutscene/Properties/AssemblyInfo.cs +++ b/SkipCutscene/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.2.4")] -[assembly: AssemblyFileVersion("1.2.2.4")] +[assembly: AssemblyVersion("1.2.2.5")] +[assembly: AssemblyFileVersion("1.2.2.5")] diff --git a/SkipCutscene/SkipCutscene.csproj b/SkipCutscene/SkipCutscene.csproj index 05f29e4..508365d 100644 --- a/SkipCutscene/SkipCutscene.csproj +++ b/SkipCutscene/SkipCutscene.csproj @@ -16,6 +16,6 @@ - + \ No newline at end of file