This commit is contained in:
erik 2025-06-09 02:03:11 +02:00
parent 01151e679b
commit 57b2f0400e
265 changed files with 22828 additions and 6 deletions

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[Guid("93FD982E-D1CE-46C3-9428-532ACCDA06CE")]
[CoClass(typeof(ACHooksClass))]
public interface ACHooks : IACHooks, IACHooksEvents_Event
{
}

View file

@ -0,0 +1,586 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("CB8875CD-ABC2-42AD-8175-8908706EED37")]
[ComSourceInterfaces("Decal.Interop.Core.IACHooksEvents\0\0")]
[TypeLibType(2)]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
public class ACHooksClass : IACHooks, ACHooks, IACHooksEvents_Event
{
[DispId(1610743810)]
public virtual extern int HooksAvail
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743810)]
get;
}
[DispId(1610743811)]
public virtual extern bool HooksAvailEx
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743811)]
get;
}
[DispId(1610743818)]
public virtual extern int CurrentSelection
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743818)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743818)]
[param: In]
set;
}
[DispId(1610743820)]
public virtual extern int PreviousSelection
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743820)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743820)]
[param: In]
set;
}
[DispId(1610743822)]
public virtual extern int SelectedStackCount
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743822)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743822)]
[param: In]
set;
}
[DispId(1610743824)]
public virtual extern int MaxSelectedStackCount
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743824)]
get;
}
[DispId(1610743826)]
public virtual extern tagRECT AC3DRegionRect
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743826)]
get;
}
[DispId(1610743827)]
public virtual extern IntPtr AC3DRegionRectPtr
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743827)]
get;
}
[DispId(1610743828)]
public virtual extern tagRECT ACWindowRect
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743828)]
get;
}
[DispId(1610743829)]
public virtual extern bool ChatState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743829)]
get;
}
[DispId(1610743830)]
public virtual extern int BusyState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743830)]
get;
}
[DispId(1610743831)]
public virtual extern int BusyStateID
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743831)]
get;
}
[DispId(1610743832)]
public virtual extern int PointerState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743832)]
get;
}
[DispId(1610743833)]
public virtual extern int VendorID
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743833)]
get;
}
[DispId(1610743840)]
public virtual extern int CombatMode
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743840)]
get;
}
[DispId(1610743844)]
public virtual extern int CommandInterpreter
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743844)]
get;
}
[DispId(1610743858)]
public virtual extern double HeadingDegrees
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743858)]
get;
}
[DispId(1610743859)]
public virtual extern double HeadingRadians
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743859)]
get;
}
[DispId(1610743860)]
public virtual extern int Landcell
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743860)]
get;
}
[DispId(1610743861)]
public virtual extern double LocationX
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743861)]
get;
}
[DispId(1610743862)]
public virtual extern double LocationY
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743862)]
get;
}
[DispId(1610743863)]
public virtual extern double LocationZ
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743863)]
get;
}
[DispId(1610743864)]
public virtual extern eTrainLevel SkillTrainLevel
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743864)]
get;
}
[DispId(1610743865)]
public virtual extern int SkillTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743865)]
get;
}
[DispId(1610743866)]
public virtual extern int SkillFreePoints
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743866)]
get;
}
[DispId(1610743867)]
public virtual extern int SkillClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743867)]
get;
}
[DispId(1610743868)]
public virtual extern int AttributeTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743868)]
get;
}
[DispId(1610743869)]
public virtual extern int AttributeClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743869)]
get;
}
[DispId(1610743870)]
public virtual extern int AttributeStart
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743870)]
get;
}
[DispId(1610743871)]
public virtual extern int VitalTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743871)]
get;
}
[DispId(1610743872)]
public virtual extern int VitalClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743872)]
get;
}
[DispId(1610743873)]
public virtual extern int Vital
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743873)]
get;
}
[DispId(1610743874)]
public virtual extern int Attribute
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743874)]
get;
}
[DispId(1610743875)]
public virtual extern int Skill
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743875)]
get;
}
[DispId(1610743876)]
public virtual extern int Misc
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743876)]
get;
}
[DispId(1610743888)]
public virtual extern int OpenedContainer
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743888)]
get;
}
[DispId(1610743894)]
public virtual extern int CallerRefInstanceInternal
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743894)]
[param: In]
set;
}
public virtual extern event IACHooksEvents_ObjectDestroyedEventHandler ObjectDestroyed;
public virtual extern event IACHooksEvents_ChatTextInterceptEventHandler ChatTextIntercept;
public virtual extern event IACHooksEvents_ChatParserInterceptEventHandler ChatParserIntercept;
public virtual extern event IACHooksEvents_StatusTextInterceptEventHandler StatusTextIntercept;
public virtual extern event IACHooksEvents_ObjectSelectedEventHandler ObjectSelected;
public virtual extern event IACHooksEvents_MessageProcessedEventHandler MessageProcessed;
public virtual extern event IACHooksEvents_AC3DRegionChangedEventHandler AC3DRegionChanged;
public virtual extern event IACHooksEvents_ContainerOpenedEventHandler ContainerOpened;
public virtual extern event IACHooksEvents_ChatClickInterceptEventHandler ChatClickIntercept;
public virtual extern event IACHooksEvents_RenderPreUIEventHandler RenderPreUI;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743808)]
[TypeLibFunc(64)]
public virtual extern void SetIDFilter([In][MarshalAs(UnmanagedType.Interface)] IIdentifyFilter pIDFilter);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743809)]
[TypeLibFunc(64)]
public virtual extern void SetDecal([In][MarshalAs(UnmanagedType.IUnknown)] object pDecal);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743812)]
public virtual extern void AddChatText([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743813)]
public virtual extern void AddChatTextRaw([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743814)]
public virtual extern void AddStatusText([In][MarshalAs(UnmanagedType.BStr)] string Text);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743815)]
public virtual extern void InvokeChatParser([In][MarshalAs(UnmanagedType.BStr)] string Text);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743816)]
public virtual extern void SetIdleTime([In] double dIdleTimeout);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743817)]
public virtual extern void Logout();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743825)]
public virtual extern void SetCursorPosition([In] int lX, int lY);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743834)]
public virtual extern void VendorBuyListAdd([In] int lID, int lAmount);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743835)]
public virtual extern void VendorBuyListClear();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743836)]
public virtual extern void VendorBuyAll();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743837)]
public virtual extern void VendorSellListAdd([In] int lID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743838)]
public virtual extern void VendorSellListClear();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743839)]
public virtual extern void VendorSellAll();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743841)]
public virtual extern void SetCombatMode([In] int pVal);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743842)]
public virtual extern void SetAutorun([In] bool bOnOff);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743843)]
public virtual extern bool FaceHeading([In] float fHeading, [In] bool bUnknown);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743845)]
public virtual extern void SelectItem([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743846)]
public virtual extern void GiveItem([In] int lObject, int lDestination);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743847)]
public virtual extern void ApplyItem([In] int UseThis, int OnThis);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743848)]
public virtual extern void UseItem([In] int lObjectID, int lUseState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743849)]
public virtual extern void UseItemRaw([In] int lObjectID, int lUseState, int lUseMethod);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743850)]
public virtual extern void MoveItem([In] int lObjectID, int lPackID, int lSlot, bool bStack);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743851)]
public virtual extern void MoveItemEx([In] int lObjectID, int lDestinationID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743852)]
public virtual extern void MoveItemExRaw([In] int lObject, int lDestination, int lMoveFlags);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743853)]
public virtual extern void DropItem([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743854)]
public virtual extern void CastSpell([In] int lSpellID, int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743855)]
public virtual extern bool IsValidObject([In] int lGUID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743856)]
public virtual extern int GetWeenieObjectPtr([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743857)]
public virtual extern int GetPhysicsObjectPtr([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743877)]
public virtual extern void RequestID([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743878)]
public virtual extern void IDQueueAdd([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743879)]
public virtual extern void SpellTabAdd([In] int lTab, int lIndex, int lSpellID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743880)]
public virtual extern void SpellTabDelete([In] int lTab, int lSpellID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743881)]
public virtual extern void TradeAdd([In] int ItemID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743882)]
public virtual extern void TradeAccept();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743883)]
public virtual extern void TradeDecline();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743884)]
public virtual extern void TradeReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743885)]
public virtual extern void TradeEnd();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743886)]
public virtual extern void SalvagePanelAdd([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743887)]
public virtual extern void SalvagePanelSalvage();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743889)]
public virtual extern void AddSkillExp([In] eSkill SkillID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743890)]
public virtual extern void AddAttributeExp([In] eAttribute AttribID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743891)]
public virtual extern void AddVitalExp([In] eVital VitalID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743892)]
public virtual extern int SmartboxPtr();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743893)]
public virtual extern float ObjectHeight([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743895)]
public virtual extern void AutoWieldRaw([In] int lObjectID, int SlotID, int Explicit, int NotExplicit, int zeroVal1, int zeroVal2);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743896)]
public virtual extern void AutoWield([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743897)]
public virtual extern void AutoWieldEx([In] int lObjectID, int SlotID, int Explicit, int NotExplicit);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743898)]
public virtual extern void FellowshipRecruit([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743899)]
public virtual extern void FellowshipGrantLeader([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743900)]
public virtual extern void FellowshipSetOpen([In] bool IsOpen);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743901)]
public virtual extern void FellowshipQuit();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743902)]
public virtual extern void FellowshipDisband();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743903)]
public virtual extern void FellowshipDismiss([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743904)]
public virtual extern void UIElementMove([In] int lUIElementType, int X, int Y);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743905)]
public virtual extern void UIElementResize([In] int lUIElementType, int Width, int Height);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743906)]
public virtual extern int UIElementLookup([In] int lUIElementType);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743907)]
public virtual extern tagRECT UIElementRegionRect([In] int lUIElementType);
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[Guid("E182005F-6A67-48B5-A50F-464340105330")]
[CoClass(typeof(ActiveXSurrogateClass))]
public interface ActiveXSurrogate : IDecalFileSurrogate
{
}

View file

@ -0,0 +1,38 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[TypeLibType(2)]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
[Guid("7559F22F-C56F-4621-AE08-9C354D799D4B")]
public class ActiveXSurrogateClass : IDecalFileSurrogate, ActiveXSurrogate, IDecalUninstall
{
[DispId(1610678273)]
public virtual extern string Extension
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678274)]
public virtual extern string Description
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Register([MarshalAs(UnmanagedType.BStr)] string Filename);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Prepare([MarshalAs(UnmanagedType.Interface)] DecalEnum pEnum);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Uninstall();
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[CoClass(typeof(DecalCoreClass))]
[Guid("A38715BB-91E7-4C66-95F9-363096F29760")]
public interface DecalCore : IDecalCore, IDecalEvents_Event
{
}

View file

@ -0,0 +1,135 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("4557D5A1-00DB-48F6-ACB3-4FEF30E2F358")]
[ComSourceInterfaces("Decal.Interop.Core.IDecalEvents\0\0")]
[TypeLibType(2)]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
public class DecalCoreClass : IDecalCore, DecalCore, IDecalEvents_Event
{
[DispId(1610678274)]
public virtual extern int HWND
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
set;
}
[DispId(1610678276)]
public virtual extern bool Focus
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678282)]
public virtual extern object Object
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[DispId(1610678284)]
public virtual extern DecalEnum Configuration
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678286)]
public virtual extern object Plugin
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[DispId(1610678287)]
public virtual extern object Service
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[DispId(1610678292)]
public virtual extern ACHooks Hooks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678297)]
public virtual extern bool PluginsRunning
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
public virtual extern event IDecalEvents_InitializeCompleteEventHandler InitializeComplete;
public virtual extern event IDecalEvents_TerminateCompleteEventHandler TerminateComplete;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void InitGraphics([MarshalAs(UnmanagedType.IUnknown)] object pD3DDevice);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
public virtual extern object GetD3DDevice(ref Guid riid);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SendWM(int HWND, short uMsg, int wParam, int lParam, ref bool pbEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetScreenSize(out int pWidth, out int pHeight);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
public virtual extern string MapPath([MarshalAs(UnmanagedType.BStr)] string pPath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StartPlugins();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StopPlugins();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StartServices();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StopServices();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Render2D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Render3D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void PreReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void PostReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StartFilters();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void StopFilters();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern bool KillBitCheckByGUID([In][MarshalAs(UnmanagedType.BStr)] string bstrGuid, [MarshalAs(UnmanagedType.BStr)] string bstrVersion);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern bool KillBitCheckByProgID([In][MarshalAs(UnmanagedType.BStr)] string bstProgID, [MarshalAs(UnmanagedType.BStr)] string bstrVersion);
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[CoClass(typeof(DecalEnumClass))]
[Guid("FFA32A7A-EFAF-484A-B358-8802DBBAB0EC")]
public interface DecalEnum : IDecalEnum
{
}

View file

@ -0,0 +1,112 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[ClassInterface(0)]
[Guid("6DE65A82-C451-46E6-A82D-92137BE851AD")]
[SuppressUnmanagedCodeSecurity]
public class DecalEnumClass : IDecalEnum, DecalEnum
{
[DispId(1610678272)]
public virtual extern string FriendlyName
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678273)]
public virtual extern Guid ComClass
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678274)]
public virtual extern bool Enabled
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[param: In]
set;
}
[DispId(1610678276)]
public virtual extern bool Restricted
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678279)]
public virtual extern Guid SurrogateClass
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678280)]
public virtual extern string ResourcePath
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678281)]
public virtual extern object Property
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Struct)]
get;
}
[DispId(1610678282)]
public virtual extern string Group
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678285)]
public virtual extern string Version
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678286)]
public virtual extern bool FileExists
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678287)]
public virtual extern string FilePath
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
public virtual extern object CreateInstance(ref Guid riid);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Next();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Skip([In] ref Guid clsid);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void MoveBefore(ref Guid clsidBefore);
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[Guid("A074F83A-32AB-46FC-9E4E-7E9DAFCD5D18")]
[CoClass(typeof(DecalResClass))]
public interface DecalRes : IDecalRes
{
}

View file

@ -0,0 +1,12 @@
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[ClassInterface(0)]
[Guid("EA7BE91B-C98A-4138-8985-E22364BE8207")]
[SuppressUnmanagedCodeSecurity]
public class DecalResClass : IDecalRes, DecalRes
{
}

View file

@ -0,0 +1,565 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("93FD982E-D1CE-46C3-9428-532ACCDA06CE")]
[TypeLibType(4160)]
[SuppressUnmanagedCodeSecurity]
[ComConversionLoss]
public interface IACHooks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[TypeLibFunc(64)]
[DispId(1610743808)]
void SetIDFilter([In][MarshalAs(UnmanagedType.Interface)] IIdentifyFilter pIDFilter);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743809)]
[TypeLibFunc(64)]
void SetDecal([In][MarshalAs(UnmanagedType.IUnknown)] object pDecal);
[DispId(1610743810)]
int HooksAvail
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743810)]
get;
}
[DispId(1610743811)]
bool HooksAvailEx
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743811)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743812)]
void AddChatText([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743813)]
void AddChatTextRaw([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743814)]
void AddStatusText([In][MarshalAs(UnmanagedType.BStr)] string Text);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743815)]
void InvokeChatParser([In][MarshalAs(UnmanagedType.BStr)] string Text);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743816)]
void SetIdleTime([In] double dIdleTimeout);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743817)]
void Logout();
[DispId(1610743818)]
int CurrentSelection
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743818)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743818)]
[param: In]
set;
}
[DispId(1610743820)]
int PreviousSelection
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743820)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743820)]
[param: In]
set;
}
[DispId(1610743822)]
int SelectedStackCount
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743822)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743822)]
[param: In]
set;
}
[DispId(1610743824)]
int MaxSelectedStackCount
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743824)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743825)]
void SetCursorPosition([In] int lX, int lY);
[DispId(1610743826)]
tagRECT AC3DRegionRect
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743826)]
get;
}
[DispId(1610743827)]
IntPtr AC3DRegionRectPtr
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743827)]
get;
}
[DispId(1610743828)]
tagRECT ACWindowRect
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743828)]
get;
}
[DispId(1610743829)]
bool ChatState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743829)]
get;
}
[DispId(1610743830)]
int BusyState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743830)]
get;
}
[DispId(1610743831)]
int BusyStateID
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743831)]
get;
}
[DispId(1610743832)]
int PointerState
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743832)]
get;
}
[DispId(1610743833)]
int VendorID
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743833)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743834)]
void VendorBuyListAdd([In] int lID, int lAmount);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743835)]
void VendorBuyListClear();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743836)]
void VendorBuyAll();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743837)]
void VendorSellListAdd([In] int lID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743838)]
void VendorSellListClear();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743839)]
void VendorSellAll();
[DispId(1610743840)]
int CombatMode
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743840)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743841)]
void SetCombatMode([In] int pVal);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743842)]
void SetAutorun([In] bool bOnOff);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743843)]
bool FaceHeading([In] float fHeading, [In] bool bUnknown);
[DispId(1610743844)]
int CommandInterpreter
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743844)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743845)]
void SelectItem([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743846)]
void GiveItem([In] int lObject, int lDestination);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743847)]
void ApplyItem([In] int UseThis, int OnThis);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743848)]
void UseItem([In] int lObjectID, int lUseState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743849)]
void UseItemRaw([In] int lObjectID, int lUseState, int lUseMethod);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743850)]
void MoveItem([In] int lObjectID, int lPackID, int lSlot, bool bStack);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743851)]
void MoveItemEx([In] int lObjectID, int lDestinationID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743852)]
void MoveItemExRaw([In] int lObject, int lDestination, int lMoveFlags);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743853)]
void DropItem([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743854)]
void CastSpell([In] int lSpellID, int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743855)]
bool IsValidObject([In] int lGUID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743856)]
int GetWeenieObjectPtr([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743857)]
int GetPhysicsObjectPtr([In] int lObjectID);
[DispId(1610743858)]
double HeadingDegrees
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743858)]
get;
}
[DispId(1610743859)]
double HeadingRadians
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743859)]
get;
}
[DispId(1610743860)]
int Landcell
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743860)]
get;
}
[DispId(1610743861)]
double LocationX
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743861)]
get;
}
[DispId(1610743862)]
double LocationY
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743862)]
get;
}
[DispId(1610743863)]
double LocationZ
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743863)]
get;
}
[DispId(1610743864)]
eTrainLevel SkillTrainLevel
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743864)]
get;
}
[DispId(1610743865)]
int SkillTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743865)]
get;
}
[DispId(1610743866)]
int SkillFreePoints
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743866)]
get;
}
[DispId(1610743867)]
int SkillClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743867)]
get;
}
[DispId(1610743868)]
int AttributeTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743868)]
get;
}
[DispId(1610743869)]
int AttributeClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743869)]
get;
}
[DispId(1610743870)]
int AttributeStart
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743870)]
get;
}
[DispId(1610743871)]
int VitalTotalXP
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743871)]
get;
}
[DispId(1610743872)]
int VitalClicks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743872)]
get;
}
[DispId(1610743873)]
int Vital
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743873)]
get;
}
[DispId(1610743874)]
int Attribute
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743874)]
get;
}
[DispId(1610743875)]
int Skill
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743875)]
get;
}
[DispId(1610743876)]
int Misc
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743876)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743877)]
void RequestID([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743878)]
void IDQueueAdd([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743879)]
void SpellTabAdd([In] int lTab, int lIndex, int lSpellID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743880)]
void SpellTabDelete([In] int lTab, int lSpellID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743881)]
void TradeAdd([In] int ItemID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743882)]
void TradeAccept();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743883)]
void TradeDecline();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743884)]
void TradeReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743885)]
void TradeEnd();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743886)]
void SalvagePanelAdd([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743887)]
void SalvagePanelSalvage();
[DispId(1610743888)]
int OpenedContainer
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743888)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743889)]
void AddSkillExp([In] eSkill SkillID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743890)]
void AddAttributeExp([In] eAttribute AttribID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743891)]
void AddVitalExp([In] eVital VitalID, int lExperience);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743892)]
int SmartboxPtr();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743893)]
float ObjectHeight([In] int lObjectID);
[DispId(1610743894)]
int CallerRefInstanceInternal
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743894)]
[param: In]
set;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743895)]
void AutoWieldRaw([In] int lObjectID, int SlotID, int Explicit, int NotExplicit, int zeroVal1, int zeroVal2);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743896)]
void AutoWield([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743897)]
void AutoWieldEx([In] int lObjectID, int SlotID, int Explicit, int NotExplicit);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743898)]
void FellowshipRecruit([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743899)]
void FellowshipGrantLeader([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743900)]
void FellowshipSetOpen([In] bool IsOpen);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743901)]
void FellowshipQuit();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743902)]
void FellowshipDisband();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743903)]
void FellowshipDismiss([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743904)]
void UIElementMove([In] int lUIElementType, int X, int Y);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743905)]
void UIElementResize([In] int lUIElementType, int Width, int Height);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743906)]
int UIElementLookup([In] int lUIElementType);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1610743907)]
tagRECT UIElementRegionRect([In] int lUIElementType);
}

View file

@ -0,0 +1,53 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[InterfaceType(2)]
[SuppressUnmanagedCodeSecurity]
[Guid("EB282FE5-7170-4A37-A26E-92AF36385D2C")]
[TypeLibType(4096)]
public interface IACHooksEvents
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1)]
void ObjectDestroyed([In] int lGUID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(2)]
void ChatTextIntercept([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In] int lColor, [In] int lTarget, [In][Out] ref bool bEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(3)]
void ChatParserIntercept([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In][Out] ref bool bEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(4)]
void StatusTextIntercept([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In][Out] ref bool bEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(5)]
void ObjectSelected([In] int lGUID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(6)]
void MessageProcessed([In] int pbData, [In] int dwSize);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(7)]
void AC3DRegionChanged([In] int left, [In] int top, int right, [In] int bottom);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(8)]
void ContainerOpened([In] int lGUID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(9)]
void ChatClickIntercept([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In] int lID, [In][Out] ref bool bEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(10)]
void RenderPreUI();
}

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IACHooksEvents_AC3DRegionChangedEventHandler([In] int left, [In] int top, int right, [In] int bottom);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IACHooksEvents_ChatClickInterceptEventHandler([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In] int lID, [In][Out] ref bool bEat);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IACHooksEvents_ChatParserInterceptEventHandler([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In][Out] ref bool bEat);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IACHooksEvents_ChatTextInterceptEventHandler([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In] int lColor, [In] int lTarget, [In][Out] ref bool bEat);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IACHooksEvents_ContainerOpenedEventHandler([In] int lGUID);

View file

@ -0,0 +1,29 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
[ComEventInterface(typeof(IACHooksEvents_0000), typeof(IACHooksEvents_EventProvider_0000))]
public interface IACHooksEvents_Event
{
event IACHooksEvents_ObjectDestroyedEventHandler ObjectDestroyed;
event IACHooksEvents_ChatTextInterceptEventHandler ChatTextIntercept;
event IACHooksEvents_ChatParserInterceptEventHandler ChatParserIntercept;
event IACHooksEvents_StatusTextInterceptEventHandler StatusTextIntercept;
event IACHooksEvents_ObjectSelectedEventHandler ObjectSelected;
event IACHooksEvents_MessageProcessedEventHandler MessageProcessed;
event IACHooksEvents_AC3DRegionChangedEventHandler AC3DRegionChanged;
event IACHooksEvents_ContainerOpenedEventHandler ContainerOpened;
event IACHooksEvents_ChatClickInterceptEventHandler ChatClickIntercept;
event IACHooksEvents_RenderPreUIEventHandler RenderPreUI;
}

View file

