Initial commit: Complete open-source Decal rebuild
All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
d1442e3747
1382 changed files with 170725 additions and 0 deletions
|
|
@ -0,0 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Decal.Interop.Filters</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Decal.Interop.Net\Decal.Interop.Net.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[CoClass(typeof(AllegianceInfoClass))]
|
||||
[Guid("C8A16199-B649-41F3-BFCA-A1BD6E2E1F2C")]
|
||||
public interface AllegianceInfo : IAllegianceInfo
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("B2EB5B5A-5E3F-4F60-8BC0-BB729FFC04F6")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
public class AllegianceInfoClass : IAllegianceInfo, AllegianceInfo
|
||||
{
|
||||
[DispId(1)]
|
||||
public virtual extern string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
public virtual extern int GUID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
public virtual extern int TreeParent
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
public virtual extern int Type
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
public virtual extern int XP
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
public virtual extern int Loyalty
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
public virtual extern int Leadership
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
public virtual extern int Gender
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(9)]
|
||||
public virtual extern int Race
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
public virtual extern int Rank
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
public virtual extern double Unknown
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
public virtual extern long XP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[CoClass(typeof(AttributeInfoClass))]
|
||||
[Guid("B6496852-E977-4DA2-884D-09AFEA3D7582")]
|
||||
public interface AttributeInfo : IAttributeInfo
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("AF42E9D7-E3F3-416B-AF32-A411F3F6EE72")]
|
||||
public class AttributeInfoClass : IAttributeInfo, AttributeInfo
|
||||
{
|
||||
[DispId(1)]
|
||||
public virtual extern string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
public virtual extern int Creation
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
public virtual extern int Exp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
public virtual extern int Buffed
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
public virtual extern int Base
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum BoolValueKey
|
||||
{
|
||||
keyLockable = 201326592,
|
||||
keyInscribable = 201326593,
|
||||
keyOpen = 2,
|
||||
keyLocked = 3,
|
||||
keyHookVisibility = 24,
|
||||
keyUnlimitedUses = 63,
|
||||
keyCanBeSold = 69,
|
||||
keyRetained = 91,
|
||||
keyIvoryable = 99,
|
||||
keyDyeable = 100,
|
||||
keyAwayFromKeyboard = 110
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("0CE57594-4E30-4446-956D-CE460C7355AF")]
|
||||
[CoClass(typeof(CharacterStatsClass))]
|
||||
public interface CharacterStats : ICharacterStats, ICharacterStatsEvents_Event
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,531 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[ComSourceInterfaces("Decal.Interop.Filters.ICharacterStatsEvents\0\0")]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[Guid("4540C969-08D1-46BF-97AD-6B19D3C10BEE")]
|
||||
[TypeLibType(2)]
|
||||
public class CharacterStatsClass : ICharacterStats, CharacterStats, ICharacterStatsEvents_Event
|
||||
{
|
||||
[DispId(1)]
|
||||
public virtual extern int Character
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
public virtual extern int Level
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
public virtual extern int Rank
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
public virtual extern int TotalExp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
public virtual extern int UnassignedExp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
public virtual extern int SkillPoints
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
public virtual extern string Server
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
public virtual extern string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(9)]
|
||||
public virtual extern string Race
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
public virtual extern string Gender
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
public virtual extern string ClassTemplate
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
public virtual extern int AttributeCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(13)]
|
||||
public virtual extern int SkillCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(14)]
|
||||
public virtual extern int VitalCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(15)]
|
||||
public virtual extern AttributeInfo Attribute
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(16)]
|
||||
public virtual extern SkillInfo Skill
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(16)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(17)]
|
||||
public virtual extern SkillInfo Vital
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(17)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(18)]
|
||||
public virtual extern int SpellLearned
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(18)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(19)]
|
||||
public virtual extern int TotalSpells
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(19)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(20)]
|
||||
public virtual extern int Health
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(20)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(21)]
|
||||
public virtual extern int Stamina
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(21)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(22)]
|
||||
public virtual extern int Mana
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(22)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(23)]
|
||||
public virtual extern int Birth
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(23)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(24)]
|
||||
public virtual extern int Age
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(24)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(25)]
|
||||
public virtual extern int Deaths
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(25)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(26)]
|
||||
public virtual extern int VassalCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(26)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(27)]
|
||||
public virtual extern AllegianceInfo Monarch
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(27)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(28)]
|
||||
public virtual extern AllegianceInfo Patron
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(28)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(29)]
|
||||
public virtual extern AllegianceInfo MyAllegiance
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(29)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(30)]
|
||||
public virtual extern AllegianceInfo Vassal
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(30)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(31)]
|
||||
public virtual extern int Followers
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(31)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(32)]
|
||||
public virtual extern int MonarchFollowers
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(32)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(33)]
|
||||
public virtual extern int EnchantmentCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(33)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(34)]
|
||||
public virtual extern Enchantment Enchantment
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(34)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(35)]
|
||||
public virtual extern int EffectiveAttribute
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(35)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(36)]
|
||||
public virtual extern int EffectiveSkill
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(36)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(37)]
|
||||
public virtual extern int EffectiveVital
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(37)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(38)]
|
||||
public virtual extern int Vitae
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(38)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(39)]
|
||||
public virtual extern int BurdenUnits
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(39)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(40)]
|
||||
public virtual extern int Burden
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(40)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(41)]
|
||||
public virtual extern long TotalXP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(41)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(42)]
|
||||
public virtual extern long UnassignedXP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(42)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(43)]
|
||||
public virtual extern int LoginStatus
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(43)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(44)]
|
||||
public virtual extern int ServerPopulation
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(44)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(45)]
|
||||
public virtual extern string AccountName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(45)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(46)]
|
||||
public virtual extern int AccountCharCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(46)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(47)]
|
||||
public virtual extern int AccountCharID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(47)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(48)]
|
||||
public virtual extern string AccountCharName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(48)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(49)]
|
||||
public virtual extern int Quickslots
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(49)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(50)]
|
||||
public virtual extern int CharacterOptions
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(50)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(51)]
|
||||
public virtual extern uint XPToNextLevel
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(51)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(57)]
|
||||
public virtual extern int[] SpellbookArray
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(57)]
|
||||
[TypeLibFunc(64)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(58)]
|
||||
public virtual extern int[] AugmentationArray
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(58)]
|
||||
[TypeLibFunc(64)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(60)]
|
||||
public virtual extern int CharacterOptionFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(60)]
|
||||
get;
|
||||
}
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_LoginEventHandler Login;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_Spellbook_AddEventHandler Spellbook_Add;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_Spellbook_DeleteEventHandler Spellbook_Delete;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_LoginCompleteEventHandler LoginComplete;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ActionCompleteEventHandler ActionComplete;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_StatusMessageEventHandler StatusMessage;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_DeathEventHandler Death;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangePortalModeEventHandler ChangePortalMode;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeEnchantmentsEventHandler ChangeEnchantments;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangePlayerEventHandler ChangePlayer;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeVitalEventHandler ChangeVital;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeXPSEventHandler ChangeXPS;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeFellowshipEventHandler ChangeFellowship;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_LogoffEventHandler Logoff;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_CastSpellEventHandler CastSpell;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeShortcutEventHandler ChangeShortcut;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeSpellbarEventHandler ChangeSpellbar;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeSettingsEventHandler ChangeSettings;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeSettingFlagsEventHandler ChangeSettingFlags;
|
||||
|
||||
public virtual extern event ICharacterStatsEvents_ChangeOptionEventHandler ChangeOption;
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(52)]
|
||||
public virtual extern bool AugmentationExists([In] eAugmentations key, out int pValue);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(53)]
|
||||
public virtual extern int SpellBarCount([In] int barNumber);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(54)]
|
||||
public virtual extern int SpellBar([In] int barNumber, [In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(55)]
|
||||
public virtual extern int AugmentationCount();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(56)]
|
||||
public virtual extern int Augmentation([In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[TypeLibFunc(64)]
|
||||
[DispId(59)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
public virtual extern int[] SpellBarArray([In] int barNumber);
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum DoubleValueKey
|
||||
{
|
||||
keySlashProt = 167772160,
|
||||
keyPierceProt = 167772161,
|
||||
keyBludgeonProt = 167772162,
|
||||
keyAcidProt = 167772163,
|
||||
keyLightningProt = 167772164,
|
||||
keyFireProt = 167772165,
|
||||
keyColdProt = 167772166,
|
||||
keyHeading = 167772167,
|
||||
keyApproachDistance = 167772168,
|
||||
keySalvageWorkmanship = 167772169,
|
||||
keyScale = 167772170,
|
||||
keyVariance = 167772171,
|
||||
keyAttackBonus = 167772172,
|
||||
keyRange = 167772173,
|
||||
keyDamageBonus = 167772174,
|
||||
keyManaRateOfChange = 5,
|
||||
keyMeleeDefenseBonus = 29,
|
||||
keyManaTransferEfficiency = 87,
|
||||
keyHealingKitRestoreBonus = 100,
|
||||
keyManaStoneChanceDestruct = 137,
|
||||
keyManaCBonus = 144,
|
||||
keyMissileDBonus = 149,
|
||||
keyMagicDBonus = 150,
|
||||
keyElemDmgVsMonsters = 152
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("7B7FEF07-DAE2-46F3-AC71-7E47F8EF3A44")]
|
||||
[CoClass(typeof(EchoFilterClass))]
|
||||
public interface EchoFilter : IEcho, IEchoSink_Event
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("002C8BAE-917E-4978-B223-B45B3E8B15E6")]
|
||||
[CoClass(typeof(EchoFilter2Class))]
|
||||
public interface EchoFilter2 : IEcho2, IEchoSink2_Event
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[ComSourceInterfaces("Decal.Interop.Filters.IEchoSink2\0\0")]
|
||||
[Guid("34239EAD-6317-4C40-A405-193BA5232DD8")]
|
||||
[TypeLibType(2)]
|
||||
public class EchoFilter2Class : IEcho2, EchoFilter2, IEchoSink2_Event
|
||||
{
|
||||
public virtual extern event IEchoSink2_EchoServerEventHandler EchoServer;
|
||||
|
||||
public virtual extern event IEchoSink2_EchoClientEventHandler EchoClient;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("8C2FA400-315D-41DE-B063-D6EF04F12E1F")]
|
||||
[ComSourceInterfaces("Decal.Interop.Filters.IEchoSink\0\0")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[TypeLibType(2)]
|
||||
public class EchoFilterClass : IEcho, EchoFilter, IEchoSink_Event
|
||||
{
|
||||
public virtual extern event IEchoSink_EchoMessageEventHandler EchoMessage;
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[CoClass(typeof(EnchantmentClass))]
|
||||
[Guid("B83155F4-E298-4004-80C6-AA592F677430")]
|
||||
public interface Enchantment : IEnchantment
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("5DCF056E-B7F5-4AEB-93A0-628617B28488")]
|
||||
public class EnchantmentClass : IEnchantment, Enchantment
|
||||
{
|
||||
[DispId(1)]
|
||||
public virtual extern int SpellID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
public virtual extern int Layer
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
public virtual extern int TimeRemaining
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
public virtual extern int Affected
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
public virtual extern int AffectedMask
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
public virtual extern int Family
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
public virtual extern double Adjustment
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
public virtual extern double Duration
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("C8A16199-B649-41F3-BFCA-A1BD6E2E1F2C")]
|
||||
public interface IAllegianceInfo
|
||||
{
|
||||
[DispId(1)]
|
||||
string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
int GUID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
int TreeParent
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
int Type
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
int XP
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
int Loyalty
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
int Leadership
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
int Gender
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(9)]
|
||||
int Race
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
int Rank
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
double Unknown
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
long XP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("B6496852-E977-4DA2-884D-09AFEA3D7582")]
|
||||
public interface IAttributeInfo
|
||||
{
|
||||
[DispId(1)]
|
||||
string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
int Creation
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
int Exp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
int Buffed
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
int Base
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,489 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("0CE57594-4E30-4446-956D-CE460C7355AF")]
|
||||
public interface ICharacterStats
|
||||
{
|
||||
[DispId(1)]
|
||||
int Character
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
int Level
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
int Rank
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
int TotalExp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
int UnassignedExp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
int SkillPoints
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
string Server
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(9)]
|
||||
string Race
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
string Gender
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
string ClassTemplate
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
int AttributeCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(13)]
|
||||
int SkillCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(14)]
|
||||
int VitalCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(15)]
|
||||
AttributeInfo Attribute
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(16)]
|
||||
SkillInfo Skill
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(16)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(17)]
|
||||
SkillInfo Vital
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(17)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(18)]
|
||||
int SpellLearned
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(18)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(19)]
|
||||
int TotalSpells
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(19)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(20)]
|
||||
int Health
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(20)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(21)]
|
||||
int Stamina
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(21)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(22)]
|
||||
int Mana
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(22)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(23)]
|
||||
int Birth
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(23)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(24)]
|
||||
int Age
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(24)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(25)]
|
||||
int Deaths
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(25)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(26)]
|
||||
int VassalCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(26)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(27)]
|
||||
AllegianceInfo Monarch
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(27)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(28)]
|
||||
AllegianceInfo Patron
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(28)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(29)]
|
||||
AllegianceInfo MyAllegiance
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(29)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(30)]
|
||||
AllegianceInfo Vassal
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(30)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(31)]
|
||||
int Followers
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(31)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(32)]
|
||||
int MonarchFollowers
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(32)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(33)]
|
||||
int EnchantmentCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(33)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(34)]
|
||||
Enchantment Enchantment
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(34)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(35)]
|
||||
int EffectiveAttribute
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(35)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(36)]
|
||||
int EffectiveSkill
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(36)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(37)]
|
||||
int EffectiveVital
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(37)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(38)]
|
||||
int Vitae
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(38)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(39)]
|
||||
int BurdenUnits
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(39)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(40)]
|
||||
int Burden
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(40)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(41)]
|
||||
long TotalXP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(41)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(42)]
|
||||
long UnassignedXP_64
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(42)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(43)]
|
||||
int LoginStatus
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(43)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(44)]
|
||||
int ServerPopulation
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(44)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(45)]
|
||||
string AccountName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(45)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(46)]
|
||||
int AccountCharCount
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(46)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(47)]
|
||||
int AccountCharID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(47)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(48)]
|
||||
string AccountCharName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(48)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(49)]
|
||||
int Quickslots
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(49)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(50)]
|
||||
int CharacterOptions
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(50)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(51)]
|
||||
uint XPToNextLevel
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(51)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(52)]
|
||||
bool AugmentationExists([In] eAugmentations key, out int pValue);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(53)]
|
||||
int SpellBarCount([In] int barNumber);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(54)]
|
||||
int SpellBar([In] int barNumber, [In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(55)]
|
||||
int AugmentationCount();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(56)]
|
||||
int Augmentation([In] int index);
|
||||
|
||||
[DispId(57)]
|
||||
int[] SpellbookArray
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[TypeLibFunc(64)]
|
||||
[DispId(57)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(58)]
|
||||
int[] AugmentationArray
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[TypeLibFunc(64)]
|
||||
[DispId(58)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(59)]
|
||||
[TypeLibFunc(64)]
|
||||
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]
|
||||
int[] SpellBarArray([In] int barNumber);
|
||||
|
||||
[DispId(60)]
|
||||
int CharacterOptionFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(60)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(4096)]
|
||||
[InterfaceType(2)]
|
||||
[Guid("0B60F187-13CD-4E35-B8A2-FE128F05CA6B")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
public interface ICharacterStatsEvents
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void Login(int Character);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
void Spellbook_Add(int SpellAdded);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
void Spellbook_Delete(int SpellDeleted);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
void LoginComplete();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
void ActionComplete();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
void StatusMessage(int lType, [MarshalAs(UnmanagedType.BStr)] string bstrText);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
void Death([MarshalAs(UnmanagedType.BStr)] string bstrText);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
void ChangePortalMode(PlayerPortalType Change);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
void ChangeEnchantments(PlayerAddRemoveType Change, [MarshalAs(UnmanagedType.Interface)] Enchantment Enchantment);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
void ChangePlayer(PlayerModifyType Change, int StatID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
void ChangeVital(PlayerVitalType Change, int Amount);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
void ChangeXPS(PlayerXPType Change, int Amount);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
void ChangeFellowship(PlayerFellowshipType Change, int Character);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
void Logoff(PlayerLogoffType Type);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
void CastSpell(PlayerCastType Type, int SpellID, int TargetID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(16)]
|
||||
void ChangeShortcut(PlayerAddRemoveType Change, int Slot, int ObjectID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(17)]
|
||||
void ChangeSpellbar(PlayerAddRemoveType Change, int Tab, int Slot, int SpellID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(18)]
|
||||
void ChangeSettings(int Settings);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(19)]
|
||||
void ChangeSettingFlags(int Settings);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(20)]
|
||||
void ChangeOption(int key, int value);
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ActionCompleteEventHandler();
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_CastSpellEventHandler(PlayerCastType Type, int SpellID, int TargetID);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeEnchantmentsEventHandler(PlayerAddRemoveType Change, [MarshalAs(UnmanagedType.Interface)] Enchantment Enchantment);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeFellowshipEventHandler(PlayerFellowshipType Change, int Character);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeOptionEventHandler(int key, int value);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangePlayerEventHandler(PlayerModifyType Change, int StatID);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangePortalModeEventHandler(PlayerPortalType Change);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeSettingFlagsEventHandler(int Settings);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeSettingsEventHandler(int Settings);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeShortcutEventHandler(PlayerAddRemoveType Change, int Slot, int ObjectID);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeSpellbarEventHandler(PlayerAddRemoveType Change, int Tab, int Slot, int SpellID);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeVitalEventHandler(PlayerVitalType Change, int Amount);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_ChangeXPSEventHandler(PlayerXPType Change, int Amount);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_DeathEventHandler([MarshalAs(UnmanagedType.BStr)] string bstrText);
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(16)]
|
||||
[ComVisible(false)]
|
||||
public interface ICharacterStatsEvents_Event
|
||||
{
|
||||
event ICharacterStatsEvents_LoginEventHandler Login;
|
||||
|
||||
event ICharacterStatsEvents_Spellbook_AddEventHandler Spellbook_Add;
|
||||
|
||||
event ICharacterStatsEvents_Spellbook_DeleteEventHandler Spellbook_Delete;
|
||||
|
||||
event ICharacterStatsEvents_LoginCompleteEventHandler LoginComplete;
|
||||
|
||||
event ICharacterStatsEvents_ActionCompleteEventHandler ActionComplete;
|
||||
|
||||
event ICharacterStatsEvents_StatusMessageEventHandler StatusMessage;
|
||||
|
||||
event ICharacterStatsEvents_DeathEventHandler Death;
|
||||
|
||||
event ICharacterStatsEvents_ChangePortalModeEventHandler ChangePortalMode;
|
||||
|
||||
event ICharacterStatsEvents_ChangeEnchantmentsEventHandler ChangeEnchantments;
|
||||
|
||||
event ICharacterStatsEvents_ChangePlayerEventHandler ChangePlayer;
|
||||
|
||||
event ICharacterStatsEvents_ChangeVitalEventHandler ChangeVital;
|
||||
|
||||
event ICharacterStatsEvents_ChangeXPSEventHandler ChangeXPS;
|
||||
|
||||
event ICharacterStatsEvents_ChangeFellowshipEventHandler ChangeFellowship;
|
||||
|
||||
event ICharacterStatsEvents_LogoffEventHandler Logoff;
|
||||
|
||||
event ICharacterStatsEvents_CastSpellEventHandler CastSpell;
|
||||
|
||||
event ICharacterStatsEvents_ChangeShortcutEventHandler ChangeShortcut;
|
||||
|
||||
event ICharacterStatsEvents_ChangeSpellbarEventHandler ChangeSpellbar;
|
||||
|
||||
event ICharacterStatsEvents_ChangeSettingsEventHandler ChangeSettings;
|
||||
|
||||
event ICharacterStatsEvents_ChangeSettingFlagsEventHandler ChangeSettingFlags;
|
||||
|
||||
event ICharacterStatsEvents_ChangeOptionEventHandler ChangeOption;
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_LoginCompleteEventHandler();
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_LoginEventHandler(int Character);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_LogoffEventHandler(PlayerLogoffType Type);
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(TypeLibTypeFlags.FHidden)]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
public sealed class ICharacterStatsEvents_SinkHelper : ICharacterStatsEvents
|
||||
{
|
||||
public ICharacterStatsEvents_LoginEventHandler m_LoginDelegate;
|
||||
|
||||
public ICharacterStatsEvents_Spellbook_AddEventHandler m_Spellbook_AddDelegate;
|
||||
|
||||
public ICharacterStatsEvents_Spellbook_DeleteEventHandler m_Spellbook_DeleteDelegate;
|
||||
|
||||
public ICharacterStatsEvents_LoginCompleteEventHandler m_LoginCompleteDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ActionCompleteEventHandler m_ActionCompleteDelegate;
|
||||
|
||||
public ICharacterStatsEvents_StatusMessageEventHandler m_StatusMessageDelegate;
|
||||
|
||||
public ICharacterStatsEvents_DeathEventHandler m_DeathDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangePortalModeEventHandler m_ChangePortalModeDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeEnchantmentsEventHandler m_ChangeEnchantmentsDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangePlayerEventHandler m_ChangePlayerDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeVitalEventHandler m_ChangeVitalDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeXPSEventHandler m_ChangeXPSDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeFellowshipEventHandler m_ChangeFellowshipDelegate;
|
||||
|
||||
public ICharacterStatsEvents_LogoffEventHandler m_LogoffDelegate;
|
||||
|
||||
public ICharacterStatsEvents_CastSpellEventHandler m_CastSpellDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeShortcutEventHandler m_ChangeShortcutDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeSpellbarEventHandler m_ChangeSpellbarDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeSettingsEventHandler m_ChangeSettingsDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeSettingFlagsEventHandler m_ChangeSettingFlagsDelegate;
|
||||
|
||||
public ICharacterStatsEvents_ChangeOptionEventHandler m_ChangeOptionDelegate;
|
||||
|
||||
public int m_dwCookie;
|
||||
|
||||
public void Login(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_LoginDelegate != null)
|
||||
{
|
||||
m_LoginDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void Spellbook_Add(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_Spellbook_AddDelegate != null)
|
||||
{
|
||||
m_Spellbook_AddDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void Spellbook_Delete(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_Spellbook_DeleteDelegate != null)
|
||||
{
|
||||
m_Spellbook_DeleteDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void LoginComplete()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_LoginCompleteDelegate != null)
|
||||
{
|
||||
m_LoginCompleteDelegate();
|
||||
}
|
||||
}
|
||||
|
||||
public void ActionComplete()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ActionCompleteDelegate != null)
|
||||
{
|
||||
m_ActionCompleteDelegate();
|
||||
}
|
||||
}
|
||||
|
||||
public void StatusMessage(int P_0, string P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_StatusMessageDelegate != null)
|
||||
{
|
||||
m_StatusMessageDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void Death(string P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_DeathDelegate != null)
|
||||
{
|
||||
m_DeathDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangePortalMode(PlayerPortalType P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangePortalModeDelegate != null)
|
||||
{
|
||||
m_ChangePortalModeDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeEnchantments(PlayerAddRemoveType P_0, Enchantment P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeEnchantmentsDelegate != null)
|
||||
{
|
||||
m_ChangeEnchantmentsDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangePlayer(PlayerModifyType P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangePlayerDelegate != null)
|
||||
{
|
||||
m_ChangePlayerDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeVital(PlayerVitalType P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeVitalDelegate != null)
|
||||
{
|
||||
m_ChangeVitalDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeXPS(PlayerXPType P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeXPSDelegate != null)
|
||||
{
|
||||
m_ChangeXPSDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeFellowship(PlayerFellowshipType P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeFellowshipDelegate != null)
|
||||
{
|
||||
m_ChangeFellowshipDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void Logoff(PlayerLogoffType P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_LogoffDelegate != null)
|
||||
{
|
||||
m_LogoffDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void CastSpell(PlayerCastType P_0, int P_1, int P_2)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_CastSpellDelegate != null)
|
||||
{
|
||||
m_CastSpellDelegate(P_0, P_1, P_2);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeShortcut(PlayerAddRemoveType P_0, int P_1, int P_2)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeShortcutDelegate != null)
|
||||
{
|
||||
m_ChangeShortcutDelegate(P_0, P_1, P_2);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeSpellbar(PlayerAddRemoveType 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_ChangeSpellbarDelegate != null)
|
||||
{
|
||||
m_ChangeSpellbarDelegate(P_0, P_1, P_2, P_3);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeSettings(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeSettingsDelegate != null)
|
||||
{
|
||||
m_ChangeSettingsDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeSettingFlags(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeSettingFlagsDelegate != null)
|
||||
{
|
||||
m_ChangeSettingFlagsDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeOption(int P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeOptionDelegate != null)
|
||||
{
|
||||
m_ChangeOptionDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
internal ICharacterStatsEvents_SinkHelper()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
m_dwCookie = 0;
|
||||
m_LoginDelegate = null;
|
||||
m_Spellbook_AddDelegate = null;
|
||||
m_Spellbook_DeleteDelegate = null;
|
||||
m_LoginCompleteDelegate = null;
|
||||
m_ActionCompleteDelegate = null;
|
||||
m_StatusMessageDelegate = null;
|
||||
m_DeathDelegate = null;
|
||||
m_ChangePortalModeDelegate = null;
|
||||
m_ChangeEnchantmentsDelegate = null;
|
||||
m_ChangePlayerDelegate = null;
|
||||
m_ChangeVitalDelegate = null;
|
||||
m_ChangeXPSDelegate = null;
|
||||
m_ChangeFellowshipDelegate = null;
|
||||
m_LogoffDelegate = null;
|
||||
m_CastSpellDelegate = null;
|
||||
m_ChangeShortcutDelegate = null;
|
||||
m_ChangeSpellbarDelegate = null;
|
||||
m_ChangeSettingsDelegate = null;
|
||||
m_ChangeSettingFlagsDelegate = null;
|
||||
m_ChangeOptionDelegate = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_Spellbook_AddEventHandler(int SpellAdded);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_Spellbook_DeleteEventHandler(int SpellDeleted);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void ICharacterStatsEvents_StatusMessageEventHandler(int lType, [MarshalAs(UnmanagedType.BStr)] string bstrText);
|
||||
12
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IEcho.cs
Normal file
12
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IEcho.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("7B7FEF07-DAE2-46F3-AC71-7E47F8EF3A44")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4160)]
|
||||
public interface IEcho
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("002C8BAE-917E-4978-B223-B45B3E8B15E6")]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
public interface IEcho2
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("236B3F19-8F40-492B-A462-0EB4447A6296")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4096)]
|
||||
[InterfaceType(2)]
|
||||
public interface IEchoSink
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void EchoMessage([MarshalAs(UnmanagedType.Interface)] IMessage pMsg);
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(2)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4096)]
|
||||
[Guid("6C9BCC85-BAD0-4706-9CC5-D491E43F81C4")]
|
||||
public interface IEchoSink2
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void EchoServer([MarshalAs(UnmanagedType.Interface)] IMessage2 pMsg);
|
||||
|
||||
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
void EchoClient([MarshalAs(UnmanagedType.Interface)] IMessage2 pMsg);
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IEchoSink2_EchoClientEventHandler([MarshalAs(UnmanagedType.Interface)] IMessage2 pMsg);
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IEchoSink2_EchoServerEventHandler([MarshalAs(UnmanagedType.Interface)] IMessage2 pMsg);
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(16)]
|
||||
[ComVisible(false)]
|
||||
public interface IEchoSink2_Event
|
||||
{
|
||||
event IEchoSink2_EchoServerEventHandler EchoServer;
|
||||
|
||||
event IEchoSink2_EchoClientEventHandler EchoClient;
|
||||
}
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
using System.Threading;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
internal sealed class IEchoSink2_EventProvider : IEchoSink2_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]
|
||||
{
|
||||
133, 204, 155, 108, 208, 186, 6, 71, 156, 197,
|
||||
212, 145, 228, 63, 129, 196
|
||||
});
|
||||
m_ConnectionPointContainer.FindConnectionPoint(ref riid, out ppCP);
|
||||
m_ConnectionPoint = ppCP;
|
||||
m_aEventSinkHelpers = new ArrayList();
|
||||
}
|
||||
|
||||
event IEchoSink2_EchoServerEventHandler IEchoSink2_Event.EchoServer
|
||||
{
|
||||
add
|
||||
{
|
||||
|
||||
bool lockTaken = default(bool);
|
||||
try
|
||||
{
|
||||
Monitor.Enter(this, ref lockTaken);
|
||||
if (m_ConnectionPoint == null)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
IEchoSink2_SinkHelper echoSink2_SinkHelper = new IEchoSink2_SinkHelper();
|
||||
int pdwCookie = 0;
|
||||
m_ConnectionPoint.Advise(echoSink2_SinkHelper, out pdwCookie);
|
||||
echoSink2_SinkHelper.m_dwCookie = pdwCookie;
|
||||
echoSink2_SinkHelper.m_EchoServerDelegate = value;
|
||||
m_aEventSinkHelpers.Add(echoSink2_SinkHelper);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (lockTaken)
|
||||
{
|
||||
Monitor.Exit(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
remove
|
||||
{
|
||||
|
||||
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
|
||||
{
|
||||
IEchoSink2_SinkHelper echoSink2_SinkHelper = (IEchoSink2_SinkHelper)m_aEventSinkHelpers[num];
|
||||
if (echoSink2_SinkHelper.m_EchoServerDelegate != null && ((echoSink2_SinkHelper.m_EchoServerDelegate.Equals(value) ? 1u : 0u) & 0xFFu) != 0)
|
||||
{
|
||||
m_aEventSinkHelpers.RemoveAt(num);
|
||||
m_ConnectionPoint.Unadvise(echoSink2_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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
event IEchoSink2_EchoClientEventHandler IEchoSink2_Event.EchoClient
|
||||
{
|
||||
add
|
||||
{
|
||||
|
||||
bool lockTaken = default(bool);
|
||||
try
|
||||
{
|
||||
Monitor.Enter(this, ref lockTaken);
|
||||
if (m_ConnectionPoint == null)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
IEchoSink2_SinkHelper echoSink2_SinkHelper = new IEchoSink2_SinkHelper();
|
||||
int pdwCookie = 0;
|
||||
m_ConnectionPoint.Advise(echoSink2_SinkHelper, out pdwCookie);
|
||||
echoSink2_SinkHelper.m_dwCookie = pdwCookie;
|
||||
echoSink2_SinkHelper.m_EchoClientDelegate = value;
|
||||
m_aEventSinkHelpers.Add(echoSink2_SinkHelper);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (lockTaken)
|
||||
{
|
||||
Monitor.Exit(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
remove
|
||||
{
|
||||
|
||||
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
|
||||
{
|
||||
IEchoSink2_SinkHelper echoSink2_SinkHelper = (IEchoSink2_SinkHelper)m_aEventSinkHelpers[num];
|
||||
if (echoSink2_SinkHelper.m_EchoClientDelegate != null && ((echoSink2_SinkHelper.m_EchoClientDelegate.Equals(value) ? 1u : 0u) & 0xFFu) != 0)
|
||||
{
|
||||
m_aEventSinkHelpers.RemoveAt(num);
|
||||
m_ConnectionPoint.Unadvise(echoSink2_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 IEchoSink2_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
|
||||
{
|
||||
IEchoSink2_SinkHelper echoSink2_SinkHelper = (IEchoSink2_SinkHelper)m_aEventSinkHelpers[num];
|
||||
m_ConnectionPoint.Unadvise(echoSink2_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);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[TypeLibType(TypeLibTypeFlags.FHidden)]
|
||||
public sealed class IEchoSink2_SinkHelper : IEchoSink2
|
||||
{
|
||||
public IEchoSink2_EchoServerEventHandler m_EchoServerDelegate;
|
||||
|
||||
public IEchoSink2_EchoClientEventHandler m_EchoClientDelegate;
|
||||
|
||||
public int m_dwCookie;
|
||||
|
||||
public void EchoServer(IMessage2 P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EchoServerDelegate != null)
|
||||
{
|
||||
m_EchoServerDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void EchoClient(IMessage2 P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EchoClientDelegate != null)
|
||||
{
|
||||
m_EchoClientDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
internal IEchoSink2_SinkHelper()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
m_dwCookie = 0;
|
||||
m_EchoServerDelegate = null;
|
||||
m_EchoClientDelegate = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IEchoSink_EchoMessageEventHandler([MarshalAs(UnmanagedType.Interface)] IMessage pMsg);
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(16)]
|
||||
[ComVisible(false)]
|
||||
public interface IEchoSink_Event
|
||||
{
|
||||
event IEchoSink_EchoMessageEventHandler EchoMessage;
|
||||
}
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
using System.Threading;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
internal sealed class IEchoSink_EventProvider : IEchoSink_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]
|
||||
{
|
||||
25, 63, 107, 35, 64, 143, 43, 73, 164, 98,
|
||||
14, 180, 68, 122, 98, 150
|
||||
});
|
||||
m_ConnectionPointContainer.FindConnectionPoint(ref riid, out ppCP);
|
||||
m_ConnectionPoint = ppCP;
|
||||
m_aEventSinkHelpers = new ArrayList();
|
||||
}
|
||||
|
||||
event IEchoSink_EchoMessageEventHandler IEchoSink_Event.EchoMessage
|
||||
{
|
||||
add
|
||||
{
|
||||
|
||||
bool lockTaken = default(bool);
|
||||
try
|
||||
{
|
||||
Monitor.Enter(this, ref lockTaken);
|
||||
if (m_ConnectionPoint == null)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
IEchoSink_SinkHelper echoSink_SinkHelper = new IEchoSink_SinkHelper();
|
||||
int pdwCookie = 0;
|
||||
m_ConnectionPoint.Advise(echoSink_SinkHelper, out pdwCookie);
|
||||
echoSink_SinkHelper.m_dwCookie = pdwCookie;
|
||||
echoSink_SinkHelper.m_EchoMessageDelegate = value;
|
||||
m_aEventSinkHelpers.Add(echoSink_SinkHelper);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (lockTaken)
|
||||
{
|
||||
Monitor.Exit(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
remove
|
||||
{
|
||||
|
||||
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
|
||||
{
|
||||
IEchoSink_SinkHelper echoSink_SinkHelper = (IEchoSink_SinkHelper)m_aEventSinkHelpers[num];
|
||||
if (echoSink_SinkHelper.m_EchoMessageDelegate != null && ((echoSink_SinkHelper.m_EchoMessageDelegate.Equals(value) ? 1u : 0u) & 0xFFu) != 0)
|
||||
{
|
||||
m_aEventSinkHelpers.RemoveAt(num);
|
||||
m_ConnectionPoint.Unadvise(echoSink_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 IEchoSink_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
|
||||
{
|
||||
IEchoSink_SinkHelper echoSink_SinkHelper = (IEchoSink_SinkHelper)m_aEventSinkHelpers[num];
|
||||
m_ConnectionPoint.Unadvise(echoSink_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);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(TypeLibTypeFlags.FHidden)]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
public sealed class IEchoSink_SinkHelper : IEchoSink
|
||||
{
|
||||
public IEchoSink_EchoMessageEventHandler m_EchoMessageDelegate;
|
||||
|
||||
public int m_dwCookie;
|
||||
|
||||
public void EchoMessage(IMessage P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EchoMessageDelegate != null)
|
||||
{
|
||||
m_EchoMessageDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
internal IEchoSink_SinkHelper()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
m_dwCookie = 0;
|
||||
m_EchoMessageDelegate = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("B83155F4-E298-4004-80C6-AA592F677430")]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
public interface IEnchantment
|
||||
{
|
||||
[DispId(1)]
|
||||
int SpellID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
int Layer
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
int TimeRemaining
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
int Affected
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
int AffectedMask
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
int Family
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
double Adjustment
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
double Duration
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("00020404-0000-0000-C000-000000000046")]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||||
public interface IEnumVARIANT
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
void Next([In] uint celt, [In][MarshalAs(UnmanagedType.Struct)] ref object rgvar, out uint pceltFetched);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
void Skip([In] uint celt);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
void Reset();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
void Clone([MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshaler, CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] out IEnumerator ppenum);
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("6FD2E07C-7E9C-451B-8968-2FCB0226D0E8")]
|
||||
[TypeLibType(4288)]
|
||||
public interface IIdentifyQueue
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("3C1CBEF8-E72A-4BDF-B92E-4F3307109766")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4160)]
|
||||
public interface IPrefilter
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[InterfaceType(2)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("A67C748D-2427-4A13-A114-7ACC1D4C9433")]
|
||||
[TypeLibType(4096)]
|
||||
public interface IPrefilterEvents
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void Event(int ID, [MarshalAs(UnmanagedType.Interface)] IMessage Message);
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(16)]
|
||||
[ComVisible(false)]
|
||||
public interface IPrefilterEvents_Event
|
||||
{
|
||||
event IPrefilterEvents_EventEventHandler Event;
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IPrefilterEvents_EventEventHandler(int ID, [MarshalAs(UnmanagedType.Interface)] IMessage Message);
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
using System.Threading;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
internal sealed class IPrefilterEvents_EventProvider : IPrefilterEvents_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]
|
||||
{
|
||||
141, 116, 124, 166, 39, 36, 19, 74, 161, 20,
|
||||
122, 204, 29, 76, 148, 51
|
||||
});
|
||||
m_ConnectionPointContainer.FindConnectionPoint(ref riid, out ppCP);
|
||||
m_ConnectionPoint = ppCP;
|
||||
m_aEventSinkHelpers = new ArrayList();
|
||||
}
|
||||
|
||||
event IPrefilterEvents_EventEventHandler IPrefilterEvents_Event.Event
|
||||
{
|
||||
add
|
||||
{
|
||||
|
||||
bool lockTaken = default(bool);
|
||||
try
|
||||
{
|
||||
Monitor.Enter(this, ref lockTaken);
|
||||
if (m_ConnectionPoint == null)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
IPrefilterEvents_SinkHelper prefilterEvents_SinkHelper = new IPrefilterEvents_SinkHelper();
|
||||
int pdwCookie = 0;
|
||||
m_ConnectionPoint.Advise(prefilterEvents_SinkHelper, out pdwCookie);
|
||||
prefilterEvents_SinkHelper.m_dwCookie = pdwCookie;
|
||||
prefilterEvents_SinkHelper.m_EventDelegate = value;
|
||||
m_aEventSinkHelpers.Add(prefilterEvents_SinkHelper);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (lockTaken)
|
||||
{
|
||||
Monitor.Exit(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
remove
|
||||
{
|
||||
|
||||
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
|
||||
{
|
||||
IPrefilterEvents_SinkHelper prefilterEvents_SinkHelper = (IPrefilterEvents_SinkHelper)m_aEventSinkHelpers[num];
|
||||
if (prefilterEvents_SinkHelper.m_EventDelegate != null && ((prefilterEvents_SinkHelper.m_EventDelegate.Equals(value) ? 1u : 0u) & 0xFFu) != 0)
|
||||
{
|
||||
m_aEventSinkHelpers.RemoveAt(num);
|
||||
m_ConnectionPoint.Unadvise(prefilterEvents_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 IPrefilterEvents_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
|
||||
{
|
||||
IPrefilterEvents_SinkHelper prefilterEvents_SinkHelper = (IPrefilterEvents_SinkHelper)m_aEventSinkHelpers[num];
|
||||
m_ConnectionPoint.Unadvise(prefilterEvents_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);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Net;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[TypeLibType(TypeLibTypeFlags.FHidden)]
|
||||
public sealed class IPrefilterEvents_SinkHelper : IPrefilterEvents
|
||||
{
|
||||
public IPrefilterEvents_EventEventHandler m_EventDelegate;
|
||||
|
||||
public int m_dwCookie;
|
||||
|
||||
public void Event(int P_0, IMessage P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EventDelegate != null)
|
||||
{
|
||||
m_EventDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
internal IPrefilterEvents_SinkHelper()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
m_dwCookie = 0;
|
||||
m_EventDelegate = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("6FBA5326-F234-4AEC-B844-2136A0D50FD5")]
|
||||
[TypeLibType(4160)]
|
||||
public interface ISkillInfo
|
||||
{
|
||||
[DispId(1)]
|
||||
string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
string ShortName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
string Formula
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
int Base
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
int Current
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
int Exp
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
eTrainingType Training
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
bool Known
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(9)]
|
||||
int Increment
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
int Bonus
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
int Buffed
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
112
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IVendor.cs
Normal file
112
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IVendor.cs
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("6AA27887-088A-42F8-B319-2AFBF8C3A5FD")]
|
||||
[TypeLibType(4160)]
|
||||
public interface IVendor : IEnumerable
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void Reset();
|
||||
|
||||
[DispId(2)]
|
||||
int Count
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
bool Next([In][Out][MarshalAs(UnmanagedType.Interface)] ref WorldObject ppObject);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
void Pop();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
void ByAll();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
void ByName([MarshalAs(UnmanagedType.BStr)] string strName);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
void ByNameSubstring([MarshalAs(UnmanagedType.BStr)] string strSubstring);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
void ByObjectClass(eObjectClass Class);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
void ByCategory(int nCategory);
|
||||
|
||||
[DispId(10)]
|
||||
int Quantity
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
int MerchantID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
int BuyCategories
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(13)]
|
||||
int BuyValue
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(14)]
|
||||
float BuyRate
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(15)]
|
||||
float SellRate
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(-4)]
|
||||
[TypeLibFunc(1)]
|
||||
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshaler, CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
|
||||
new IEnumerator GetEnumerator();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(17)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
WorldObject GetByID(int pObjectId);
|
||||
}
|
||||
128
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IWorld.cs
Normal file
128
Managed/Decal.Interop.Filters/Decal.Interop.Filters/IWorld.cs
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("C5F0FF7E-A043-4A28-8893-F6E43F4E9DED")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4160)]
|
||||
public interface IWorld
|
||||
{
|
||||
[DispId(0)]
|
||||
WorldObject this[[In] int GUID]
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[TypeLibFunc(256)]
|
||||
[DispId(0)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(2)]
|
||||
WorldIterator ByName
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(3)]
|
||||
WorldIterator All
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(4)]
|
||||
WorldIterator ByObjectClass
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(5)]
|
||||
WorldIterator ByNameSubstring
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(6)]
|
||||
WorldIterator ByContainer
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(7)]
|
||||
WorldIterator Inventory
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
double Distance2D(int GUID1, int GUID2);
|
||||
|
||||
[DispId(9)]
|
||||
WorldIterator ByOwner
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(10)]
|
||||
WorldIterator Landscape
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(11)]
|
||||
int NumObjectClasses
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(12)]
|
||||
WorldIterator ByCategory
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
double Distance3D(int GUID1, int GUID2);
|
||||
|
||||
[DispId(14)]
|
||||
Vendor Vendor
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("175F99F1-B937-47C5-846E-CACBB986AFD9")]
|
||||
[InterfaceType(2)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(4096)]
|
||||
public interface IWorldEvents
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
void CreateObject([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
void ReleaseObject([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
void ChangeObject([MarshalAs(UnmanagedType.Interface)] WorldObject pObject, WorldChangeType Change);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
void MoveObject([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
void ReleaseDone();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
void EnterTrade(int trader, int tradee);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
void EndTrade(int reason);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
void AddTradeItem(int Item, int side);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
void AcceptTrade(int trader);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
void DeclineTrade(int trader);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
void ResetTrade(int trader);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
void FailToAddTradeItem(int Item, int reason);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
void FailToCompleteTrade();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
void ApproachVendor(int merchant);
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_AcceptTradeEventHandler(int trader);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_AddTradeItemEventHandler(int Item, int side);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_ApproachVendorEventHandler(int merchant);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_ChangeObjectEventHandler([MarshalAs(UnmanagedType.Interface)] WorldObject pObject, WorldChangeType Change);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_CreateObjectEventHandler([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_DeclineTradeEventHandler(int trader);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_EndTradeEventHandler(int reason);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_EnterTradeEventHandler(int trader, int tradee);
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(16)]
|
||||
[ComVisible(false)]
|
||||
public interface IWorldEvents_Event
|
||||
{
|
||||
event IWorldEvents_CreateObjectEventHandler CreateObject;
|
||||
|
||||
event IWorldEvents_ReleaseObjectEventHandler ReleaseObject;
|
||||
|
||||
event IWorldEvents_ChangeObjectEventHandler ChangeObject;
|
||||
|
||||
event IWorldEvents_MoveObjectEventHandler MoveObject;
|
||||
|
||||
event IWorldEvents_ReleaseDoneEventHandler ReleaseDone;
|
||||
|
||||
event IWorldEvents_EnterTradeEventHandler EnterTrade;
|
||||
|
||||
event IWorldEvents_EndTradeEventHandler EndTrade;
|
||||
|
||||
event IWorldEvents_AddTradeItemEventHandler AddTradeItem;
|
||||
|
||||
event IWorldEvents_AcceptTradeEventHandler AcceptTrade;
|
||||
|
||||
event IWorldEvents_DeclineTradeEventHandler DeclineTrade;
|
||||
|
||||
event IWorldEvents_ResetTradeEventHandler ResetTrade;
|
||||
|
||||
event IWorldEvents_FailToAddTradeItemEventHandler FailToAddTradeItem;
|
||||
|
||||
event IWorldEvents_FailToCompleteTradeEventHandler FailToCompleteTrade;
|
||||
|
||||
event IWorldEvents_ApproachVendorEventHandler ApproachVendor;
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_FailToAddTradeItemEventHandler(int Item, int reason);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_FailToCompleteTradeEventHandler();
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_MoveObjectEventHandler([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_ReleaseDoneEventHandler();
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_ReleaseObjectEventHandler([MarshalAs(UnmanagedType.Interface)] WorldObject pObject);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComVisible(false)]
|
||||
public delegate void IWorldEvents_ResetTradeEventHandler(int trader);
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[TypeLibType(TypeLibTypeFlags.FHidden)]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
public sealed class IWorldEvents_SinkHelper : IWorldEvents
|
||||
{
|
||||
public IWorldEvents_CreateObjectEventHandler m_CreateObjectDelegate;
|
||||
|
||||
public IWorldEvents_ReleaseObjectEventHandler m_ReleaseObjectDelegate;
|
||||
|
||||
public IWorldEvents_ChangeObjectEventHandler m_ChangeObjectDelegate;
|
||||
|
||||
public IWorldEvents_MoveObjectEventHandler m_MoveObjectDelegate;
|
||||
|
||||
public IWorldEvents_ReleaseDoneEventHandler m_ReleaseDoneDelegate;
|
||||
|
||||
public IWorldEvents_EnterTradeEventHandler m_EnterTradeDelegate;
|
||||
|
||||
public IWorldEvents_EndTradeEventHandler m_EndTradeDelegate;
|
||||
|
||||
public IWorldEvents_AddTradeItemEventHandler m_AddTradeItemDelegate;
|
||||
|
||||
public IWorldEvents_AcceptTradeEventHandler m_AcceptTradeDelegate;
|
||||
|
||||
public IWorldEvents_DeclineTradeEventHandler m_DeclineTradeDelegate;
|
||||
|
||||
public IWorldEvents_ResetTradeEventHandler m_ResetTradeDelegate;
|
||||
|
||||
public IWorldEvents_FailToAddTradeItemEventHandler m_FailToAddTradeItemDelegate;
|
||||
|
||||
public IWorldEvents_FailToCompleteTradeEventHandler m_FailToCompleteTradeDelegate;
|
||||
|
||||
public IWorldEvents_ApproachVendorEventHandler m_ApproachVendorDelegate;
|
||||
|
||||
public int m_dwCookie;
|
||||
|
||||
public void CreateObject(WorldObject P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_CreateObjectDelegate != null)
|
||||
{
|
||||
m_CreateObjectDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ReleaseObject(WorldObject P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ReleaseObjectDelegate != null)
|
||||
{
|
||||
m_ReleaseObjectDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeObject(WorldObject P_0, WorldChangeType P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ChangeObjectDelegate != null)
|
||||
{
|
||||
m_ChangeObjectDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void MoveObject(WorldObject P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_MoveObjectDelegate != null)
|
||||
{
|
||||
m_MoveObjectDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ReleaseDone()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ReleaseDoneDelegate != null)
|
||||
{
|
||||
m_ReleaseDoneDelegate();
|
||||
}
|
||||
}
|
||||
|
||||
public void EnterTrade(int P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EnterTradeDelegate != null)
|
||||
{
|
||||
m_EnterTradeDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void EndTrade(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_EndTradeDelegate != null)
|
||||
{
|
||||
m_EndTradeDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddTradeItem(int P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_AddTradeItemDelegate != null)
|
||||
{
|
||||
m_AddTradeItemDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void AcceptTrade(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_AcceptTradeDelegate != null)
|
||||
{
|
||||
m_AcceptTradeDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeclineTrade(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_DeclineTradeDelegate != null)
|
||||
{
|
||||
m_DeclineTradeDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetTrade(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ResetTradeDelegate != null)
|
||||
{
|
||||
m_ResetTradeDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public void FailToAddTradeItem(int P_0, int P_1)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_FailToAddTradeItemDelegate != null)
|
||||
{
|
||||
m_FailToAddTradeItemDelegate(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public void FailToCompleteTrade()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_FailToCompleteTradeDelegate != null)
|
||||
{
|
||||
m_FailToCompleteTradeDelegate();
|
||||
}
|
||||
}
|
||||
|
||||
public void ApproachVendor(int P_0)
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
if (m_ApproachVendorDelegate != null)
|
||||
{
|
||||
m_ApproachVendorDelegate(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
internal IWorldEvents_SinkHelper()
|
||||
{
|
||||
//Error decoding local variables: Signature type sequence must have at least one element.
|
||||
m_dwCookie = 0;
|
||||
m_CreateObjectDelegate = null;
|
||||
m_ReleaseObjectDelegate = null;
|
||||
m_ChangeObjectDelegate = null;
|
||||
m_MoveObjectDelegate = null;
|
||||
m_ReleaseDoneDelegate = null;
|
||||
m_EnterTradeDelegate = null;
|
||||
m_EndTradeDelegate = null;
|
||||
m_AddTradeItemDelegate = null;
|
||||
m_AcceptTradeDelegate = null;
|
||||
m_DeclineTradeDelegate = null;
|
||||
m_ResetTradeDelegate = null;
|
||||
m_FailToAddTradeItemDelegate = null;
|
||||
m_FailToCompleteTradeDelegate = null;
|
||||
m_ApproachVendorDelegate = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[Guid("6FC29250-9FB4-4A0C-AF16-329E35DF02F2")]
|
||||
public interface IWorldIterator : IEnumerable
|
||||
{
|
||||
[DispId(1)]
|
||||
WorldObject Next_Old
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
[TypeLibFunc(64)]
|
||||
[return: MarshalAs(UnmanagedType.Interface)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
void Reset();
|
||||
|
||||
[DispId(3)]
|
||||
int Count
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
bool Next([In][Out][MarshalAs(UnmanagedType.Interface)] ref WorldObject ppObject);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
void Pop();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
void ByName([MarshalAs(UnmanagedType.BStr)] string strName);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
void ByNameSubstring([MarshalAs(UnmanagedType.BStr)] string strSubstring);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
void ByObjectClass(eObjectClass Class);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
void ByAll();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
void ByInventory();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
void ByContainer(int nContainer);
|
||||
|
||||
[DispId(12)]
|
||||
int Quantity
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
void ByOwner(int nOwner);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
void ByLandscape();
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
void ByCategory(int nCategory);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(-4)]
|
||||
[TypeLibFunc(1)]
|
||||
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshaler, CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
|
||||
new IEnumerator GetEnumerator();
|
||||
}
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("3DDD1391-FDDB-4C43-BA28-8F624E021F05")]
|
||||
[DefaultMember("GUID")]
|
||||
[TypeLibType(4160)]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
public interface IWorldObject
|
||||
{
|
||||
[DispId(0)]
|
||||
int GUID
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(0)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(1)]
|
||||
bool Offset(out double x, out double y, out double z);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(2)]
|
||||
bool Coordinates([In][Out] ref double NorthSouth, [In][Out] ref double EastWest);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(3)]
|
||||
bool RawCoordinates([In][Out] ref double pX, [In][Out] ref double pY, ref double pZ);
|
||||
|
||||
[DispId(4)]
|
||||
eObjectClass ObjectClass
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(4)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(5)]
|
||||
int Spell([In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(6)]
|
||||
bool Orientation(out double w, out double x, out double y, out double z);
|
||||
|
||||
[DispId(7)]
|
||||
bool HasIdData
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(7)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(8)]
|
||||
int LastIdTime
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(8)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(9)]
|
||||
int Longs([In] LongValueKey index, int defVal = 0);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(10)]
|
||||
double Doubles([In] DoubleValueKey index, double defVal = 0.0);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(11)]
|
||||
bool Bools([In] BoolValueKey index, bool defVal = false);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(12)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
string Strings([In] StringValueKey index, [MarshalAs(UnmanagedType.BStr)] string defVal = "");
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(13)]
|
||||
bool LongExists([In] LongValueKey index, out int pValue);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(14)]
|
||||
bool DoubleExists([In] DoubleValueKey index, out double pValue);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(15)]
|
||||
bool BoolExists([In] BoolValueKey index, out bool pValue);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(16)]
|
||||
bool StringExists([In] StringValueKey index, [MarshalAs(UnmanagedType.BStr)] out string pValue);
|
||||
|
||||
[DispId(17)]
|
||||
string Name
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(17)]
|
||||
[return: MarshalAs(UnmanagedType.BStr)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(18)]
|
||||
int PhysicsDataFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(18)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(19)]
|
||||
int GameDataFlags1
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(19)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(20)]
|
||||
int Type
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(20)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(21)]
|
||||
int Icon
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(21)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(22)]
|
||||
int Category
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(22)]
|
||||
get;
|
||||
}
|
||||
|
||||
[DispId(23)]
|
||||
int Behavior
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(23)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(24)]
|
||||
int ActiveSpell([In] int index);
|
||||
|
||||
[DispId(25)]
|
||||
int Container
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(25)]
|
||||
get;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(26)]
|
||||
int EnumBoolKey([In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(27)]
|
||||
int EnumLongKey([In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(28)]
|
||||
int EnumDoubleKey([In] int index);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
||||
[DispId(29)]
|
||||
int EnumStringKey([In] int index);
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("6FD2E07C-7E9C-451B-8968-2FCB0226D0E8")]
|
||||
[CoClass(typeof(IdentifyQueueClass))]
|
||||
public interface IdentifyQueue : IIdentifyQueue
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("B0C05A9A-273D-4BC4-B7BA-E27CF94C8EF4")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[TypeLibType(2)]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
public class IdentifyQueueClass : IIdentifyQueue, IdentifyQueue
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum LongValueKey
|
||||
{
|
||||
keyType = 218103808,
|
||||
keyIcon = 218103809,
|
||||
keyContainer = 218103810,
|
||||
keyLandblock = 218103811,
|
||||
keyItemSlots = 218103812,
|
||||
keyPackSlots = 218103813,
|
||||
keyStackCount = 218103814,
|
||||
keyStackMax = 218103815,
|
||||
keyAssociatedSpell = 218103816,
|
||||
keySlotLegacy = 218103817,
|
||||
keyWielder = 218103818,
|
||||
keyWieldingSlot = 218103819,
|
||||
keyMonarch = 218103820,
|
||||
keyCoverage = 218103821,
|
||||
keyEquipableSlots = 218103822,
|
||||
keyEquipType = 218103823,
|
||||
keyIconOutline = 218103824,
|
||||
keyMissileType = 218103825,
|
||||
keyUsageMask = 218103826,
|
||||
keyHouseOwner = 218103827,
|
||||
keyHookMask = 218103828,
|
||||
keyHookType = 218103829,
|
||||
keyModel = 218103830,
|
||||
keyFlags = 218103831,
|
||||
keyCreateFlags1 = 218103832,
|
||||
keyCreateFlags2 = 218103833,
|
||||
keyCategory = 218103834,
|
||||
keyBehavior = 218103835,
|
||||
keyMagicDef = 218103836,
|
||||
keySpecialProps = 218103837,
|
||||
keySpellCount = 218103838,
|
||||
keyWeapSpeed = 218103839,
|
||||
keyEquipSkill = 218103840,
|
||||
keyDamageType = 218103841,
|
||||
keyMaxDamage = 218103842,
|
||||
keyUnknown10 = 218103843,
|
||||
keyUnknown100000 = 218103844,
|
||||
keyUnknown800000 = 218103845,
|
||||
keyUnknown8000000 = 218103846,
|
||||
keyPhysicsDataFlags = 218103847,
|
||||
keyActiveSpellCount = 218103848,
|
||||
keyIconOverlay = 218103849,
|
||||
keyIconUnderlay = 218103850,
|
||||
keySpecies = 2,
|
||||
keyBurden = 5,
|
||||
keyEquippedSlots = 10,
|
||||
keyRareID = 17,
|
||||
keyValue = 19,
|
||||
keyTotalValue = 20,
|
||||
keySkillCreditsAvail = 24,
|
||||
keyCreatureLevel = 25,
|
||||
keyRestrictedToToD = 26,
|
||||
keyArmorLevel = 28,
|
||||
keyRank = 30,
|
||||
keyBonded = 33,
|
||||
keyNumberFollowers = 35,
|
||||
keyUnenchantable = 36,
|
||||
keyLockpickDifficulty = 38,
|
||||
keyDeaths = 43,
|
||||
keyWandElemDmgType = 45,
|
||||
keyMinLevelRestrict = 86,
|
||||
keyMaxLevelRestrict = 87,
|
||||
keyLockpickSkillBonus = 88,
|
||||
keyAffectsVitalID = 89,
|
||||
keyAffectsVitalAmt = 90,
|
||||
keyHealKitSkillBonus = 90,
|
||||
keyUsesTotal = 91,
|
||||
keyUsesRemaining = 92,
|
||||
keyDateOfBirth = 98,
|
||||
keyWorkmanship = 105,
|
||||
keySpellcraft = 106,
|
||||
keyCurrentMana = 107,
|
||||
keyMaximumMana = 108,
|
||||
keyLoreRequirement = 109,
|
||||
keyRankRequirement = 110,
|
||||
keyPortalRestrictions = 111,
|
||||
keyGender = 113,
|
||||
keyAttuned = 114,
|
||||
keySkillLevelReq = 115,
|
||||
keyManaCost = 117,
|
||||
keyAge = 125,
|
||||
keyXPForVPReduction = 129,
|
||||
keyMaterial = 131,
|
||||
keyWieldReqType = 158,
|
||||
keyWieldReqAttribute = 159,
|
||||
keyWieldReqValue = 160,
|
||||
keySlayerSpecies = 166,
|
||||
keyNumberItemsSalvagedFrom = 170,
|
||||
keyNumberTimesTinkered = 171,
|
||||
keyDescriptionFormat = 172,
|
||||
keyPagesUsed = 174,
|
||||
keyPagesTotal = 175,
|
||||
keyActivationReqSkillID = 176,
|
||||
keyGemSettingQty = 177,
|
||||
keyGemSettingType = 178,
|
||||
keyImbued = 179,
|
||||
keyHeritage = 188,
|
||||
keyFishingSkill = 192,
|
||||
keyKeysHeld = 193,
|
||||
keyElementalDmgBonus = 204,
|
||||
keyCleaveType = 263,
|
||||
keyArmorSet = 265,
|
||||
keySlot = 231735296
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerAddRemoveType
|
||||
{
|
||||
pevtAdd,
|
||||
pevtRemove
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerCastType
|
||||
{
|
||||
pevtTargetless,
|
||||
pevtTargeted
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerFellowshipType
|
||||
{
|
||||
pevtCreate,
|
||||
pevtQuit,
|
||||
pevtDismiss,
|
||||
pevtRecruit,
|
||||
pevtDisband
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerLogoffType
|
||||
{
|
||||
pevtRequested,
|
||||
pevtAuthorized
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerModifyType
|
||||
{
|
||||
pevtSkill,
|
||||
pevtAttribute,
|
||||
pevtVital,
|
||||
pevtStatistic,
|
||||
pevtAllegiance,
|
||||
pevtAugmentation
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerPortalType
|
||||
{
|
||||
pevtEnterPortal,
|
||||
pevtExitPortal
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerVitalType
|
||||
{
|
||||
pevtHealth = 2,
|
||||
pevtStamina = 4,
|
||||
pevtMana = 6
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Decal.Interop.Filters;
|
||||
|
||||
public enum PlayerXPType
|
||||
{
|
||||
pevtTotal,
|
||||
pevtUnassigned
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[Guid("3C1CBEF8-E72A-4BDF-B92E-4F3307109766")]
|
||||
[CoClass(typeof(PrefilterClass))]
|
||||
public interface Prefilter : IPrefilter, IPrefilterEvents_Event
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
namespace Decal.Interop.Filters;
|
||||
|
||||
[ComImport]
|
||||
[TypeLibType(2)]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[ComSourceInterfaces("Decal.Interop.Filters.IPrefilterEvents\0\0")]
|
||||
[Guid("443D4A68-5422-4E0C-9460-973F8FBDB190")]
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
public class PrefilterClass : IPrefilter, Prefilter, IPrefilterEvents_Event
|
||||
{
|
||||
public virtual extern event IPrefilterEvents_EventEventHandler Event;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue