From 28d10f3ffa98e8014b8d547bbba8a3bbb87e2e3f Mon Sep 17 00:00:00 2001 From: bird_egop Date: Sun, 17 May 2026 15:40:16 +0300 Subject: [PATCH] refactor into projects --- BasLib/BasLib.csproj | 13 +++++++++++++ {ParkanPlayground => BasLib}/BasParser.cs | 2 +- FxidLib/FxidLib.csproj | 14 ++++++++++++++ .../Effects => FxidLib}/FxidReader.cs | 2 +- {ParkanPlayground/Effects => FxidLib}/FxidTypes.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x01.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x02.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x03.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x04.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x05.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x06.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x07.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x08.cs | 5 ++--- {ParkanPlayground => MshLib}/Msh0x0A.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x0D.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x14.cs | 2 +- {ParkanPlayground => MshLib}/Msh0x15.cs | 2 +- {ParkanPlayground => MshLib}/MshConverter.cs | 2 +- MshLib/MshLib.csproj | 14 ++++++++++++++ ParkanPlayground/README_MSH.md => MshLib/README.md | 8 +++++--- {ParkanPlayground => MshLib/docs}/CAniMesh.md | 0 {ParkanPlayground => MshLib/docs}/MSH_FORMAT.md | 0 ParkanPlayground.slnx | 13 ++++++++----- ParkanPlayground/ParkanPlayground.csproj | 5 +++++ ParkanPlayground/Program.cs | 2 +- 25 files changed, 77 insertions(+), 27 deletions(-) create mode 100644 BasLib/BasLib.csproj rename {ParkanPlayground => BasLib}/BasParser.cs (98%) create mode 100644 FxidLib/FxidLib.csproj rename {ParkanPlayground/Effects => FxidLib}/FxidReader.cs (99%) rename {ParkanPlayground/Effects => FxidLib}/FxidTypes.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x01.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x02.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x03.cs (98%) rename {ParkanPlayground => MshLib}/Msh0x04.cs (98%) rename {ParkanPlayground => MshLib}/Msh0x05.cs (98%) rename {ParkanPlayground => MshLib}/Msh0x06.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x07.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x08.cs (94%) rename {ParkanPlayground => MshLib}/Msh0x0A.cs (98%) rename {ParkanPlayground => MshLib}/Msh0x0D.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x14.cs (99%) rename {ParkanPlayground => MshLib}/Msh0x15.cs (99%) rename {ParkanPlayground => MshLib}/MshConverter.cs (99%) create mode 100644 MshLib/MshLib.csproj rename ParkanPlayground/README_MSH.md => MshLib/README.md (94%) rename {ParkanPlayground => MshLib/docs}/CAniMesh.md (100%) rename {ParkanPlayground => MshLib/docs}/MSH_FORMAT.md (100%) diff --git a/BasLib/BasLib.csproj b/BasLib/BasLib.csproj new file mode 100644 index 0000000..820d11d --- /dev/null +++ b/BasLib/BasLib.csproj @@ -0,0 +1,13 @@ + + + + net9.0 + enable + enable + + + + + + + diff --git a/ParkanPlayground/BasParser.cs b/BasLib/BasParser.cs similarity index 98% rename from ParkanPlayground/BasParser.cs rename to BasLib/BasParser.cs index b7295e8..d188f92 100644 --- a/ParkanPlayground/BasParser.cs +++ b/BasLib/BasParser.cs @@ -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); diff --git a/FxidLib/FxidLib.csproj b/FxidLib/FxidLib.csproj new file mode 100644 index 0000000..568da04 --- /dev/null +++ b/FxidLib/FxidLib.csproj @@ -0,0 +1,14 @@ + + + + net9.0 + enable + enable + + + + + + + + diff --git a/ParkanPlayground/Effects/FxidReader.cs b/FxidLib/FxidReader.cs similarity index 99% rename from ParkanPlayground/Effects/FxidReader.cs rename to FxidLib/FxidReader.cs index 99be463..f760b41 100644 --- a/ParkanPlayground/Effects/FxidReader.cs +++ b/FxidLib/FxidReader.cs @@ -1,6 +1,6 @@ using Common; -namespace ParkanPlayground.Effects; +namespace FxidLib; /// /// Static reader methods for parsing FXID effect definition structures from binary streams. diff --git a/ParkanPlayground/Effects/FxidTypes.cs b/FxidLib/FxidTypes.cs similarity index 99% rename from ParkanPlayground/Effects/FxidTypes.cs rename to FxidLib/FxidTypes.cs index b0b4f70..914d8db 100644 --- a/ParkanPlayground/Effects/FxidTypes.cs +++ b/FxidLib/FxidTypes.cs @@ -1,6 +1,6 @@ using Common; -namespace ParkanPlayground.Effects; +namespace FxidLib; /// /// Effect-level header at the start of each FXID file (60 bytes total). diff --git a/ParkanPlayground/Msh0x01.cs b/MshLib/Msh0x01.cs similarity index 99% rename from ParkanPlayground/Msh0x01.cs rename to MshLib/Msh0x01.cs index cc04085..f2d1b21 100644 --- a/ParkanPlayground/Msh0x01.cs +++ b/MshLib/Msh0x01.cs @@ -1,7 +1,7 @@ using System.Buffers.Binary; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x01: таблица узлов модели. diff --git a/ParkanPlayground/Msh0x02.cs b/MshLib/Msh0x02.cs similarity index 99% rename from ParkanPlayground/Msh0x02.cs rename to MshLib/Msh0x02.cs index 3ef3d1d..caf2e35 100644 --- a/ParkanPlayground/Msh0x02.cs +++ b/MshLib/Msh0x02.cs @@ -2,7 +2,7 @@ using Common; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x02: общий bounds header и таблица geometry slots. diff --git a/ParkanPlayground/Msh0x03.cs b/MshLib/Msh0x03.cs similarity index 98% rename from ParkanPlayground/Msh0x03.cs rename to MshLib/Msh0x03.cs index 312b9b7..f0bbb6f 100644 --- a/ParkanPlayground/Msh0x03.cs +++ b/MshLib/Msh0x03.cs @@ -2,7 +2,7 @@ using System.Buffers.Binary; using Common; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x03: позиции вершин diff --git a/ParkanPlayground/Msh0x04.cs b/MshLib/Msh0x04.cs similarity index 98% rename from ParkanPlayground/Msh0x04.cs rename to MshLib/Msh0x04.cs index a27bc56..bccc58c 100644 --- a/ParkanPlayground/Msh0x04.cs +++ b/MshLib/Msh0x04.cs @@ -1,6 +1,6 @@ using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x04: упакованные нормали вершин. clamp(component / 127.0, -1..1). diff --git a/ParkanPlayground/Msh0x05.cs b/MshLib/Msh0x05.cs similarity index 98% rename from ParkanPlayground/Msh0x05.cs rename to MshLib/Msh0x05.cs index 35c2b95..0c37534 100644 --- a/ParkanPlayground/Msh0x05.cs +++ b/MshLib/Msh0x05.cs @@ -1,7 +1,7 @@ using System.Buffers.Binary; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x05: упакованные UV0 (TEXCOORD0). component / 1024.0. diff --git a/ParkanPlayground/Msh0x06.cs b/MshLib/Msh0x06.cs similarity index 99% rename from ParkanPlayground/Msh0x06.cs rename to MshLib/Msh0x06.cs index a04b299..092c9c3 100644 --- a/ParkanPlayground/Msh0x06.cs +++ b/MshLib/Msh0x06.cs @@ -1,7 +1,7 @@ using System.Buffers.Binary; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x06: индексный буфер. diff --git a/ParkanPlayground/Msh0x07.cs b/MshLib/Msh0x07.cs similarity index 99% rename from ParkanPlayground/Msh0x07.cs rename to MshLib/Msh0x07.cs index 325fa65..c447467 100644 --- a/ParkanPlayground/Msh0x07.cs +++ b/MshLib/Msh0x07.cs @@ -2,7 +2,7 @@ using Common; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x07: triangle descriptors. diff --git a/ParkanPlayground/Msh0x08.cs b/MshLib/Msh0x08.cs similarity index 94% rename from ParkanPlayground/Msh0x08.cs rename to MshLib/Msh0x08.cs index 7666853..44ed397 100644 --- a/ParkanPlayground/Msh0x08.cs +++ b/MshLib/Msh0x08.cs @@ -1,8 +1,7 @@ -using System.Buffers.Binary; -using Common; +using Common; using NResLib; -namespace ParkanPlayground; +namespace MshLib; public static class Msh0x08 { diff --git a/ParkanPlayground/Msh0x0A.cs b/MshLib/Msh0x0A.cs similarity index 98% rename from ParkanPlayground/Msh0x0A.cs rename to MshLib/Msh0x0A.cs index 15b077b..42a3ae3 100644 --- a/ParkanPlayground/Msh0x0A.cs +++ b/MshLib/Msh0x0A.cs @@ -2,7 +2,7 @@ using System.Text; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x0A: строки узлов. diff --git a/ParkanPlayground/Msh0x0D.cs b/MshLib/Msh0x0D.cs similarity index 99% rename from ParkanPlayground/Msh0x0D.cs rename to MshLib/Msh0x0D.cs index 2317050..80e9433 100644 --- a/ParkanPlayground/Msh0x0D.cs +++ b/MshLib/Msh0x0D.cs @@ -1,7 +1,7 @@ using System.Buffers.Binary; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x0D: таблица render/intersection batches. diff --git a/ParkanPlayground/Msh0x14.cs b/MshLib/Msh0x14.cs similarity index 99% rename from ParkanPlayground/Msh0x14.cs rename to MshLib/Msh0x14.cs index b694a5b..8427ac3 100644 --- a/ParkanPlayground/Msh0x14.cs +++ b/MshLib/Msh0x14.cs @@ -2,7 +2,7 @@ using System.Numerics; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x14: таблица локальных directional/probe light entries. diff --git a/ParkanPlayground/Msh0x15.cs b/MshLib/Msh0x15.cs similarity index 99% rename from ParkanPlayground/Msh0x15.cs rename to MshLib/Msh0x15.cs index 121796e..5e6372b 100644 --- a/ParkanPlayground/Msh0x15.cs +++ b/MshLib/Msh0x15.cs @@ -1,7 +1,7 @@ using System.Buffers.Binary; using NResLib; -namespace ParkanPlayground; +namespace MshLib; /// /// MSH-компонент 0x15: terrain-таблица треугольников diff --git a/ParkanPlayground/MshConverter.cs b/MshLib/MshConverter.cs similarity index 99% rename from ParkanPlayground/MshConverter.cs rename to MshLib/MshConverter.cs index 352cc08..46aab0b 100644 --- a/ParkanPlayground/MshConverter.cs +++ b/MshLib/MshConverter.cs @@ -2,7 +2,7 @@ using System.Text; using Common; using NResLib; -namespace ParkanPlayground; +namespace MshLib; public enum MshType { diff --git a/MshLib/MshLib.csproj b/MshLib/MshLib.csproj new file mode 100644 index 0000000..568da04 --- /dev/null +++ b/MshLib/MshLib.csproj @@ -0,0 +1,14 @@ + + + + net9.0 + enable + enable + + + + + + + + diff --git a/ParkanPlayground/README_MSH.md b/MshLib/README.md similarity index 94% rename from ParkanPlayground/README_MSH.md rename to MshLib/README.md index d8947f0..426f586 100644 --- a/ParkanPlayground/README_MSH.md +++ b/MshLib/README.md @@ -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 так, чтобы указывать в нужное место. diff --git a/ParkanPlayground/CAniMesh.md b/MshLib/docs/CAniMesh.md similarity index 100% rename from ParkanPlayground/CAniMesh.md rename to MshLib/docs/CAniMesh.md diff --git a/ParkanPlayground/MSH_FORMAT.md b/MshLib/docs/MSH_FORMAT.md similarity index 100% rename from ParkanPlayground/MSH_FORMAT.md rename to MshLib/docs/MSH_FORMAT.md diff --git a/ParkanPlayground.slnx b/ParkanPlayground.slnx index 1648a45..449019b 100644 --- a/ParkanPlayground.slnx +++ b/ParkanPlayground.slnx @@ -4,16 +4,19 @@ - - - + + + + + + - + - + diff --git a/ParkanPlayground/ParkanPlayground.csproj b/ParkanPlayground/ParkanPlayground.csproj index ae934d4..450b9b3 100644 --- a/ParkanPlayground/ParkanPlayground.csproj +++ b/ParkanPlayground/ParkanPlayground.csproj @@ -6,6 +6,7 @@ + @@ -19,4 +20,8 @@ + + + + diff --git a/ParkanPlayground/Program.cs b/ParkanPlayground/Program.cs index 283cea7..d8d9dcb 100644 --- a/ParkanPlayground/Program.cs +++ b/ParkanPlayground/Program.cs @@ -1,5 +1,5 @@ using Common; -using ParkanPlayground; +using MshLib; System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);