@ -0,0 +1,778 @@
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Threading;
namespace Decal.Interop.Core;
internal sealed class IACHooksEvents_EventProvider : IACHooksEvents_Event, IDisposable
{
private IConnectionPointContainer m_ConnectionPointContainer;
private ArrayList m_aEventSinkHelpers;
private IConnectionPoint m_ConnectionPoint;
private void Init()
{
IConnectionPoint ppCP = null;
Guid riid = new Guid(new byte[16]
{
229, 47, 40, 235, 112, 113, 55, 74, 162, 110,
146, 175, 54, 56, 93, 44
});
m_ConnectionPointContainer.FindConnectionPoint(ref riid, out ppCP);
m_ConnectionPoint = ppCP;
m_aEventSinkHelpers = new ArrayList();
}
public void add_ObjectDestroyed(IACHooksEvents_ObjectDestroyedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ObjectDestroyedDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ObjectDestroyed(IACHooksEvents_ObjectDestroyedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ObjectDestroyedDelegate != null && ((iACHooksEvents_SinkHelper.m_ObjectDestroyedDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_ChatTextIntercept(IACHooksEvents_ChatTextInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ChatTextInterceptDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ChatTextIntercept(IACHooksEvents_ChatTextInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ChatTextInterceptDelegate != null && ((iACHooksEvents_SinkHelper.m_ChatTextInterceptDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_ChatParserIntercept(IACHooksEvents_ChatParserInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ChatParserInterceptDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ChatParserIntercept(IACHooksEvents_ChatParserInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ChatParserInterceptDelegate != null && ((iACHooksEvents_SinkHelper.m_ChatParserInterceptDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_StatusTextIntercept(IACHooksEvents_StatusTextInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_StatusTextInterceptDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_StatusTextIntercept(IACHooksEvents_StatusTextInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_StatusTextInterceptDelegate != null && ((iACHooksEvents_SinkHelper.m_StatusTextInterceptDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_ObjectSelected(IACHooksEvents_ObjectSelectedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ObjectSelectedDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ObjectSelected(IACHooksEvents_ObjectSelectedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ObjectSelectedDelegate != null && ((iACHooksEvents_SinkHelper.m_ObjectSelectedDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_MessageProcessed(IACHooksEvents_MessageProcessedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_MessageProcessedDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_MessageProcessed(IACHooksEvents_MessageProcessedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_MessageProcessedDelegate != null && ((iACHooksEvents_SinkHelper.m_MessageProcessedDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_AC3DRegionChanged(IACHooksEvents_AC3DRegionChangedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_AC3DRegionChangedDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_AC3DRegionChanged(IACHooksEvents_AC3DRegionChangedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_AC3DRegionChangedDelegate != null && ((iACHooksEvents_SinkHelper.m_AC3DRegionChangedDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_ContainerOpened(IACHooksEvents_ContainerOpenedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ContainerOpenedDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ContainerOpened(IACHooksEvents_ContainerOpenedEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ContainerOpenedDelegate != null && ((iACHooksEvents_SinkHelper.m_ContainerOpenedDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_ChatClickIntercept(IACHooksEvents_ChatClickInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_ChatClickInterceptDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_ChatClickIntercept(IACHooksEvents_ChatClickInterceptEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_ChatClickInterceptDelegate != null && ((iACHooksEvents_SinkHelper.m_ChatClickInterceptDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_RenderPreUI(IACHooksEvents_RenderPreUIEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = new IACHooksEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(iACHooksEvents_SinkHelper, out pdwCookie);
iACHooksEvents_SinkHelper.m_dwCookie = pdwCookie;
iACHooksEvents_SinkHelper.m_RenderPreUIDelegate = P_0;
m_aEventSinkHelpers.Add(iACHooksEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_RenderPreUI(IACHooksEvents_RenderPreUIEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
if (iACHooksEvents_SinkHelper.m_RenderPreUIDelegate != null && ((iACHooksEvents_SinkHelper.m_RenderPreUIDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public IACHooksEvents_EventProvider(object P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
m_ConnectionPointContainer = (IConnectionPointContainer)P_0;
}
public void Finalize()
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 < count)
{
do
{
IACHooksEvents_SinkHelper iACHooksEvents_SinkHelper = (IACHooksEvents_SinkHelper)m_aEventSinkHelpers[num];
m_ConnectionPoint.Unadvise(iACHooksEvents_SinkHelper.m_dwCookie);
num++;
}
while (num < count);
}
Marshal.ReleaseComObject(m_ConnectionPoint);
}
catch (Exception)
{
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void Dispose()
{
//Error decoding local variables: Signature type sequence must have at least one element.
Finalize();
GC.SuppressFinalize(this);
}
}

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IACHooksEvents_MessageProcessedEventHandler([In] int pbData, [In] int dwSize);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IACHooksEvents_ObjectDestroyedEventHandler([In] int lGUID);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IACHooksEvents_ObjectSelectedEventHandler([In] int lGUID);

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IACHooksEvents_RenderPreUIEventHandler();

View file

@ -0,0 +1,136 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(TypeLibTypeFlags.FHidden)]
[ClassInterface(ClassInterfaceType.None)]
public sealed class IACHooksEvents_SinkHelper : IACHooksEvents
{
public IACHooksEvents_ObjectDestroyedEventHandler m_ObjectDestroyedDelegate;
public IACHooksEvents_ChatTextInterceptEventHandler m_ChatTextInterceptDelegate;
public IACHooksEvents_ChatParserInterceptEventHandler m_ChatParserInterceptDelegate;
public IACHooksEvents_StatusTextInterceptEventHandler m_StatusTextInterceptDelegate;
public IACHooksEvents_ObjectSelectedEventHandler m_ObjectSelectedDelegate;
public IACHooksEvents_MessageProcessedEventHandler m_MessageProcessedDelegate;
public IACHooksEvents_AC3DRegionChangedEventHandler m_AC3DRegionChangedDelegate;
public IACHooksEvents_ContainerOpenedEventHandler m_ContainerOpenedDelegate;
public IACHooksEvents_ChatClickInterceptEventHandler m_ChatClickInterceptDelegate;
public IACHooksEvents_RenderPreUIEventHandler m_RenderPreUIDelegate;
public int m_dwCookie;
public void ObjectDestroyed(int P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ObjectDestroyedDelegate != null)
{
m_ObjectDestroyedDelegate(P_0);
}
}
public void ChatTextIntercept(string P_0, int P_1, int P_2, ref bool P_3)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ChatTextInterceptDelegate != null)
{
m_ChatTextInterceptDelegate(P_0, P_1, P_2, ref P_3);
}
}
public void ChatParserIntercept(string P_0, ref bool P_1)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ChatParserInterceptDelegate != null)
{
m_ChatParserInterceptDelegate(P_0, ref P_1);
}
}
public void StatusTextIntercept(string P_0, ref bool P_1)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_StatusTextInterceptDelegate != null)
{
m_StatusTextInterceptDelegate(P_0, ref P_1);
}
}
public void ObjectSelected(int P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ObjectSelectedDelegate != null)
{
m_ObjectSelectedDelegate(P_0);
}
}
public void MessageProcessed(int P_0, int P_1)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_MessageProcessedDelegate != null)
{
m_MessageProcessedDelegate(P_0, P_1);
}
}
public void AC3DRegionChanged(int P_0, int P_1, int P_2, int P_3)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_AC3DRegionChangedDelegate != null)
{
m_AC3DRegionChangedDelegate(P_0, P_1, P_2, P_3);
}
}
public void ContainerOpened(int P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ContainerOpenedDelegate != null)
{
m_ContainerOpenedDelegate(P_0);
}
}
public void ChatClickIntercept(string P_0, int P_1, ref bool P_2)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_ChatClickInterceptDelegate != null)
{
m_ChatClickInterceptDelegate(P_0, P_1, ref P_2);
}
}
public void RenderPreUI()
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_RenderPreUIDelegate != null)
{
m_RenderPreUIDelegate();
}
}
internal IACHooksEvents_SinkHelper()
{
//Error decoding local variables: Signature type sequence must have at least one element.
m_dwCookie = 0;
m_ObjectDestroyedDelegate = null;
m_ChatTextInterceptDelegate = null;
m_ChatParserInterceptDelegate = null;
m_StatusTextInterceptDelegate = null;
m_ObjectSelectedDelegate = null;
m_MessageProcessedDelegate = null;
m_AC3DRegionChangedDelegate = null;
m_ContainerOpenedDelegate = null;
m_ChatClickInterceptDelegate = null;
m_RenderPreUIDelegate = null;
}
}

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IACHooksEvents_StatusTextInterceptEventHandler([In][MarshalAs(UnmanagedType.BStr)] string bstrText, [In][Out] ref bool bEat);

View file

@ -0,0 +1,130 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[TypeLibType(256)]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
[Guid("A38715BB-91E7-4C66-95F9-363096F29760")]
public interface IDecalCore
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void InitGraphics([MarshalAs(UnmanagedType.IUnknown)] object pD3DDevice);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
object GetD3DDevice(ref Guid riid);
[DispId(1610678274)]
int HWND
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
set;
}
[DispId(1610678276)]
bool Focus
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void SendWM(int HWND, short uMsg, int wParam, int lParam, ref bool pbEat);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void GetScreenSize(out int pWidth, out int pHeight);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
string MapPath([MarshalAs(UnmanagedType.BStr)] string pPath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StartPlugins();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StopPlugins();
[DispId(1610678282)]
object Object
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StartServices();
[DispId(1610678284)]
DecalEnum Configuration
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StopServices();
[DispId(1610678286)]
object Plugin
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[DispId(1610678287)]
object Service
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Render2D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Render3D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void PreReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void PostReset();
[DispId(1610678292)]
ACHooks Hooks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StartFilters();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void StopFilters();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
bool KillBitCheckByGUID([In][MarshalAs(UnmanagedType.BStr)] string bstrGuid, [MarshalAs(UnmanagedType.BStr)] string bstrVersion);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
bool KillBitCheckByProgID([In][MarshalAs(UnmanagedType.BStr)] string bstProgID, [MarshalAs(UnmanagedType.BStr)] string bstrVersion);
[DispId(1610678297)]
bool PluginsRunning
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
}

View file

@ -0,0 +1,16 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("5DBD2180-4B88-440E-9706-E6159A39D014")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
public interface IDecalDirectory
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
object Lookup([MarshalAs(UnmanagedType.BStr)] string strName);
}

View file

@ -0,0 +1,112 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("FFA32A7A-EFAF-484A-B358-8802DBBAB0EC")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
public interface IDecalEnum
{
[DispId(1610678272)]
string FriendlyName
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678273)]
Guid ComClass
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678274)]
bool Enabled
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[param: In]
set;
}
[DispId(1610678276)]
bool Restricted
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
object CreateInstance(ref Guid riid);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Next();
[DispId(1610678279)]
Guid SurrogateClass
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678280)]
string ResourcePath
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678281)]
object Property
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Struct)]
get;
}
[DispId(1610678282)]
string Group
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Skip([In] ref Guid clsid);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void MoveBefore(ref Guid clsidBefore);
[DispId(1610678285)]
string Version
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678286)]
bool FileExists
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678287)]
string FilePath
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
}

View file

@ -0,0 +1,21 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[TypeLibType(4096)]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(2)]
[Guid("A362F526-8203-4A77-9E37-361130924D28")]
public interface IDecalEvents
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1)]
void InitializeComplete([In] eDecalComponentType Type);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(2)]
void TerminateComplete([In] eDecalComponentType Type);
}

