diff --git a/MshLib/Msh0x01.cs b/MshLib/Msh0x01.cs index f2d1b21..955f892 100644 --- a/MshLib/Msh0x01.cs +++ b/MshLib/Msh0x01.cs @@ -183,6 +183,29 @@ public enum NodeFlags : ushort /// MSH01_NO_SHADOW = 0x0040, + /// + /// If this MSH01 flag is set, depletion/restore of this NDP slot should not + /// participate in central-piece state updates. In practice it maps to + /// CONTROL_NDP_REF_FLAG_NO_CENTRAL_STATE_UPDATE and probably prevents this piece + /// from changing the "central" damage/mobility accounting. + /// + MSH01_NO_CENTRAL_STATE_UPDATE = 0x0100, + + /// + /// If this MSH01 flag is set, the matching ControlNdpRef becomes fatal/critical. + /// When that NDP slot is depleted, higher-level life logic likely treats the owning + /// object as destroyed or forces a kill/failure path. + /// + MSH01_NDP_FATAL_ON_DEPLETION = 0x0200, + + /// + /// If this MSH01 flag is set, this NDP slot derives or clamps its life ratio + /// from the parent piece/NDP slot. It maps to + /// CONTROL_NDP_REF_FLAG_INHERIT_PARENT_LIFE_RATIO and is likely used for + /// child/helper damage parts that should visually follow parent damage state. + /// + MSH01_NDP_INHERIT_PARENT_LIFE_RATIO = 0x0400, + /// /// Used during attached MSH load: if parent/root description contains "central", piece gets hidden/excluded flag. /// Exact semantic name still provisional. diff --git a/NResUI/ImGuiUI/MainMenuBar.cs b/NResUI/ImGuiUI/MainMenuBar.cs index 7a1e83e..cd10e73 100644 --- a/NResUI/ImGuiUI/MainMenuBar.cs +++ b/NResUI/ImGuiUI/MainMenuBar.cs @@ -1,4 +1,5 @@ using System.Numerics; +using System.Text.Json; using CpDatLib; using ImGuiNET; using MissionTmaLib; @@ -137,6 +138,7 @@ namespace NResUI.ImGuiUI cpDatSchemeViewModel.SetParseResult(parseResult, path); Console.WriteLine("Read cp .dat"); + Console.WriteLine(JsonSerializer.Serialize(parseResult.Scheme)); } } diff --git a/README.md b/README.md index 5b7f9a5..aed0bad 100644 --- a/README.md +++ b/README.md @@ -499,6 +499,20 @@ Does not call primitive->Render; merges primitives into batched dynamic-VB draws Same primitive pointer list style as PrimLayer2. Renders only when UseReflections is enabled and clears Z before render. +## Item system RE + +0x14 - CONTROL_ITEM_TYPE_CRITICAL_SUPPORT + +``` +If the unit has no special critical-support items, enter decay when total NDP life falls below the configured low-life threshold. + +If the unit has multiple critical-support items, ignore the normal HP threshold and instead enter decay when enough support items report a failed/low value. + +While in critical decay, apply continuous negative NDP life delta until the unit is destroyed. +``` + +0x16 - CONTROL_ITEM_TYPE_GUIDANCE + ## Контакты Вы можете связаться со мной в [Telegram](https://t.me/bird_egop).