Skip to content

Commit 6afc52d

Browse files
author
StArray
committed
fix(ci): font missing fix
1 parent ad5e524 commit 6afc52d

6 files changed

Lines changed: 80 additions & 73 deletions

File tree

‎.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,5 @@ tests
6666
*.log
6767
!*.slnx.backup/
6868
Android/library/src/main/cpp/CMakeFiles/
69+
70+
*.i

‎StArray.ModManager.TestDxApp/D3D11Backend.cs‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*
12
using System.Runtime.CompilerServices;
23
using System.Runtime.InteropServices;
34
using System.Text;
@@ -141,7 +142,7 @@ ref Unsafe.NullRef<ID3DInclude>(),
141142
"vs_main", "vs_5_0", 0, 0,
142143
ref vertexCode, ref vertexErrors);
143144
144-
if (hr.IsFailure)
145+
if (hr.GetTypeCod)
145146
{
146147
if (vertexErrors.Handle is not null)
147148
Console.WriteLine(SilkMarshal.PtrToString((nint)vertexErrors.GetBufferPointer()));
@@ -280,3 +281,4 @@ public void Dispose()
280281
_dxgi.Dispose();
281282
}
282283
}
284+
*/

‎StArray.ModManager.TestDxApp/ITriangleBackend.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using Silk.NET.Maths;
12
using Silk.NET.Windowing;
23