View file

@ -0,0 +1,13 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
[ComEventInterface(typeof(IDecalEvents_0000), typeof(IDecalEvents_EventProvider_0000))]
public interface IDecalEvents_Event
{
event IDecalEvents_InitializeCompleteEventHandler InitializeComplete;
event IDecalEvents_TerminateCompleteEventHandler TerminateComplete;
}

View file

@ -0,0 +1,218 @@
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Threading;
namespace Decal.Interop.Core;
internal sealed class IDecalEvents_EventProvider : IDecalEvents_Event, IDisposable
{
private IConnectionPointContainer m_ConnectionPointContainer;
private ArrayList m_aEventSinkHelpers;
private IConnectionPoint m_ConnectionPoint;
private void Init()
{
IConnectionPoint ppCP = null;
Guid riid = new Guid(new byte[16]
{
38, 245, 98, 163, 3, 130, 119, 74, 158, 55,
54, 17, 48, 146, 77, 40
});
m_ConnectionPointContainer.FindConnectionPoint(ref riid, out ppCP);
m_ConnectionPoint = ppCP;
m_aEventSinkHelpers = new ArrayList();
}
public void add_InitializeComplete(IDecalEvents_InitializeCompleteEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IDecalEvents_SinkHelper decalEvents_SinkHelper = new IDecalEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(decalEvents_SinkHelper, out pdwCookie);
decalEvents_SinkHelper.m_dwCookie = pdwCookie;
decalEvents_SinkHelper.m_InitializeCompleteDelegate = P_0;
m_aEventSinkHelpers.Add(decalEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_InitializeComplete(IDecalEvents_InitializeCompleteEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IDecalEvents_SinkHelper decalEvents_SinkHelper = (IDecalEvents_SinkHelper)m_aEventSinkHelpers[num];
if (decalEvents_SinkHelper.m_InitializeCompleteDelegate != null && ((decalEvents_SinkHelper.m_InitializeCompleteDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(decalEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void add_TerminateComplete(IDecalEvents_TerminateCompleteEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
Init();
}
IDecalEvents_SinkHelper decalEvents_SinkHelper = new IDecalEvents_SinkHelper();
int pdwCookie = 0;
m_ConnectionPoint.Advise(decalEvents_SinkHelper, out pdwCookie);
decalEvents_SinkHelper.m_dwCookie = pdwCookie;
decalEvents_SinkHelper.m_TerminateCompleteDelegate = P_0;
m_aEventSinkHelpers.Add(decalEvents_SinkHelper);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void remove_TerminateComplete(IDecalEvents_TerminateCompleteEventHandler P_0)
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_aEventSinkHelpers == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 >= count)
{
return;
}
do
{
IDecalEvents_SinkHelper decalEvents_SinkHelper = (IDecalEvents_SinkHelper)m_aEventSinkHelpers[num];
if (decalEvents_SinkHelper.m_TerminateCompleteDelegate != null && ((decalEvents_SinkHelper.m_TerminateCompleteDelegate.Equals(P_0) ? 1u : 0u) & 0xFFu) != 0)
{
m_aEventSinkHelpers.RemoveAt(num);
m_ConnectionPoint.Unadvise(decalEvents_SinkHelper.m_dwCookie);
if (count <= 1)
{
Marshal.ReleaseComObject(m_ConnectionPoint);
m_ConnectionPoint = null;
m_aEventSinkHelpers = null;
}
break;
}
num++;
}
while (num < count);
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public IDecalEvents_EventProvider(object P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
m_ConnectionPointContainer = (IConnectionPointContainer)P_0;
}
public void Finalize()
{
bool lockTaken = default(bool);
try
{
Monitor.Enter(this, ref lockTaken);
if (m_ConnectionPoint == null)
{
return;
}
int count = m_aEventSinkHelpers.Count;
int num = 0;
if (0 < count)
{
do
{
IDecalEvents_SinkHelper decalEvents_SinkHelper = (IDecalEvents_SinkHelper)m_aEventSinkHelpers[num];
m_ConnectionPoint.Unadvise(decalEvents_SinkHelper.m_dwCookie);
num++;
}
while (num < count);
}
Marshal.ReleaseComObject(m_ConnectionPoint);
}
catch (Exception)
{
}
finally
{
if (lockTaken)
{
Monitor.Exit(this);
}
}
}
public void Dispose()
{
//Error decoding local variables: Signature type sequence must have at least one element.
Finalize();
GC.SuppressFinalize(this);
}
}

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(16)]
[ComVisible(false)]
public delegate void IDecalEvents_InitializeCompleteEventHandler([In] eDecalComponentType Type);

View file

@ -0,0 +1,40 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[TypeLibType(TypeLibTypeFlags.FHidden)]
[ClassInterface(ClassInterfaceType.None)]
public sealed class IDecalEvents_SinkHelper : IDecalEvents
{
public IDecalEvents_InitializeCompleteEventHandler m_InitializeCompleteDelegate;
public IDecalEvents_TerminateCompleteEventHandler m_TerminateCompleteDelegate;
public int m_dwCookie;
public void InitializeComplete(eDecalComponentType P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_InitializeCompleteDelegate != null)
{
m_InitializeCompleteDelegate(P_0);
}
}
public void TerminateComplete(eDecalComponentType P_0)
{
//Error decoding local variables: Signature type sequence must have at least one element.
if (m_TerminateCompleteDelegate != null)
{
m_TerminateCompleteDelegate(P_0);
}
}
internal IDecalEvents_SinkHelper()
{
//Error decoding local variables: Signature type sequence must have at least one element.
m_dwCookie = 0;
m_InitializeCompleteDelegate = null;
m_TerminateCompleteDelegate = null;
}
}

View file

@ -0,0 +1,7 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComVisible(false)]
[TypeLibType(16)]
public delegate void IDecalEvents_TerminateCompleteEventHandler([In] eDecalComponentType Type);

View file

@ -0,0 +1,31 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[InterfaceType(1)]
[SuppressUnmanagedCodeSecurity]
[Guid("E182005F-6A67-48B5-A50F-464340105330")]
public interface IDecalFileSurrogate
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Register([MarshalAs(UnmanagedType.BStr)] string Filename);
[DispId(1610678273)]
string Extension
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[DispId(1610678274)]
string Description
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
}

View file

@ -0,0 +1,30 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("B66985FA-8CB0-48E5-A2A9-7B232D609B9C")]
[InterfaceType(1)]
[SuppressUnmanagedCodeSecurity]
public interface IDecalRender
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Render2D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Render3D();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void PreReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void PostReset();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void ChangeHWND();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void ChangeDirectX();
}

