0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-05-18 19:31:17 +03:00

unknown fixes

This commit is contained in:
bird_egop 2025-02-24 23:35:55 +03:00
parent c50512ea52
commit ba7c2afe2a
5 changed files with 22 additions and 7 deletions

View File

@ -22,7 +22,7 @@ public class GameObjectInfo
/// </remarks>
public int OwningClanIndex { get; set; }
public int UnknownInt3 { get; set; }
public int Order { get; set; }
public Vector3 Position { get; set; }
public Vector3 Rotation { get; set; }

View File

@ -0,0 +1,3 @@
namespace MissionTmaLib.Parsing;
public record MissionTma(ArealsFileData ArealData, ClansFileData ClansData, GameObjectsFileData GameObjectsData);

View File

@ -185,7 +185,11 @@ public class MissionTmaParser
if (3 < gameObjectsFeatureSet)
{
gameObjectInfo.UnknownInt3 = fileStream.ReadInt32LittleEndian();
gameObjectInfo.Order = fileStream.ReadInt32LittleEndian();
if (gameObjectInfo.Type == GameObjectType.Building)
{
gameObjectInfo.Order += int.MaxValue;
}
}
// читает 12 байт
@ -378,6 +382,4 @@ public class MissionTmaParser
lodeData
);
}
}
public record MissionTma(ArealsFileData ArealData, ClansFileData ClansData, GameObjectsFileData GameObjectsData);
}

View File

@ -1,5 +1,6 @@
using System.Numerics;
using ImGuiNET;
using MissionTmaLib;
using MissionTmaLib.Parsing;
using NativeFileDialogSharp;
using NResLib;
@ -91,6 +92,15 @@ namespace NResUI.ImGuiUI
var parseResult = MissionTmaParser.ReadFile(path);
_missionTmaViewModel.SetParseResult(parseResult, path);
var orderedBuildings = parseResult.Mission.GameObjectsData.GameObjectInfos.Where(x => x.Type == GameObjectType.Building)
.OrderBy(x => x.Order)
.ToList();
foreach (var gameObjectInfo in orderedBuildings)
{
Console.WriteLine($"{gameObjectInfo.Order} : {gameObjectInfo.DatString}");
}
}
}

View File

@ -254,9 +254,9 @@ public class MissionTmaExplorer : IImGuiPanel
ImGui.SameLine();
ImGui.Text(gameObjectInfo.OwningClanIndex.ToString());
ImGui.Text("Неизвестное число 3: ");
ImGui.Text("Порядковый номер: ");
ImGui.SameLine();
ImGui.Text(gameObjectInfo.UnknownInt3.ToString());
ImGui.Text(gameObjectInfo.Order.ToString());
ImGui.Text("Вектор позиции: ");
ImGui.SameLine();