openDecal/Managed/Decal.Adapter/Decal.Adapter.Wrappers/D3DObj.cs
erik d1442e3747 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>
2026-02-08 18:27:56 +01:00

289 lines
4 KiB
C#

using Decal.Interop.D3DService;
namespace Decal.Adapter.Wrappers;
public class D3DObj : GenericDisposableWrapper<CD3DObj>
{
public int Color
{
get
{
return base.Wrapped.color;
}
set
{
base.Wrapped.color = value;
}
}
public int Color2
{
get
{
return base.Wrapped.color2;
}
set
{
base.Wrapped.color2 = value;
}
}
public bool Autoscale
{
get
{
return base.Wrapped.autoscale;
}
set
{
base.Wrapped.autoscale = value;
}
}
public bool DrawBackface
{
get
{
return base.Wrapped.drawBackface;
}
set
{
base.Wrapped.drawBackface = value;
}
}
public float HBounce
{
get
{
return base.Wrapped.hBounce;
}
set
{
base.Wrapped.hBounce = value;
}
}
public float PBounce
{
get
{
return base.Wrapped.pBounce;
}
set
{
base.Wrapped.pBounce = value;
}
}
public float PFade
{
get
{
return base.Wrapped.pFade;
}
set
{
base.Wrapped.pFade = value;
}
}
public float POrbit
{
get
{
return base.Wrapped.pOrbit;
}
set
{
base.Wrapped.pOrbit = value;
}
}
public float PSpin
{
get
{
return base.Wrapped.pSpin;
}
set
{
base.Wrapped.pSpin = value;
}
}
public float ROrbit
{
get
{
return base.Wrapped.rOrbit;
}
set
{
base.Wrapped.rOrbit = value;
}
}
public float ScaleX
{
get
{
return base.Wrapped.scaleX;
}
set
{
base.Wrapped.scaleX = value;
}
}
public float ScaleY
{
get
{
return base.Wrapped.scaleY;
}
set
{
base.Wrapped.scaleY = value;
}
}
public float ScaleZ
{
get
{
return base.Wrapped.scaleZ;
}
set
{
base.Wrapped.scaleZ = value;
}
}
public bool Visible
{
get
{
return base.Wrapped.visible;
}
set
{
base.Wrapped.visible = value;
}
}
public float AnimationPhaseOffset
{
get
{
return base.Wrapped.AnimationPhaseOffset;
}
set
{
base.Wrapped.AnimationPhaseOffset = value;
}
}
public D3DObj(CD3DObj obj)
: base(obj)
{
}
protected override void Dispose(bool userCalled)
{
base.Dispose(userCalled);
}
public void Scale(float factor)
{
base.Wrapped.SetScale(factor);
}
public void OrientToCamera(bool verticalTilt)
{
base.Wrapped.OrientToCamera(verticalTilt);
}
public void OrientToCoords(float lat, float lng, float alt, bool verticalTilt)
{
base.Wrapped.OrientToCoords(lat, lng, alt, verticalTilt);
}
public void OrientToObject(int guid, float fractHeight, bool verticalTilt)
{
base.Wrapped.OrientToObject(guid, fractHeight, verticalTilt);
}
public void OrientToPlayer(bool verticalTilt)
{
base.Wrapped.OrientToPlayer(verticalTilt);
}
public void Anchor(float lat, float lng, float alt)
{
base.Wrapped.AnchorToCoords(lat, lng, alt);
}
public void Anchor(int id, float height, float dx, float dy, float dz)
{
base.Wrapped.AnchorToObject(id, height, dx, dy, dz);
}
public void SetText(string text)
{
SetText(D3DTextType.Text2D, text, "Arial", 0);
}
public void SetText(string text, string fontName)
{
SetText(D3DTextType.Text2D, text, fontName, 0);
}
public void SetText(string text, string fontName, int options)
{
SetText(D3DTextType.Text2D, text, fontName, options);
}
public void SetText(D3DTextType type, string text, string fontName, int options)
{
switch (type)
{
case D3DTextType.Text2D:
base.Wrapped.Set2DText(text, fontName, options);
break;
case D3DTextType.Text3D:
base.Wrapped.Set3DText(text, fontName, options);
break;
}
}
public void SetIcon(int id)
{
base.Wrapped.SetIcon(id);
}
public void SetIcon(string fileName)
{
base.Wrapped.SetIconFromFile(fileName);
}
public void SetIcon(int module, int res)
{
base.Wrapped.SetIconFromResource(module, res);
}
public void SetShape(D3DShape shape)
{
base.Wrapped.SetShape((eShape)shape);
}
public void SetShape(string fileName)
{
base.Wrapped.SetShapeFromFile(fileName);
}
public void SetShape(int module, int res)
{
base.Wrapped.SetShapeFromResource(module, res);
}
}