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
273
Native/Include/DecalFilters.idl
Normal file
273
Native/Include/DecalFilters.idl
Normal file
|
|
@ -0,0 +1,273 @@
|
|||
// DecalFilters.idl : IDL source for DecalFilters.dll
|
||||
//
|
||||
|
||||
// This file will be processed by the MIDL tool to
|
||||
// produce the type library (DecalFilters.tlb) and marshalling code.
|
||||
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
import "DecalNet.idl";
|
||||
|
||||
enum eTrainingType
|
||||
{
|
||||
eTrainUnusable,
|
||||
eTrainUntrained,
|
||||
eTrainTrained,
|
||||
eTrainSpecialized
|
||||
};
|
||||
|
||||
enum eAttributeID
|
||||
{
|
||||
eAttrStrength = 1,
|
||||
eAttrEndurance = 2,
|
||||
eAttrQuickness = 3,
|
||||
eAttrCoordination = 4,
|
||||
eAttrFocus = 5,
|
||||
eAttrSelf = 6
|
||||
};
|
||||
|
||||
enum eSkillID
|
||||
{
|
||||
eSkillAxe = 1,
|
||||
eSkillBow = 2,
|
||||
eSkillCrossbow = 3,
|
||||
eSkillDagger = 4,
|
||||
eSkillMace = 5,
|
||||
eSkillMeleeDefense = 6,
|
||||
eSkillMissileDefense = 7,
|
||||
eSkillSpear = 9,
|
||||
eSkillStaff = 10,
|
||||
eSkillSword = 11,
|
||||
eSkillThrownWeapons = 12,
|
||||
eSkillUnarmed = 13,
|
||||
eSkillArcaneLore = 14,
|
||||
eSkillMagicDefense = 15,
|
||||
eSkillManaConversion = 16,
|
||||
eSkillAppraiseItem = 18,
|
||||
eSkillAssessPerson = 19,
|
||||
eSkillDeception = 20,
|
||||
eSkillHealing = 21,
|
||||
eSkillJump = 22,
|
||||
eSkillLockpick = 23,
|
||||
eSkillRun = 24,
|
||||
eSkillAssessCreature = 27,
|
||||
eSkillAppraiseWeapon = 28,
|
||||
eSkillAppraiseArmour = 29,
|
||||
eSkillAppraiseMagicItem = 30,
|
||||
eSkillCreatureEnchantment = 31,
|
||||
eSkillItemEnchantment = 32,
|
||||
eSkillLifeMagic = 33,
|
||||
eSkillWarMagic = 34,
|
||||
eSkillLeadership = 35,
|
||||
eSkillLoyalty = 36,
|
||||
eSkillFletching = 37,
|
||||
eSkillAlchemy = 38,
|
||||
eSkillCooking = 39
|
||||
};
|
||||
|
||||
enum eVitalID
|
||||
{
|
||||
eHealth = 1,
|
||||
eStamina = 2,
|
||||
eMana = 3
|
||||
};
|
||||
|
||||
enum eStatisticType
|
||||
{
|
||||
eStatBurden = 5,
|
||||
eStatPyreal = 20,
|
||||
eStatExperience = 21,
|
||||
eStatUnassignedExp = 22,
|
||||
eStatUnassignedSkillPoints = 24,
|
||||
eStatLevel = 25,
|
||||
eStatRank = 30
|
||||
};
|
||||
|
||||
enum eStringType
|
||||
{
|
||||
eStringName = 1,
|
||||
eStringGender = 3,
|
||||
eStringRace = 4,
|
||||
eStringClass = 5
|
||||
};
|
||||
|
||||
[
|
||||
uuid(236B3F19-8F40-492b-A462-0EB4447A6296),
|
||||
helpstring("IEchoEvents Interface")
|
||||
]
|
||||
dispinterface IEchoEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method EchoMessage")] void EchoMessage(IMessage *Message);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(A67C748D-2427-4a13-A114-7ACC1D4C9433),
|
||||
helpstring("IPrefilterEvents Interface")
|
||||
]
|
||||
dispinterface IPrefilterEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method Event")] void Event(long ID, IMessage *Message);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(B6496852-E977-4DA2-884D-09AFEA3D7582),
|
||||
dual,
|
||||
helpstring("IAttributeInfo Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAttributeInfo : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propget, id(2), helpstring("property Creation")] HRESULT Creation([out, retval] long *pVal);
|
||||
[propget, id(3), helpstring("property Exp")] HRESULT Exp([out, retval] long *pVal);
|
||||
[propget, id(4), helpstring("property Current")] HRESULT Current([out, retval] long *pVal);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(6FBA5326-F234-4AEC-B844-2136A0D50FD5),
|
||||
dual,
|
||||
helpstring("ISkillInfo Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ISkillInfo : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propget, id(2), helpstring("property ShortName")] HRESULT ShortName([out, retval] BSTR *pVal);
|
||||
[propget, id(3), helpstring("property Formula")] HRESULT Formula([out, retval] BSTR *pVal);
|
||||
[propget, id(4), helpstring("property Base")] HRESULT Base([out, retval] long *pVal);
|
||||
[propget, id(5), helpstring("property Current")] HRESULT Current([out, retval] long *pVal);
|
||||
[propget, id(6), helpstring("property Exp")] HRESULT Exp([out, retval] long *pVal);
|
||||
[propget, id(7), helpstring("property Training")] HRESULT Training([out, retval] enum eTrainingType *pVal);
|
||||
[propget, id(8), helpstring("property Known")] HRESULT Known([out, retval] VARIANT_BOOL *pVal);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(BFBE3A29-5F61-4973-9A74-EF50B328225E),
|
||||
dual,
|
||||
helpstring("INetworkFilter Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEchoFilter : IDispatch
|
||||
{
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(0CE57594-4E30-4446-956D-CE460C7355AF),
|
||||
dual,
|
||||
helpstring("ICharacterStats Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICharacterStats : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property Character")] HRESULT Character([out, retval] long *pVal);
|
||||
[propget, id(2), helpstring("property Level")] HRESULT Level([out, retval] long *pVal);
|
||||
[propget, id(3), helpstring("property Rank")] HRESULT Rank([out, retval] long *pVal);
|
||||
[propget, id(4), helpstring("property TotalExp")] HRESULT TotalExp([out, retval] long *pVal);
|
||||
[propget, id(5), helpstring("property UnassignedExp")] HRESULT UnassignedExp([out, retval] long *pVal);
|
||||
[propget, id(6), helpstring("property SkillPoints")] HRESULT SkillPoints([out, retval] long *pVal);
|
||||
[propget, id(7), helpstring("property Server")] HRESULT Server([out, retval] BSTR *pVal);
|
||||
[propget, id(8), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propget, id(9), helpstring("property Race")] HRESULT Race([out, retval] BSTR *pVal);
|
||||
[propget, id(10), helpstring("property Gender")] HRESULT Gender([out, retval] BSTR *pVal);
|
||||
[propget, id(11), helpstring("property ClassTemplate")] HRESULT ClassTemplate([out, retval] BSTR *pVal);
|
||||
[propget, id(12), helpstring("property AttributeCount")] HRESULT AttributeCount([out, retval] long *pVal);
|
||||
[propget, id(13), helpstring("property SkillCount")] HRESULT SkillCount([out, retval] long *pVal);
|
||||
[propget, id(14), helpstring("property VitalCount")] HRESULT VitalCount([out, retval] long *pVal);
|
||||
[propget, id(15), helpstring("property Attribute")] HRESULT Attribute(enum eAttributeID Index, [out, retval] IAttributeInfo * *pVal);
|
||||
[propget, id(16), helpstring("property Skill")] HRESULT Skill(enum eSkillID Index, [out, retval] ISkillInfo * *pVal);
|
||||
[propget, id(17), helpstring("property Vital")] HRESULT Vital(enum eVitalID Index, [out, retval] ISkillInfo * *pVal);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(DA16DAA9-7F16-45D9-A59F-8C45A7F2ACB1),
|
||||
version(1.0),
|
||||
helpstring("Decal Network Filters Type Library")
|
||||
]
|
||||
library DecalFilters
|
||||
{
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
dispinterface IEchoEvents;
|
||||
dispinterface IPrefilterEvents;
|
||||
|
||||
[
|
||||
uuid(8C2FA400-315D-41DE-B063-D6EF04F12E1F),
|
||||
helpstring("EchoFilter Class")
|
||||
]
|
||||
coclass EchoFilter
|
||||
{
|
||||
[default] interface IEchoFilter;
|
||||
[default, source] dispinterface IEchoEvents;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(0B60F187-13CD-4E35-B8A2-FE128F05CA6B),
|
||||
helpstring("_ICharacterStatsEvents Interface")
|
||||
]
|
||||
dispinterface ICharacterStatsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method Login")] HRESULT Login(long character);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(3C1CBEF8-E72A-4BDF-B92E-4F3307109766),
|
||||
dual,
|
||||
helpstring("IPrefilter Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IPrefilter : IDispatch
|
||||
{
|
||||
};
|
||||
|
||||
[
|
||||
uuid(4540C969-08D1-46BF-97AD-6B19D3C10BEE),
|
||||
helpstring("CharacterStats Class")
|
||||
]
|
||||
coclass CharacterStats
|
||||
{
|
||||
[default] interface ICharacterStats;
|
||||
[default, source] dispinterface ICharacterStatsEvents;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(AF42E9D7-E3F3-416B-AF32-A411F3F6EE72),
|
||||
helpstring("AttributeInfo Class"),
|
||||
noncreatable
|
||||
]
|
||||
coclass AttributeInfo
|
||||
{
|
||||
[default] interface IAttributeInfo;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(652DA384-AA3B-4F9D-9730-8CF753DA1A31),
|
||||
helpstring("SkillInfo Class"),
|
||||
noncreatable
|
||||
]
|
||||
coclass SkillInfo
|
||||
{
|
||||
[default] interface ISkillInfo;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(443D4A68-5422-4E0C-9460-973F8FBDB190),
|
||||
helpstring("Prefilter Class")
|
||||
]
|
||||
coclass Prefilter
|
||||
{
|
||||
[default] interface IPrefilter;
|
||||
[default, source] dispinterface IPrefilterEvents;
|
||||
};
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue