Files
fparkan/docs/reference/tma.md
T
Valentin Popov 78fc5f1deb
Docs Deploy / Build and Deploy MkDocs (push) Successful in 34s
Test / Lint (push) Failing after 1m7s
Test / Test (push) Has been skipped
Test / Render parity (push) Has been skipped
docs: rewrite MkDocs documentation
2026-06-22 01:58:51 +04:00

1.8 KiB

TMA

data.tma -- основное описание расстановки и логической конфигурации миссии. Файл перечисляет paths, clans, objects, свойства, ссылку на ландшафт и extras.

String primitive

struct LpString {
    uint32_t byte_length;
    uint8_t  bytes[byte_length];
};

Reader продвигается ровно на 4 + byte_length. Завершающий NUL не является обязательной частью framing. Для человекочитаемого вида используется legacy ANSI/CP1251 view, но исходные bytes сохраняются.

Top level

u32 format_version
u32 path_count
PathRecord paths[path_count]
u32 clan_section_version
u32 clan_count
ClanRecord clans[clan_count]
u32 object_section_version
u32 object_count
PlacedObject objects[object_count]
LpString land_path
u32 mission_flag
LpString description_raw
u32 extra_section_version
u32 extra_count
ExtraRecord28 extras[extra_count]

Все 60 TMA Частей 1 и 2 проходят parser до точного EOF. Версии стабильны: верхний уровень 1, clan section 6, object section 10, property schema 1, trailing section 1.

PlacedObject

u32      raw_kind
u32      class_or_flags
LpString resource_name
u32      raw_after_resource
u32      identity_or_clan_raw
f32      position[3]
f32      orientation[3]
f32      scale[3]
LpString instance_name
u32      raw_after_name
i32      link0
i32      link1
u32      property_schema_version
u32      property_count
Property properties[property_count]

Property состоит из четырёх raw u32 и имени. Typed views разрешены только для доказанных property names и consumers.