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
86
Managed/Decal.Adapter/Decal.Adapter.Wrappers/Hud.cs
Normal file
86
Managed/Decal.Adapter/Decal.Adapter.Wrappers/Hud.cs
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Decal.Interop.Render;
|
||||
|
||||
namespace Decal.Adapter.Wrappers;
|
||||
|
||||
[CLSCompliant(true)]
|
||||
public class Hud : HudRenderScalable
|
||||
{
|
||||
private HUDView internalView;
|
||||
|
||||
internal HUDView Underlying => internalView;
|
||||
|
||||
public bool Enabled
|
||||
{
|
||||
get
|
||||
{
|
||||
return internalView.Enabled;
|
||||
}
|
||||
set
|
||||
{
|
||||
internalView.Enabled = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int Id => internalView.ID;
|
||||
|
||||
public float Angle
|
||||
{
|
||||
get
|
||||
{
|
||||
return internalView.Angle;
|
||||
}
|
||||
set
|
||||
{
|
||||
internalView.Angle = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int Alpha
|
||||
{
|
||||
get
|
||||
{
|
||||
return internalView.Alpha;
|
||||
}
|
||||
set
|
||||
{
|
||||
internalView.Alpha = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal event EventHandler Disposing;
|
||||
|
||||
internal Hud(HUDView view)
|
||||
: base(view)
|
||||
{
|
||||
internalView = view;
|
||||
}
|
||||
|
||||
public void SetBackground(Background background)
|
||||
{
|
||||
if (background != null)
|
||||
{
|
||||
internalView.SetBackground(background.Underlying);
|
||||
return;
|
||||
}
|
||||
throw new ArgumentNullException("background");
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (disposing && this.Disposing != null)
|
||||
{
|
||||
this.Disposing(this, new EventArgs());
|
||||
}
|
||||
Marshal.ReleaseComObject(internalView);
|
||||
internalView = null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue