mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-05-18 19:31:17 +03:00
комментарии и дополнительные изыскания
This commit is contained in:
parent
135777a4c6
commit
8c4fc8f096
@ -20,7 +20,7 @@ public class ClanInfo
|
|||||||
/// Игра называет этот путь TreeName
|
/// Игра называет этот путь TreeName
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ResearchNResPath { get; set; }
|
public string ResearchNResPath { get; set; }
|
||||||
public int UnkInt3 { get; set; }
|
public int Brains { get; set; }
|
||||||
public int AlliesMapCount { get; set; }
|
public int AlliesMapCount { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -118,7 +118,7 @@ public class MissionTmaParser
|
|||||||
|
|
||||||
if (4 < clanFeatureSet)
|
if (4 < clanFeatureSet)
|
||||||
{
|
{
|
||||||
clanTreeInfo.UnkInt3 = fileStream.ReadInt32LittleEndian();
|
clanTreeInfo.Brains = fileStream.ReadInt32LittleEndian();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (5 < clanFeatureSet)
|
if (5 < clanFeatureSet)
|
||||||
|
@ -132,7 +132,7 @@ public class MissionTmaExplorer : IImGuiPanel
|
|||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
ImGui.Text(clanInfo.ClanType.ToReadableString());
|
ImGui.Text(clanInfo.ClanType.ToReadableString());
|
||||||
|
|
||||||
ImGui.Text("Скрипты поведения: ");
|
ImGui.Text("Скрипты поведения (Mission Scripts): ");
|
||||||
Utils.ShowHint("Пути к файлам .scr и .fml описывающих настройку объектов и поведение AI");
|
Utils.ShowHint("Пути к файлам .scr и .fml описывающих настройку объектов и поведение AI");
|
||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
ImGui.Text(clanInfo.ScriptsString);
|
ImGui.Text(clanInfo.ScriptsString);
|
||||||
@ -176,14 +176,14 @@ public class MissionTmaExplorer : IImGuiPanel
|
|||||||
ImGui.Text("Отсутствует неизвестная часть");
|
ImGui.Text("Отсутствует неизвестная часть");
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui.Text("Путь к файлу .trf: ");
|
ImGui.Text("Дерево исследований: ");
|
||||||
Utils.ShowHint("Не до конца понятно, что означает, вероятно это NRes с деревом исследований");
|
Utils.ShowHint("NRes с деревом исследований");
|
||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
ImGui.Text(clanInfo.ResearchNResPath);
|
ImGui.Text(clanInfo.ResearchNResPath);
|
||||||
|
|
||||||
ImGui.Text("Неизвестное число 3: ");
|
ImGui.Text("Количество мозгов (Brains))): ");
|
||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
ImGui.Text(clanInfo.UnkInt3.ToString());
|
ImGui.Text(clanInfo.Brains.ToString());
|
||||||
|
|
||||||
ImGui.Text("Матрица союзников");
|
ImGui.Text("Матрица союзников");
|
||||||
Utils.ShowHint("Если 1, то кланы - союзники, и не нападают друг на друга");
|
Utils.ShowHint("Если 1, то кланы - союзники, и не нападают друг на друга");
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using ImGuiNET;
|
using ImGuiNET;
|
||||||
using NResUI.Abstractions;
|
using NResUI.Abstractions;
|
||||||
using NResUI.Models;
|
using NResUI.Models;
|
||||||
|
using ScrLib;
|
||||||
|
|
||||||
namespace NResUI.ImGuiUI;
|
namespace NResUI.ImGuiUI;
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ public class ScrExplorer : IImGuiPanel
|
|||||||
ImGui.TableSetupColumn("Индекс встроенного скрипта");
|
ImGui.TableSetupColumn("Индекс встроенного скрипта");
|
||||||
ImGui.TableSetupColumn("UnkInner2");
|
ImGui.TableSetupColumn("UnkInner2");
|
||||||
ImGui.TableSetupColumn("UnkInner3");
|
ImGui.TableSetupColumn("UnkInner3");
|
||||||
ImGui.TableSetupColumn("Тип скрипта");
|
ImGui.TableSetupColumn("Тип действия");
|
||||||
ImGui.TableSetupColumn("UnkInner5");
|
ImGui.TableSetupColumn("UnkInner5");
|
||||||
ImGui.TableSetupColumn("Кол-во аргументов");
|
ImGui.TableSetupColumn("Кол-во аргументов");
|
||||||
ImGui.TableSetupColumn("Аргументы");
|
ImGui.TableSetupColumn("Аргументы");
|
||||||
@ -62,21 +63,66 @@ public class ScrExplorer : IImGuiPanel
|
|||||||
ImGui.TableNextRow();
|
ImGui.TableNextRow();
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.ScriptIndex.ToString());
|
ImGui.Text(inner.ScriptIndex.ToString());
|
||||||
|
|
||||||
|
if (inner.ScriptIndex == 2)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("Первый аргумент - номер проблемы");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inner.ScriptIndex == 4)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("Первый аргумент - номер проблемы");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inner.ScriptIndex == 8)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("Установить dCurrentProblem стейт (VARSET:arg0)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inner.ScriptIndex == 20)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("Первый аргумент - номер проблемы");
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.UnkInner2.ToString());
|
ImGui.Text(inner.UnkInner2.ToString());
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.UnkInner3.ToString());
|
ImGui.Text(inner.UnkInner3.ToString());
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.Type.ToString());
|
ImGui.Text($"{(int) inner.Type}: {inner.Type:G}");
|
||||||
|
if (inner.Type == ScrEntryInnerType._0)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("0 обязан иметь аргументы");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inner.Type == ScrEntryInnerType.CheckInternalState)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("Для 5 вообще не нужны данные, игра проверяет внутренний стейт");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inner.Type == ScrEntryInnerType.SetVarsetValue)
|
||||||
|
{
|
||||||
|
Utils.ShowHint("В случае 6, игра берёт UnkInner2 (индекс в Varset) и устанавливает ему значение UnkInner3");
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.UnkInner5.ToString());
|
ImGui.Text(inner.UnkInner5.ToString());
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.ArgumentsCount.ToString());
|
ImGui.Text(inner.ArgumentsCount.ToString());
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(string.Join(", ", inner.Arguments));
|
foreach (var argument in inner.Arguments)
|
||||||
|
{
|
||||||
|
if (ImGui.Button(argument.ToString()))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
ImGui.Text(inner.UnkInner7.ToString());
|
ImGui.Text(inner.UnkInner7.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui.EndTable();
|
ImGui.EndTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,13 +33,7 @@ public class ScrEntryInner
|
|||||||
public int UnkInner2 { get; set; }
|
public int UnkInner2 { get; set; }
|
||||||
public int UnkInner3 { get; set; }
|
public int UnkInner3 { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
public ScrEntryInnerType Type { get; set; }
|
||||||
/// 0,1,2,3,4,5,6,-1
|
|
||||||
/// </summary>
|
|
||||||
///
|
|
||||||
/// <para>1 - неизвестно</para>
|
|
||||||
/// <para>2 - noop</para>
|
|
||||||
public int Type { get; set; }
|
|
||||||
|
|
||||||
public int UnkInner5 { get; set; }
|
public int UnkInner5 { get; set; }
|
||||||
|
|
||||||
@ -48,4 +42,19 @@ public class ScrEntryInner
|
|||||||
public List<int> Arguments { get; set; }
|
public List<int> Arguments { get; set; }
|
||||||
|
|
||||||
public int UnkInner7 { get; set; }
|
public int UnkInner7 { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ScrEntryInnerType
|
||||||
|
{
|
||||||
|
Unspecified = -1,
|
||||||
|
_0 = 0,
|
||||||
|
_1 = 1,
|
||||||
|
_2 = 2,
|
||||||
|
_3 = 3,
|
||||||
|
_4 = 4,
|
||||||
|
CheckInternalState = 5,
|
||||||
|
/// <summary>
|
||||||
|
/// В случае 6, игра берёт UnkInner2 (индекс в Varset) и устанавливает ему значение UnkInner3
|
||||||
|
/// </summary>
|
||||||
|
SetVarsetValue = 6,
|
||||||
}
|
}
|
@ -31,7 +31,7 @@ public class ScrParser
|
|||||||
|
|
||||||
entryInner.UnkInner2 = fs.ReadInt32LittleEndian();
|
entryInner.UnkInner2 = fs.ReadInt32LittleEndian();
|
||||||
entryInner.UnkInner3 = fs.ReadInt32LittleEndian();
|
entryInner.UnkInner3 = fs.ReadInt32LittleEndian();
|
||||||
entryInner.Type = fs.ReadInt32LittleEndian();
|
entryInner.Type = (ScrEntryInnerType)fs.ReadInt32LittleEndian();
|
||||||
entryInner.UnkInner5 = fs.ReadInt32LittleEndian();
|
entryInner.UnkInner5 = fs.ReadInt32LittleEndian();
|
||||||
|
|
||||||
entryInner.ArgumentsCount = fs.ReadInt32LittleEndian();
|
entryInner.ArgumentsCount = fs.ReadInt32LittleEndian();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user