1
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-12-12 01:31:20 +04:00

feat: Add landscape mesh support to MshConverter

- Auto-detect Model vs Landscape mesh types
- Model: uses indexed triangles (06, 0D, 07)
- Landscape: uses direct triangles (0B, 15)
- Add MSH_FORMAT.md documentation (Russian)
- Add Ghidra decompiled code for CLandscape
This commit is contained in:
bird_egop
2025-12-05 18:04:50 +03:00
parent 4951550420
commit fcfb8d0e8a
7 changed files with 4264 additions and 98 deletions

View File

@@ -0,0 +1,33 @@
using ParkanPlayground;
// ========== MSH CONVERTER TEST - AUTO-DETECTING MODEL VS LANDSCAPE ==========
var converter = new MshConverter();
// Test with landscape
Console.WriteLine("=".PadRight(60, '='));
converter.Convert(
@"C:\Program Files (x86)\Nikita\Iron Strategy\DATA\MAPS\SC_1\Land.msh",
"landscape_lod0.obj",
lodLevel: 0
);
Console.WriteLine();
// Test with landscape LOD 1 (lower detail)
Console.WriteLine("=".PadRight(60, '='));
converter.Convert(
@"C:\Program Files (x86)\Nikita\Iron Strategy\DATA\MAPS\SC_1\Land.msh",
"landscape_lod1.obj",
lodLevel: 1
);
Console.WriteLine();
// Test with model
Console.WriteLine("=".PadRight(60, '='));
converter.Convert(
@"E:\ParkanUnpacked\fortif.rlb\133_fr_m_bunker.msh",
"bunker_lod0.obj",
lodLevel: 0
);