34
namespace StArray.ModManager.TestDxApp;
Submodule kiero2 deleted from 8f57dd9
Submodule minhook deleted from d94c64d
Lines changed: 74 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,75 @@
1-
using System.Runtime.CompilerServices;
2-
using System.Runtime.InteropServices;
3-
using ImGuiNET;
4-
using StArray.ModManager.Manager;
5-
using StArray.ModManager.UI;
6-
using StArray.ModManager.Windows.Native;
7-
8-
namespace StArray.ModManager.Windows.UI;
9-
10-
public sealed unsafe class ImGuiDXRenderer : IImGuiRenderer
11-
{
12-
static ImGuiDXRenderer? s_i;
13-
public static ImGuiDXRenderer Instance => s_i ?? throw new("Not installed");
14-
public static bool Install() => (s_i = new ImGuiDXRenderer()).InstallInstance();
15-
16-
static Action? s_pending;
17-
public static event Action OnRender
18-
{
19-
add { if (s_i != null) s_i._onRender += value; else s_pending += value; }
20-
remove { if (s_i != null) s_i._onRender -= value; else s_pending -= value; }
21-
}
22-
23-
bool _ok; Action _onRender = () => { };
24-
25-
event Action IImGuiRenderer.OnRender { add => _onRender += value; remove => _onRender -= value; }
26-
public bool IsInitialized => _ok;
27-
bool IImGuiRenderer.Install() => InstallInstance();
28-
29-
unsafe bool InstallInstance()
30-
{
31-
try
32-
{
33-
int r = NativeApi.Init(
34-
(nint)(delegate* unmanaged[Cdecl]<IntPtr>)&InitCallback,
35-
(nint)(delegate* unmanaged[Cdecl]<void>)&ShutdownCallback,
36-
(nint)(delegate* unmanaged[Cdecl]<void>)&RenderCallback);
37-
Logger.Info(nameof(ImGuiDXRenderer), $"NativeInit={r}");
38-
39-
if (s_pending != null) { _onRender += s_pending; s_pending = null; }
40-
_ok = true; Logger.Info(nameof(ImGuiDXRenderer), "Ready (multi-backend)");
41-
return true;
42-
}
43-
catch (Exception e) { Logger.Error(nameof(ImGuiDXRenderer), $"fail: {e.Message}"); return false; }
44-
}
45-
46-
[UnmanagedCallersOnly(CallConvs = [typeof(CallConvCdecl)])]
47-
static IntPtr InitCallback()
48-
{
49-
Logger.Info(nameof(ImGuiDXRenderer), "Native Init");
50-
if (s_i != null)
51-
(s_i as IImGuiRenderer).InitImGui();
52-
return IntPtr.Zero;
53-
}
54-
55-
[UnmanagedCallersOnly(CallConvs = [typeof(CallConvCdecl)])]
56-
static void ShutdownCallback()
57-
{
58-
Logger.Info(nameof(ImGuiDXRenderer), "Shutdown");
59-
ImGui.DestroyContext();
60-
}
61-
62-
[UnmanagedCallersOnly(CallConvs = [typeof(CallConvCdecl)])]
63-
static void RenderCallback()
64-
{
65-
if (s_i == null) return;
66-
ImGui.NewFrame();
67-
try { s_i._onRender(); } catch (Exception e) { Logger.Error(nameof(ImGuiDXRenderer), $"Render error: {e.Message}"); }
68-
ImGui.EndFrame();
69-
ImGui.Render();
70-
}
1+
using System.Runtime.InteropServices;
2+
using ImGuiNET;
3+
using StArray.ModManager.Manager;
4+
using StArray.ModManager.UI;
5+
using StArray.ModManager.Windows.Native;
6+
7+
namespace StArray.ModManager.Windows.UI;
8+
9+
public sealed unsafe class ImGuiDXRenderer : IImGuiRenderer
10+
{
11+
static ImGuiDXRenderer? s_i;
12+
public static ImGuiDXRenderer Instance => s_i ?? throw new("Not installed");
13+
public static bool Install() => (s_i = new ImGuiDXRenderer()).InstallInstance();
14+
15+
static Action? s_pending;
16+
public static event Action OnRender
17+
{
18+
add { if (s_i != null) s_i._onRender += value; else s_pending += value; }
19+
remove { if (s_i != null) s_i._onRender -= value; else s_pending -= value; }
20+
}
21+
22+
bool _ok; Action _onRender = () => { };
23+
24+
static NativeApi.ImGuiInitCallback? _sInit;
25+
static NativeApi.ImGuiShutdownCallback? _sShutdown;
26+
static NativeApi.ImGuiRenderCallback? _sRender;
27+
28+
event Action IImGuiRenderer.OnRender { add => _onRender += value; remove => _onRender -= value; }
29+
public bool IsInitialized => _ok;
30+
bool IImGuiRenderer.Install() => InstallInstance();
31+
32+
bool InstallInstance()
33+
{
34+
try
35+
{
36+
_sInit = InitCallback;
37+
_sShutdown = ShutdownCallback;
38+
_sRender = RenderCallback;
39+
40+
int r = NativeApi.Init(
41+
Marshal.GetFunctionPointerForDelegate(_sInit),
42+
Marshal.GetFunctionPointerForDelegate(_sShutdown),
43+
Marshal.GetFunctionPointerForDelegate(_sRender));
44+
Logger.Info(nameof(ImGuiDXRenderer), $"NativeInit={r}");
45+
46+
if (s_pending != null) { _onRender += s_pending; s_pending = null; }
47+
_ok = true; Logger.Info(nameof(ImGuiDXRenderer), "Ready (multi-backend)");
48+
return true;
49+
}
50+
catch (Exception e) { Logger.Error(nameof(ImGuiDXRenderer), $"fail: {e.Message}"); return false; }
51+
}
52+
53+
static IntPtr InitCallback()
54+
{
55+
Logger.Info(nameof(ImGuiDXRenderer), "Init");
56+
if (s_i != null)
57+
(s_i as IImGuiRenderer).InitImGui();
58+
return IntPtr.Zero;
59+
}
60+
61+
static void ShutdownCallback()
62+
{
63+
Logger.Info(nameof(ImGuiDXRenderer), "Shutdown");
64+
ImGui.DestroyContext();
65+
}
66+
67+
static void RenderCallback()
68+
{
69+
if (s_i == null) return;
70+
ImGui.NewFrame();
71+
try { s_i._onRender(); } catch (Exception e) { Logger.Error(nameof(ImGuiDXRenderer), $"Render error: {e.Message}"); }
72+
ImGui.EndFrame();
73+
ImGui.Render();
74+
}
7175
}

0 commit comments

Comments
 (0)