refactor into projects

This commit is contained in:
bird_egop
2026-05-17 15:40:16 +03:00
parent a5a14ec4ed
commit 28d10f3ffa
25 changed files with 77 additions and 27 deletions
+13
View File
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
</ItemGroup>
</Project>
@@ -1,6 +1,6 @@
using Common;
namespace ParkanPlayground;
namespace BasLib;
public record BasContours(InnerContour[] Inner, OuterContour[] Outer);
public record InnerContour(Vector3[] Points, uint[] Nums1, uint[] Nums2);
+14
View File
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
<ProjectReference Include="..\NResLib\NResLib.csproj" />
</ItemGroup>
</Project>
@@ -1,6 +1,6 @@
using Common;
namespace ParkanPlayground.Effects;
namespace FxidLib;
/// <summary>
/// Static reader methods for parsing FXID effect definition structures from binary streams.
@@ -1,6 +1,6 @@
using Common;
namespace ParkanPlayground.Effects;
namespace FxidLib;
/// <summary>
/// Effect-level header at the start of each FXID file (60 bytes total).
@@ -1,7 +1,7 @@
using System.Buffers.Binary;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x01: таблица узлов модели.
@@ -2,7 +2,7 @@
using Common;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x02: общий bounds header и таблица geometry slots.
@@ -2,7 +2,7 @@ using System.Buffers.Binary;
using Common;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x03: позиции вершин
@@ -1,6 +1,6 @@
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x04: упакованные нормали вершин. clamp(component / 127.0, -1..1).
@@ -1,7 +1,7 @@
using System.Buffers.Binary;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x05: упакованные UV0 (TEXCOORD0). component / 1024.0.
@@ -1,7 +1,7 @@
using System.Buffers.Binary;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x06: индексный буфер.
@@ -2,7 +2,7 @@
using Common;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x07: triangle descriptors.
@@ -1,8 +1,7 @@
using System.Buffers.Binary;
using Common;
using Common;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
public static class Msh0x08
{
@@ -2,7 +2,7 @@
using System.Text;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x0A: строки узлов.
@@ -1,7 +1,7 @@
using System.Buffers.Binary;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x0D: таблица render/intersection batches.
@@ -2,7 +2,7 @@
using System.Numerics;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x14: таблица локальных directional/probe light entries.
@@ -1,7 +1,7 @@
using System.Buffers.Binary;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
/// <summary>
/// MSH-компонент 0x15: terrain-таблица треугольников
@@ -2,7 +2,7 @@ using System.Text;
using Common;
using NResLib;
namespace ParkanPlayground;
namespace MshLib;
public enum MshType
{
+14
View File
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
<ProjectReference Include="..\NResLib\NResLib.csproj" />
</ItemGroup>
</Project>
@@ -1,4 +1,6 @@
Допустим, игровой объект — **танк/бот с башней, пушкой и ракетницей**.
## Из RE
Допустим, игровой объект — **танк/бот с башней, пушкой и ракетницей**.
```text
CAniMesh of TankObject
@@ -74,8 +76,8 @@ load_id группирует pieces по исходному .msh,
## Вывод
По сути получается, что .msh это набор деталей.
CAniMesh всегда имеет 1 root модель и может иметь "приклееные" детали.
При этом он самостоятельно выполняет перепривязку "приклееных" деталей.
CAniMesh всегда имеет 1 root модель и может иметь "приклееные" детали.
При этом он самостоятельно выполняет перепривязку "приклееных" деталей.
Например, если "приклеиваемая" модель имеет 2 детали с каким-то parent, то
CAniMesh сдвинет их parent так, чтобы указывать в нужное место.
+8 -5
View File
@@ -4,16 +4,19 @@
<File Path="Directory.Packages.props" />
<File Path="README.md" />
</Folder>
<Project Path="Common\Common.csproj" Type="C#" />
<Project Path="CpDatLib\CpDatLib.csproj" Type="C#" />
<Project Path="MaterialLib\MaterialLib.csproj" Type="C#" />
<Project Path="BasLib/BasLib.csproj" />
<Project Path="Common\Common.csproj" />
<Project Path="CpDatLib\CpDatLib.csproj" />
<Project Path="FxidLib/FxidLib.csproj" />
<Project Path="MaterialLib\MaterialLib.csproj" />
<Project Path="MissionTmaLib/MissionTmaLib.csproj" />
<Project Path="MshLib/MshLib.csproj" />
<Project Path="NLUnpacker/NLUnpacker.csproj" />
<Project Path="NResLib/NResLib.csproj" />
<Project Path="NResUI/NResUI.csproj" />
<Project Path="PalLib\PalLib.csproj" Type="C#" />
<Project Path="PalLib\PalLib.csproj" />
<Project Path="ParkanPlayground/ParkanPlayground.csproj" />
<Project Path="ResTreeLib\ResTreeLib.csproj" Type="C#" />
<Project Path="ResTreeLib\ResTreeLib.csproj" />
<Project Path="ScrLib/ScrLib.csproj" />
<Project Path="TexmLib/TexmLib.csproj" />
<Project Path="VarsetLib/VarsetLib.csproj" />
+5
View File
@@ -6,6 +6,7 @@
<ItemGroup>
<ProjectReference Include="..\MissionTmaLib\MissionTmaLib.csproj" />
<ProjectReference Include="..\MshLib\MshLib.csproj" />
<ProjectReference Include="..\NResLib\NResLib.csproj" />
<ProjectReference Include="..\PalLib\PalLib.csproj" />
<ProjectReference Include="..\ResTreeLib\ResTreeLib.csproj" />
@@ -19,4 +20,8 @@
<PackageReference Include="SixLabors.ImageSharp.Drawing" />
</ItemGroup>
<ItemGroup>
<Folder Include="Effects\" />
</ItemGroup>
</Project>
+1 -1
View File
@@ -1,5 +1,5 @@
using Common;
using ParkanPlayground;
using MshLib;
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);