View file

@ -0,0 +1,12 @@
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("A074F83A-32AB-46FC-9E4E-7E9DAFCD5D18")]
[TypeLibType(4160)]
[SuppressUnmanagedCodeSecurity]
public interface IDecalRes
{
}

View file

@ -0,0 +1,24 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[Guid("0F95468D-5071-4E28-A223-D83FDFED99E2")]
[InterfaceType(1)]
public interface IDecalService
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Initialize([MarshalAs(UnmanagedType.Interface)] DecalCore pDecal);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void BeforePlugins();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void AfterPlugins();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Terminate();
}

View file

@ -0,0 +1,43 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[Guid("DA98635C-A312-463B-A746-2CF62AF7413A")]
[InterfaceType(1)]
public interface IDecalSurrogate
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
object CreateInstance([MarshalAs(UnmanagedType.Interface)] DecalEnum pInitData, ref Guid riid);
[DispId(1610678273)]
string Version
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void SetEnum([MarshalAs(UnmanagedType.Interface)] DecalEnum pInitData);
[DispId(1610678275)]
bool FileExists
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
get;
}
[DispId(1610678276)]
string FilePath
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
}

View file

@ -0,0 +1,18 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[Guid("6A188D19-EC3D-409D-8190-7975FEEE2081")]
[InterfaceType(1)]
public interface IDecalUninstall
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Prepare([MarshalAs(UnmanagedType.Interface)] DecalEnum pEnum);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Uninstall();
}

View file

@ -0,0 +1,15 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("49D496B1-A97B-4545-8968-C4DDEBE04526")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
public interface IDecalWindowsMessageSink
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
bool WindowMessage(int HWND, short uMsg, int wParam, int lParam);
}

View file

@ -0,0 +1,18 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
[Guid("256DF70B-0B87-45E4-96EE-043E2254CC95")]
public interface IIdentifyFilter
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void AddToQueue([In] int lObjectID);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void ShortcircuitID([In] int lObjectID);
}

View file

@ -0,0 +1,23 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("47761792-2520-4802-8548-5CA580697614")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
public interface IInjectService
{
[DispId(1)]
object Site
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void InitPlugin([MarshalAs(UnmanagedType.IUnknown)] object pUnk);
}

View file

@ -0,0 +1,18 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("DFFED96D-C0B3-45CC-9B19-A95AFEEDA612")]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
public interface IPlugin2
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Initialize([MarshalAs(UnmanagedType.Interface)] PluginSite2 Site);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Terminate();
}

View file

@ -0,0 +1,50 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[InterfaceType(1)]
[Guid("FF37AF34-3CAE-4235-9D85-6EE6976903D6")]
public interface IPluginSite2
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void Unload();
[DispId(1610678273)]
object Object
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
[DispId(1610678274)]
DecalCore Decal
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678275)]
ACHooks Hooks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678276)]
object PluginSite
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void RegisterSinks([In][MarshalAs(UnmanagedType.IUnknown)] object pPlugin);
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[Guid("FF37AF34-3CAE-4235-9D85-6EE6976903D6")]
[CoClass(typeof(PluginSite2Class))]
public interface PluginSite2 : IPluginSite2
{
}

View file

@ -0,0 +1,50 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
[Guid("E2284FC7-17E5-4846-ADAB-07953273C5FB")]
public class PluginSite2Class : IPluginSite2, PluginSite2
{
[DispId(1610678273)]
public virtual extern object Object
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
[DispId(1610678274)]
public virtual extern DecalCore Decal
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678275)]
public virtual extern ACHooks Hooks
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.Interface)]
get;
}
[DispId(1610678276)]
public virtual extern object PluginSite
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[return: MarshalAs(UnmanagedType.IUnknown)]
get;
}
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Unload();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void RegisterSinks([In][MarshalAs(UnmanagedType.IUnknown)] object pPlugin);
}

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Decal.Interop.Core;
[ComImport]
[CoClass(typeof(SurrogateRemoveClass))]
[Guid("6A188D19-EC3D-409D-8190-7975FEEE2081")]
public interface SurrogateRemove : IDecalUninstall
{
}

View file

@ -0,0 +1,19 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[ComImport]
[Guid("144FBF76-E7FB-4B41-AE19-6B5AB0E0A89B")]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
[TypeLibType(2)]
public class SurrogateRemoveClass : IDecalUninstall, SurrogateRemove
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Prepare([MarshalAs(UnmanagedType.Interface)] DecalEnum pEnum);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void Uninstall();
}

View file

@ -0,0 +1,21 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eAttribute
{
eCurrentStrength = 1,
eCurrentEndurance = 2,
eCurrentQuickness = 3,
eCurrentCoordination = 4,
eCurrentFocus = 5,
eCurrentSelf = 6,
eBaseStrength = 7,
eBaseEndurance = 8,
eBaseQuickness = 9,
eBaseCoordination = 10,
eBaseFocus = 11,
eBaseSelf = 12,
eAttribute_DWORD = int.MaxValue
}

View file

@ -0,0 +1,36 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eAvailableHooks
{
ePrevSelect = 1,
eCurrentSelect = 2,
eCastSpell = 8,
eMoveItem = 16,
eSelectItem = 32,
eUseItem = 64,
eCombatMode = 128,
eChatState = 256,
eStackCount = 1024,
eMaxStackCount = 2048,
eVendorID = 4096,
eBusyState = 8192,
eBusyStateID = 16384,
ePointerState = 32768,
eMoveItemEx = 65536,
ePosition = 131072,
eFaceHeading = 262144,
eAC3DRegion = 524288,
eObjectDestroyed = 2097152,
eSendTell = 4194304,
eSetAutorun = 8388608,
eSetCombatMode = 33554432,
eGetMiscInt = 67108864,
eGetMiscInt64 = 134217728,
eGetAttribute = 268435456,
eGetSkill = 536870912,
eGetVital = 1073741824,
eHooksAvailEx = int.MinValue
}

