コード例 #1
0
        /// <summary>
        ///     Set up the actor table collection.
        /// </summary>
        /// <param name="addressResolver">Client state address resolver.</param>
        public ActorTable(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            Address      = addressResolver;
            this.dalamud = dalamud;

            Log.Verbose("Actor table address {ActorTable}", Address.ActorTable);
        }
コード例 #2
0
ファイル: ObjectTable.cs プロジェクト: daemitus/Dalamud
        /// <summary>
        /// Initializes a new instance of the <see cref="ObjectTable"/> class.
        /// </summary>
        /// <param name="dalamud">The <see cref="dalamud"/> instance.</param>
        /// <param name="addressResolver">Client state address resolver.</param>
        internal ObjectTable(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            this.dalamud = dalamud;
            this.address = addressResolver;

            Log.Verbose($"Object table address 0x{this.address.ObjectTable.ToInt64():X}");
        }
コード例 #3
0
ファイル: PartyList.cs プロジェクト: daemitus/Dalamud
        /// <summary>
        /// Initializes a new instance of the <see cref="PartyList"/> class.
        /// </summary>
        /// <param name="dalamud">The <see cref="dalamud"/> instance.</param>
        /// <param name="addressResolver">Client state address resolver.</param>
        internal PartyList(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            this.dalamud = dalamud;
            this.address = addressResolver;

            Log.Verbose($"Group manager address 0x{this.address.GroupManager.ToInt64():X}");
        }
