示例#1
0
        public GameGui(IntPtr baseAddress, SigScanner scanner, Dalamud dalamud)
        {
            Address = new GameGuiAddressResolver(baseAddress);
            Address.Setup(scanner);

            Log.Verbose("===== G A M E G U I =====");

            Log.Verbose("GameGuiManager address {Address}", Address.BaseAddress);
            Log.Verbose("SetGlobalBgm address {Address}", Address.SetGlobalBgm);
            Log.Verbose("HandleItemHover address {Address}", Address.HandleItemHover);
            Log.Verbose("HandleItemOut address {Address}", Address.HandleItemOut);
            Log.Verbose("GetUIObject address {Address}", Address.GetUIObject);

            Chat = new ChatGui(Address.ChatManager, scanner, dalamud);

            this.setGlobalBgmHook =
                new Hook <SetGlobalBgmDelegate>(Address.SetGlobalBgm,
                                                new SetGlobalBgmDelegate(HandleSetGlobalBgmDetour),
                                                this);
            this.handleItemHoverHook =
                new Hook <HandleItemHoverDelegate>(Address.HandleItemHover,
                                                   new HandleItemHoverDelegate(HandleItemHoverDetour),
                                                   this);

            this.handleItemOutHook =
                new Hook <HandleItemOutDelegate>(Address.HandleItemOut,
                                                 new HandleItemOutDelegate(HandleItemOutDetour),
                                                 this);

            this.getUIObject = Marshal.GetDelegateForFunctionPointer <GetUIObjectDelegate>(Address.GetUIObject);
        }
示例#2
0
        public GameGui(IntPtr baseAddress, SigScanner scanner, Dalamud dalamud)
        {
            this.dalamud = dalamud;

            Address = new GameGuiAddressResolver(baseAddress);
            Address.Setup(scanner);

            Log.Verbose("===== G A M E G U I =====");

            Log.Verbose("GameGuiManager address {Address}", Address.BaseAddress);
            Log.Verbose("SetGlobalBgm address {Address}", Address.SetGlobalBgm);
            Log.Verbose("HandleItemHover address {Address}", Address.HandleItemHover);
            Log.Verbose("HandleItemOut address {Address}", Address.HandleItemOut);
            Log.Verbose("GetUIObject address {Address}", Address.GetUIObject);
            Log.Verbose("GetAgentModule address {Address}", Address.GetAgentModule);

            Chat        = new ChatGui(Address.ChatManager, scanner, dalamud);
            PartyFinder = new PartyFinderGui(scanner, dalamud);
            Toast       = new ToastGui(scanner, dalamud);

            this.setGlobalBgmHook =
                new Hook <SetGlobalBgmDelegate>(Address.SetGlobalBgm,
                                                new SetGlobalBgmDelegate(HandleSetGlobalBgmDetour),
                                                this);
            this.handleItemHoverHook =
                new Hook <HandleItemHoverDelegate>(Address.HandleItemHover,
                                                   new HandleItemHoverDelegate(HandleItemHoverDetour),
                                                   this);

            this.handleItemOutHook =
                new Hook <HandleItemOutDelegate>(Address.HandleItemOut,
                                                 new HandleItemOutDelegate(HandleItemOutDetour),
                                                 this);

            this.handleActionHoverHook =
                new Hook <HandleActionHoverDelegate>(Address.HandleActionHover,
                                                     new HandleActionHoverDelegate(HandleActionHoverDetour),
                                                     this);
            this.handleActionOutHook =
                new Hook <HandleActionOutDelegate>(Address.HandleActionOut,
                                                   new HandleActionOutDelegate(HandleActionOutDetour),
                                                   this);

            this.getUIObject = Marshal.GetDelegateForFunctionPointer <GetUIObjectDelegate>(Address.GetUIObject);

            this.getMatrixSingleton =
                Marshal.GetDelegateForFunctionPointer <GetMatrixSingletonDelegate>(Address.GetMatrixSingleton);

            this.screenToWorldNative =
                Marshal.GetDelegateForFunctionPointer <ScreenToWorldNativeDelegate>(Address.ScreenToWorld);

            this.toggleUiHideHook = new Hook <ToggleUiHideDelegate>(Address.ToggleUiHide, new ToggleUiHideDelegate(ToggleUiHideDetour), this);

            this.GetBaseUIObject   = Marshal.GetDelegateForFunctionPointer <GetBaseUIObjectDelegate>(Address.GetBaseUIObject);
            this.getUIObjectByName = Marshal.GetDelegateForFunctionPointer <GetUIObjectByNameDelegate>(Address.GetUIObjectByName);

            this.getUiModule    = Marshal.GetDelegateForFunctionPointer <GetUiModuleDelegate>(Address.GetUIModule);
            this.getAgentModule = Marshal.GetDelegateForFunctionPointer <GetAgentModuleDelegate>(Address.GetAgentModule);
        }
示例#3
0
        public GameGui(IntPtr baseAddress, SigScanner scanner, Dalamud dalamud)
        {
            Address = new GameGuiAddressResolver(baseAddress);
            Address.Setup(scanner);

            Log.Verbose("===== G A M E G U I =====");

            Log.Verbose("GameGuiManager address {Address}", Address.BaseAddress);
            Log.Verbose("SetGlobalBgm address {Address}", Address.SetGlobalBgm);

            Chat = new ChatGui(Address.ChatManager, scanner, dalamud);

            this.setGlobalBgmHook =
                new Hook <SetGlobalBgmDelegate>(Address.SetGlobalBgm,
                                                new SetGlobalBgmDelegate(HandleSetGlobalBgmDetour),
                                                this);
        }