View file

@ -0,0 +1,32 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eAvailableHooksEx
{
eLogout = 0,
eColorEx = 1,
eSkillInfo = 2,
eAttributeInfo = 3,
eVitalInfo = 4,
eIsValidObject = 5,
eOnSelectItemEvent = 6,
eRequestID = 7,
eIDQueueAdd = 8,
eSendMessageByMask = 9,
eUseItemRaw = 10,
eSetIdleTime = 11,
eGiveItem = 12,
eMoveItemExRaw = 13,
eSpellTabAdd = 14,
eSpellTabDelete = 15,
eTradeAdd = 16,
eTradeAccept = 17,
eTradeDecline = 18,
eTradeReset = 19,
eTradeClose = 20,
eSalvagePanelAdd = 21,
eSalvagePanelSalvage = 22,
eAvailableHooksEx_DWORD = int.MaxValue
}

View file

@ -0,0 +1,31 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eChatColors
{
SystemGreen,
Green,
White,
BrightYellow,
DullYellow,
Purple,
Red,
DarkBlue,
BrightPeach,
Peach,
BrightYellow2,
DullYellow2,
Grey,
Cyan,
LightBlue,
Red2,
Green2,
DarkBlue2,
Green3,
Green4,
Purple2,
Red3,
LightRed
}

View file

@ -0,0 +1,12 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eDecalComponentType
{
ePlugin = 1,
eService = 2,
eNetworkFilter = 3,
eComponentType_DWORD = int.MaxValue
}

View file

@ -0,0 +1,11 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eInt64Types
{
eTotalExperience = 1,
eUnassignedExperience = 2,
eInt64Types_DWORD = int.MaxValue
}

View file

@ -0,0 +1,9 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eIntTypes
{
eIntTypes_DWORD = int.MaxValue
}

View file

@ -0,0 +1,87 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eSkill
{
eCurrentMeleeDefense = 6,
eCurrentMissileDefense = 7,
eCurrentArcaneLore = 14,
eCurrentMagicDefense = 15,
eCurrentManaConversion = 16,
eCurrentItemTinkering = 18,
eCurrentAssessPerson = 19,
eCurrentDeception = 20,
eCurrentHealing = 21,
eCurrentJump = 22,
eCurrentLockpick = 23,
eCurrentRun = 24,
eCurrentAssessCreature = 27,
eCurrentWeaponTinkering = 28,
eCurrentArmorTinkering = 29,
eCurrentMagicItemTinkering = 30,
eCurrentCreatureEnchantment = 31,
eCurrentItemEnchantment = 32,
eCurrentLifeMagic = 33,
eCurrentWarMagic = 34,
eCurrentLeadership = 35,
eCurrentLoyalty = 36,
eCurrentFletchingSkill = 37,
eCurrentAlchemySkill = 38,
eCurrentCookingSkill = 39,
eCurrentSkillSalvaging = 40,
eCurrentTwoHandedCombat = 41,
eCurrentGearcraft = 42,
eCurrentVoidMagic = 43,
eCurrentHeavyWeapons = 44,
eCurrentLightWeapons = 45,
eCurrentFinesseWeapons = 46,
eCurrentMissileWeapons = 47,
eCurrentShield = 48,
eCurrentDualWield = 49,
eCurrentRecklessness = 50,
eCurrentSneakAttack = 51,
eCurrentDirtyFighting = 52,
eCurrentSummoning = 54,
eBaseMeleeDefense = 56,
eBaseMissileDefense = 57,
eBaseArcaneLore = 64,
eBaseMagicDefense = 65,
eBaseManaConversion = 66,
eBaseItemTinkering = 68,
eBaseAssessPerson = 69,
eBaseDeception = 70,
eBaseHealing = 71,
eBaseJump = 72,
eBaseLockpick = 73,
eBaseRun = 74,
eBaseAssessCreature = 77,
eBaseWeaponTinkering = 78,
eBaseArmorTinkering = 79,
eBaseMagicItemTinkering = 80,
eBaseCreatureEnchantment = 81,
eBaseItemEnchantment = 82,
eBaseLifeMagic = 83,
eBaseWarMagic = 84,
eBaseLeadership = 85,
eBaseLoyalty = 86,
eBaseFletchingSkill = 87,
eBaseAlchemySkill = 88,
eBaseCookingSkill = 89,
eBaseSkillSalvaging = 90,
eBaseTwoHandedCombat = 91,
eBaseGearcraft = 92,
eBaseVoidMagic = 93,
eBaseHeavyWeapons = 94,
eBaseLightWeapons = 95,
eBaseFinesseWeapons = 96,
eBaseMissileWeapons = 97,
eBaseShield = 98,
eBaseDualWield = 99,
eBaseRecklessness = 100,
eBaseSneakAttack = 101,
eBaseDirtyFighting = 102,
eBaseSummoning = 104,
eSkill_DWORD = int.MaxValue
}

View file

@ -0,0 +1,12 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eTrainLevel
{
eUntrained = 1,
eTrained = 2,
eSpecialized = 3,
eTrainLevel_DWORD = int.MaxValue
}

View file

@ -0,0 +1,24 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eUIElementType
{
Smartbox = 268436634,
Chat = 268436993,
FloatChat1 = 268436741,
FloatChat2 = 268436750,
FloatChat3 = 268436751,
FloatChat4 = 268436752,
Examination = 268436983,
Vitals = 268436986,
EnvPack = 268436989,
Panels = 268436991,
TBar = 268436995,
Indicators = 268437009,
ProgressBar = 268437011,
Combat = 268437173,
Radar = 268437202,
SideBySideVitals = 268437205
}

View file

@ -0,0 +1,18 @@
using System.Security;
namespace Decal.Interop.Core;
[SuppressUnmanagedCodeSecurity]
public enum eVital
{
eMaximumHealth = 1,
eCurrentHealth = 2,
eMaximumStamina = 3,
eCurrentStamina = 4,
eMaximumMana = 5,
eCurrentMana = 6,
eBaseHealth = 7,
eBaseStamina = 8,
eBaseMana = 9,
eVital_DWORD = int.MaxValue
}

View file

@ -0,0 +1,17 @@
using System.Runtime.InteropServices;
using System.Security;
namespace Decal.Interop.Core;
[StructLayout(LayoutKind.Sequential, Pack = 4)]
[SuppressUnmanagedCodeSecurity]
public struct tagRECT
{
public int left;
public int top;
public int right;
public int bottom;
}