コード例 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FateTable"/> class.
        /// </summary>
        /// <param name="dalamud">The <see cref="dalamud"/> instance.</param>
        /// <param name="addressResolver">Client state address resolver.</param>
        internal FateTable(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            this.address = addressResolver;
            this.dalamud = dalamud;

            Log.Verbose($"Fate table address 0x{this.address.FateTablePtr.ToInt64():X}");
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BuddyList"/> class.
        /// </summary>
        /// <param name="dalamud">The <see cref="dalamud"/> instance.</param>
        /// <param name="addressResolver">Client state address resolver.</param>
        internal BuddyList(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            this.dalamud = dalamud;
            this.address = addressResolver;

            Log.Verbose($"Buddy list address 0x{this.address.BuddyList.ToInt64():X}");
        }
コード例 #6
0
ファイル: AetheryteList.cs プロジェクト: r1ft4469/Dalamud
        /// <summary>
        /// Initializes a new instance of the <see cref="AetheryteList"/> class.
        /// </summary>
        /// <param name="addressResolver">Client state address resolver.</param>
        internal AetheryteList(ClientStateAddressResolver addressResolver)
        {
            this.address = addressResolver;
            this.updateAetheryteListFunc = Marshal.GetDelegateForFunctionPointer <UpdateAetheryteListDelegate>(this.address.UpdateAetheryteList);

            Log.Verbose($"Teleport address 0x{this.address.Telepo.ToInt64():X}");
        }
コード例 #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="KeyState"/> class.
        /// </summary>
        /// <param name="addressResolver">The ClientStateAddressResolver instance.</param>
        public KeyState(ClientStateAddressResolver addressResolver)
        {
            var moduleBaseAddress = Service <SigScanner> .Get().Module.BaseAddress;

            this.bufferBase = moduleBaseAddress + Marshal.ReadInt32(addressResolver.KeyboardState);

            Log.Verbose($"Keyboard state buffer address 0x{this.bufferBase.ToInt64():X}");
        }
コード例 #8
0
ファイル: ActorTable.cs プロジェクト: PrototypeSeiren/Dalamud
        /// <summary>
        ///     Set up the actor table collection.
        /// </summary>
        /// <param name="addressResolver">Client state address resolver.</param>
        public ActorTable(Dalamud dalamud, ClientStateAddressResolver addressResolver)
        {
            Address      = addressResolver;
            this.dalamud = dalamud;

            dalamud.Framework.OnUpdateEvent += Framework_OnUpdateEvent;

            Log.Verbose("Actor table address {ActorTable}", Address.ActorTable);
        }
コード例 #9
0
ファイル: ClientState.cs プロジェクト: goaaats/Dalamud
    /// <summary>
    /// Initializes a new instance of the <see cref="ClientState"/> class.
    /// Set up client state access.
    /// </summary>
    internal ClientState()
    {
        this.address = new ClientStateAddressResolver();
        this.address.Setup();

        Log.Verbose("===== C L I E N T  S T A T E =====");

        this.ClientLanguage = Service <DalamudStartInfo> .Get().Language;

        Service <ObjectTable> .Set(this.address);

        Service <FateTable> .Set(this.address);

        Service <PartyList> .Set(this.address);

        Service <BuddyList> .Set(this.address);

        Service <JobGauges> .Set(this.address);

        Service <KeyState> .Set(this.address);

        Service <GamepadState> .Set(this.address);

        Service <Condition> .Set(this.address);

        Service <TargetManager> .Set(this.address);

        Log.Verbose($"SetupTerritoryType address 0x{this.address.SetupTerritoryType.ToInt64():X}");

        this.setupTerritoryTypeHook = new Hook <SetupTerritoryTypeDelegate>(this.address.SetupTerritoryType, this.SetupTerritoryTypeDetour);

        var framework = Service <Framework> .Get();

        framework.Update += this.FrameworkOnOnUpdateEvent;

        var networkHandlers = Service <NetworkHandlers> .Get();

        networkHandlers.CfPop += this.NetworkHandlersOnCfPop;
    }
コード例 #10
0
ファイル: GamepadState.cs プロジェクト: daemitus/Dalamud
 /// <summary>
 /// Initializes a new instance of the <see cref="GamepadState" /> class.
 /// </summary>
 /// <param name="resolver">Resolver knowing the pointer to the GamepadPoll function.</param>
 public GamepadState(ClientStateAddressResolver resolver)
 {
     Log.Verbose($"GamepadPoll address 0x{resolver.GamepadPoll.ToInt64():X}");
     this.gamepadPoll = new Hook <ControllerPoll>(resolver.GamepadPoll, this.GamepadPollDetour);
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Targets"/> class.
 /// </summary>
 /// <param name="dalamud">The Dalamud instance.</param>
 /// <param name="addressResolver">The ClientStateAddressResolver instance.</param>
 internal Targets(Dalamud dalamud, ClientStateAddressResolver addressResolver)
 {
     this.dalamud = dalamud;
     this.address = addressResolver;
 }
コード例 #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="KeyState"/> class.
        /// </summary>
        /// <param name="addressResolver">The ClientStateAddressResolver instance.</param>
        /// <param name="moduleBaseAddress">The base address of the main process module.</param>
        public KeyState(ClientStateAddressResolver addressResolver, IntPtr moduleBaseAddress)
        {
            this.bufferBase = moduleBaseAddress + Marshal.ReadInt32(addressResolver.KeyboardState);

            Log.Verbose($"Keyboard state buffer address 0x{this.bufferBase.ToInt64():X}");
        }
コード例 #13
0
ファイル: Condition.cs プロジェクト: r1ft4469/Dalamud
 /// <summary>
 /// Initializes a new instance of the <see cref="Condition"/> class.
 /// </summary>
 /// <param name="resolver">The ClientStateAddressResolver instance.</param>
 internal Condition(ClientStateAddressResolver resolver)
 {
     this.Address = resolver.ConditionFlags;
 }
コード例 #14
0
ファイル: TargetManager.cs プロジェクト: goaaats/Dalamud
 /// <summary>
 /// Initializes a new instance of the <see cref="TargetManager"/> class.
 /// </summary>
 /// <param name="addressResolver">The ClientStateAddressResolver instance.</param>
 internal TargetManager(ClientStateAddressResolver addressResolver)
 {
     this.address = addressResolver;
 }
コード例 #15
0
ファイル: Condition.cs プロジェクト: daemitus/Dalamud
 /// <summary>
 /// Initializes a new instance of the <see cref="Condition"/> class.
 /// </summary>
 /// <param name="resolver">The ClientStateAddressResolver instance.</param>
 internal Condition(ClientStateAddressResolver resolver)
 {
     this.ConditionArrayBase = resolver.ConditionFlags;
 }
コード例 #16
0
        /// <summary>
        ///     Set up the actor table collection.
        /// </summary>
        /// <param name="addressResolver">Client state address resolver.</param>
        public ActorTable(ClientStateAddressResolver addressResolver)
        {
            Address = addressResolver;

            Log.Verbose("Actor table address {ActorTable}", Address.ActorTable);
        }