From 8140ddcbfda38087c5677e53bb9c72dc60a91e8b Mon Sep 17 00:00:00 2001 From: goat Date: Mon, 30 Mar 2020 02:10:05 +0900 Subject: [PATCH 01/12] build: v4.7.22.0 --- Dalamud.Injector/Dalamud.Injector.csproj | 6 +++--- Dalamud/Dalamud.csproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dalamud.Injector/Dalamud.Injector.csproj b/Dalamud.Injector/Dalamud.Injector.csproj index 7091392b7..514b9681d 100644 --- a/Dalamud.Injector/Dalamud.Injector.csproj +++ b/Dalamud.Injector/Dalamud.Injector.csproj @@ -14,10 +14,10 @@ true - 4.7.21.0 - 4.7.21.0 + 4.7.22.0 + 4.7.22.0 XIVLauncher addon injection - 4.7.21.0 + 4.7.22.0 diff --git a/Dalamud/Dalamud.csproj b/Dalamud/Dalamud.csproj index 20387c9c9..e4466d4d5 100644 --- a/Dalamud/Dalamud.csproj +++ b/Dalamud/Dalamud.csproj @@ -14,9 +14,9 @@ true - 4.7.21.0 - 4.7.21.0 - 4.7.21.0 + 4.7.22.0 + 4.7.22.0 + 4.7.22.0 From fb42419b5d6b17a4a158a97d40e4a7e492836d2e Mon Sep 17 00:00:00 2001 From: goat Date: Tue, 31 Mar 2020 04:34:09 +0900 Subject: [PATCH 02/12] docs: replace mbplugin link with rich presence --- api/index.md | 2 +- ...ud.Game.ClientState.Actors.ActorTable.html | 54 +++- ...entState.Actors.Types.PlayerCharacter.html | 39 ++- .../Dalamud.Game.ClientState.ClientState.html | 157 +++++++++-- .../Dalamud.Game.ClientState.KeyState.html | 265 ++++++++++++++++++ ...alamud.Game.ClientState.Structs.Actor.html | 45 ++- docs/api/Dalamud.Game.ClientState.html | 4 + docs/api/Dalamud.Game.Internal.Framework.html | 19 +- docs/api/ImGuiNET.RangeAccessor-1.html | 1 + docs/api/ImGuiNET.RangePtrAccessor-1.html | 1 + .../ImGuiScene.FramerateLimit.LimitType.html | 4 +- docs/api/ImGuiScene.FramerateLimit.html | 20 +- docs/api/ImGuiScene.GLTextureWrap.html | 32 +-- docs/api/ImGuiScene.IImGuiInputHandler.html | 12 +- docs/api/ImGuiScene.IImGuiRenderer.html | 20 +- docs/api/ImGuiScene.IRenderer.html | 52 ++-- docs/api/ImGuiScene.ImGui_Impl_DX11.html | 36 +-- docs/api/ImGuiScene.ImGui_Impl_OpenGL3.html | 20 +- docs/api/ImGuiScene.ImGui_Impl_SDL.html | 28 +- .../ImGuiScene.ImGui_Input_Impl_Direct.html | 32 +-- ...GuiScene.RawDX11Scene.BuildUIDelegate.html | 4 +- ...ne.RawDX11Scene.NewInputFrameDelegate.html | 125 +++++++++ ...e.RawDX11Scene.NewRenderFrameDelegate.html | 125 +++++++++ docs/api/ImGuiScene.RawDX11Scene.html | 114 ++++++-- ...Scene.RendererFactory.RendererBackend.html | 4 +- docs/api/ImGuiScene.RendererFactory.html | 8 +- docs/api/ImGuiScene.SDLWindowGL.html | 12 +- docs/api/ImGuiScene.SimpleD3D.html | 64 ++--- ...cene.SimpleImGuiScene.BuildUIDelegate.html | 4 +- docs/api/ImGuiScene.SimpleImGuiScene.html | 72 ++--- docs/api/ImGuiScene.SimpleOGL3.html | 72 ++--- ....SimpleSDLWindow.ProcessEventDelegate.html | 4 +- docs/api/ImGuiScene.SimpleSDLWindow.html | 52 ++-- docs/api/ImGuiScene.TextureWrap.html | 16 +- docs/api/ImGuiScene.WindowCreateInfo.html | 32 +-- docs/api/ImGuiScene.WindowFactory.html | 8 +- docs/api/ImGuiScene.html | 4 + docs/api/index.html | 2 +- docs/api/toc.html | 9 + docs/manifest.json | 146 ++++++---- docs/xrefmap.yml | 164 ++++++++++- 41 files changed, 1425 insertions(+), 459 deletions(-) create mode 100644 docs/api/Dalamud.Game.ClientState.KeyState.html create mode 100644 docs/api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html create mode 100644 docs/api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html diff --git a/api/index.md b/api/index.md index 587bacfa3..0106350dc 100644 --- a/api/index.md +++ b/api/index.md @@ -1,4 +1,4 @@ # Dalamud Plugin API -This is the documentation for the publicly accessible Dalamud plugin API. See the [market board plugin](https://github.com/goaaats/Dalamud.MbPlugin) as an example. +This is the documentation for the publicly accessible Dalamud plugin API. See the [rich presence plugin](https://github.com/goaaats/Dalamud.RichPresence) as an example. All plugins have to implement the [IDalamudPlugin interface](Dalamud.Plugin.IDalamudPlugin.yml) that gives them access to objects like the chat command manager and game client information. \ No newline at end of file diff --git a/docs/api/Dalamud.Game.ClientState.Actors.ActorTable.html b/docs/api/Dalamud.Game.ClientState.Actors.ActorTable.html index daa08e00f..e2ee00b58 100644 --- a/docs/api/Dalamud.Game.ClientState.Actors.ActorTable.html +++ b/docs/api/Dalamud.Game.ClientState.Actors.ActorTable.html @@ -85,6 +85,7 @@
Implements
System.Collections.ICollection
System.Collections.IEnumerable
+
System.IDisposable
Inherited Members
@@ -114,7 +115,7 @@
Assembly: Dalamud.dll
Syntax
-
public class ActorTable : ICollection, IEnumerable
+
public class ActorTable : ICollection, IEnumerable, IDisposable

Constructors

@@ -123,7 +124,7 @@ Improve this Doc - View Source + View Source

ActorTable(Dalamud, ClientStateAddressResolver)

@@ -164,7 +165,7 @@ Improve this Doc - View Source + View Source

Item[Int32]

@@ -214,7 +215,7 @@ Improve this Doc - View Source + View Source

Length

@@ -242,12 +243,42 @@

Methods

+ + | + Improve this Doc + + + View Source + + +

Dispose()

+
+
+
Declaration
+
+
public void Dispose()
+
+ + | + Improve this Doc + + + View Source + + +

Enable()

+
+
+
Declaration
+
+
public void Enable()
+
| Improve this Doc - View Source + View Source

GetEnumerator()

@@ -279,7 +310,7 @@ Improve this Doc - View Source + View Source

ICollection.CopyTo(Array, Int32)

@@ -316,7 +347,7 @@ Improve this Doc - View Source + View Source

ICollection.Count

@@ -346,7 +377,7 @@ Improve this Doc - View Source + View Source

ICollection.IsSynchronized

@@ -376,7 +407,7 @@ Improve this Doc - View Source + View Source

ICollection.SyncRoot

@@ -408,6 +439,9 @@
System.Collections.IEnumerable
+
+ System.IDisposable +
@@ -419,7 +453,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/docs/api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html b/docs/api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html index 33eda44f2..f796ca578 100644 --- a/docs/api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html +++ b/docs/api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html @@ -156,7 +156,7 @@ Improve this Doc - View Source + View Source

    PlayerCharacter(Actor, Dalamud)

    @@ -193,12 +193,43 @@

    Properties

    + + | + Improve this Doc + + + View Source + + +

    CompanyTag

    +

    The Free Company tag of this player.

    +
    +
    +
    Declaration
    +
    +
    public string CompanyTag { get; }
    +
    +
    Property Value
    + + + + + + + + + + + + + +
    TypeDescription
    System.String
    | Improve this Doc - View Source + View Source

    CurrentWorld

    @@ -229,7 +260,7 @@ Improve this Doc - View Source + View Source

    HomeWorld

    @@ -266,7 +297,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/docs/api/Dalamud.Game.ClientState.ClientState.html b/docs/api/Dalamud.Game.ClientState.ClientState.html index 8b34f7cd0..548e7a47e 100644 --- a/docs/api/Dalamud.Game.ClientState.ClientState.html +++ b/docs/api/Dalamud.Game.ClientState.ClientState.html @@ -84,6 +84,7 @@
    Implements
    System.ComponentModel.INotifyPropertyChanged
    +
    System.IDisposable
    Inherited Members
    @@ -113,7 +114,7 @@
    Assembly: Dalamud.dll
    Syntax
    -
    public class ClientState : INotifyPropertyChanged
    +
    public class ClientState : INotifyPropertyChanged, IDisposable

    Constructors

    @@ -122,7 +123,7 @@ Improve this Doc - View Source + View Source

    ClientState(Dalamud, DalamudStartInfo, SigScanner)

    @@ -170,7 +171,7 @@ Improve this Doc - View Source + View Source

    Actors

    The table of all present actors.

    @@ -200,7 +201,7 @@ Improve this Doc - View Source + View Source

    ClientLanguage

    @@ -229,7 +230,7 @@ Improve this Doc - View Source + View Source

    JobGauges

    The class facilitating Job Gauge data access

    @@ -254,6 +255,96 @@ + + | + Improve this Doc + + + View Source + +

    KeyState

    +

    Provides access to the keypress state of keyboard keys in game.

    +
    +
    +
    Declaration
    +
    +
    public KeyState KeyState
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    KeyState
    + + | + Improve this Doc + + + View Source + +

    TerritoryChanged

    +

    Event that gets fired when the current Territory changes.

    +
    +
    +
    Declaration
    +
    +
    public EventHandler<ushort> TerritoryChanged
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    System.EventHandler<System.UInt16>
    + + | + Improve this Doc + + + View Source + +

    TerritoryType

    +

    The current Territory the player resides in.

    +
    +
    +
    Declaration
    +
    +
    public ushort TerritoryType
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    System.UInt16

    Properties

    @@ -261,7 +352,7 @@ Improve this Doc - View Source + View Source

    LocalContentId

    @@ -292,7 +383,7 @@ Improve this Doc - View Source + View Source

    LocalPlayer

    @@ -318,37 +409,38 @@ +

    Methods +

    | - Improve this Doc + Improve this Doc - View Source + View Source - -

    TerritoryType

    -

    The current Territory the player resides in.

    -
    + +

    Dispose()

    +
    Declaration
    -
    public uint TerritoryType { get; }
    +
    public void Dispose()
    +
    + + | + Improve this Doc + + + View Source + + +

    Enable()

    +
    +
    +
    Declaration
    +
    +
    public void Enable()
    -
    Property Value
    - - - - - - - - - - - - - -
    TypeDescription
    System.UInt32

    Events

    @@ -356,7 +448,7 @@ Improve this Doc - View Source + View Source

    PropertyChanged

    @@ -384,6 +476,9 @@
    System.ComponentModel.INotifyPropertyChanged
    +
    + System.IDisposable +
    @@ -395,7 +490,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/docs/api/Dalamud.Game.ClientState.KeyState.html b/docs/api/Dalamud.Game.ClientState.KeyState.html new file mode 100644 index 000000000..046d55d43 --- /dev/null +++ b/docs/api/Dalamud.Game.ClientState.KeyState.html @@ -0,0 +1,265 @@ + + + + + + + + Class KeyState + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + + +
    + + + + + + diff --git a/docs/api/Dalamud.Game.ClientState.Structs.Actor.html b/docs/api/Dalamud.Game.ClientState.Structs.Actor.html index ce1b6d510..07c63a426 100644 --- a/docs/api/Dalamud.Game.ClientState.Structs.Actor.html +++ b/docs/api/Dalamud.Game.ClientState.Structs.Actor.html @@ -139,7 +139,7 @@ Improve this Doc - View Source + View Source

    ClassJob

    @@ -165,11 +165,40 @@ | - Improve this Doc + Improve this Doc View Source +

    CompanyTag

    +
    +
    +
    Declaration
    +
    +
    public byte[] CompanyTag
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    System.Byte[]
    + + | + Improve this Doc + + + View Source +

    CurrentHp

    @@ -197,7 +226,7 @@ Improve this Doc - View Source + View Source

    CurrentMp

    @@ -226,7 +255,7 @@ Improve this Doc - View Source + View Source

    CurrentWorld

    @@ -284,7 +313,7 @@ Improve this Doc - View Source + View Source

    HomeWorld

    @@ -342,7 +371,7 @@ Improve this Doc - View Source + View Source

    Level

    @@ -371,7 +400,7 @@ Improve this Doc - View Source + View Source

    MaxHp

    @@ -400,7 +429,7 @@ Improve this Doc - View Source + View Source

    MaxMp

    diff --git a/docs/api/Dalamud.Game.ClientState.html b/docs/api/Dalamud.Game.ClientState.html index c9042e295..e902cccf7 100644 --- a/docs/api/Dalamud.Game.ClientState.html +++ b/docs/api/Dalamud.Game.ClientState.html @@ -82,6 +82,10 @@

    JobGauges

    +

    KeyState

    +

    Wrapper around the game keystate buffer, which contains the pressed state for +all keyboard keys, indexed by virtual vkCode

    +
    diff --git a/docs/api/Dalamud.Game.Internal.Framework.html b/docs/api/Dalamud.Game.Internal.Framework.html index af1f24571..5741a38f0 100644 --- a/docs/api/Dalamud.Game.Internal.Framework.html +++ b/docs/api/Dalamud.Game.Internal.Framework.html @@ -122,7 +122,7 @@ Improve this Doc - View Source + View Source

    Framework(SigScanner, Dalamud)

    @@ -161,7 +161,7 @@ Improve this Doc - View Source + View Source

    Address

    @@ -192,7 +192,7 @@ Improve this Doc - View Source + View Source

    Gui

    @@ -223,7 +223,7 @@ Improve this Doc - View Source + View Source

    Libc

    @@ -253,7 +253,7 @@ Improve this Doc - View Source + View Source

    Network

    @@ -286,7 +286,7 @@ Improve this Doc - View Source + View Source

    Dispose()

    @@ -301,7 +301,7 @@ Improve this Doc - View Source + View Source

    Enable()

    @@ -318,10 +318,11 @@ Improve this Doc - View Source + View Source

    OnUpdateEvent

    -
    +

    Event that gets fired every time the game framework updates.

    +
    Declaration
    diff --git a/docs/api/ImGuiNET.RangeAccessor-1.html b/docs/api/ImGuiNET.RangeAccessor-1.html index 3bad91f9c..f38c70165 100644 --- a/docs/api/ImGuiNET.RangeAccessor-1.html +++ b/docs/api/ImGuiNET.RangeAccessor-1.html @@ -101,6 +101,7 @@
    Syntax
    public struct RangeAccessor<T>
    +
         where T : struct
    Type Parameters
    diff --git a/docs/api/ImGuiNET.RangePtrAccessor-1.html b/docs/api/ImGuiNET.RangePtrAccessor-1.html index bfcac7e52..99645455e 100644 --- a/docs/api/ImGuiNET.RangePtrAccessor-1.html +++ b/docs/api/ImGuiNET.RangePtrAccessor-1.html @@ -101,6 +101,7 @@
    Syntax
    public struct RangePtrAccessor<T>
    +
         where T : struct
    Type Parameters
    diff --git a/docs/api/ImGuiScene.FramerateLimit.LimitType.html b/docs/api/ImGuiScene.FramerateLimit.LimitType.html index ac4c0c7de..3b099f4a3 100644 --- a/docs/api/ImGuiScene.FramerateLimit.LimitType.html +++ b/docs/api/ImGuiScene.FramerateLimit.LimitType.html @@ -122,10 +122,10 @@ This will disable vsync regardless of the fps value.

    diff --git a/docs/api/ImGuiScene.FramerateLimit.html b/docs/api/ImGuiScene.FramerateLimit.html index 15486326a..5f129a8e2 100644 --- a/docs/api/ImGuiScene.FramerateLimit.html +++ b/docs/api/ImGuiScene.FramerateLimit.html @@ -113,10 +113,10 @@ Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync d | - Improve this Doc + Improve this Doc - View Source + View Source

    FramerateLimit(FramerateLimit.LimitType, Int32)

    @@ -155,10 +155,10 @@ Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync d | - Improve this Doc + Improve this Doc - View Source + View Source

    FPS

    @@ -186,10 +186,10 @@ Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync d | - Improve this Doc + Improve this Doc - View Source + View Source

    Type

    @@ -219,10 +219,10 @@ Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync d | - Improve this Doc + Improve this Doc - View Source + View Source

    ToString()

    @@ -257,10 +257,10 @@ Vsync-enabled (sync to monitor refresh), or a specified fixed framerate (vsync d diff --git a/docs/api/ImGuiScene.GLTextureWrap.html b/docs/api/ImGuiScene.GLTextureWrap.html index f3691055e..69a5beb26 100644 --- a/docs/api/ImGuiScene.GLTextureWrap.html +++ b/docs/api/ImGuiScene.GLTextureWrap.html @@ -121,10 +121,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    GLTextureWrap(UInt32, Int32, Int32)

    @@ -165,10 +165,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    Height

    @@ -195,10 +195,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGuiHandle

    @@ -225,10 +225,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    Width

    @@ -257,10 +257,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -272,10 +272,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle
    | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -304,10 +304,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -332,10 +332,10 @@ Provides a simple wrapped view of the disposeable resource as well as the handle diff --git a/docs/api/ImGuiScene.IImGuiInputHandler.html b/docs/api/ImGuiScene.IImGuiInputHandler.html index 3ae491d4a..e32bb8c67 100644 --- a/docs/api/ImGuiScene.IImGuiInputHandler.html +++ b/docs/api/ImGuiScene.IImGuiInputHandler.html @@ -91,10 +91,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame(Int32, Int32)

    @@ -128,10 +128,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    SetIniPath(String)

    @@ -166,10 +166,10 @@ diff --git a/docs/api/ImGuiScene.IImGuiRenderer.html b/docs/api/ImGuiScene.IImGuiRenderer.html index ae1c16185..865458b50 100644 --- a/docs/api/ImGuiScene.IImGuiRenderer.html +++ b/docs/api/ImGuiScene.IImGuiRenderer.html @@ -86,10 +86,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Init(Object[])

    @@ -118,10 +118,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame()

    @@ -133,10 +133,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    RenderDrawData(ImDrawDataPtr)

    @@ -165,10 +165,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Shutdown()

    @@ -186,10 +186,10 @@ diff --git a/docs/api/ImGuiScene.IRenderer.html b/docs/api/ImGuiScene.IRenderer.html index a83e0332d..644f7481c 100644 --- a/docs/api/ImGuiScene.IRenderer.html +++ b/docs/api/ImGuiScene.IRenderer.html @@ -92,10 +92,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ClearColor

    @@ -123,10 +123,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Debuggable

    @@ -154,10 +154,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Type

    @@ -185,10 +185,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Vsync

    @@ -218,10 +218,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    AttachToWindow(SimpleSDLWindow)

    @@ -255,10 +255,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Clear()

    @@ -271,10 +271,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateTexture(Void*, Int32, Int32, Int32)

    @@ -342,10 +342,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Init()

    @@ -357,10 +357,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_NewFrame()

    @@ -372,10 +372,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_RenderDrawData(ImDrawDataPtr)

    @@ -404,10 +404,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Shutdown()

    @@ -419,10 +419,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Present()

    @@ -441,10 +441,10 @@ diff --git a/docs/api/ImGuiScene.ImGui_Impl_DX11.html b/docs/api/ImGuiScene.ImGui_Impl_DX11.html index d29a40661..21c4708a0 100644 --- a/docs/api/ImGuiScene.ImGui_Impl_DX11.html +++ b/docs/api/ImGuiScene.ImGui_Impl_DX11.html @@ -124,10 +124,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateDeviceObjects()

    @@ -154,10 +154,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateFontsTexture()

    @@ -169,10 +169,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Init(Object[])

    @@ -201,10 +201,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    InvalidateDeviceObjects()

    @@ -216,10 +216,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame()

    @@ -231,10 +231,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    RenderDrawData(ImDrawDataPtr)

    @@ -263,10 +263,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    SetupRenderState(ImDrawDataPtr)

    @@ -295,10 +295,10 @@ Would be nice to organize it better, but it seems to work

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Shutdown()

    @@ -320,10 +320,10 @@ Would be nice to organize it better, but it seems to work

    diff --git a/docs/api/ImGuiScene.ImGui_Impl_OpenGL3.html b/docs/api/ImGuiScene.ImGui_Impl_OpenGL3.html index 7e850aa83..aa3999869 100644 --- a/docs/api/ImGuiScene.ImGui_Impl_OpenGL3.html +++ b/docs/api/ImGuiScene.ImGui_Impl_OpenGL3.html @@ -121,10 +121,10 @@ State backup IS done for this renderer, because SDL does not play nicely when us | - Improve this Doc + Improve this Doc - View Source + View Source

    Init(Object[])

    @@ -153,10 +153,10 @@ State backup IS done for this renderer, because SDL does not play nicely when us | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame()

    @@ -168,10 +168,10 @@ State backup IS done for this renderer, because SDL does not play nicely when us | - Improve this Doc + Improve this Doc - View Source + View Source

    RenderDrawData(ImDrawDataPtr)

    @@ -200,10 +200,10 @@ State backup IS done for this renderer, because SDL does not play nicely when us | - Improve this Doc + Improve this Doc - View Source + View Source

    Shutdown()

    @@ -225,10 +225,10 @@ State backup IS done for this renderer, because SDL does not play nicely when us diff --git a/docs/api/ImGuiScene.ImGui_Impl_SDL.html b/docs/api/ImGuiScene.ImGui_Impl_SDL.html index 2e4124cf8..d7cafa43b 100644 --- a/docs/api/ImGuiScene.ImGui_Impl_SDL.html +++ b/docs/api/ImGuiScene.ImGui_Impl_SDL.html @@ -121,10 +121,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Impl_SDL(IntPtr)

    @@ -155,10 +155,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -170,10 +170,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -202,10 +202,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -217,10 +217,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame(Int32, Int32)

    @@ -254,10 +254,10 @@ A near-direct port of | - Improve this Doc + Improve this Doc - View Source + View Source

    SetIniPath(String)

    @@ -299,10 +299,10 @@ A near-direct port of diff --git a/docs/api/ImGuiScene.ImGui_Input_Impl_Direct.html b/docs/api/ImGuiScene.ImGui_Input_Impl_Direct.html index 7c95cf471..8e6fe4061 100644 --- a/docs/api/ImGuiScene.ImGui_Input_Impl_Direct.html +++ b/docs/api/ImGuiScene.ImGui_Input_Impl_Direct.html @@ -119,10 +119,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Input_Impl_Direct(IntPtr)

    @@ -153,10 +153,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -168,10 +168,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -200,10 +200,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -215,10 +215,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    IsImGuiCursor(IntPtr)

    @@ -262,10 +262,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    NewFrame(Int32, Int32)

    @@ -299,10 +299,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    SetIniPath(String)

    @@ -344,10 +344,10 @@ diff --git a/docs/api/ImGuiScene.RawDX11Scene.BuildUIDelegate.html b/docs/api/ImGuiScene.RawDX11Scene.BuildUIDelegate.html index e8fa7a6df..479121891 100644 --- a/docs/api/ImGuiScene.RawDX11Scene.BuildUIDelegate.html +++ b/docs/api/ImGuiScene.RawDX11Scene.BuildUIDelegate.html @@ -89,10 +89,10 @@ diff --git a/docs/api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html b/docs/api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html new file mode 100644 index 000000000..6f201c226 --- /dev/null +++ b/docs/api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html @@ -0,0 +1,125 @@ + + + + + + + + Delegate RawDX11Scene.NewInputFrameDelegate + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + + +
    + + + + + + diff --git a/docs/api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html b/docs/api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html new file mode 100644 index 000000000..27497b496 --- /dev/null +++ b/docs/api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html @@ -0,0 +1,125 @@ + + + + + + + + Delegate RawDX11Scene.NewRenderFrameDelegate + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + + +
    + + + + + + diff --git a/docs/api/ImGuiScene.RawDX11Scene.html b/docs/api/ImGuiScene.RawDX11Scene.html index 5e21eea6a..efdca48d2 100644 --- a/docs/api/ImGuiScene.RawDX11Scene.html +++ b/docs/api/ImGuiScene.RawDX11Scene.html @@ -118,10 +118,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    RawDX11Scene(IntPtr)

    @@ -150,10 +150,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    RawDX11Scene(IntPtr, IntPtr)

    @@ -189,10 +189,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    OnBuildUI

    User methods invoked every ImGui frame to construct custom UIs.

    @@ -217,14 +217,72 @@ + + | + Improve this Doc + + + View Source + +

    OnNewInputFrame

    +
    +
    +
    Declaration
    +
    +
    public RawDX11Scene.NewInputFrameDelegate OnNewInputFrame
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    RawDX11Scene.NewInputFrameDelegate
    + + | + Improve this Doc + + + View Source + +

    OnNewRenderFrame

    +
    +
    +
    Declaration
    +
    +
    public RawDX11Scene.NewRenderFrameDelegate OnNewRenderFrame
    +
    +
    Field Value
    + + + + + + + + + + + + + +
    TypeDescription
    RawDX11Scene.NewRenderFrameDelegate

    Properties

    | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGuiIniPath

    @@ -253,10 +311,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CaptureScreenshot()

    @@ -283,10 +341,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -298,10 +356,10 @@
    | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -313,10 +371,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    IsImGuiCursor(IntPtr)

    @@ -360,10 +418,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    LoadImage(Byte[])

    @@ -407,10 +465,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    LoadImage(String)

    @@ -454,10 +512,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    OnPostResize(Int32, Int32)

    @@ -491,10 +549,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    OnPreResize()

    @@ -506,10 +564,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Render()

    @@ -531,10 +589,10 @@ diff --git a/docs/api/ImGuiScene.RendererFactory.RendererBackend.html b/docs/api/ImGuiScene.RendererFactory.RendererBackend.html index 02fd503a3..1ab16f54e 100644 --- a/docs/api/ImGuiScene.RendererFactory.RendererBackend.html +++ b/docs/api/ImGuiScene.RendererFactory.RendererBackend.html @@ -113,10 +113,10 @@ diff --git a/docs/api/ImGuiScene.RendererFactory.html b/docs/api/ImGuiScene.RendererFactory.html index a1823175e..ca39ac6da 100644 --- a/docs/api/ImGuiScene.RendererFactory.html +++ b/docs/api/ImGuiScene.RendererFactory.html @@ -115,10 +115,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateRenderer(RendererFactory.RendererBackend, Boolean)

    @@ -176,10 +176,10 @@ diff --git a/docs/api/ImGuiScene.SDLWindowGL.html b/docs/api/ImGuiScene.SDLWindowGL.html index 0f5a52376..164943de7 100644 --- a/docs/api/ImGuiScene.SDLWindowGL.html +++ b/docs/api/ImGuiScene.SDLWindowGL.html @@ -147,10 +147,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    InitForRenderer(IRenderer)

    @@ -183,10 +183,10 @@
    SimpleSDLWindow.InitForRenderer(IRenderer)
    | - Improve this Doc + Improve this Doc - View Source + View Source

    WindowCreationFlags(WindowCreateInfo)

    @@ -245,10 +245,10 @@ diff --git a/docs/api/ImGuiScene.SimpleD3D.html b/docs/api/ImGuiScene.SimpleD3D.html index 90d754a2d..8feb0253a 100644 --- a/docs/api/ImGuiScene.SimpleD3D.html +++ b/docs/api/ImGuiScene.SimpleD3D.html @@ -120,10 +120,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ClearColor

    @@ -151,10 +151,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Debuggable

    @@ -182,10 +182,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Type

    @@ -213,10 +213,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Vsync

    @@ -246,10 +246,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    AttachToWindow(SimpleSDLWindow)

    @@ -280,10 +280,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Clear()

    @@ -296,10 +296,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateTexture(Void*, Int32, Int32, Int32)

    @@ -367,10 +367,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -382,10 +382,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -414,10 +414,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -429,10 +429,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Init()

    @@ -444,10 +444,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_NewFrame()

    @@ -459,10 +459,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_RenderDrawData(ImDrawDataPtr)

    @@ -491,10 +491,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Shutdown()

    @@ -506,10 +506,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Present()

    @@ -535,10 +535,10 @@ diff --git a/docs/api/ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html b/docs/api/ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html index fc36f4603..fe7dcbf34 100644 --- a/docs/api/ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html +++ b/docs/api/ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html @@ -89,10 +89,10 @@ diff --git a/docs/api/ImGuiScene.SimpleImGuiScene.html b/docs/api/ImGuiScene.SimpleImGuiScene.html index e2b80b7d1..1eeb5e928 100644 --- a/docs/api/ImGuiScene.SimpleImGuiScene.html +++ b/docs/api/ImGuiScene.SimpleImGuiScene.html @@ -121,10 +121,10 @@ Currently this always creates a new window rather than take ownership of an exis | - Improve this Doc + Improve this Doc - View Source + View Source

    SimpleImGuiScene(RendererFactory.RendererBackend, WindowCreateInfo, Boolean)

    @@ -168,10 +168,10 @@ Currently this always creates a new window rather than take ownership of an exis | - Improve this Doc + Improve this Doc - View Source + View Source

    OnBuildUI

    User methods invoked every ImGui frame to construct custom UIs.

    @@ -200,10 +200,10 @@ Currently this always creates a new window rather than take ownership of an exis | - Improve this Doc + Improve this Doc - View Source + View Source

    FramerateLimit

    @@ -232,10 +232,10 @@ The default behavior is | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGuiIniPath

    @@ -262,10 +262,10 @@ The default behavior is | - Improve this Doc + Improve this Doc - View Source + View Source

    OnSDLEvent

    @@ -294,10 +294,10 @@ This is just a convenience wrapper around | - Improve this Doc + Improve this Doc - View Source + View Source

    PauseWhenUnfocused

    @@ -327,10 +327,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Renderer

    @@ -358,10 +358,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    ShouldQuit

    @@ -389,10 +389,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Window

    @@ -422,10 +422,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateOverlay(RendererFactory.RendererBackend, SDL.SDL_Scancode, Single[], Boolean)

    @@ -489,10 +489,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -504,10 +504,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -536,10 +536,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -551,10 +551,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    LoadImage(Byte[])

    @@ -604,10 +604,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    LoadImage(String)

    @@ -657,10 +657,10 @@ if you are rendering dynamic data.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Run()

    @@ -674,10 +674,10 @@ requests an exit (via | - Improve this Doc + Improve this Doc - View Source + View Source

    Update()

    @@ -701,10 +701,10 @@ This method does not check any quit conditions.

    diff --git a/docs/api/ImGuiScene.SimpleOGL3.html b/docs/api/ImGuiScene.SimpleOGL3.html index 20af8aa1e..8da24fc2b 100644 --- a/docs/api/ImGuiScene.SimpleOGL3.html +++ b/docs/api/ImGuiScene.SimpleOGL3.html @@ -120,10 +120,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ClearColor

    @@ -151,10 +151,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ContextMajorVersion

    @@ -181,10 +181,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ContextMinorVersion

    @@ -211,10 +211,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Debuggable

    @@ -242,10 +242,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Type

    @@ -273,10 +273,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Vsync

    @@ -306,10 +306,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    AttachToWindow(SimpleSDLWindow)

    @@ -340,10 +340,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Clear()

    @@ -356,10 +356,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateTexture(Void*, Int32, Int32, Int32)

    @@ -418,10 +418,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -433,10 +433,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -465,10 +465,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -480,10 +480,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Init()

    @@ -495,10 +495,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_NewFrame()

    @@ -510,10 +510,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_RenderDrawData(ImDrawDataPtr)

    @@ -542,10 +542,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGui_Shutdown()

    @@ -557,10 +557,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Present()

    @@ -586,10 +586,10 @@ diff --git a/docs/api/ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html b/docs/api/ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html index 5b733682a..92db21489 100644 --- a/docs/api/ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html +++ b/docs/api/ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html @@ -106,10 +106,10 @@ diff --git a/docs/api/ImGuiScene.SimpleSDLWindow.html b/docs/api/ImGuiScene.SimpleSDLWindow.html index 9daf6fe74..53631f7e1 100644 --- a/docs/api/ImGuiScene.SimpleSDLWindow.html +++ b/docs/api/ImGuiScene.SimpleSDLWindow.html @@ -120,10 +120,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    OnSDLEvent

    @@ -151,10 +151,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    WantsClose

    @@ -182,10 +182,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Window

    @@ -215,10 +215,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateColorKey(Single, Single, Single)

    @@ -276,10 +276,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose()

    @@ -291,10 +291,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -323,10 +323,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Finalize()

    @@ -338,10 +338,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    GetHWnd()

    @@ -370,10 +370,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    InitForRenderer(IRenderer)

    @@ -402,10 +402,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    MakeTransparent(UInt32)

    @@ -440,10 +440,10 @@ Transparent regions behave as if they are not present, and can be clicked throug | - Improve this Doc + Improve this Doc - View Source + View Source

    ProcessEvents()

    @@ -457,10 +457,10 @@ User handlers from | - Improve this Doc + Improve this Doc - View Source + View Source

    WindowCreationFlags(WindowCreateInfo)

    @@ -517,10 +517,10 @@ User handlers from diff --git a/docs/api/ImGuiScene.TextureWrap.html b/docs/api/ImGuiScene.TextureWrap.html index 04b1db753..38b84b85b 100644 --- a/docs/api/ImGuiScene.TextureWrap.html +++ b/docs/api/ImGuiScene.TextureWrap.html @@ -92,10 +92,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Height

    @@ -122,10 +122,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    ImGuiHandle

    @@ -153,10 +153,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Width

    @@ -189,10 +189,10 @@ diff --git a/docs/api/ImGuiScene.WindowCreateInfo.html b/docs/api/ImGuiScene.WindowCreateInfo.html index 04d2ab58e..d7ccc2649 100644 --- a/docs/api/ImGuiScene.WindowCreateInfo.html +++ b/docs/api/ImGuiScene.WindowCreateInfo.html @@ -115,10 +115,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    Fullscreen

    Whether the window should be created fullscreen. This is a borderless windowed mode and will not affect desktop resolution. @@ -146,10 +146,10 @@ Fullscreen windows are "always on top".

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Height

    The height of the window. Ignored for fullscreen windows.

    @@ -176,10 +176,10 @@ Fullscreen windows are "always on top".

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Title

    The window title. This will not be visible for fullscreen windows except in things like task manager.

    @@ -206,10 +206,10 @@ Fullscreen windows are "always on top".

    | - Improve this Doc + Improve this Doc - View Source + View Source

    TransparentColor

    An optional float[4] color key used to make any matching portion of the window's client area transparent. For example, setting this to magenta will @@ -238,10 +238,10 @@ Values are red, green, blue from 0 to 1.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    Width

    The width of the window. Ignored for fullscreen windows.

    @@ -268,10 +268,10 @@ Values are red, green, blue from 0 to 1.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    XPos

    The x location of the top left corner of the window. Ignored for fullscreen windows.

    @@ -298,10 +298,10 @@ Values are red, green, blue from 0 to 1.

    | - Improve this Doc + Improve this Doc - View Source + View Source

    YPos

    The y location of the top left corner of the window. Ignored for fullscreen windows.

    @@ -334,10 +334,10 @@ Values are red, green, blue from 0 to 1.

    diff --git a/docs/api/ImGuiScene.WindowFactory.html b/docs/api/ImGuiScene.WindowFactory.html index 0465faaeb..39c3c0df4 100644 --- a/docs/api/ImGuiScene.WindowFactory.html +++ b/docs/api/ImGuiScene.WindowFactory.html @@ -115,10 +115,10 @@ | - Improve this Doc + Improve this Doc - View Source + View Source

    CreateForRenderer(IRenderer, WindowCreateInfo)

    @@ -176,10 +176,10 @@ diff --git a/docs/api/ImGuiScene.html b/docs/api/ImGuiScene.html index 996da4b12..7362d09d7 100644 --- a/docs/api/ImGuiScene.html +++ b/docs/api/ImGuiScene.html @@ -156,6 +156,10 @@ Currently this always creates a new window rather than take ownership of an exis

    RawDX11Scene.BuildUIDelegate

    +

    RawDX11Scene.NewInputFrameDelegate

    +
    +

    RawDX11Scene.NewRenderFrameDelegate

    +

    SimpleImGuiScene.BuildUIDelegate

    SimpleSDLWindow.ProcessEventDelegate

    diff --git a/docs/api/index.html b/docs/api/index.html index 68f94eb2b..a47ebcfc3 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -69,7 +69,7 @@

    Dalamud Plugin API

    -

    This is the documentation for the publicly accessible Dalamud plugin API. See the market board plugin as an example.

    +

    This is the documentation for the publicly accessible Dalamud plugin API. See the rich presence plugin as an example.

    All plugins have to implement the IDalamudPlugin interface that gives them access to objects like the chat command manager and game client information.

    diff --git a/docs/api/toc.html b/docs/api/toc.html index bad624688..cf2897fe8 100644 --- a/docs/api/toc.html +++ b/docs/api/toc.html @@ -138,6 +138,9 @@
  • JobGauges
  • +
  • + KeyState +
  • @@ -1769,6 +1772,12 @@
  • RawDX11Scene.BuildUIDelegate
  • +
  • + RawDX11Scene.NewInputFrameDelegate +
  • +
  • + RawDX11Scene.NewRenderFrameDelegate +
  • RendererFactory
  • diff --git a/docs/manifest.json b/docs/manifest.json index eb969327a..22ad3bc53 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -345,7 +345,7 @@ "output": { ".html": { "relative_path": "api/Dalamud.Game.ClientState.Actors.ActorTable.html", - "hash": "yOCYytufBeRJKRGnJBQcgA==" + "hash": "mb95lrWRdiWSDp4I73KhWQ==" } }, "is_incremental": true, @@ -501,7 +501,7 @@ "output": { ".html": { "relative_path": "api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html", - "hash": "/1SgQn1jAz1YeNeP1ODPoA==" + "hash": "07Wyr8sESUG4ZDkjLTosVg==" } }, "is_incremental": true, @@ -537,10 +537,10 @@ "output": { ".html": { "relative_path": "api/Dalamud.Game.ClientState.ClientState.html", - "hash": "+GccwfOSsXxZ2DYVoV1pxQ==" + "hash": "UtaRpLJVIB29NN8nQdsxNQ==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -555,13 +555,25 @@ "is_incremental": true, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api/Dalamud.Game.ClientState.KeyState.yml", + "output": { + ".html": { + "relative_path": "api/Dalamud.Game.ClientState.KeyState.html", + "hash": "fEHbTrdQ6qYqYfh9yaBbHw==" + } + }, + "is_incremental": true, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api/Dalamud.Game.ClientState.Structs.Actor.yml", "output": { ".html": { "relative_path": "api/Dalamud.Game.ClientState.Structs.Actor.html", - "hash": "Pn5NZrqDMcsr8ledfwyE8Q==" + "hash": "W2MAH4EowjHSEak6pVUwuQ==" } }, "is_incremental": true, @@ -909,10 +921,10 @@ "output": { ".html": { "relative_path": "api/Dalamud.Game.ClientState.html", - "hash": "bMXBheKNEeLNo4CIMwz3EA==" + "hash": "N0P2MvjdefFlVNN+/+6msQ==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1032,7 +1044,7 @@ "hash": "WU8PXcwlmcONSAzIRQWBRw==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1041,10 +1053,10 @@ "output": { ".html": { "relative_path": "api/Dalamud.Game.Internal.Framework.html", - "hash": "ac8TO3V+YFtEp9SlRg9LbQ==" + "hash": "uHiwmYC2THfu8sEJ2r5nrA==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1080,7 +1092,7 @@ "hash": "/c5QWDWMdBnF72QnRufrFA==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1128,7 +1140,7 @@ "hash": "m80x6jKz7GimYvD1uOs64A==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1200,7 +1212,7 @@ "hash": "mFZv4famcWJK4wp0V0cDIQ==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1212,7 +1224,7 @@ "hash": "Z6AULGl7gQ2srIhgUlXibQ==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1224,7 +1236,7 @@ "hash": "yYKSQqdLXtxP5fgvCLkFIA==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1440,7 +1452,7 @@ "hash": "x1Mo8zSLRaEVbDWPBN4v9g==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -1500,7 +1512,7 @@ "hash": "gi91bqC1OjFQNEqiOJKsJw==" } }, - "is_incremental": false, + "is_incremental": true, "version": "" }, { @@ -6201,7 +6213,7 @@ "output": { ".html": { "relative_path": "api/ImGuiNET.RangeAccessor-1.html", - "hash": "31V1mUauG5peFRm+w9OiuA==" + "hash": "Kh0MYHMlyDYvkQtSlSll3Q==" } }, "is_incremental": true, @@ -6225,7 +6237,7 @@ "output": { ".html": { "relative_path": "api/ImGuiNET.RangePtrAccessor-1.html", - "hash": "8x4YQsZqkK/v4cZX0kKb+Q==" + "hash": "vTcVpOM+Bj+06V7IrpE0Kw==" } }, "is_incremental": true, @@ -6261,7 +6273,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.FramerateLimit.LimitType.html", - "hash": "5V5/sn6Jofm6HDcSuICHiw==" + "hash": "3A0TH7QBcTsIdpO8pBjhbA==" } }, "is_incremental": true, @@ -6273,7 +6285,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.FramerateLimit.html", - "hash": "uS9J2/9fazfiV4z1AbPmMA==" + "hash": "DypLicBLVpHkaOi2i8xmcA==" } }, "is_incremental": true, @@ -6285,7 +6297,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.GLTextureWrap.html", - "hash": "gJpca+uAmTqvbbUGeeJ94w==" + "hash": "iHzURvRrCXz/jtHDE8wmlw==" } }, "is_incremental": true, @@ -6297,7 +6309,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.IImGuiInputHandler.html", - "hash": "PZeVIhVQvtaw8GIrUQuhKQ==" + "hash": "YtUy1x3njGDv6++qRvubkg==" } }, "is_incremental": true, @@ -6309,7 +6321,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.IImGuiRenderer.html", - "hash": "Js6HEhkYnC3GcUKSnMAOTQ==" + "hash": "ceCnQDgTY0i+Fzsht2vb1g==" } }, "is_incremental": true, @@ -6321,7 +6333,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.IRenderer.html", - "hash": "DFzoaA3p/8m7p2Oa+SpJKQ==" + "hash": "XSkfb9DmPjAf4g312jCa4Q==" } }, "is_incremental": true, @@ -6333,7 +6345,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.ImGui_Impl_DX11.html", - "hash": "V4a/XEnEaFSNnq9vPNNY1Q==" + "hash": "MgJdg9TrcMLEkEpCl3mTpQ==" } }, "is_incremental": true, @@ -6345,7 +6357,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.ImGui_Impl_OpenGL3.html", - "hash": "0/CtZG3IJA+cVxX0grX9cg==" + "hash": "qP0BJ7EHoLty9rDlI2EHeQ==" } }, "is_incremental": true, @@ -6357,7 +6369,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.ImGui_Impl_SDL.html", - "hash": "IarcrlouBalVBwPbBfkztg==" + "hash": "0NwPjPHoIhUWJz7hQIgOUg==" } }, "is_incremental": true, @@ -6369,7 +6381,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.ImGui_Input_Impl_Direct.html", - "hash": "rYFdCbkfO5pY+sdaNX25Uw==" + "hash": "KYg618RmjFW+/nkgIaTCkA==" } }, "is_incremental": true, @@ -6381,7 +6393,31 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.RawDX11Scene.BuildUIDelegate.html", - "hash": "GGBBCVJfL5Gh0m1SRIuk0A==" + "hash": "dln4AtnbhjLxqrfghRP2dA==" + } + }, + "is_incremental": true, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.yml", + "output": { + ".html": { + "relative_path": "api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html", + "hash": "MzVOj5oyMcpNnedadNWMBQ==" + } + }, + "is_incremental": true, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.yml", + "output": { + ".html": { + "relative_path": "api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html", + "hash": "lb/JfcyUZVPOc0Y/vJfEKA==" } }, "is_incremental": true, @@ -6393,7 +6429,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.RawDX11Scene.html", - "hash": "wU1RNQbTh2gzGovi+gFAIA==" + "hash": "KLPpr3W3B7WKLABct6zrmQ==" } }, "is_incremental": true, @@ -6405,7 +6441,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.RendererFactory.RendererBackend.html", - "hash": "3F8RQW2nwHvgr2UbYwrPdQ==" + "hash": "6QV68wiPU8TvB5Lt4ZKqkA==" } }, "is_incremental": true, @@ -6417,7 +6453,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.RendererFactory.html", - "hash": "UuLi6tDzLxjumLXOxBEVbg==" + "hash": "+StSuX0ZtRBgoQSJdr8MTg==" } }, "is_incremental": true, @@ -6429,7 +6465,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SDLWindowGL.html", - "hash": "jgsb/BFkgImisDDOLnJfvw==" + "hash": "H5bnEfO/VK0EJQNQzZs7eg==" } }, "is_incremental": true, @@ -6441,7 +6477,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleD3D.html", - "hash": "sOZvfGpjU85HCZdZkcsmvQ==" + "hash": "LmK8KdW+bHtWj9PspTW88w==" } }, "is_incremental": true, @@ -6453,7 +6489,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleImGuiScene.BuildUIDelegate.html", - "hash": "Z7QZjEwN9aqI59JKOpG18w==" + "hash": "GtFcVDNYlwu26ybd5iZV2A==" } }, "is_incremental": true, @@ -6465,7 +6501,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleImGuiScene.html", - "hash": "g0R1aBWHO5LP90Y0RkbQAg==" + "hash": "jOXvV2xPwMyVteB3HllT+w==" } }, "is_incremental": true, @@ -6477,7 +6513,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleOGL3.html", - "hash": "AFUnh4UPtwtmWhDWkHCTlw==" + "hash": "hXMEGNd3ceYRxWxgmwu+yA==" } }, "is_incremental": true, @@ -6489,7 +6525,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleSDLWindow.ProcessEventDelegate.html", - "hash": "FSKXOWmfyrjByQeZPl7AGw==" + "hash": "vgklSpE7NE77/+RtEsyW5Q==" } }, "is_incremental": true, @@ -6501,7 +6537,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.SimpleSDLWindow.html", - "hash": "pcY+8h+fUgn7RmDorNpPag==" + "hash": "SfMNmJit3PpCGzbRGHB83w==" } }, "is_incremental": true, @@ -6513,7 +6549,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.TextureWrap.html", - "hash": "WO9knpS88XQfES52e1/6oA==" + "hash": "hYP/Rhre7ZxAkFpo2j+vVw==" } }, "is_incremental": true, @@ -6525,7 +6561,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.WindowCreateInfo.html", - "hash": "f7xc03wnzA7k4h+otVSS7w==" + "hash": "Kj2sHyIUKvKpPcLCW8UyYg==" } }, "is_incremental": true, @@ -6537,7 +6573,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.WindowFactory.html", - "hash": "BYs4qCBc2yfeU38eTpSlSg==" + "hash": "S+D60x7rmL+nKuBfZC+6uw==" } }, "is_incremental": true, @@ -6549,7 +6585,7 @@ "output": { ".html": { "relative_path": "api/ImGuiScene.html", - "hash": "WrDfzUKGD64w4M2smza5iQ==" + "hash": "05HemJVfTpjHPGWweE+ChA==" } }, "is_incremental": true, @@ -8217,10 +8253,10 @@ "output": { ".html": { "relative_path": "api/index.html", - "hash": "Y7W3npbJph/JcPu1DOK3aQ==" + "hash": "uS51zSUKzJYdepDkulBJ9Q==" } }, - "is_incremental": true, + "is_incremental": false, "version": "" }, { @@ -8229,7 +8265,7 @@ "output": { ".html": { "relative_path": "api/toc.html", - "hash": "9xlGtKjjiJAIDdKg2f8qag==" + "hash": "Uez3KosDLlWbsSW5GonF7A==" } }, "is_incremental": false, @@ -8244,7 +8280,7 @@ "hash": "s84u+FH+UKO4kliIcL2f7w==" } }, - "is_incremental": true, + "is_incremental": false, "version": "" } ], @@ -8264,17 +8300,17 @@ "total_file_count": 0, "skipped_file_count": 0 }, + "ManagedReferenceDocumentProcessor": { + "can_incremental": true, + "incrementalPhase": "build", + "total_file_count": 686, + "skipped_file_count": 686 + }, "ConceptualDocumentProcessor": { "can_incremental": true, "incrementalPhase": "build", "total_file_count": 3, - "skipped_file_count": 3 - }, - "ManagedReferenceDocumentProcessor": { - "can_incremental": true, - "incrementalPhase": "build", - "total_file_count": 683, - "skipped_file_count": 681 + "skipped_file_count": 2 } } }, diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index d0641d3f2..faba2ea5d 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -2238,6 +2238,32 @@ references: isSpec: "True" fullName: Dalamud.Game.ClientState.Actors.ActorTable.ActorTable nameWithType: ActorTable.ActorTable +- uid: Dalamud.Game.ClientState.Actors.ActorTable.Dispose + name: Dispose() + href: api/Dalamud.Game.ClientState.Actors.ActorTable.html#Dalamud_Game_ClientState_Actors_ActorTable_Dispose + commentId: M:Dalamud.Game.ClientState.Actors.ActorTable.Dispose + fullName: Dalamud.Game.ClientState.Actors.ActorTable.Dispose() + nameWithType: ActorTable.Dispose() +- uid: Dalamud.Game.ClientState.Actors.ActorTable.Dispose* + name: Dispose + href: api/Dalamud.Game.ClientState.Actors.ActorTable.html#Dalamud_Game_ClientState_Actors_ActorTable_Dispose_ + commentId: Overload:Dalamud.Game.ClientState.Actors.ActorTable.Dispose + isSpec: "True" + fullName: Dalamud.Game.ClientState.Actors.ActorTable.Dispose + nameWithType: ActorTable.Dispose +- uid: Dalamud.Game.ClientState.Actors.ActorTable.Enable + name: Enable() + href: api/Dalamud.Game.ClientState.Actors.ActorTable.html#Dalamud_Game_ClientState_Actors_ActorTable_Enable + commentId: M:Dalamud.Game.ClientState.Actors.ActorTable.Enable + fullName: Dalamud.Game.ClientState.Actors.ActorTable.Enable() + nameWithType: ActorTable.Enable() +- uid: Dalamud.Game.ClientState.Actors.ActorTable.Enable* + name: Enable + href: api/Dalamud.Game.ClientState.Actors.ActorTable.html#Dalamud_Game_ClientState_Actors_ActorTable_Enable_ + commentId: Overload:Dalamud.Game.ClientState.Actors.ActorTable.Enable + isSpec: "True" + fullName: Dalamud.Game.ClientState.Actors.ActorTable.Enable + nameWithType: ActorTable.Enable - uid: Dalamud.Game.ClientState.Actors.ActorTable.GetEnumerator name: GetEnumerator() href: api/Dalamud.Game.ClientState.Actors.ActorTable.html#Dalamud_Game_ClientState_Actors_ActorTable_GetEnumerator @@ -2887,6 +2913,19 @@ references: isSpec: "True" fullName: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.PlayerCharacter nameWithType: PlayerCharacter.PlayerCharacter +- uid: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag + name: CompanyTag + href: api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html#Dalamud_Game_ClientState_Actors_Types_PlayerCharacter_CompanyTag + commentId: P:Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag + fullName: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag + nameWithType: PlayerCharacter.CompanyTag +- uid: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag* + name: CompanyTag + href: api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html#Dalamud_Game_ClientState_Actors_Types_PlayerCharacter_CompanyTag_ + commentId: Overload:Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag + isSpec: "True" + fullName: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CompanyTag + nameWithType: PlayerCharacter.CompanyTag - uid: Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.CurrentWorld name: CurrentWorld href: api/Dalamud.Game.ClientState.Actors.Types.PlayerCharacter.html#Dalamud_Game_ClientState_Actors_Types_PlayerCharacter_CurrentWorld @@ -2944,12 +2983,44 @@ references: commentId: F:Dalamud.Game.ClientState.ClientState.ClientLanguage fullName: Dalamud.Game.ClientState.ClientState.ClientLanguage nameWithType: ClientState.ClientLanguage +- uid: Dalamud.Game.ClientState.ClientState.Dispose + name: Dispose() + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_Dispose + commentId: M:Dalamud.Game.ClientState.ClientState.Dispose + fullName: Dalamud.Game.ClientState.ClientState.Dispose() + nameWithType: ClientState.Dispose() +- uid: Dalamud.Game.ClientState.ClientState.Dispose* + name: Dispose + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_Dispose_ + commentId: Overload:Dalamud.Game.ClientState.ClientState.Dispose + isSpec: "True" + fullName: Dalamud.Game.ClientState.ClientState.Dispose + nameWithType: ClientState.Dispose +- uid: Dalamud.Game.ClientState.ClientState.Enable + name: Enable() + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_Enable + commentId: M:Dalamud.Game.ClientState.ClientState.Enable + fullName: Dalamud.Game.ClientState.ClientState.Enable() + nameWithType: ClientState.Enable() +- uid: Dalamud.Game.ClientState.ClientState.Enable* + name: Enable + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_Enable_ + commentId: Overload:Dalamud.Game.ClientState.ClientState.Enable + isSpec: "True" + fullName: Dalamud.Game.ClientState.ClientState.Enable + nameWithType: ClientState.Enable - uid: Dalamud.Game.ClientState.ClientState.JobGauges name: JobGauges href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_JobGauges commentId: F:Dalamud.Game.ClientState.ClientState.JobGauges fullName: Dalamud.Game.ClientState.ClientState.JobGauges nameWithType: ClientState.JobGauges +- uid: Dalamud.Game.ClientState.ClientState.KeyState + name: KeyState + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_KeyState + commentId: F:Dalamud.Game.ClientState.ClientState.KeyState + fullName: Dalamud.Game.ClientState.ClientState.KeyState + nameWithType: ClientState.KeyState - uid: Dalamud.Game.ClientState.ClientState.LocalContentId name: LocalContentId href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_LocalContentId @@ -2982,17 +3053,16 @@ references: commentId: E:Dalamud.Game.ClientState.ClientState.PropertyChanged fullName: Dalamud.Game.ClientState.ClientState.PropertyChanged nameWithType: ClientState.PropertyChanged +- uid: Dalamud.Game.ClientState.ClientState.TerritoryChanged + name: TerritoryChanged + href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_TerritoryChanged + commentId: F:Dalamud.Game.ClientState.ClientState.TerritoryChanged + fullName: Dalamud.Game.ClientState.ClientState.TerritoryChanged + nameWithType: ClientState.TerritoryChanged - uid: Dalamud.Game.ClientState.ClientState.TerritoryType name: TerritoryType href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_TerritoryType - commentId: P:Dalamud.Game.ClientState.ClientState.TerritoryType - fullName: Dalamud.Game.ClientState.ClientState.TerritoryType - nameWithType: ClientState.TerritoryType -- uid: Dalamud.Game.ClientState.ClientState.TerritoryType* - name: TerritoryType - href: api/Dalamud.Game.ClientState.ClientState.html#Dalamud_Game_ClientState_ClientState_TerritoryType_ - commentId: Overload:Dalamud.Game.ClientState.ClientState.TerritoryType - isSpec: "True" + commentId: F:Dalamud.Game.ClientState.ClientState.TerritoryType fullName: Dalamud.Game.ClientState.ClientState.TerritoryType nameWithType: ClientState.TerritoryType - uid: Dalamud.Game.ClientState.JobGauges @@ -3030,6 +3100,54 @@ references: fullName.vb: Dalamud.Game.ClientState.JobGauges.Get(Of T)() nameWithType: JobGauges.Get() nameWithType.vb: JobGauges.Get(Of T)() +- uid: Dalamud.Game.ClientState.KeyState + name: KeyState + href: api/Dalamud.Game.ClientState.KeyState.html + commentId: T:Dalamud.Game.ClientState.KeyState + fullName: Dalamud.Game.ClientState.KeyState + nameWithType: KeyState +- uid: Dalamud.Game.ClientState.KeyState.#ctor(Dalamud.Game.ClientState.ClientStateAddressResolver,System.IntPtr) + name: KeyState(ClientStateAddressResolver, IntPtr) + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState__ctor_Dalamud_Game_ClientState_ClientStateAddressResolver_System_IntPtr_ + commentId: M:Dalamud.Game.ClientState.KeyState.#ctor(Dalamud.Game.ClientState.ClientStateAddressResolver,System.IntPtr) + fullName: Dalamud.Game.ClientState.KeyState.KeyState(Dalamud.Game.ClientState.ClientStateAddressResolver, System.IntPtr) + nameWithType: KeyState.KeyState(ClientStateAddressResolver, IntPtr) +- uid: Dalamud.Game.ClientState.KeyState.#ctor* + name: KeyState + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState__ctor_ + commentId: Overload:Dalamud.Game.ClientState.KeyState.#ctor + isSpec: "True" + fullName: Dalamud.Game.ClientState.KeyState.KeyState + nameWithType: KeyState.KeyState +- uid: Dalamud.Game.ClientState.KeyState.ClearAll + name: ClearAll() + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState_ClearAll + commentId: M:Dalamud.Game.ClientState.KeyState.ClearAll + fullName: Dalamud.Game.ClientState.KeyState.ClearAll() + nameWithType: KeyState.ClearAll() +- uid: Dalamud.Game.ClientState.KeyState.ClearAll* + name: ClearAll + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState_ClearAll_ + commentId: Overload:Dalamud.Game.ClientState.KeyState.ClearAll + isSpec: "True" + fullName: Dalamud.Game.ClientState.KeyState.ClearAll + nameWithType: KeyState.ClearAll +- uid: Dalamud.Game.ClientState.KeyState.Item(System.Int32) + name: Item[Int32] + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState_Item_System_Int32_ + commentId: P:Dalamud.Game.ClientState.KeyState.Item(System.Int32) + name.vb: Item(Int32) + fullName: Dalamud.Game.ClientState.KeyState.Item[System.Int32] + fullName.vb: Dalamud.Game.ClientState.KeyState.Item(System.Int32) + nameWithType: KeyState.Item[Int32] + nameWithType.vb: KeyState.Item(Int32) +- uid: Dalamud.Game.ClientState.KeyState.Item* + name: Item + href: api/Dalamud.Game.ClientState.KeyState.html#Dalamud_Game_ClientState_KeyState_Item_ + commentId: Overload:Dalamud.Game.ClientState.KeyState.Item + isSpec: "True" + fullName: Dalamud.Game.ClientState.KeyState.Item + nameWithType: KeyState.Item - uid: Dalamud.Game.ClientState.Structs name: Dalamud.Game.ClientState.Structs href: api/Dalamud.Game.ClientState.Structs.html @@ -3054,6 +3172,12 @@ references: commentId: F:Dalamud.Game.ClientState.Structs.Actor.ClassJob fullName: Dalamud.Game.ClientState.Structs.Actor.ClassJob nameWithType: Actor.ClassJob +- uid: Dalamud.Game.ClientState.Structs.Actor.CompanyTag + name: CompanyTag + href: api/Dalamud.Game.ClientState.Structs.Actor.html#Dalamud_Game_ClientState_Structs_Actor_CompanyTag + commentId: F:Dalamud.Game.ClientState.Structs.Actor.CompanyTag + fullName: Dalamud.Game.ClientState.Structs.Actor.CompanyTag + nameWithType: Actor.CompanyTag - uid: Dalamud.Game.ClientState.Structs.Actor.CurrentHp name: CurrentHp href: api/Dalamud.Game.ClientState.Structs.Actor.html#Dalamud_Game_ClientState_Structs_Actor_CurrentHp @@ -67760,12 +67884,36 @@ references: isSpec: "True" fullName: ImGuiScene.RawDX11Scene.LoadImage nameWithType: RawDX11Scene.LoadImage +- uid: ImGuiScene.RawDX11Scene.NewInputFrameDelegate + name: RawDX11Scene.NewInputFrameDelegate + href: api/ImGuiScene.RawDX11Scene.NewInputFrameDelegate.html + commentId: T:ImGuiScene.RawDX11Scene.NewInputFrameDelegate + fullName: ImGuiScene.RawDX11Scene.NewInputFrameDelegate + nameWithType: RawDX11Scene.NewInputFrameDelegate +- uid: ImGuiScene.RawDX11Scene.NewRenderFrameDelegate + name: RawDX11Scene.NewRenderFrameDelegate + href: api/ImGuiScene.RawDX11Scene.NewRenderFrameDelegate.html + commentId: T:ImGuiScene.RawDX11Scene.NewRenderFrameDelegate + fullName: ImGuiScene.RawDX11Scene.NewRenderFrameDelegate + nameWithType: RawDX11Scene.NewRenderFrameDelegate - uid: ImGuiScene.RawDX11Scene.OnBuildUI name: OnBuildUI href: api/ImGuiScene.RawDX11Scene.html#ImGuiScene_RawDX11Scene_OnBuildUI commentId: F:ImGuiScene.RawDX11Scene.OnBuildUI fullName: ImGuiScene.RawDX11Scene.OnBuildUI nameWithType: RawDX11Scene.OnBuildUI +- uid: ImGuiScene.RawDX11Scene.OnNewInputFrame + name: OnNewInputFrame + href: api/ImGuiScene.RawDX11Scene.html#ImGuiScene_RawDX11Scene_OnNewInputFrame + commentId: F:ImGuiScene.RawDX11Scene.OnNewInputFrame + fullName: ImGuiScene.RawDX11Scene.OnNewInputFrame + nameWithType: RawDX11Scene.OnNewInputFrame +- uid: ImGuiScene.RawDX11Scene.OnNewRenderFrame + name: OnNewRenderFrame + href: api/ImGuiScene.RawDX11Scene.html#ImGuiScene_RawDX11Scene_OnNewRenderFrame + commentId: F:ImGuiScene.RawDX11Scene.OnNewRenderFrame + fullName: ImGuiScene.RawDX11Scene.OnNewRenderFrame + nameWithType: RawDX11Scene.OnNewRenderFrame - uid: ImGuiScene.RawDX11Scene.OnPostResize(System.Int32,System.Int32) name: OnPostResize(Int32, Int32) href: api/ImGuiScene.RawDX11Scene.html#ImGuiScene_RawDX11Scene_OnPostResize_System_Int32_System_Int32_ From 4d6f7762e664cac218a3221cbdfeb5057d6e4d63 Mon Sep 17 00:00:00 2001 From: goat Date: Tue, 31 Mar 2020 23:43:15 +0900 Subject: [PATCH 03/12] fix: create all .disabled files for previous versions, just to be safe --- Dalamud/Plugin/PluginRepository.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Dalamud/Plugin/PluginRepository.cs b/Dalamud/Plugin/PluginRepository.cs index 0f386b1d1..af8ff3326 100644 --- a/Dalamud/Plugin/PluginRepository.cs +++ b/Dalamud/Plugin/PluginRepository.cs @@ -142,11 +142,6 @@ namespace Dalamud.Plugin // DisablePlugin() below immediately creates a .disabled file anyway, but will fail // with an exception if we try to do it twice in row like this - // TODO: not sure if doing this for all versions is really necessary, since the - // others really needed to be disabled before anyway - //foreach (var sortedVersion in sortedVersions) { - // File.Create(Path.Combine(sortedVersion.FullName, ".disabled")); - //} if (!dryRun) { @@ -161,6 +156,18 @@ namespace Dalamud.Plugin hasError = true; } + try { + // Just to be safe + foreach (var sortedVersion in sortedVersions) + { + var disabledFile = new FileInfo(Path.Combine(sortedVersion.FullName, ".disabled")); + if (!disabledFile.Exists) + disabledFile.Create(); + } + } catch (Exception ex) { + Log.Error(ex, "Plugin disable failed"); + } + var installSuccess = InstallPlugin(remoteInfo); if (installSuccess) From e02bca714ff2eb4ddb403c06d0b7f36c1eedd61a Mon Sep 17 00:00:00 2001 From: goat Date: Wed, 1 Apr 2020 01:53:02 +0900 Subject: [PATCH 04/12] fix: some kind of mitigation for actortable crashes --- Dalamud/Game/ClientState/Actors/ActorTable.cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs index 81cf2a31f..18205fb15 100644 --- a/Dalamud/Game/ClientState/Actors/ActorTable.cs +++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs @@ -1,6 +1,8 @@ using System; using System.Collections; +using System.Runtime.ExceptionServices; using System.Runtime.InteropServices; +using System.Security; using System.Windows.Forms; using Dalamud.Game.ClientState.Actors.Types; using Dalamud.Game.ClientState.Actors.Types.NonPlayer; @@ -56,30 +58,35 @@ namespace Dalamud.Game.ClientState.Actors { /// /// Spawn index. /// at the specified spawn index. - public Actor this[int index] { - get { + public Actor this[int index] => At(index); + + [HandleProcessCorruptedStateExceptions] + [SecurityCritical] + private Actor At(int index) { + try { if (!this.isReady) return null; - if (this.someActorTableAccessHook != null) { + if (this.someActorTableAccessHook != null) + { this.someActorTableAccessHook.Dispose(); this.someActorTableAccessHook = null; } if (index > Length) return null; - - //Log.Information("Trying to get actor at {0}", index); + var tblIndex = this.realActorTablePtr + 8 + index * 8; var offset = Marshal.ReadIntPtr(tblIndex); - //Log.Information("Actor at {0}", offset.ToString()); + Log.Information("Actor at {0} for {1}", offset.ToInt64().ToString("X"), index); if (offset == IntPtr.Zero) return null; - try { + try + { var actorStruct = Marshal.PtrToStructure(offset); //Log.Debug("ActorTable[{0}]: {1} - {2} - {3}", index, tblIndex.ToString("X"), offset.ToString("X"), @@ -91,9 +98,14 @@ namespace Dalamud.Game.ClientState.Actors { case ObjectKind.BattleNpc: return new BattleNpc(actorStruct, this.dalamud); default: return new Actor(actorStruct, this.dalamud); } - } catch (AccessViolationException) { + } + catch (AccessViolationException) + { return null; } + } catch (Exception e) { + Log.Error(e, "Could not get Actor."); + return null; } } From 0dd46c50aeb496b88934c7541c17fec15d05a465 Mon Sep 17 00:00:00 2001 From: goat Date: Wed, 1 Apr 2020 01:53:22 +0900 Subject: [PATCH 05/12] feat: show if plugins are installed in header --- Dalamud/Plugin/PluginInstallerWindow.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index 7931345ee..0c4d7474e 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -77,7 +77,10 @@ namespace Dalamud.Plugin ImGui.PushID(pluginDefinition.InternalName + pluginDefinition.AssemblyVersion); - if (ImGui.CollapsingHeader(pluginDefinition.Name)) { + var isInstalled = this.manager.Plugins.Where(x => x.Definition != null).Any( + x => x.Definition.InternalName == pluginDefinition.InternalName); + + if (ImGui.CollapsingHeader(pluginDefinition.Name + (isInstalled ? " (installed)" : string.Empty))) { ImGui.Indent(); ImGui.Text(pluginDefinition.Name); @@ -86,9 +89,6 @@ namespace Dalamud.Plugin ImGui.Text(pluginDefinition.Description); - var isInstalled = this.manager.Plugins.Where(x => x.Definition != null).Any( - x => x.Definition.InternalName == pluginDefinition.InternalName); - if (!isInstalled) { if (this.installStatus == PluginInstallStatus.InProgress) { ImGui.Button("Install in progress..."); From 5927692494918a62743bb6b75f28b142194d0c54 Mon Sep 17 00:00:00 2001 From: goat Date: Wed, 1 Apr 2020 01:54:52 +0900 Subject: [PATCH 06/12] build: v4.8.0.0 --- Dalamud.Injector/Dalamud.Injector.csproj | 6 +++--- Dalamud/Dalamud.csproj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dalamud.Injector/Dalamud.Injector.csproj b/Dalamud.Injector/Dalamud.Injector.csproj index 514b9681d..40a9f6d19 100644 --- a/Dalamud.Injector/Dalamud.Injector.csproj +++ b/Dalamud.Injector/Dalamud.Injector.csproj @@ -14,10 +14,10 @@ true - 4.7.22.0 - 4.7.22.0 + 4.8.0.0 + 4.8.0.0 XIVLauncher addon injection - 4.7.22.0 + 4.8.0.0 diff --git a/Dalamud/Dalamud.csproj b/Dalamud/Dalamud.csproj index e4466d4d5..376b8a8d3 100644 --- a/Dalamud/Dalamud.csproj +++ b/Dalamud/Dalamud.csproj @@ -14,9 +14,9 @@ true - 4.7.22.0 - 4.7.22.0 - 4.7.22.0 + 4.8.0.0 + 4.8.0 + 4.8.0.0 From 0282d4127e7902d4d45496b53607a5be351f2460 Mon Sep 17 00:00:00 2001 From: karashiiro <49822414+karashiiro@users.noreply.github.com> Date: Tue, 31 Mar 2020 12:46:07 -0700 Subject: [PATCH 07/12] chore: set log level of actor index message to verbose --- Dalamud/Game/ClientState/Actors/ActorTable.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs index 18205fb15..407ce7132 100644 --- a/Dalamud/Game/ClientState/Actors/ActorTable.cs +++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs @@ -80,7 +80,7 @@ namespace Dalamud.Game.ClientState.Actors { var offset = Marshal.ReadIntPtr(tblIndex); - Log.Information("Actor at {0} for {1}", offset.ToInt64().ToString("X"), index); + Log.Verbose("Actor at {0} for {1}", offset.ToInt64().ToString("X"), index); if (offset == IntPtr.Zero) return null; From c45492ae8da71e8f3fa72e2cebcd475e06538b0c Mon Sep 17 00:00:00 2001 From: goaaats <16760685+goaaats@users.noreply.github.com> Date: Wed, 1 Apr 2020 05:51:58 +0900 Subject: [PATCH 08/12] ci: build on pr --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f36c27185..3a24e747e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,5 @@ name: Build Dalamud -on: [push] +on: [push, pull_request] jobs: build: From 218bad90b1ee44e23486a99d142c96aaf8e3a19c Mon Sep 17 00:00:00 2001 From: meli <57847713+ff-meli@users.noreply.github.com> Date: Tue, 31 Mar 2020 14:34:19 -0700 Subject: [PATCH 09/12] temporary workaround for actor table crash on logout; switch reading memory to use ReadProcessMemory, and just return null if it fails. Ugly but functional until we find a better way --- Dalamud/Game/ClientState/Actors/ActorTable.cs | 49 +++++++++++++------ 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs index 81cf2a31f..061f1b63b 100644 --- a/Dalamud/Game/ClientState/Actors/ActorTable.cs +++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs @@ -1,5 +1,7 @@ using System; using System.Collections; +using System.Diagnostics; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Windows.Forms; using Dalamud.Game.ClientState.Actors.Types; @@ -12,6 +14,17 @@ namespace Dalamud.Game.ClientState.Actors { /// This collection represents the currently spawned FFXIV actors. /// public class ActorTable : ICollection, IDisposable { + + #region temporary imports for crash workaround + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool ReadProcessMemory( + IntPtr hProcess, + IntPtr lpBaseAddress, + IntPtr lpBuffer, + int dwSize, + out IntPtr lpNumberOfBytesRead); + #endregion + private ClientStateAddressResolver Address { get; } private Dalamud dalamud; @@ -43,6 +56,8 @@ namespace Dalamud.Game.ClientState.Actors { public void Dispose() { if (!this.isReady) this.someActorTableAccessHook.Dispose(); + + this.isReady = false; } private IntPtr SomeActorTableAccessDetour(IntPtr manager, IntPtr offset) { @@ -66,7 +81,7 @@ namespace Dalamud.Game.ClientState.Actors { this.someActorTableAccessHook = null; } - if (index > Length) + if (index >= Length) return null; //Log.Information("Trying to get actor at {0}", index); @@ -79,21 +94,27 @@ namespace Dalamud.Game.ClientState.Actors { if (offset == IntPtr.Zero) return null; - try { - var actorStruct = Marshal.PtrToStructure(offset); - - //Log.Debug("ActorTable[{0}]: {1} - {2} - {3}", index, tblIndex.ToString("X"), offset.ToString("X"), - // actorStruct.ObjectKind.ToString()); - - switch (actorStruct.ObjectKind) - { - case ObjectKind.Player: return new PlayerCharacter(actorStruct, this.dalamud); - case ObjectKind.BattleNpc: return new BattleNpc(actorStruct, this.dalamud); - default: return new Actor(actorStruct, this.dalamud); - } - } catch (AccessViolationException) { + // FIXME: hack workaround for trying to access the player on logout, after the main object has been deleted + var sz = Marshal.SizeOf(typeof(Structs.Actor)); + var actorMem = Marshal.AllocHGlobal(sz); // we arguably could just reuse this + if (!ReadProcessMemory(Process.GetCurrentProcess().Handle, offset, actorMem, sz, out _)) + { + Log.Debug("ActorTable - ReadProcessMemory failed: likely player deletion during logout"); return null; } + + var actorStruct = Marshal.PtrToStructure(actorMem); + Marshal.FreeHGlobal(actorMem); + + //Log.Debug("ActorTable[{0}]: {1} - {2} - {3}", index, tblIndex.ToString("X"), offset.ToString("X"), + // actorStruct.ObjectKind.ToString()); + + switch (actorStruct.ObjectKind) + { + case ObjectKind.Player: return new PlayerCharacter(actorStruct, this.dalamud); + case ObjectKind.BattleNpc: return new BattleNpc(actorStruct, this.dalamud); + default: return new Actor(actorStruct, this.dalamud); + } } } From 1e00a33577dec6953eafd87d74e99ff61b777aa8 Mon Sep 17 00:00:00 2001 From: goat Date: Wed, 1 Apr 2020 15:19:29 +0900 Subject: [PATCH 10/12] build: v4.8.1.0 --- Dalamud.Injector/Dalamud.Injector.csproj | 6 +++--- Dalamud/Dalamud.csproj | 6 +++--- Dalamud/Game/ClientState/Actors/ActorTable.cs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Dalamud.Injector/Dalamud.Injector.csproj b/Dalamud.Injector/Dalamud.Injector.csproj index 40a9f6d19..e0844bcd2 100644 --- a/Dalamud.Injector/Dalamud.Injector.csproj +++ b/Dalamud.Injector/Dalamud.Injector.csproj @@ -14,10 +14,10 @@ true - 4.8.0.0 - 4.8.0.0 + 4.8.1.0 + 4.8.1.0 XIVLauncher addon injection - 4.8.0.0 + 4.8.1.0 diff --git a/Dalamud/Dalamud.csproj b/Dalamud/Dalamud.csproj index 376b8a8d3..a5f910449 100644 --- a/Dalamud/Dalamud.csproj +++ b/Dalamud/Dalamud.csproj @@ -14,9 +14,9 @@ true - 4.8.0.0 - 4.8.0 - 4.8.0.0 + 4.8.1.0 + 4.8.1 + 4.8.1.0 diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs index 65b874a00..e11374fb9 100644 --- a/Dalamud/Game/ClientState/Actors/ActorTable.cs +++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs @@ -87,7 +87,7 @@ namespace Dalamud.Game.ClientState.Actors { var offset = Marshal.ReadIntPtr(tblIndex); - Log.Verbose("Actor at {0} for {1}", offset.ToInt64().ToString("X"), index); + //Log.Verbose("Actor at {0} for {1}", offset.ToInt64().ToString("X"), index); if (offset == IntPtr.Zero) return null; From 6b2c531eed44dc112bda68d92dc94584bad15dbb Mon Sep 17 00:00:00 2001 From: goat Date: Thu, 2 Apr 2020 19:59:51 +0900 Subject: [PATCH 11/12] feat: add HoveredItem data to Dalamud.Game.Internal.Gui.GameGui --- Dalamud/Game/Internal/Gui/GameGui.cs | 41 ++++++++++++++++++- .../Internal/Gui/GameGuiAddressResolver.cs | 3 +- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Dalamud/Game/Internal/Gui/GameGui.cs b/Dalamud/Game/Internal/Gui/GameGui.cs index 370341300..6444c0374 100644 --- a/Dalamud/Game/Internal/Gui/GameGui.cs +++ b/Dalamud/Game/Internal/Gui/GameGui.cs @@ -12,9 +12,23 @@ namespace Dalamud.Game.Internal.Gui { [UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate IntPtr SetGlobalBgmDelegate(UInt16 bgmKey, byte a2, UInt32 a3, UInt32 a4, UInt32 a5, byte a6); - private readonly Hook setGlobalBgmHook; + [UnmanagedFunctionPointer(CallingConvention.ThisCall)] + private delegate IntPtr HandleItemHoverDelegate(IntPtr hoverState, IntPtr a2, IntPtr a3, ulong a4); + private readonly Hook handleItemHoverHook; + + /// + /// The item ID that is currently hovered by the player. 0 when no item is hovered. + /// If > 1.000.000, subtract 1.000.000 and treat it as HQ + /// + public ulong HoveredItem { get; set; } + + /// + /// Event that is fired when the currently hovered item changes. + /// + public EventHandler HoveredItemChanged { get; set; } + public GameGui(IntPtr baseAddress, SigScanner scanner, Dalamud dalamud) { Address = new GameGuiAddressResolver(baseAddress); Address.Setup(scanner); @@ -23,6 +37,7 @@ namespace Dalamud.Game.Internal.Gui { Log.Verbose("GameGuiManager address {Address}", Address.BaseAddress); Log.Verbose("SetGlobalBgm address {Address}", Address.SetGlobalBgm); + Log.Verbose("HandleItemHover address {Address}", Address.HandleItemHover); Chat = new ChatGui(Address.ChatManager, scanner, dalamud); @@ -30,6 +45,10 @@ namespace Dalamud.Game.Internal.Gui { new Hook(Address.SetGlobalBgm, new SetGlobalBgmDelegate(HandleSetGlobalBgmDetour), this); + this.handleItemHoverHook = + new Hook(Address.HandleItemHover, + new HandleItemHoverDelegate(HandleItemHoverDetour), + this); } private IntPtr HandleSetGlobalBgmDetour(UInt16 bgmKey, byte a2, UInt32 a3, UInt32 a4, UInt32 a5, byte a6) { @@ -40,16 +59,36 @@ namespace Dalamud.Game.Internal.Gui { return retVal; } + private IntPtr HandleItemHoverDetour(IntPtr hoverState, IntPtr a2, IntPtr a3, ulong a4) { + var retVal = this.handleItemHoverHook.Original(hoverState, a2, a3, a4); + + if (retVal.ToInt64() == 22) { + var itemId = (ulong)Marshal.ReadInt32(hoverState, 0x130); + + try { + HoveredItemChanged?.Invoke(this, itemId); + } catch (Exception e) { + Log.Error(e, "Could not dispatch HoveredItemChanged event."); + } + + Log.Verbose("HoverItemId: {0}", itemId); + } + + return retVal; + } + public void SetBgm(ushort bgmKey) => this.setGlobalBgmHook.Original(bgmKey, 0, 0, 0, 0, 0); public void Enable() { Chat.Enable(); this.setGlobalBgmHook.Enable(); + this.handleItemHoverHook.Enable(); } public void Dispose() { Chat.Dispose(); this.setGlobalBgmHook.Dispose(); + this.handleItemHoverHook.Dispose(); } } } diff --git a/Dalamud/Game/Internal/Gui/GameGuiAddressResolver.cs b/Dalamud/Game/Internal/Gui/GameGuiAddressResolver.cs index c0127e8d4..091543c56 100644 --- a/Dalamud/Game/Internal/Gui/GameGuiAddressResolver.cs +++ b/Dalamud/Game/Internal/Gui/GameGuiAddressResolver.cs @@ -9,6 +9,7 @@ namespace Dalamud.Game.Internal.Gui { public IntPtr ChatManager { get; private set; } public IntPtr SetGlobalBgm { get; private set; } + public IntPtr HandleItemHover { get; set; } public GameGuiAddressResolver(IntPtr baseAddress) { BaseAddress = baseAddress; @@ -24,8 +25,8 @@ namespace Dalamud.Game.Internal.Gui { } protected override void Setup64Bit(SigScanner sig) { - //SetGlobalBgm = sig.ScanText("4C 8B 15 ?? ?? ?? ?? 4D 85 D2 74 58 41 83 7A ?? ?? 76 51 4D 8B 92 ?? ?? ?? ?? 0F B6 44 24 ?? 49 81 C2 ?? ?? ?? ?? 66 41 89 4A ?? 33 C9 41 88 52 30 41 89 4A 14 66 41 89 4A ?? 41 88 42 12 49 89 4A 38 41 89 4A 40 49 89 4A 48 41 38 4A 30 74 14 8B 44 24 28 41 89 42 40 45 89 42 38"); SetGlobalBgm = sig.ScanText("4C 8B 15 ?? ?? ?? ?? 4D 85 D2 74 58"); + HandleItemHover = sig.ScanText("E8 ?? ?? ?? ?? 48 8B 5C 24 ?? 48 89 AE ?? ?? ?? ??"); } } } From 19de5a475c8260dd721288a889a493a55cc8301f Mon Sep 17 00:00:00 2001 From: Florian Maunier Date: Thu, 2 Apr 2020 23:22:45 +0200 Subject: [PATCH 12/12] Add fixed Item sheet for GetExcelSheet --- Dalamud/Data/TransientSheet/Item.cs | 481 ++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 Dalamud/Data/TransientSheet/Item.cs diff --git a/Dalamud/Data/TransientSheet/Item.cs b/Dalamud/Data/TransientSheet/Item.cs new file mode 100644 index 000000000..2b6018042 --- /dev/null +++ b/Dalamud/Data/TransientSheet/Item.cs @@ -0,0 +1,481 @@ +using System; +using Lumina.Data.Structs.Excel; +using Lumina.Excel; + +namespace Dalamud.Data.TransientSheet +{ + [Sheet("Item", columnHash: 0x9f2e970b)] + public class Item : IExcelRow + { + // column defs from Mon, 24 Feb 2020 17:34:06 GMT + + + // col: 00 offset: 0000 + public string Singular; + + // col: 02 offset: 0004 + public string Plural; + + // col: 08 offset: 0008 + public string Description; + + // col: 09 offset: 000c + public string Name; + + // col: 01 offset: 0010 + public sbyte Adjective; + + // col: 03 offset: 0011 + public sbyte PossessivePronoun; + + // col: 04 offset: 0012 + public sbyte StartsWithVowel; + + // col: 05 offset: 0013 + public sbyte unknown13; + + // col: 06 offset: 0014 + public sbyte Pronoun; + + // col: 07 offset: 0015 + public sbyte Article; + + // col: 47 offset: 0018 + public ulong ModelMain; + + // col: 48 offset: 0020 + public ulong ModelSub; + + // col: 51 offset: 0028 + public ushort DamagePhys; + + // col: 52 offset: 002a + public ushort DamageMag; + + // col: 53 offset: 002c + public ushort Delayms; + + // col: 55 offset: 002e + public ushort BlockRate; + + // col: 56 offset: 0030 + public ushort Block; + + // col: 57 offset: 0032 + public ushort DefensePhys; + + // col: 58 offset: 0034 + public ushort DefenseMag; + + // col: 66 offset: 003c + public short unknown3c; + + // col: 68 offset: 003e + public short unknown3e; + + // col: 70 offset: 0040 + public short unknown40; + + // col: 80 offset: 0048 + public short unknown48; + + // col: 82 offset: 004a + public short unknown4a; + + // col: 84 offset: 004c + public short unknown4c; + + // col: 40 offset: 004e + public byte LevelEquip; + + // col: 41 offset: 004f + public byte unknown4f; + + // col: 42 offset: 0050 + public byte EquipRestriction; + + // col: 43 offset: 0051 + public byte ClassJobCategory; + + // col: 44 offset: 0052 + public byte GrandCompany; + + // col: 45 offset: 0053 + public byte ItemSeries; + + // col: 46 offset: 0054 + public byte BaseParamModifier; + + // col: 49 offset: 0055 + public byte ClassJobUse; + + // col: 50 offset: 0056 + public byte unknown56; + + // col: 54 offset: 0057 + public byte unknown57; + + // col: 59 offset: 0058 + public short[] unknown58; + + // col: 65 offset: 005b + public byte unknown5b; + + // col: 67 offset: 005c + public byte unknown5c; + + // col: 69 offset: 005d + public byte unknown5d; + + // col: 71 offset: 005e + public byte ItemSpecialBonus; + + // col: 72 offset: 005f + public byte ItemSpecialBonusParam; + + // col: 73 offset: 0060 + public short[] unknown60; + + // col: 79 offset: 0063 + public byte unknown63; + + // col: 81 offset: 0064 + public byte unknown64; + + // col: 83 offset: 0065 + public byte unknown65; + + // col: 85 offset: 0066 + public byte MaterializeType; + + // col: 86 offset: 0067 + public byte MateriaSlotCount; + + // col: 89 offset: 0068 + public byte unknown68; + + // col: 87 offset: 0069 + private byte packed69; + public bool IsAdvancedMeldingPermitted => (packed69 & 0x1) == 0x1; + public bool IsPvP => (packed69 & 0x2) == 0x2; + public bool IsGlamourous => (packed69 & 0x4) == 0x4; + + // col: 14 offset: 0070 + public uint AdditionalData; + + // col: 19 offset: 0074 + public uint StackSize; + + // col: 24 offset: 0078 + public uint PriceMid; + + // col: 25 offset: 007c + public uint PriceLow; + + // col: 33 offset: 0080 + public int ItemRepair; + + // col: 34 offset: 0084 + public int ItemGlamour; + + // col: 10 offset: 0088 + public ushort Icon; + + // col: 11 offset: 008a + public ushort LevelItem; + + // col: 18 offset: 008c + public ushort unknown8c; + + // col: 29 offset: 008e + public ushort ItemAction; + + // col: 31 offset: 0090 + public ushort Cooldowns; + + // col: 35 offset: 0092 + public ushort Salvage; + + // col: 36 offset: 0094 + public ushort unknown94; + + // col: 39 offset: 0096 + public ushort AetherialReduce; + + // col: 12 offset: 0098 + public byte Rarity; + + // col: 13 offset: 0099 + public byte FilterGroup; + + // col: 15 offset: 009a + public byte ItemUICategory; + + // col: 16 offset: 009b + public byte ItemSearchCategory; + + // col: 17 offset: 009c + public byte EquipSlotCategory; + + // col: 30 offset: 009d + public byte unknown9d; + + // col: 32 offset: 009e + public byte ClassJobRepair; + + // col: 20 offset: 009f + private byte packed9f; + public bool IsUnique => (packed9f & 0x1) == 0x1; + public bool IsUntradable => (packed9f & 0x2) == 0x2; + public bool IsIndisposable => (packed9f & 0x4) == 0x4; + public bool Lot => (packed9f & 0x8) == 0x8; + public bool CanBeHq => (packed9f & 0x10) == 0x10; + public bool IsDyeable => (packed9f & 0x20) == 0x20; + public bool IsCrestWorthy => (packed9f & 0x40) == 0x40; + public bool IsCollectable => (packed9f & 0x80) == 0x80; + + // col: 38 offset: 00a0 + private byte packeda0; + public bool AlwaysCollectable => (packeda0 & 0x1) == 0x1; + + + public int RowId { get; set; } + public int SubRowId { get; set; } + + public void PopulateData(RowParser parser, global::Lumina.Lumina lumina) + { + RowId = parser.Row; + SubRowId = parser.SubRow; + + // col: 0 offset: 0000 + Singular = parser.ReadOffset(0x0); + + // col: 2 offset: 0004 + Plural = parser.ReadOffset(0x4); + + // col: 8 offset: 0008 + Description = parser.ReadOffset(0x8); + + // col: 9 offset: 000c + Name = parser.ReadOffset(0xc); + + // col: 1 offset: 0010 + Adjective = parser.ReadOffset(0x10); + + // col: 3 offset: 0011 + PossessivePronoun = parser.ReadOffset(0x11); + + // col: 4 offset: 0012 + StartsWithVowel = parser.ReadOffset(0x12); + + // col: 5 offset: 0013 + unknown13 = parser.ReadOffset(0x13); + + // col: 6 offset: 0014 + Pronoun = parser.ReadOffset(0x14); + + // col: 7 offset: 0015 + Article = parser.ReadOffset(0x15); + + // col: 47 offset: 0018 + ModelMain = parser.ReadOffset(0x18); + + // col: 48 offset: 0020 + ModelSub = parser.ReadOffset(0x20); + + // col: 51 offset: 0028 + DamagePhys = parser.ReadOffset(0x28); + + // col: 52 offset: 002a + DamageMag = parser.ReadOffset(0x2a); + + // col: 53 offset: 002c + Delayms = parser.ReadOffset(0x2c); + + // col: 55 offset: 002e + BlockRate = parser.ReadOffset(0x2e); + + // col: 56 offset: 0030 + Block = parser.ReadOffset(0x30); + + // col: 57 offset: 0032 + DefensePhys = parser.ReadOffset(0x32); + + // col: 58 offset: 0034 + DefenseMag = parser.ReadOffset(0x34); + + // col: 66 offset: 003c + unknown3c = parser.ReadOffset(0x3c); + + // col: 68 offset: 003e + unknown3e = parser.ReadOffset(0x3e); + + // col: 70 offset: 0040 + unknown40 = parser.ReadOffset(0x40); + + // col: 80 offset: 0048 + unknown48 = parser.ReadOffset(0x48); + + // col: 82 offset: 004a + unknown4a = parser.ReadOffset(0x4a); + + // col: 84 offset: 004c + unknown4c = parser.ReadOffset(0x4c); + + // col: 40 offset: 004e + LevelEquip = parser.ReadOffset(0x4e); + + // col: 41 offset: 004f + unknown4f = parser.ReadOffset(0x4f); + + // col: 42 offset: 0050 + EquipRestriction = parser.ReadOffset(0x50); + + // col: 43 offset: 0051 + ClassJobCategory = parser.ReadOffset(0x51); + + // col: 44 offset: 0052 + GrandCompany = parser.ReadOffset(0x52); + + // col: 45 offset: 0053 + ItemSeries = parser.ReadOffset(0x53); + + // col: 46 offset: 0054 + BaseParamModifier = parser.ReadOffset(0x54); + + // col: 49 offset: 0055 + ClassJobUse = parser.ReadOffset(0x55); + + // col: 50 offset: 0056 + unknown56 = parser.ReadOffset(0x56); + + // col: 54 offset: 0057 + unknown57 = parser.ReadOffset(0x57); + + // col: 59 offset: 0058 + unknown58 = new short[6]; + unknown58[0] = parser.ReadOffset(0x58); + unknown58[1] = parser.ReadOffset(0x36); + unknown58[2] = parser.ReadOffset(0x59); + unknown58[3] = parser.ReadOffset(0x38); + unknown58[4] = parser.ReadOffset(0x5a); + unknown58[5] = parser.ReadOffset(0x3a); + + // col: 65 offset: 005b + unknown5b = parser.ReadOffset(0x5b); + + // col: 67 offset: 005c + unknown5c = parser.ReadOffset(0x5c); + + // col: 69 offset: 005d + unknown5d = parser.ReadOffset(0x5d); + + // col: 71 offset: 005e + ItemSpecialBonus = parser.ReadOffset(0x5e); + + // col: 72 offset: 005f + ItemSpecialBonusParam = parser.ReadOffset(0x5f); + + // col: 73 offset: 0060 + unknown60 = new short[6]; + unknown60[0] = parser.ReadOffset(0x60); + unknown60[1] = parser.ReadOffset(0x42); + unknown60[2] = parser.ReadOffset(0x61); + unknown60[3] = parser.ReadOffset(0x44); + unknown60[4] = parser.ReadOffset(0x62); + unknown60[5] = parser.ReadOffset(0x46); + + // col: 79 offset: 0063 + unknown63 = parser.ReadOffset(0x63); + + // col: 81 offset: 0064 + unknown64 = parser.ReadOffset(0x64); + + // col: 83 offset: 0065 + unknown65 = parser.ReadOffset(0x65); + + // col: 85 offset: 0066 + MaterializeType = parser.ReadOffset(0x66); + + // col: 86 offset: 0067 + MateriaSlotCount = parser.ReadOffset(0x67); + + // col: 89 offset: 0068 + unknown68 = parser.ReadOffset(0x68); + + // col: 87 offset: 0069 + packed69 = parser.ReadOffset(0x69, ExcelColumnDataType.UInt8); + + // col: 14 offset: 0070 + AdditionalData = parser.ReadOffset(0x70); + + // col: 19 offset: 0074 + StackSize = parser.ReadOffset(0x74); + + // col: 24 offset: 0078 + PriceMid = parser.ReadOffset(0x78); + + // col: 25 offset: 007c + PriceLow = parser.ReadOffset(0x7c); + + // col: 33 offset: 0080 + ItemRepair = parser.ReadOffset(0x80); + + // col: 34 offset: 0084 + ItemGlamour = parser.ReadOffset(0x84); + + // col: 10 offset: 0088 + Icon = parser.ReadOffset(0x88); + + // col: 11 offset: 008a + LevelItem = parser.ReadOffset(0x8a); + + // col: 18 offset: 008c + unknown8c = parser.ReadOffset(0x8c); + + // col: 29 offset: 008e + ItemAction = parser.ReadOffset(0x8e); + + // col: 31 offset: 0090 + Cooldowns = parser.ReadOffset(0x90); + + // col: 35 offset: 0092 + Salvage = parser.ReadOffset(0x92); + + // col: 36 offset: 0094 + unknown94 = parser.ReadOffset(0x94); + + // col: 39 offset: 0096 + AetherialReduce = parser.ReadOffset(0x96); + + // col: 12 offset: 0098 + Rarity = parser.ReadOffset(0x98); + + // col: 13 offset: 0099 + FilterGroup = parser.ReadOffset(0x99); + + // col: 15 offset: 009a + ItemUICategory = parser.ReadOffset(0x9a); + + // col: 16 offset: 009b + ItemSearchCategory = parser.ReadOffset(0x9b); + + // col: 17 offset: 009c + EquipSlotCategory = parser.ReadOffset(0x9c); + + // col: 30 offset: 009d + unknown9d = parser.ReadOffset(0x9d); + + // col: 32 offset: 009e + ClassJobRepair = parser.ReadOffset(0x9e); + + // col: 20 offset: 009f + packed9f = parser.ReadOffset(0x9f, ExcelColumnDataType.UInt8); + + // col: 38 offset: 00a0 + packeda0 = parser.ReadOffset(0xa0, ExcelColumnDataType.UInt8); + + + } + } +}