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>
101 lines
2.3 KiB
Text
101 lines
2.3 KiB
Text
// DecalDat.idl : IDL source for DecalDat.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (DecalDat.tlb) and marshalling code.
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
[
|
|
object,
|
|
uuid(D501DE12-DD81-4CE1-8854-78CBCB96C2DB),
|
|
dual,
|
|
helpstring("IDatService Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IDatService : IDispatch
|
|
{
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(4EC04AB5-F87A-465D-B282-1B6C2E6068C9),
|
|
dual,
|
|
helpstring("IDatLibrary Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IDatLibrary : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Stream")] HRESULT Stream(DWORD File, [out, retval] LPUNKNOWN *pVal);
|
|
[id(2), helpstring("method Open")] HRESULT Open(BSTR Protocol, DWORD File, [out, retval] LPUNKNOWN *pFile);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(B27D3F72-2640-432F-BAE4-175E1AA0CA39),
|
|
helpstring("IDatStream Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IDatStream : IUnknown
|
|
{
|
|
[propget, helpstring("property Size")] HRESULT Size([out, retval] long *pVal);
|
|
[propget, helpstring("property Tell")] HRESULT Tell([out, retval] long *pVal);
|
|
[helpstring("method Skip")] HRESULT Skip(long Bytes);
|
|
[helpstring("method Restart")] HRESULT Restart();
|
|
[helpstring("method ReadBinary")] HRESULT ReadBinary(long Bytes, [size_is(Bytes)] BYTE *Buffer);
|
|
[helpstring("method Read")] HRESULT Read(long Bytes, [out, retval] BSTR *Data);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(1349EF1A-06EA-43e5-9026-4F3967C6C1D3),
|
|
helpstring("IFileFilter Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IFileFilter : IUnknown
|
|
{
|
|
[helpstring("method Initiailize")] HRESULT Initialize(IDatStream *Stream);
|
|
};
|
|
|
|
[
|
|
uuid(C2C11EC7-2CB9-4999-BDD9-AF599455601F),
|
|
version(1.0),
|
|
helpstring("DecalDat 1.0 Type Library")
|
|
]
|
|
library DecalDat
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
interface IFileFilter;
|
|
|
|
[
|
|
uuid(37B083F0-276E-43AD-8D26-3F7449B519DC),
|
|
helpstring("DatService Class")
|
|
]
|
|
coclass DatService
|
|
{
|
|
[default] interface IDatService;
|
|
};
|
|
|
|
[
|
|
uuid(6FA05FDA-B4B5-4386-AB45-92D7E6A5D698),
|
|
helpstring("DatLibrary Class"),
|
|
noncreatable
|
|
]
|
|
coclass DatLibrary
|
|
{
|
|
[default] interface IDatLibrary;
|
|
};
|
|
|
|
[
|
|
uuid(9F7F6CD9-D164-418D-8CB5-3B9ACD70BEAF),
|
|
helpstring("DatStream Class"),
|
|
noncreatable
|
|
]
|
|
coclass DatStream
|
|
{
|
|
[default] interface IDatStream;
|
|
};
|
|
};
|