mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2026-08-15 02:57:49 +04:00
refactor into projects
This commit is contained in:
@@ -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;
|
using Common;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace BasLib;
|
||||||
|
|
||||||
public record BasContours(InnerContour[] Inner, OuterContour[] Outer);
|
public record BasContours(InnerContour[] Inner, OuterContour[] Outer);
|
||||||
public record InnerContour(Vector3[] Points, uint[] Nums1, uint[] Nums2);
|
public record InnerContour(Vector3[] Points, uint[] Nums1, uint[] Nums2);
|
||||||
@@ -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;
|
using Common;
|
||||||
|
|
||||||
namespace ParkanPlayground.Effects;
|
namespace FxidLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Static reader methods for parsing FXID effect definition structures from binary streams.
|
/// Static reader methods for parsing FXID effect definition structures from binary streams.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Common;
|
using Common;
|
||||||
|
|
||||||
namespace ParkanPlayground.Effects;
|
namespace FxidLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Effect-level header at the start of each FXID file (60 bytes total).
|
/// Effect-level header at the start of each FXID file (60 bytes total).
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using System.Buffers.Binary;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x01: таблица узлов модели.
|
/// MSH-компонент 0x01: таблица узлов модели.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x02: общий bounds header и таблица geometry slots.
|
/// MSH-компонент 0x02: общий bounds header и таблица geometry slots.
|
||||||
@@ -2,7 +2,7 @@ using System.Buffers.Binary;
|
|||||||
using Common;
|
using Common;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x03: позиции вершин
|
/// MSH-компонент 0x03: позиции вершин
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x04: упакованные нормали вершин. clamp(component / 127.0, -1..1).
|
/// MSH-компонент 0x04: упакованные нормали вершин. clamp(component / 127.0, -1..1).
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using System.Buffers.Binary;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x05: упакованные UV0 (TEXCOORD0). component / 1024.0.
|
/// MSH-компонент 0x05: упакованные UV0 (TEXCOORD0). component / 1024.0.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using System.Buffers.Binary;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x06: индексный буфер.
|
/// MSH-компонент 0x06: индексный буфер.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x07: triangle descriptors.
|
/// MSH-компонент 0x07: triangle descriptors.
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using Common;
|
||||||
using Common;
|
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
public static class Msh0x08
|
public static class Msh0x08
|
||||||
{
|
{
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x0A: строки узлов.
|
/// MSH-компонент 0x0A: строки узлов.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using System.Buffers.Binary;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x0D: таблица render/intersection batches.
|
/// MSH-компонент 0x0D: таблица render/intersection batches.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x14: таблица локальных directional/probe light entries.
|
/// MSH-компонент 0x14: таблица локальных directional/probe light entries.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Buffers.Binary;
|
using System.Buffers.Binary;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MSH-компонент 0x15: terrain-таблица треугольников
|
/// MSH-компонент 0x15: terrain-таблица треугольников
|
||||||
@@ -2,7 +2,7 @@ using System.Text;
|
|||||||
using Common;
|
using Common;
|
||||||
using NResLib;
|
using NResLib;
|
||||||
|
|
||||||
namespace ParkanPlayground;
|
namespace MshLib;
|
||||||
|
|
||||||
public enum MshType
|
public enum MshType
|
||||||
{
|
{
|
||||||
@@ -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
|
```text
|
||||||
CAniMesh of TankObject
|
CAniMesh of TankObject
|
||||||
@@ -74,8 +76,8 @@ load_id группирует pieces по исходному .msh,
|
|||||||
## Вывод
|
## Вывод
|
||||||
|
|
||||||
По сути получается, что .msh это набор деталей.
|
По сути получается, что .msh это набор деталей.
|
||||||
CAniMesh всегда имеет 1 root модель и может иметь "приклееные" детали.
|
CAniMesh всегда имеет 1 root модель и может иметь "приклееные" детали.
|
||||||
При этом он самостоятельно выполняет перепривязку "приклееных" деталей.
|
При этом он самостоятельно выполняет перепривязку "приклееных" деталей.
|
||||||
Например, если "приклеиваемая" модель имеет 2 детали с каким-то parent, то
|
Например, если "приклеиваемая" модель имеет 2 детали с каким-то parent, то
|
||||||
CAniMesh сдвинет их parent так, чтобы указывать в нужное место.
|
CAniMesh сдвинет их parent так, чтобы указывать в нужное место.
|
||||||
|
|
||||||
@@ -4,16 +4,19 @@
|
|||||||
<File Path="Directory.Packages.props" />
|
<File Path="Directory.Packages.props" />
|
||||||
<File Path="README.md" />
|
<File Path="README.md" />
|
||||||
</Folder>
|
</Folder>
|
||||||
<Project Path="Common\Common.csproj" Type="C#" />
|
<Project Path="BasLib/BasLib.csproj" />
|
||||||
<Project Path="CpDatLib\CpDatLib.csproj" Type="C#" />
|
<Project Path="Common\Common.csproj" />
|
||||||
<Project Path="MaterialLib\MaterialLib.csproj" Type="C#" />
|
<Project Path="CpDatLib\CpDatLib.csproj" />
|
||||||
|
<Project Path="FxidLib/FxidLib.csproj" />
|
||||||
|
<Project Path="MaterialLib\MaterialLib.csproj" />
|
||||||
<Project Path="MissionTmaLib/MissionTmaLib.csproj" />
|
<Project Path="MissionTmaLib/MissionTmaLib.csproj" />
|
||||||
|
<Project Path="MshLib/MshLib.csproj" />
|
||||||
<Project Path="NLUnpacker/NLUnpacker.csproj" />
|
<Project Path="NLUnpacker/NLUnpacker.csproj" />
|
||||||
<Project Path="NResLib/NResLib.csproj" />
|
<Project Path="NResLib/NResLib.csproj" />
|
||||||
<Project Path="NResUI/NResUI.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="ParkanPlayground/ParkanPlayground.csproj" />
|
||||||
<Project Path="ResTreeLib\ResTreeLib.csproj" Type="C#" />
|
<Project Path="ResTreeLib\ResTreeLib.csproj" />
|
||||||
<Project Path="ScrLib/ScrLib.csproj" />
|
<Project Path="ScrLib/ScrLib.csproj" />
|
||||||
<Project Path="TexmLib/TexmLib.csproj" />
|
<Project Path="TexmLib/TexmLib.csproj" />
|
||||||
<Project Path="VarsetLib/VarsetLib.csproj" />
|
<Project Path="VarsetLib/VarsetLib.csproj" />
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\MissionTmaLib\MissionTmaLib.csproj" />
|
<ProjectReference Include="..\MissionTmaLib\MissionTmaLib.csproj" />
|
||||||
|
<ProjectReference Include="..\MshLib\MshLib.csproj" />
|
||||||
<ProjectReference Include="..\NResLib\NResLib.csproj" />
|
<ProjectReference Include="..\NResLib\NResLib.csproj" />
|
||||||
<ProjectReference Include="..\PalLib\PalLib.csproj" />
|
<ProjectReference Include="..\PalLib\PalLib.csproj" />
|
||||||
<ProjectReference Include="..\ResTreeLib\ResTreeLib.csproj" />
|
<ProjectReference Include="..\ResTreeLib\ResTreeLib.csproj" />
|
||||||
@@ -19,4 +20,8 @@
|
|||||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" />
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Effects\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using ParkanPlayground;
|
using MshLib;
|
||||||
|
|
||||||
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
|
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user