diff --git a/ghidra/generated/sots_addresses.h b/ghidra/generated/sots_addresses.h index c9d7628..7fba331 100644 --- a/ghidra/generated/sots_addresses.h +++ b/ghidra/generated/sots_addresses.h @@ -1,5 +1,5 @@ // GENERATED — do not edit. Facts about Sword of the Stars.exe (GOG 1.8.1). -// Source: sots-re ghidra/addresses.json @ ae00053, generated 2026-09-08 by tools/gen_addresses.py +// Source: sots-re ghidra/addresses.json @ 805409e, generated 2026-09-08 by tools/gen_addresses.py // Runtime address = (uintptr_t)GetModuleHandle(NULL) + RVA (the exe is ASLR-relocated). #pragma once #include @@ -1237,6 +1237,64 @@ constexpr uint32_t Game_StarSystem_OutputRates_Write = 0x00345190; constexpr uint32_t Game_StarSystem_OutputRates_Read = 0x003472a0; // layout sizeof(Game::StarSystem::OutputRates) -- enumeration meets embedding [verified] constexpr uint32_t sizeof_Game_StarSystem_OutputRates = 0x0000001c; +// thiscall void (Game::StrategyAIAgent::Streamable* this, Mars::Stream* s) // the body of every `Player..AIAgent` CD block. 36 wire items, NO conditionals: the only `if` the decompiler shows around `lnat` is an inlined std::vector destructor whose operator delete is marked noreturn, and both paths converge at 0x006c72e8. The agent object is *(this+4) [verified] +constexpr uint32_t Game_StrategyAIAgent_Streamable_Write = 0x002c6f00; +// thiscall bool (Game::StrategyAIAgent::Streamable* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_StrategyAIAgent_Streamable_Read = 0x002c8fd0; +// thiscall void (Game::StrategyAIAgent::DesignNameGen* this, Mars::Stream* s) // `dnnc` = (this+8 - this+4)/0x24, then dnnc x { dnid: StreamableHelper at elem+0, dnnm: WriteString at elem+8 }. Element stride 0x24 = ShipSectionID(8) + Mars::String(0x1c) [verified] +constexpr uint32_t Game_StrategyAIAgent_DesignNameGen_Write = 0x002c77a0; +// thiscall bool (Game::StrategyAIAgent::DesignNameGen* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_StrategyAIAgent_DesignNameGen_Read = 0x002ccc70; +// thiscall void (Game::AISituation* this, Mars::Stream* s) // AISitSecs = AIWeightMap at this+0, AISitWeapFams = AIWeightMap> at this+0x10. sizeof >= 0x20 [verified] +constexpr uint32_t Game_AISituation_Write = 0x0029a220; +// thiscall bool (Game::AISituation* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AISituation_Read = 0x0029a160; +// thiscall void (Game::AISystem* this, Mars::Stream* s) // writes ONE `AISysSit` frame and nothing else, and the AISituation it writes is constructed empty on the stack -- `this` is never read. Every AISys body on disk is therefore two empty weight maps regardless of game state [verified] +constexpr uint32_t Game_AISystem_Write = 0x002bda30; +// thiscall bool (Game::AISystem* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AISystem_Read = 0x002bd960; +// thiscall void (Game::AttribMap* this, Mars::Stream* s) // count = *(this+8) (the tree's _Mysize; _Myhead is at this+4), then a red-black walk writing two NULL-named strings per node -- key at node+0x0c, value at node+0x28, _Isnil at node+0x45. So AttribMap is a std::map [verified] +constexpr uint32_t Game_AttribMap_Write = 0x0019ee60; +// thiscall bool (Game::AttribMap* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AttribMap_Read = 0x001a8a60; +// thiscall void (Game::AIWeightMap* this, Mars::Stream* s) // NULL-named count = span/0xc, then n x { NULL-named StreamableHelper frame at elem+0, NULL-named float at elem+8 } [verified] +constexpr uint32_t Game_AIWeightMap_ShipSectionID_Write = 0x00296b40; +// thiscall bool (Game::AIWeightMap* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AIWeightMap_ShipSectionID_Read = 0x002bff00; +// thiscall void (Game::AIWeightMap>* this, Mars::Stream* s) // NULL-named count = span>>3, then n x { NULL-named StreamableHelper> frame at elem+0, NULL-named float at elem+4 } [verified] +constexpr uint32_t Game_AIWeightMap_StreamableEnumUInt_Write = 0x00296c50; +// thiscall bool (Game::AIWeightMap>* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AIWeightMap_StreamableEnumUInt_Read = 0x002b57c0; +// thiscall void (Game::AIWeightMap>* this, Mars::Stream* s) // same wire shape as the uint instantiation; `AITurnPris` [verified] +constexpr uint32_t Game_AIWeightMap_AIPurposeID_Write = 0x0029b590; +// thiscall bool (Game::AIWeightMap>* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AIWeightMap_AIPurposeID_Read = 0x002c01a0; +// thiscall void (Game::AIWeightMap>* this, Mars::Stream* s) // same wire shape as the uint instantiation; `AISitWeapFams` [verified] +constexpr uint32_t Game_AIWeightMap_WeaponFamilyID_Write = 0x0029b4c0; +// thiscall bool (Game::AIWeightMap>* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_AIWeightMap_WeaponFamilyID_Read = 0x002bffe0; +// thiscall void (Game::ShipSectionID* this, Mars::Stream* s) // two NULL-named ints, at this+0 and this+4 [verified] +constexpr uint32_t Game_ShipSectionID_Write = 0x0016ed50; +// thiscall bool (Game::ShipSectionID* this, Mars::Stream* s) [verified] +constexpr uint32_t Game_ShipSectionID_Read = 0x0016ed10; +// data void* [3] // { 0x004f7230 scalar-deleting dtor, 0x00697ae0 Read, 0x0054b6e0 Write } [verified] +constexpr uint32_t Mars_StreamableHelper_StreamableEnumUInt_vftable = 0x005e24b8; +// thiscall void (Mars::StreamableHelper>* this, Mars::Stream* s) // writes exactly ONE NULL-named int. So a StreamableEnum member is a FRAME on the wire whose body is a single int -- not a bare int. This is what makes a VectorHelper> a framed array of one-int frames [verified] +constexpr uint32_t Mars_StreamableEnum_Write = 0x0014b6e0; +// thiscall void (Mars::StreamableHelper>* this, Mars::Stream* s) // ReadInt through stream slot +0x10; stores only when the read succeeds [verified] +constexpr uint32_t Mars_StreamableEnum_Read = 0x00297ae0; +// data void* [3] // { 0x004f7230 dtor, 0x00431610 Read, 0x0042f7f0 Write } [verified] +constexpr uint32_t Mars_VectorHelper_StreamableEnumUInt_vftable = 0x005e2438; +// thiscall void (Mars::VectorHelper>* this, Mars::Stream* s) // NULL-named count = span>>2, then n NULL-named FRAMES each written by Mars_StreamableEnum_Write. Backs `nalat`, `SysMem` and `mts`, all of which have count 0 in every save we hold [verified] +constexpr uint32_t Mars_VectorHelper_StreamableEnumUInt_Write = 0x0002f7f0; +// data void* [3] // { 0x004f7230 dtor, 0x006b5600 Read, 0x0069b310 Write }; backs `prs2` [verified] +constexpr uint32_t Mars_VectorHelper_AIPlayerRequestStamp_vftable = 0x0061a700; +// thiscall void (Mars::VectorHelper* this, Mars::Stream* s) // NULL-named count = span>>3, then n NULL-named frames written by Game_AIPlayerRequestStamp_Write. Element stride 8 [verified] +constexpr uint32_t Mars_VectorHelper_AIPlayerRequestStamp_Write = 0x0029b310; +// data void* [3] // { 0x004f7230 dtor, 0x006953b0 Read, 0x00695400 Write } [verified] +constexpr uint32_t Mars_StreamableHelper_AIPlayerRequestStamp_vftable = 0x0061a730; +// thiscall void (Mars::StreamableHelper* this, Mars::Stream* s) // two named ints: `pid` at +0 and `trn` at +4. Game::AIPlayerRequestStamp is a POD with no RTTI class of its own, reached only through this specialised helper, so tools/serializers.py reports 'no serializer' for it and it has no entry in the generated wire table [verified] +constexpr uint32_t Game_AIPlayerRequestStamp_Write = 0x00295400; // thiscall bool (TechTree* this, TechPrereqs* prereqs /* = TechDef + 0x88 */) // RET 4. An AND over groups, each group an OR over techs: a group is satisfied by any listed tech whose node exists in this->nodes AND whose state (+0x14) is 4. Zero groups -> TRUE (the function returns satisfied==total with both 0); a group with ZERO entries -> FALSE and the whole test fails, because the inner loop cannot break and the outer one then exits with that group uncounted. Reads only. Called from SetResearched twice: the unforced completion gate on the argument def, and the availability sweep on each node's self-resolved def [verified] constexpr uint32_t TechTree_PrereqsMet = 0x0017d8e0; // field TechPrereqs prereqs -- the block TechTree::PrereqsMet is called on. Two MSVC vectors back to back: the flat entry array at +0x00 and the group array at +0x10. SetResearched passes `def + 0x88` at both call sites [verified] @@ -1261,5 +1319,31 @@ constexpr uint32_t TechTree_ProcessResearch_TechsUnlockedCollector = 0x00187cc3; constexpr uint32_t ServerPlayer_OnTechResearched_RecordObservedTech = 0x00491790; // site site in ServerPlayer::OnTechResearched, second statement: `if (this->ResT(+0x294) == def) { if (this->ResearchRollPending(+0x3b4)) RollResearchEvent(this); this->ResearchRollPending = 0; this->ResT = 0; }`. RollResearchEvent (0x0088df20) draws EXACTLY ONE NextFloat unconditionally and then enters 0x00889d60 only when roll < ResearchEventOdds -- the odds are 0 for every tech outside the plague and AI-rebellion families, so that branch is normally dead. This is the one extra RNG word a completion consumes, and clearing ResT means a second completion in the same pass consumes none [verified] constexpr uint32_t ServerPlayer_OnTechResearched_ResearchRollBlock = 0x00491790; +// cdecl Game::SVScriptObject* (int encID) // The EncObj factory. `dec eax; cmp eax,0x16; ja ; jmp dword [eax*4 + 0x0052bf60]` -- a 23-entry dword jump table indexed by encID-1. Live ids: 1 VonNeumann, 3 Swarm, 4 Derelict, 5 Monitor, 7 SystemKiller, 8 PuppetMaster, 9 SlaversRefuel, 10 SwarmQueen, 14 Locust, 17 CrowRuins, 20 Refugees, 21 Ortgay. Ids 2, 6, 11-13, 15, 16, 18, 19, 22, 23 and everything outside 1..23 return NULL. Class names read off the vftable store in each ctor [verified] +constexpr uint32_t SVScriptObject_FactoryByEncID = 0x0012bf00; +// data void* [23] // the jump table SVScriptObject_FactoryByEncID indexes with encID-1 [verified] +constexpr uint32_t SVScriptObject_EncIDJumpTable = 0x0012bf60; +// thiscall Game::SVScriptObject* (Game::SVSOSots* this, int encID) // scans the loaded (id, obj) pair vector at this+0x0C..0x10 first and only calls SVScriptObject_FactoryByEncID on a miss [verified] +constexpr uint32_t SVSOSots_GetOrCreateEncObj = 0x001a4450; +// cdecl Game::SVScriptObject* (const char* xscn) // the xsc factory: a flat four-way _stricmp chain, EXHAUSTIVE. "traps" -> Game::SVSOTraps (ctor 0x0052cbb0), "crowdefs" -> Game::SVSOCrowDefenders (0x0052b3c0), "indsys" -> Game::SVSOIndependentSystems (0x0075b530), "gmtrigger" -> Game::SVSOGrandMenaceTrigger (0x004f5630). Falls through with "Error creating extra script %s." [verified] +constexpr uint32_t SVScriptObject_FactoryByScenarioName = 0x001a7050; +// thiscall void (Game::SVSOSots* this) // registers exactly traps, crowdefs, indsys and -- only when ScnObj == NULL -- gmtrigger. Corroborates that the four scenario names are the whole set [verified] +constexpr uint32_t SVSOSots_SeedNewGameScripts = 0x001a7d70; +// thiscall void (Game::SVSOSots* this, Mars::IStream* s) // slot 2 of vftable 0x00A063C4. Emits ScnID, ScnObj (only when non-NULL), numx x (xscn, xsc), NEncObjs x (EncID, EncObj) [verified] +constexpr uint32_t SVSOSots_Write = 0x0019ddf0; +// thiscall void (Game::SVSOSots* this, Mars::IStream* s) // slot 1. Accepts two tags Write never emits -- NPCPlr (int, first) and hastraps (bool) with a following traps object -- read-only backward compatibility; a writer that omits them is correct [verified] +constexpr uint32_t SVSOSots_Read = 0x001a7a40; +// data Game::SVSOSots vftable (slot0 dtor, slot1 Read 0x005a7a40, slot2 Write 0x0059ddf0) [verified] +constexpr uint32_t SVSOSots_vftable = 0x006063c4; +// data Game::SVSOIndependentSystems vftable. slot0 dtor 0x0075afb0; slot1 Read AND slot2 Write are both 0x005f8ac0, the shared `ret 4` no-op stub -- so the "indsys" frame is genuinely empty on disk and the class's 0x1c4-byte body is runtime-only state [verified] +constexpr uint32_t SVSOIndependentSystems_vftable = 0x00620314; +// thiscall void (void*, Mars::IStream*) // `C2 04 00` -- a bare RET 4 shared as the inherited Read/Write for classes that serialize nothing [verified] +constexpr uint32_t Streamable_NoOpStub = 0x001f8ac0; +// thiscall void (Game::SVSOCrowDefenders* this, Mars::IStream* s) // sys; ndsys count then a loop writing dsys; ndes count then a loop writing des; drad. NOTE: `dsys` is INSIDE the ndsys loop -- objects/layouts.json records it as a plain member, which is wrong, and no save can settle it because both counts are 0 everywhere [verified] +constexpr uint32_t SVSOCrowDefenders_Write = 0x000f8c90; +// thiscall void (Game::SVSOMonitor* this, Mars::IStream* s) // calls SVSODerelict::Write (0x004fc2b0) as its first act -- Monitor derives from Derelict, which is why its tag run starts NDsn/DsnID/Dwght + NAsg/Eflt/Esys before nt/scnm/spwt/rsmd/dsgn [verified] +constexpr uint32_t SVSOMonitor_Write = 0x000fd810; +// thiscall void (Game::SVSODerelict* this, Mars::IStream* s) // NDsn count then a loop of (DsnID, Dwght); NAsg count then a loop of (Eflt, Esys). Two fields per iteration in each, confirmed by the 8-byte element strides [verified] +constexpr uint32_t SVSODerelict_Write = 0x000fc2b0; } // namespace sots::addr diff --git a/objects/generated/sots_stream_schema.h b/objects/generated/sots_stream_schema.h new file mode 100644 index 0000000..5f73546 --- /dev/null +++ b/objects/generated/sots_stream_schema.h @@ -0,0 +1,3292 @@ +// GENERATED -- do not edit. Wire schema of Sword of the Stars.exe (GOG 1.8.1). +// Source: sots-re objects/streams.json @ 805409e, generated 2026-09-08 by tools/gen_stream_schema.py +// +// For each serializable class, the ordered sequence of items its Mars::IStreamable +// Write() puts on the stream. Recovered mechanically from the serializers; the +// order is the program order of Write, with base-class and sub-writer calls spliced +// in at their call site, which is the on-disk order. +// +// FACTS ONLY. No field offsets, no sizeof, no struct strides: this header describes +// the on-disk FORMAT, never the original's memory layout. The engine's own types are +// free to be laid out however they like. +// +// SOTS_WIRE_UNCONDITIONAL -- read this before treating the table as a program. +// The recovery is a linear pass over Write, so it cannot see Write's branches. A +// field the game emits only under a condition (StarShip's BQ2, gated by hbq) is +// listed unconditionally here. The sequence is therefore a SUPERSET of what any +// single record contains, and a codec driven straight off it would desynchronise. +// Container loops are flattened the same way: a count item is followed by its +// element items as siblings, with `member == false` marking the elements, rather +// than nested inside the container. Use this table to CHECK a hand-written codec, +// not to generate one. +// +// `grade` is the recovery tier (verified / clean / unnamed / partial / empty) and +// read_agree/read_comparable is the class's Read-vs-Write offset cross-check. +#pragma once +#include +#include + +namespace sots::wire { + +// On-disk primitive, from the Stream vftable slot the writer called: +// +0x18 str +0x1c bool +0x20 f32 +0x24 i32 +0x28 frame +0x30 raw (n=8 -> i64) +// NOTE this is the DISK type. A member held as int16 or int8 in the original is +// written by WriteInt and is I32 on the wire. +enum class Prim : uint8_t { Unknown, I32, I64, F32, Bool, Str, Frame, Raw }; + +// How the item is framed on the stream. +// Scalar [len][tag][value], padded to 4 +// Frame [len][tag][pad] BEEFBEEF ... 41104110 +// CArr a Frame whose first item is a "." count, then that many elements +// NArr a bare count item at this level, then that many elements follow it +// Raw opaque payload whose length only the writer knows +enum class Shape : uint8_t { Scalar, Frame, CArr, NArr, Raw }; + +struct Field { + const char* tag; // on-disk tag; "." when the writer passed NULL + Prim prim; + Shape shape; + const char* of; // frame contents class name, or nullptr + bool member; // false: a container element / loop-body write + bool computed; // not a member: a count or a constant the writer derived + bool unresolved; // the recovery could not type this item +}; + +struct Class { + const char* name; + const Field* fields; + uint16_t count; + uint16_t anon; // items whose tag is "." + const char* grade; + uint16_t read_agree; + uint16_t read_comparable; +}; + +inline constexpr Field k_Address[] = { // Address + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__AIAutoPeaceRun[] = { // Game::AIAutoPeaceRun + {"sid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tn0", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tn1", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__AICombatReport[] = { // Game::AICombatReport + {"CRTrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"CRPce", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"CRSys", Prim::Frame, Shape::Frame, "enum:uint", true, false, false}, + {"CRPlSv2", Prim::Frame, Shape::Frame, "Game::CombatPlayerStats", true, false, false}, +}; +inline constexpr Field k_Game__AIEncounterFlags[] = { // Game::AIEncounterFlags + {"Nas", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Fid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Ast", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__AIRebellion[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::AIRebellion: Write emits no item +inline constexpr Field k_Game__AIRebellionImpl[] = { // Game::AIRebellionImpl + {"St", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Reb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NSys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__AIRelationRecord[] = { // Game::AIRelationRecord + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__AISituation[] = { // Game::AISituation + {"AISitSecs", Prim::Frame, Shape::Frame, "Game::Game::VShipSectionID::?$AIWeightMap", false, false, true}, + {"AISitWeapFams", Prim::Frame, Shape::Frame, "Game::Mars::Game::W4WeaponFamilyID::U?$StreamableEnum::?$AIWeightMap", true, false, false}, +}; +inline constexpr Field k_Game__AISystem[] = { // Game::AISystem + {"AISysSit", Prim::Frame, Shape::Frame, "Game::AISituation", false, false, false}, +}; +inline constexpr Field k_Game__AllianceInvite[] = { // Game::AllianceInvite + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::AllianceInvite::Response", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::AllianceInvite::Response", true, false, false}, +}; +inline constexpr Field k_Game__AllianceInvite__Response[] = { // Game::AllianceInvite::Response + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__AttribMap[] = { // Game::AttribMap + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__BackEngProject[] = { // Game::BackEngProject + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, + {"AOdd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"AInc", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Tch", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"RCst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RDn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__BerserkerEncounterResult[] = { // Game::BerserkerEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__BuildQueue[] = { // Game::BuildQueue + {"ords", Prim::Frame, Shape::CArr, "Game::ShipBuildOrderDef", false, false, false}, +}; +inline constexpr Field k_Game__CNMClientNotResponding[] = { // Game::CNMClientNotResponding + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CNMPlayerJoined[] = { // Game::CNMPlayerJoined + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CNMPlayerLeft[] = { // Game::CNMPlayerLeft + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CNMUpdate[] = { // Game::CNMUpdate + {".", Prim::Frame, Shape::Frame, "Game::UpdateData", true, false, false}, +}; +inline constexpr Field k_Game__CNMUpdateComplete[] = { // Game::CNMUpdateComplete + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CNMUserShips[] = { // Game::CNMUserShips + {".", Prim::Frame, Shape::CArr, "Game::ShipParams", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CivilianRatios[] = { // Game::CivilianRatios + {"smx", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"spe", Prim::Frame, Shape::Frame, "Game::SpeciesRatios", true, false, false}, +}; +inline constexpr Field k_Game__ClientEncounterResults[] = { // Game::ClientEncounterResults + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::CombatPlayerStats", true, false, false}, +}; +inline constexpr Field k_Game__ClientSystem[] = { // Game::ClientSystem + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__ClientTradeSector[] = { // Game::ClientTradeSector + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandCloak[] = { // Game::CombatCommandCloak + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandDecloak[] = { // Game::CombatCommandDecloak + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandFleetSetFacing[] = { // Game::CombatCommandFleetSetFacing + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandFleetSetHoldFire[] = { // Game::CombatCommandFleetSetHoldFire + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandFleetSetStance[] = { // Game::CombatCommandFleetSetStance + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandIntangOff[] = { // Game::CombatCommandIntangOff + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandIntangOn[] = { // Game::CombatCommandIntangOn + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandMoveReserves[] = { // Game::CombatCommandMoveReserves + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "int", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandNull[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::CombatCommandNull: Write emits no item +inline constexpr Field k_Game__CombatCommandPickReserve[] = { // Game::CombatCommandPickReserve + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandRequestAsylumResponse[] = { // Game::CombatCommandRequestAsylumResponse + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandSetAEAutoFire[] = { // Game::CombatCommandSetAEAutoFire + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandSetPlanetAttackMode[] = { // Game::CombatCommandSetPlanetAttackMode + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandSetPlayerAI[] = { // Game::CombatCommandSetPlayerAI + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandSetWantEndCombat[] = { // Game::CombatCommandSetWantEndCombat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipAllStop[] = { // Game::CombatCommandShipAllStop + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipAttack[] = { // Game::CombatCommandShipAttack + {".", Prim::Frame, Shape::CArr, "Game::CombatCommandShipAttack::ShipData", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipClearTargets[] = { // Game::CombatCommandShipClearTargets + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipFireOnce[] = { // Game::CombatCommandShipFireOnce + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::GunBankSelection", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipManeuver[] = { // Game::CombatCommandShipManeuver + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipReleaseGrapple[] = { // Game::CombatCommandShipReleaseGrapple + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipSetFacing[] = { // Game::CombatCommandShipSetFacing + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipSetHoldFire[] = { // Game::CombatCommandShipSetHoldFire + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::GunBankSelection", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipSetOnlyMyTarget[] = { // Game::CombatCommandShipSetOnlyMyTarget + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::GunBankSelection", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipSetStance[] = { // Game::CombatCommandShipSetStance + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipSetWaypoint[] = { // Game::CombatCommandShipSetWaypoint + {".", Prim::Frame, Shape::CArr, "Game::CombatCommandShipSetWaypoint::ShipData", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Quaternion", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Vector2", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatCommandShipToggleBank[] = { // Game::CombatCommandShipToggleBank + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::GunBankSelection", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatDamageReport[] = { // Game::CombatDamageReport + {"nshp", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"did", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dtak", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dams", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"damp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dami", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"damt", Prim::F32, Shape::Scalar, nullptr, false, false, true}, + {"nshp", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"wep", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"dams", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"damp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dami", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"damt", Prim::F32, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__CombatLaunchParams[] = { // Game::CombatLaunchParams + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::ShipParams", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::CombatPlayerInvariant", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::NodePointParams", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::PlayerMessage", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlanetStats", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::CombatEncounterParams", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::DefenceLayout", true, false, false}, +}; +inline constexpr Field k_Game__CombatPlayerReport[] = { // Game::CombatPlayerReport + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ai", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"ally", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"status", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mxeng", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mxcls", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mxmsl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ncls", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"cls", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"nshp", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"nsat", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nshfld", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"nshlst", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"nsatl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nsec", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"ssec", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"nshp", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"ndam", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srep", Prim::Frame, Shape::CArr, "Game::CombatShipReport", true, false, false}, +}; +inline constexpr Field k_Game__CombatPlayerStats[] = { // Game::CombatPlayerStats + {"RPBon", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"RPBonT", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SavBonus", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"MaintHF", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TacReports", Prim::Frame, Shape::CArr, "Game::TacReport", true, false, false}, +}; +inline constexpr Field k_Game__CombatReport[] = { // Game::CombatReport + {"cid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"sid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"auto", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"dur", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"cow", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cdst", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"cpk", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cdt", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"cdi", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"prep", Prim::Frame, Shape::CArr, "Game::CombatPlayerReport", true, false, false}, + {"wrep", Prim::Frame, Shape::CArr, "Game::CombatWeaponReport", true, false, false}, +}; +inline constexpr Field k_Game__CombatShipReport[] = { // Game::CombatShipReport + {"name", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"did", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cls", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"caps2", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"nshp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nfld", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nlst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dtak", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dams", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"damp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dami", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"damt", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatTechFlags[] = { // Game::CombatTechFlags + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CombatWeaponReport[] = { // Game::CombatWeaponReport + {"wep", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"dams", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"damp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dami", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"damt", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareCurse[] = { // Game::CommDeclareCurse + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareIDontWant[] = { // Game::CommDeclareIDontWant + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareIHate[] = { // Game::CommDeclareIHate + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareILike[] = { // Game::CommDeclareILike + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareISaw[] = { // Game::CommDeclareISaw + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareISeveredAllianceWith[] = { // Game::CommDeclareISeveredAllianceWith + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareIWant[] = { // Game::CommDeclareIWant + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareShareAllColonyStats[] = { // Game::CommDeclareShareAllColonyStats + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareShareStats[] = { // Game::CommDeclareShareStats + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareShareSystemNotes[] = { // Game::CommDeclareShareSystemNotes + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"notes", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareShareSystemStats[] = { // Game::CommDeclareShareSystemStats + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareSorry[] = { // Game::CommDeclareSorry + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommDeclareThanks[] = { // Game::CommDeclareThanks + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommMessageContainer[] = { // Game::CommMessageContainer + {"nmsg", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"msgt", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"msg", Prim::Frame, Shape::Frame, "Game::ICommMessage", false, false, false}, +}; +inline constexpr Field k_Game__CommRequestAttackSystem[] = { // Game::CommRequestAttackSystem + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestDefendSystem[] = { // Game::CommRequestDefendSystem + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestDisposition[] = { // Game::CommRequestDisposition + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestHarassPlayer[] = { // Game::CommRequestHarassPlayer + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestHarassSystem[] = { // Game::CommRequestHarassSystem + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestMoney[] = { // Game::CommRequestMoney + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestRallyAtSystem[] = { // Game::CommRequestRallyAtSystem + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestResearch[] = { // Game::CommRequestResearch + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestSeverAllianceWith[] = { // Game::CommRequestSeverAllianceWith + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestShareSystemStats[] = { // Game::CommRequestShareSystemStats + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestStopColonizing[] = { // Game::CommRequestStopColonizing + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestStopHarassingMe[] = { // Game::CommRequestStopHarassingMe + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestStopHarassingPlayer[] = { // Game::CommRequestStopHarassingPlayer + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestStopHarrassingSystem[] = { // Game::CommRequestStopHarrassingSystem + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommRequestStopMining[] = { // Game::CommRequestStopMining + {"cid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"exp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sent", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CommonPlague[] = { // Game::CommonPlague + {"PlgSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgCBy", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgCByF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgCM", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgTurns", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgInf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CrowDefendersEncounterResult[] = { // Game::CrowDefendersEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__CrowRuinsEncounterResult[] = { // Game::CrowRuinsEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__DefenceFleetAssignment[] = { // Game::DefenceFleetAssignment + {"fid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"stnid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"head2", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ori", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"quota", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__DefenceLayout[] = { // Game::DefenceLayout + {"sysid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ndsa", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"stnid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dsid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"nfa", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"fa", Prim::Frame, Shape::Frame, "Game::DefenceFleetAssignment", true, false, false}, +}; +inline constexpr Field k_Game__DefenceSummary[] = { // Game::DefenceSummary + {"pid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dlay", Prim::Frame, Shape::Frame, "Game::DefenceLayout", true, false, false}, + {"stac", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"stid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"stt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"satc", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"said", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sasc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__DerelictEncounterResult[] = { // Game::DerelictEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__DiplomacyStats[] = { // Game::DiplomacyStats + {"other", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastnap", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastnapbty", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bknnap", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"btynap", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastally", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastallybty", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bknally", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"btyally", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastcf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lastcfbty", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bkncf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"btycf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"deadhome", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterQuery[] = { // Game::EncounterQuery + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterResult[] = { // Game::EncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults[] = { // Game::EncounterResults + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::CombatPlayerStats", true, false, false}, + {".", Prim::Frame, Shape::CArr, "int", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults::PrisonerShip", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults::DamagedShip", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults::BoardedShip", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults::RetreatingShip", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults::SpyShip", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::CombatDamageReport", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::EncounterResult", false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlanetStats", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlagueStats", true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults__BoardedShip[] = { // Game::EncounterResults::BoardedShip + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults__DamagedShip[] = { // Game::EncounterResults::DamagedShip + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::ShipHealth", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults__PrisonerShip[] = { // Game::EncounterResults::PrisonerShip + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PrisonerHold", true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults__RetreatingShip[] = { // Game::EncounterResults::RetreatingShip + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EncounterResults__SpyShip[] = { // Game::EncounterResults::SpyShip + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EventStorage[] = { // Game::EventStorage + {"EvNxID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Events", Prim::Frame, Shape::CArr, "Game::EventStorage::TurnEvents", true, false, false}, +}; +inline constexpr Field k_Game__EventStorage__Event[] = { // Game::EventStorage::Event + {"EvEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EvDsc", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"EvMsg", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"EvImg", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"EvLoc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EvPos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"EvAct", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EvCID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__EventStorage__TurnEvents[] = { // Game::EventStorage::TurnEvents + {"EvTurn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Events", Prim::Frame, Shape::CArr, "Game::EventStorage::Event", true, false, false}, +}; +inline constexpr Field k_Game__FieldTemplate[] = { // Game::FieldTemplate + {"FTPnts", Prim::Frame, Shape::CArr, "Game::FieldTemplate::Point", false, false, true}, +}; +inline constexpr Field k_Game__FieldTemplate__Point[] = { // Game::FieldTemplate::Point + {"FTPShID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FTPDesID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FTPPosX", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FTPPosY", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FTPSqd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__FleetLayout[] = { // Game::FleetLayout + {".", Prim::Frame, Shape::Frame, "Game::FieldTemplate", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__FleetNameGenerator[] = { // Game::FleetNameGenerator + {"FNGNum", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__FlightPlan[] = { // Game::FlightPlan + {"wpts", Prim::Frame, Shape::CArr, "Game::FlightPlan::Waypoint", true, false, false}, + {"FPsp2", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"FPeta2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FPogn2", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"FPdpos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"pnd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__FlightPlan__Waypoint[] = { // Game::FlightPlan::Waypoint + {"Wpt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Tp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nrt", Prim::Frame, Shape::Frame, "Game::NodeRoute", true, false, false}, +}; +inline constexpr Field k_Game__Game__SVSOBrokenEmpire__VPCStat____NetworkIDDataMap[] = { // Game::Game::SVSOBrokenEmpire::VPCStat::?$NetworkIDDataMap + {"siz", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::SVSOBrokenEmpire::PCStat", false, false, false}, +}; +inline constexpr Field k_Game__Game__VLocustFleetLogistics____NetworkIDDataMap[] = { // Game::Game::VLocustFleetLogistics::?$NetworkIDDataMap + {"siz", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::LocustFleetLogistics", false, false, false}, +}; +inline constexpr Field k_Game__Game__VLocustNestState____NetworkIDDataMap[] = { // Game::Game::VLocustNestState::?$NetworkIDDataMap + {"siz", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::LocustNestState", false, false, false}, +}; +inline constexpr Field k_Game__Game__VShipSectionID____AIWeightMap[] = { // Game::Game::VShipSectionID::?$AIWeightMap + {".", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::Frame, Shape::Frame, "Game::ShipSectionID", true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__GameTurnHistory[] = { // Game::GameTurnHistory + {"nply", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ply", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"hist", Prim::Frame, Shape::Frame, "Game::PlayerTurnHistory", false, false, false}, +}; +inline constexpr Field k_Game__GunBankSelection[] = { // Game::GunBankSelection + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__HeraldEncounterResult[] = { // Game::HeraldEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__IndependenceInfo[] = { // Game::IndependenceInfo + {"indsp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"indcl", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {"indnm", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"indav", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"indba", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__JewelsProject[] = { // Game::JewelsProject + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, + {"einv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"eapp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__LocustEncounterParams[] = { // Game::LocustEncounterParams + {".", Prim::Frame, Shape::Frame, "Game::Game::VLocustNestState::?$NetworkIDDataMap", true, false, false}, +}; +inline constexpr Field k_Game__LocustEncounterResult[] = { // Game::LocustEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::Game::VLocustNestState::?$NetworkIDDataMap", true, false, false}, +}; +inline constexpr Field k_Game__LocustFleetLogistics[] = { // Game::LocustFleetLogistics + {"hav", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"don", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"dsy", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dst", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__Mars__Game__W4AIPurposeID__U__StreamableEnum____AIWeightMap[] = { // Game::Mars::Game::W4AIPurposeID::U?$StreamableEnum::?$AIWeightMap + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "enum:AIPurposeID", false, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__Mars__Game__W4WeaponFamilyID__U__StreamableEnum____AIWeightMap[] = { // Game::Mars::Game::W4WeaponFamilyID::U?$StreamableEnum::?$AIWeightMap + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "enum:eaponFamilyID", false, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__Mars__I__U__StreamableEnum____AIWeightMap[] = { // Game::Mars::I::U?$StreamableEnum::?$AIWeightMap + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "enum:uint", false, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__MeteorEncounterResult[] = { // Game::MeteorEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__MonitorEncounterResult[] = { // Game::MonitorEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__MonitorProject[] = { // Game::MonitorProject + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, + {"Sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RMn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RMx", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RDn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RMd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__Morale[] = { // Game::Morale + {"mnsp", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"msp", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"mv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__MoraleEvent[] = { // Game::MoraleEvent + {"mid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mtr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mtp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mfx", Prim::Frame, Shape::Frame, "Game::Morale", true, false, false}, + {"mdsc", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__NodePath[] = { // Game::NodePath + {"npt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npfr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npto", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npctm", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npcby", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npdtn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npdtf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npenp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"npuse", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nptf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__NodePointParams[] = { // Game::NodePointParams + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__NodeRoute[] = { // Game::NodeRoute + {"nrp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nrf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nrt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__Objective[] = { // Game::Objective + {"ID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Cmp", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Spr", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"Dsc", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"NID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ObservedDesign[] = { // Game::ObservedDesign + {"otnF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"otnL", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"odid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"opid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ObservedTech[] = { // Game::ObservedTech + {"otnF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"otnL", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"odet", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"otch", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"owith", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ObservedWeapon[] = { // Game::ObservedWeapon + {"otnF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"otnL", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"odet", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"owep", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"owith", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__OrtgayEncounterResult[] = { // Game::OrtgayEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PirateEncounterResult[] = { // Game::PirateEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlagueHit[] = { // Game::PlagueHit + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlagueStats[] = { // Game::PlagueStats + {".", Prim::Frame, Shape::CArr, "Game::PlagueHit", true, false, false}, +}; +inline constexpr Field k_Game__PlanetClientContext[] = { // Game::PlanetClientContext + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlanetStats[] = { // Game::PlanetStats + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerAid[] = { // Game::PlayerAid + {"aidto", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"aidsa", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"aidst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"aidrai", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"aidrt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerAlliances[] = { // Game::PlayerAlliances + {"ALid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"AL", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NA", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"CF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerColorID[] = { // Game::PlayerColorID + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, +}; +inline constexpr Field k_Game__PlayerEncounterProgress[] = { // Game::PlayerEncounterProgress + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerMessage[] = { // Game::PlayerMessage + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "String", true, false, false}, +}; +inline constexpr Field k_Game__PlayerNotes[] = { // Game::PlayerNotes + {"NtSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NtTxt", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"NtTrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerReport[] = { // Game::PlayerReport + {"oid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"flds", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"home", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ncol", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mpwr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mcls", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mmsl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nshp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nsat", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PlayerTurnHistory[] = { // Game::PlayerTurnHistory + {"ply", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"stats", Prim::Frame, Shape::Frame, "Game::PlayerTurnStats", false, false, false}, +}; +inline constexpr Field k_Game__PlayerTurnStats[] = { // Game::PlayerTurnStats + {"pop", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"sacq", Prim::Frame, Shape::CArr, "Game::SystemEvent", true, false, false}, + {"slost", Prim::Frame, Shape::CArr, "Game::SystemEvent", true, false, false}, + {"trn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"almem", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"inc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tdinc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"col", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bat", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tch", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ncls", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"cls", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"shpt", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"shpl", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"shpk", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"satt", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"satl", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"satk", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__Population[] = { // Game::Population + {"PopNG", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"PopG", Prim::Frame, Shape::Frame, "Game::PopulationGroup", false, false, true}, +}; +inline constexpr Field k_Game__PopulationGroup[] = { // Game::PopulationGroup + {"PopT", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PopS", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PopC", Prim::I64, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__PrisonerHold[] = { // Game::PrisonerHold + {"PrMax", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PrNSp", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"PrSp", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"PrNum", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__PuppetMasterEncounterResult[] = { // Game::PuppetMasterEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__RaidTargets[] = { // Game::RaidTargets + {"rds", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rdv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rdt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dsc", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"did", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__RefugeesEncounterParams[] = { // Game::RefugeesEncounterParams + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__RefugeesEncounterResult[] = { // Game::RefugeesEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMAIRelationValues[] = { // Game::SNMAIRelationValues + {".", Prim::Frame, Shape::CArr, "Game::AIRelationRecord", true, false, false}, +}; +inline constexpr Field k_Game__SNMAllCombatDone[] = { // Game::SNMAllCombatDone + {".", Prim::Frame, Shape::CArr, "Game::EncounterResults", true, false, false}, +}; +inline constexpr Field k_Game__SNMAllianceInvite[] = { // Game::SNMAllianceInvite + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMAllianceInviteChat[] = { // Game::SNMAllianceInviteChat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMAllianceInviteProgress[] = { // Game::SNMAllianceInviteProgress + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::AllianceInvite", true, false, false}, +}; +inline constexpr Field k_Game__SNMAllianceNotify[] = { // Game::SNMAllianceNotify + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMAllianceReply[] = { // Game::SNMAllianceReply + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMCancelAllianceInvite[] = { // Game::SNMCancelAllianceInvite + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMChat[] = { // Game::SNMChat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMCombatTimeRemaining[] = { // Game::SNMCombatTimeRemaining + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMCommMessage[] = { // Game::SNMCommMessage + {".", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {".", Prim::Frame, Shape::Frame, "Game::ICommMessage", true, false, false}, +}; +inline constexpr Field k_Game__SNMDemandEmpireSurrender[] = { // Game::SNMDemandEmpireSurrender + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMDemandEmpireSurrenderResponse[] = { // Game::SNMDemandEmpireSurrenderResponse + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMDoEncounterQuery[] = { // Game::SNMDoEncounterQuery + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMEncounterProgress[] = { // Game::SNMEncounterProgress + {".", Prim::Frame, Shape::CArr, "Game::PlayerEncounterProgress", true, false, false}, +}; +inline constexpr Field k_Game__SNMEncounterQueryResults[] = { // Game::SNMEncounterQueryResults + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::EncounterQuery", true, false, false}, +}; +inline constexpr Field k_Game__SNMEncounterResults[] = { // Game::SNMEncounterResults + {".", Prim::Frame, Shape::Frame, "Game::EncounterResults", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMEndTurn[] = { // Game::SNMEndTurn + {".", Prim::Frame, Shape::Frame, "Game::TurnCommands", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::AIEncounterFlags", true, false, false}, +}; +inline constexpr Field k_Game__SNMGenericEvent[] = { // Game::SNMGenericEvent + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMGenericGameMessage[] = { // Game::SNMGenericGameMessage + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMHostCombat[] = { // Game::SNMHostCombat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMHostCombatReply[] = { // Game::SNMHostCombatReply + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Address", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMJoin[] = { // Game::SNMJoin + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMJoinCombat[] = { // Game::SNMJoinCombat + {".", Prim::Frame, Shape::Frame, "Address", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMJoinCombatReply[] = { // Game::SNMJoinCombatReply + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMJoinReply[] = { // Game::SNMJoinReply + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMKillAI[] = { // Game::SNMKillAI + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMLaunchCombat[] = { // Game::SNMLaunchCombat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::EncounterQuery", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__SNMLeaveAlliance[] = { // Game::SNMLeaveAlliance + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMLeaveCeaseFire[] = { // Game::SNMLeaveCeaseFire + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMLeaveNonAggression[] = { // Game::SNMLeaveNonAggression + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMLobbyChat[] = { // Game::SNMLobbyChat + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMMakePlayerAI[] = { // Game::SNMMakePlayerAI + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMPendingAlliances[] = { // Game::SNMPendingAlliances + {".", Prim::Frame, Shape::CArr, "Game::PlayerAlliances", true, false, false}, +}; +inline constexpr Field k_Game__SNMPlaySpeechEvent[] = { // Game::SNMPlaySpeechEvent + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMProgressionWarsConvoyShips[] = { // Game::SNMProgressionWarsConvoyShips + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMRefreshSlots[] = { // Game::SNMRefreshSlots + {".", Prim::Frame, Shape::CArr, "Game::SNMRefreshSlots::SlotData", true, false, false}, +}; +inline constexpr Field k_Game__SNMRefreshSlots__SlotData[] = { // Game::SNMRefreshSlots::SlotData + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMRemoveCommMessage[] = { // Game::SNMRemoveCommMessage + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMRunAI[] = { // Game::SNMRunAI + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSetAIPolicy[] = { // Game::SNMSetAIPolicy + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSetPlayerStatus[] = { // Game::SNMSetPlayerStatus + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSetSlotPassword[] = { // Game::SNMSetSlotPassword + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSetTimers[] = { // Game::SNMSetTimers + {".", Prim::Frame, Shape::Frame, "Game::StrategyTimerParams", true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotInit[] = { // Game::SNMSlotInit + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::Slot", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategyPlayerGameSettings", true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotInsertClient[] = { // Game::SNMSlotInsertClient + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotMoveClient[] = { // Game::SNMSlotMoveClient + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotPWAttempt[] = { // Game::SNMSlotPWAttempt + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotPWRejected[] = { // Game::SNMSlotPWRejected + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotRemoveClient[] = { // Game::SNMSlotRemoveClient + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotReqPW[] = { // Game::SNMSlotReqPW + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotSetData[] = { // Game::SNMSlotSetData + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategyPlayerGameSettings", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotSetForcedSpecies[] = { // Game::SNMSlotSetForcedSpecies + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotSetPW[] = { // Game::SNMSlotSetPW + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMSlotSetState[] = { // Game::SNMSlotSetState + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMTechOffer[] = { // Game::SNMTechOffer + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMTransferProgress[] = { // Game::SNMTransferProgress + {".", Prim::Frame, Shape::CArr, "char", true, false, false}, +}; +inline constexpr Field k_Game__SNMTurnInfo[] = { // Game::SNMTurnInfo + {".", Prim::Frame, Shape::Frame, "Game::StrategyTurnInfo", true, false, false}, +}; +inline constexpr Field k_Game__SNMUpdate[] = { // Game::SNMUpdate + {".", Prim::Frame, Shape::CArr, "Game::PlayerAlliances", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::TechOffer", true, false, false}, +}; +inline constexpr Field k_Game__SNMUpdateAlliances[] = { // Game::SNMUpdateAlliances + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlayerAlliances", true, false, false}, +}; +inline constexpr Field k_Game__SNMUpdateComplete[] = { // Game::SNMUpdateComplete + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SNMUserNames[] = { // Game::SNMUserNames + {".", Prim::Frame, Shape::CArr, "Game::StrategyUserInfo", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOAntiquarians[] = { // Game::SVSOAntiquarians + {"wpid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"wpturn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"narts", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"art", Prim::Frame, Shape::Frame, "Game::SVSOAntiquarians::Artifact", false, false, false}, +}; +inline constexpr Field k_Game__SVSOAntiquarians__Artifact[] = { // Game::SVSOAntiquarians::Artifact + {"shipid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"salsid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"salpid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pvis", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOBrokenEmpire[] = { // Game::SVSOBrokenEmpire + {"pcs", Prim::Frame, Shape::Frame, "Game::Game::SVSOBrokenEmpire::VPCStat::?$NetworkIDDataMap", true, false, false}, +}; +inline constexpr Field k_Game__SVSOCrowDefenders[] = { // Game::SVSOCrowDefenders + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ndsys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"dsys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ndes", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"des", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"drad", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOCrowRuins[] = { // Game::SVSOCrowRuins + {"NAsg", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Eflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Esys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NWD", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"wid", Prim::I32, Shape::Scalar, nullptr, false, true, false}, +}; +inline constexpr Field k_Game__SVSODerelict[] = { // Game::SVSODerelict + {"NDsn", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"DsnID", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"Dwght", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"NAsg", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"Eflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Esys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__SVSOGrandMenaceTrigger[] = { // Game::SVSOGrandMenaceTrigger + {"gmch", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOHolyLands[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::SVSOHolyLands: Write emits no item +inline constexpr Field k_Game__SVSOHolyLands__PlayerState[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::SVSOHolyLands::PlayerState: Write emits no item +inline constexpr Field k_Game__SVSOJewelsOfTheCrown[] = { // Game::SVSOJewelsOfTheCrown + {"JEWELLOCATIONID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"JEWELSHIPID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PREVJEWELSHIPID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"JEWELLOCATIONID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"prjdone", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__SVSOLandGrab[] = { // Game::SVSOLandGrab + {"winr", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"nplayers", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"nwt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOLocust[] = { // Game::SVSOLocust + {"ini2", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"nst", Prim::Frame, Shape::Frame, "Game::Game::VLocustNestState::?$NetworkIDDataMap", true, false, false}, + {"flt", Prim::Frame, Shape::Frame, "Game::Game::VLocustFleetLogistics::?$NetworkIDDataMap", true, false, false}, + {"vis", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {"des", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOMasterVoice[] = { // Game::SVSOMasterVoice + {"hom", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {"hmd", Prim::Frame, Shape::CArr, "enum:HomeState", true, false, false}, +}; +inline constexpr Field k_Game__SVSOMonitor[] = { // Game::SVSOMonitor + {"NDsn", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"DsnID", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"Dwght", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"NAsg", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"Eflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Esys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"nt", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"scnm", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"spwt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rsmd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"dsgn", Prim::I32, Shape::Scalar, nullptr, false, true, false}, +}; +inline constexpr Field k_Game__SVSOOrtgay[] = { // Game::SVSOOrtgay + {"state", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"init", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"design", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"origin", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"center", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"turnLv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"turnAn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spawnturn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spawnodds", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOProgressionWars[] = { // Game::SVSOProgressionWars + {"stg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sft", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snec", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ses", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snet", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"snep", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srsi", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srs", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lts", Prim::Frame, Shape::CArr, "String", true, false, false}, +}; +inline constexpr Field k_Game__SVSOPuppetMaster[] = { // Game::SVSOPuppetMaster + {"Init2", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"End", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"Des", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"Flt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NSys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"SID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSORefugees[] = { // Game::SVSORefugees + {"rsuc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"rsu", Prim::Frame, Shape::Frame, "Game::SVSORefugees::PlayerStatus", false, false, false}, + {"didc", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"did", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ini", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSORefugees__PlayerStatus[] = { // Game::SVSORefugees::PlayerStatus + {"lr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lrt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"llc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"atr", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"asy", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOSlaversRefuel[] = { // Game::SVSOSlaversRefuel + {"NAsg", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Eflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Esys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"CDiff", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NTD", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"TDID", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"NAD", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"ADID", Prim::I32, Shape::Scalar, nullptr, false, true, false}, +}; +inline constexpr Field k_Game__SVSOSots[] = { // Game::SVSOSots + {"ScnID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ScnObj", Prim::Frame, Shape::Frame, "Game::SVSOScenarioBase", true, false, false}, + {"numx", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"xscn", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"xsc", Prim::Frame, Shape::Frame, "Game::SVScriptObject", false, false, false}, + {"NEncObjs", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"EncID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EncObj", Prim::Frame, Shape::Frame, "Game::SVScriptObject", false, false, false}, +}; +inline constexpr Field k_Game__SVSOSwarm[] = { // Game::SVSOSwarm + {"NAsg", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Eflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Esys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"infest", Prim::Frame, Shape::CArr, "Game::SVSOSwarm::Infestation", true, false, false}, + {"deshive", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"deslarva", Prim::I32, Shape::Scalar, nullptr, false, true, false}, +}; +inline constexpr Field k_Game__SVSOSwarm__Infestation[] = { // Game::SVSOSwarm::Infestation + {"sysid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"stg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"strn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mtrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trgtrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"canh", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOSwarmQueen[] = { // Game::SVSOSwarmQueen + {"QDesignID", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"Hives", Prim::Frame, Shape::CArr, "Game::SVSOSwarmQueen::HiveInfo", true, false, false}, + {"Queens", Prim::Frame, Shape::CArr, "Game::SVSOSwarmQueen::QueenInfo", true, false, false}, + {"SysMem", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, +}; +inline constexpr Field k_Game__SVSOSwarmQueen__HiveInfo[] = { // Game::SVSOSwarmQueen::HiveInfo + {"HiveID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"QueenID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NextQ", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOSwarmQueen__QueenInfo[] = { // Game::SVSOSwarmQueen::QueenInfo + {"QueenID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"QDstID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOSystemKiller[] = { // Game::SVSOSystemKiller + {"Des", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"Flt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Init2", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"End", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"NSys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"SID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOTraps[] = { // Game::SVSOTraps + {"traps", Prim::Frame, Shape::CArr, "Game::SVSOTraps::Trap", true, false, false}, +}; +inline constexpr Field k_Game__SVSOTraps__Trap[] = { // Game::SVSOTraps::Trap + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trenc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trgenc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes[] = { // Game::SVSOUpstartApes + {"EMPIREFLAGS", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EMPIRESTANDING", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NUMSHIPCLASSES", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"SHIPCLASS", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"NEXTORDERTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EMPIREORDERID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"EMPIREORDER", Prim::Frame, Shape::Frame, "Game::SVSOUpstartApes_EmpireOrder", false, false, false}, + {"EARTHID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_DEMANDS_SHIPS[] = { // Game::SVSOUpstartApes_EO_DEMANDS_SHIPS + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"REQUESTS", Prim::Frame, Shape::CArr, "Game::SVSOUpstartApes_EO_DEMANDS_SHIPS::ShipRequest", true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SUCCESSSTANDING", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FAILURESTANDING", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_DEMANDS_SHIPS__ShipRequest[] = { // Game::SVSOUpstartApes_EO_DEMANDS_SHIPS::ShipRequest + {"MISSIONSECTION", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"NUMREQUIRED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_DEMANDS_TRADE_GOODS[] = { // Game::SVSOUpstartApes_EO_DEMANDS_TRADE_GOODS + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_DEMANDS_VICTORY[] = { // Game::SVSOUpstartApes_EO_DEMANDS_VICTORY + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_ENERGY_WEAPONS_DECADENT[] = { // Game::SVSOUpstartApes_EO_ENERGY_WEAPONS_DECADENT + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_FEARS_YOUR_POWER[] = { // Game::SVSOUpstartApes_EO_FEARS_YOUR_POWER + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_GIFTS[] = { // Game::SVSOUpstartApes_EO_GIFTS + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_MUST_EXPAND[] = { // Game::SVSOUpstartApes_EO_MUST_EXPAND + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOUpstartApes_EO_REQUIRES_CASH[] = { // Game::SVSOUpstartApes_EO_REQUIRES_CASH + {"OBJECTIVEID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TURNCREATED", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LASTTURN", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SVSOVonNeumann[] = { // Game::SVSOVonNeumann + {"dfts", Prim::Frame, Shape::CArr, "Game::SVSOVonNeumann::DefeatRecord", true, false, false}, + {"rusav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nenc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nmb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nml", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nbb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nbl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nskb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nskl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mts", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {"ntm", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ntb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sken", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"skdid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"skhid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"skfid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sktq", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"skt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sktc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mbid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"mbgid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"skgid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"vnhp", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"vnhw", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trev", Prim::Frame, Shape::CArr, "String", false, false, false}, +}; +inline constexpr Field k_Game__SVSOVonNeumann__DefeatRecord[] = { // Game::SVSOVonNeumann::DefeatRecord + {"sys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ndft", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nxrv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lstd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bkdf", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ServerNodeGraph[] = { // Game::ServerNodeGraph + {"paths", Prim::Frame, Shape::CArr, "Game::NodePath", true, false, false}, + {"nextid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ServerNodeGraph__Params[] = { // Game::ServerNodeGraph::Params + {"RSeed", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SSeed", Prim::Frame, Shape::CArr, "int", true, false, false}, + {"PSeed", Prim::Frame, Shape::CArr, "Game::SimpleNodePath", true, false, false}, +}; +inline constexpr Field k_Game__ServerPlayer[] = { // Game::ServerPlayer + {"TechTree", Prim::Frame, Shape::Frame, "Game::TechTree", true, false, false}, + {"HomeSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlyrIdx", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlryName", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Species", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ClrID", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {"Bdg", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Avt", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Team", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Sav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"IdealSuit", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SuitTol", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"MaxOH", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResRate", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResScl", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TRM", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TRP", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRA", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"OutMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"RebOutMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ScOutMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"IncMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"PopMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TerraMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"AMine", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"MinPure", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"MinRate", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"NGts", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PrGtTrf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"GTraf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"CstR", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"CstE", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"CstT", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Maint", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"shrm", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Status", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Elim", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"NPC", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"RebAI", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"ReqCL", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Team", Prim::Frame, Shape::Frame, "Game::PlayerAlliances", true, false, false}, + {"HasVac", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasImm", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NPTrk", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasDisc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasDiscSp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasDiscCl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasEnc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HasEng", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Events", Prim::Frame, Shape::Frame, "Game::EventStorage", true, false, false}, + {"FNG", Prim::Frame, Shape::Frame, "Game::FleetNameGenerator", true, false, false}, + {"PvSav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PvMA", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"AIBn", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"CnTrd", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"CnRad", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"hgs", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"hadvs", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"harcc", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"CnVItl", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"pddm", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"BnkWrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"BnkTrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"BnkPr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"BnkEl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ShipRecs", Prim::Frame, Shape::Frame, "Game::ShipRecords", true, false, false}, + {"NextPrjID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"plcy", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pswd", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"lret", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nmeid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cdp", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"spy2", Prim::Frame, Shape::Frame, "Game::SpyReport", true, false, false}, + {"civr", Prim::Frame, Shape::Frame, "Game::CivilianRatios", true, false, false}, + {"aidf", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Srn", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"SrnTo", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lboid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"lcid2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ResTNm", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"ResErrRoll", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"ConMod", Prim::F32, Shape::Scalar, nullptr, false, false, false}, + {"SavMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"NumOwn", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"OwnId", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumDes", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"DesID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Des", Prim::Frame, Shape::Frame, "Game::ShipDesign", false, false, false}, + {"NumLeg", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"DesID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Des", Prim::Frame, Shape::Frame, "Game::ShipDesign", false, false, false}, + {"NumNotes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Nts", Prim::Frame, Shape::Frame, "Game::PlayerNotes", false, false, false}, + {"NumPR", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"PRm", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"PRBt", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"HasAIR", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"AIR", Prim::Frame, Shape::Frame, "Game::AIRebellion", true, false, false}, + {"cta", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"AIEnf", Prim::Frame, Shape::Frame, "Game::AIEncounterFlags", true, false, false}, + {"NSprj", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"SprjT", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Sprj", Prim::Frame, Shape::Frame, "Game::SpecialProjectImpl", false, false, false}, + {"Nexp", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"xid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"xmin", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"xmax", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"xper", Prim::F32, Shape::Scalar, nullptr, false, false, true}, + {"NWeapXcl", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"WeapXcl", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Ojvs", Prim::Frame, Shape::CArr, "Game::Objective", true, false, false}, + {"dipstats", Prim::Frame, Shape::CArr, "Game::DiplomacyStats", true, false, false}, + {"comms", Prim::Frame, Shape::Frame, "Game::CommMessageContainer", true, false, false}, + {"preps", Prim::Frame, Shape::CArr, "Game::PlayerReport", true, false, false}, + {"odes", Prim::Frame, Shape::CArr, "Game::ObservedDesign", true, false, false}, + {"owep", Prim::Frame, Shape::CArr, "Game::ObservedWeapon", true, false, false}, + {"otch", Prim::Frame, Shape::CArr, "Game::ObservedTech", true, false, false}, + {"aid", Prim::Frame, Shape::CArr, "Game::PlayerAid", true, false, false}, + {"ndeflay", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"deflay", Prim::Frame, Shape::Frame, "Game::DefenceLayout", false, false, false}, + {"rdtc", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"rdt", Prim::Frame, Shape::Frame, "Game::RaidTargets", true, false, false}, + {"tnc", Prim::I32, Shape::Scalar, nullptr, false, true, false}, +}; +inline constexpr Field k_Game__ServerSpyManager[] = { // Game::ServerSpyManager + {"xsid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nspy", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"spy", Prim::Frame, Shape::Frame, "Game::SpyCraft", false, false, false}, +}; +inline constexpr Field k_Game__ServerSystem[] = { // Game::ServerSystem + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"R", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"G", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"B", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"A", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Idx", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Size", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Suit", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Res", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ARes2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"MRes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NoRebAI", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Pop", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Pop2", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"Infra", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"PvPop", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PvPop2", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"PvInfra", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"PvSuit", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"PvRes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PvARes2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PvMRes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PvNoRebAI", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Rts", Prim::Frame, Shape::Frame, "Game::StarSystem::OutputRates", true, false, false}, + {"Abdn", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Dstyd", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TnsOH", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"OutMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"RepCur", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"RepMax", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ntdev", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pbon", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pbon2", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"ibon", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ltis", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rbfl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rbtn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rbfr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rbwn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"hsrg", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"haltc", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"haltt", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"haltv", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"vnh", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"vnd", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"vnex3", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"vnpex3", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Name", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"VFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"AFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"GFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Bats2", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"rcex", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"MnRFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RfRFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ClkFlags", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EggScio", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TerrFl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TAcq", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TFAcq", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TDst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"dcs", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"dsu", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"cm", Prim::Frame, Shape::Frame, "Game::Morale", true, false, false}, + {"PvCM", Prim::Frame, Shape::Frame, "Game::Morale", true, false, false}, + {"cme2", Prim::Frame, Shape::CArr, "Game::MoraleEvent", true, false, false}, + {"spies2", Prim::Frame, Shape::CArr, "int", true, false, false}, + {"PID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"DefF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"DefSF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"BQ", Prim::Frame, Shape::Frame, "Game::BuildQueue", true, false, false}, + {"nadct", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"ads", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"adt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumPlgs2", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"PlgT", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Plg", Prim::Frame, Shape::Frame, "Game::Plague", false, false, false}, + {"NumFlts", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Flt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumGFs", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"GF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumSnF", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"SnF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumMnF", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"MnF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NVO", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TShn", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"OID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"isind", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"indi", Prim::Frame, Shape::Frame, "Game::IndependenceInfo", false, false, false}, + {"NVE", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"EPid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"ETS", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Eid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NVs", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"pview", Prim::Frame, Shape::Frame, "Game::StarSystem::PlayerView", false, false, false}, + {"hindi", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"indi", Prim::Frame, Shape::Frame, "Game::IndependenceInfo", true, false, false}, +}; +inline constexpr Field k_Game__ServerTradeManager[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::ServerTradeManager: Write emits no item +inline constexpr Field k_Game__ServerTradeManagerImpl[] = { // Game::ServerTradeManagerImpl + {"NumTradeSectors", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"TradeID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Trade", Prim::Frame, Shape::Frame, "Game::TradeSector", false, false, false}, + {"SctSize", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"rt", Prim::Frame, Shape::Frame, "Game::TradeRoute", false, false, false}, +}; +inline constexpr Field k_Game__ServerTradeSector[] = { // Game::ServerTradeSector + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"tsgridID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tsctr", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"tssec", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tsct", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tscr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ptssec", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ptsct", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ptscr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"fwarn", Prim::Frame, Shape::CArr, "Game::ServerTradeSector::FreighterWarning", true, false, false}, + {"tsnumsys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"tssys", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"tsnumflt", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"tsflt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ServerTradeSector__FreighterWarning[] = { // Game::ServerTradeSector::FreighterWarning + {"pid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ntrns", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ShipBuildOrder[] = { // Game::ShipBuildOrder + {"desID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"con", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"conleft", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ordID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ShipBuildOrderDef[] = { // Game::ShipBuildOrderDef + {"desID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"con", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"conleft", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ordID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ShipDesign[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Game::ShipDesign: Write emits no item +inline constexpr Field k_Game__ShipDesignDef__LegacyGunBank[] = { // Game::ShipDesignDef::LegacyGunBank + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ShipDesignDef__LegacyWeaponDef[] = { // Game::ShipDesignDef::LegacyWeaponDef + {"DWu", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"DWi", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"DWu", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"DWf", Prim::Str, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__ShipDesignDef__Section[] = { // Game::ShipDesignDef::Section + {"DSec", Prim::Frame, Shape::Frame, "Game::ShipSectionID", false, false, true}, + {"DGbnk2", Prim::Frame, Shape::CArr, "Game::ShipDesignDef::GunBank", true, false, false}, + {"DOpts", Prim::Frame, Shape::CArr, "String", true, false, false}, +}; +inline constexpr Field k_Game__ShipHealth[] = { // Game::ShipHealth + {".", Prim::F32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__ShipParams[] = { // Game::ShipParams + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::ShipParams::Section", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::ShipHealth", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PrisonerHold", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::WeaponGroups", true, false, false}, +}; +inline constexpr Field k_Game__ShipParams__Section[] = { // Game::ShipParams::Section + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::ShipParams::GunBank", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::CombatTechFlags", true, false, false}, +}; +inline constexpr Field k_Game__ShipRecords[] = { // Game::ShipRecords + {"srnc", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"srb", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"srl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srk", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"sri", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"srbd", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"srd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"src", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srb", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sri", Prim::I32, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__ShipSectionID[] = { // Game::ShipSectionID + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ShipWeapon[] = { // Game::ShipWeapon + {"bID", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"wid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bID", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"wfn", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"did", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SimpleNodePath[] = { // Game::SimpleNodePath + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SlaversRefuelEncounterResult[] = { // Game::SlaversRefuelEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__Slot[] = { // Game::Slot + {".", Prim::Frame, Shape::Frame, "Game::SlotDef", false, false, true}, + {".", Prim::Frame, Shape::Frame, "Game::SlotUser", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SlotDef[] = { // Game::SlotDef + {"IsPlay", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"IsDead", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"IsReq", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"IsRec", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"IsFxNm", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"FxNm", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"IsFxSp", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"FxSp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"IsFxCr", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"FxCrID", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {"IsFxBd", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"FxBd", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"IsFxAv", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"FxAv", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Tag", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Pwd", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Team", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Settings", Prim::Frame, Shape::Frame, "Game::StrategyPlayerGameSettings", true, false, false}, +}; +inline constexpr Field k_Game__SlotUser[] = { // Game::SlotUser + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SpecialProject[] = { // Game::SpecialProject + {"SPid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Sts", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Cst", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"MxC", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Nm", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Trns", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SpecialProjectImpl[] = { // Game::SpecialProjectImpl + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, +}; +inline constexpr Field k_Game__SpecialProjectNameGen[] = { // Game::SpecialProjectNameGen + {"NNms2", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"usnc", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"usp", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"usc", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"Nm", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Ntg", Prim::Str, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__SpeciesRatios[] = { // Game::SpeciesRatios + {"nv", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"sp", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"va2", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__SpyCraft[] = { // Game::SpyCraft + {"sid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sown", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"atto", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"deat", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tdep", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cbh", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"sdo", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"sdet", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spyon", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spyat", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cm", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"cmo", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ncp", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"cpl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SpyReport[] = { // Game::SpyReport + {"defc2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"def", Prim::Frame, Shape::Frame, "Game::SpyReportDefences", false, false, false}, + {"rtc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"strd", Prim::Frame, Shape::Frame, "Game::SpyReportTrade", false, false, false}, + {"evc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"evs", Prim::Frame, Shape::Frame, "Game::SpyReportEvents", false, false, false}, + {"ttc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tt", Prim::Frame, Shape::Frame, "Game::SpyReportTechTree", false, false, false}, +}; +inline constexpr Field k_Game__SpyReportDefences[] = { // Game::SpyReportDefences + {"stn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sdef", Prim::Frame, Shape::Frame, "Game::DefenceSummary", true, false, false}, +}; +inline constexpr Field k_Game__SpyReportEvents[] = { // Game::SpyReportEvents + {"spl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ste", Prim::Frame, Shape::CArr, "int", true, false, false}, +}; +inline constexpr Field k_Game__SpyReportTechTree[] = { // Game::SpyReportTechTree + {"stn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumTechs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, true}, + {"St", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TResCost", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TResDone", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TAcq", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TiAcq", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Tbd", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"Tfc", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"TUnlck", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__SpyReportTrade[] = { // Game::SpyReportTrade + {"stn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sctr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"srt", Prim::Frame, Shape::CArr, "Game::SpyReportTradeRoute", true, false, false}, +}; +inline constexpr Field k_Game__SpyReportTradeRoute[] = { // Game::SpyReportTradeRoute + {"stn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sctr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"sdgc", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"sdg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StarFleet[] = { // Game::StarFleet + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"PID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"LocID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"HFPlan", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"FPlan", Prim::Frame, Shape::Frame, "Game::FlightPlan", true, false, false}, + {"FtName", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"FtTrans", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FtOrig", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"FtFlg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Ftae", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Ftpae", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FtEnc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FtMS", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Perm", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"PrvPos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {"HLay", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"Lay", Prim::Frame, Shape::Frame, "Game::FleetLayout", true, false, false}, + {"NShips", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"ShipID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Ship", Prim::Frame, Shape::Frame, "Game::StarShip", false, false, false}, +}; +inline constexpr Field k_Game__StarMapNode[] = { // Game::StarMapNode + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__StarMapParams[] = { // Game::StarMapParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::SystemParams", true, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "int", true, false, false}, + {".", Prim::Frame, Shape::CArr, "Game::SimpleNodePath", true, false, false}, +}; +inline constexpr Field k_Game__StarShip[] = { // Game::StarShip + {"DesID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"FltID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlrID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Range", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Health", Prim::Frame, Shape::Frame, "Game::ShipHealth", true, false, false}, + {"ConCap", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RefCap", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"RepCap", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"MineCap", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Plg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Act", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Dep", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Atq", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"EncID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PrisH", Prim::Frame, Shape::Frame, "Game::PrisonerHold", true, false, false}, + {"LCT", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tsd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"atsp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tblt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"hbq", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"BQ2", Prim::Frame, Shape::Frame, "Game::BuildQueue", true, false, false}, + {"hsp", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {"pop", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"ppop", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"NTH", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"TH", Prim::F32, Shape::Scalar, nullptr, false, false, false}, + {"THM", Prim::F32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__StarSystem[] = { // Game::StarSystem + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__StarSystem__OutputRates[] = { // Game::StarSystem::OutputRates + {"SRs", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRt", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRsc", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRtf", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRi", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRoh", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRnr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StarSystem__PlayerView[] = { // Game::StarSystem::PlayerView + {"VTrn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Pop", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Pop2", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"Infra", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Suit", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Res", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ARes2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"MRes", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NoRebAI", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"pbon", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pbon2", Prim::Frame, Shape::Frame, "Game::Population", true, false, false}, + {"ibon", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TerrFl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"footer", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__StrategyAIAgent__DesignNameGen[] = { // Game::StrategyAIAgent::DesignNameGen + {"dnnc", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"dnid", Prim::Frame, Shape::Frame, "Game::ShipSectionID", true, false, false}, + {"dnnm", Prim::Str, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__StrategyAIAgent__Streamable[] = { // Game::StrategyAIAgent::Streamable + {"AIAttr", Prim::Frame, Shape::Frame, "Game::AttribMap", false, false, false}, + {"AITurnPris", Prim::Frame, Shape::Frame, "Game::Mars::Game::W4AIPurposeID::U?$StreamableEnum::?$AIWeightMap", false, false, true}, + {"AISit", Prim::Frame, Shape::Frame, "Game::AISituation", false, false, true}, + {"AIPlyHat", Prim::Frame, Shape::Frame, "Game::Mars::I::U?$StreamableEnum::?$AIWeightMap", false, false, true}, + {"prs2", Prim::Frame, Shape::CArr, "Game::AIPlayerRequestStamp", true, false, false}, + {"dsh", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"pid", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"trns", Prim::Frame, Shape::CArr, "int", false, false, false}, + {"NBStab", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"BStabPl", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"BStabTn", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NMBlst", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"MBlstSy", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"MBlstTn", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AIDNG", Prim::Frame, Shape::Frame, "Game::StrategyAIAgent::DesignNameGen", false, false, false}, + {"AIHivJ", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SDFlT", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"nalat", Prim::Frame, Shape::CArr, "enum:uint", false, false, false}, + {"lnat", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"lat", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"AINumSys", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"AISysID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AISys", Prim::Frame, Shape::Frame, "Game::AISystem", false, false, false}, + {"NCmbR", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"CmbR", Prim::Frame, Shape::Frame, "Game::AICombatReport", false, false, false}, + {"NumCL", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"CLTn", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"CLSyID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"CLPlID", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NPrv", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"NPrvId", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NPrvVa", Prim::F32, Shape::Scalar, nullptr, false, false, false}, + {"NTecS", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"TecS", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"fct", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"apr", Prim::Frame, Shape::CArr, "Game::AIAutoPeaceRun", false, false, true}, +}; +inline constexpr Field k_Game__StrategyGameCreateParams[] = { // Game::StrategyGameCreateParams + {"Name", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"ID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RSeed", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"AID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Key", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"MapP", Prim::Frame, Shape::Frame, "Game::StarMapParams", true, false, false}, + {"MapS", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"MapF", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"NSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"REnc", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SDist", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SSize", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SRes", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"SSuit", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"MaxP", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ASpec", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"bAlly", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"NTeam", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tmgrp", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"PSav", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PCol", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PTech", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"IncM", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResM", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"scrp", Prim::Frame, Shape::Frame, "Game::StrategyScriptParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategyGameInfo[] = { // Game::StrategyGameInfo + {"GameName", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Turn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NumSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Checksum", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Players", Prim::Frame, Shape::CArr, "Game::StrategyPlayerInfo", true, false, false}, + {"Session", Prim::Frame, Shape::Frame, "Game::StrategySessionParams", true, false, false}, + {"MapShape", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"IncMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Alliances", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Teams", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Encounters", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"Scenario", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyGameLoadParams[] = { // Game::StrategyGameLoadParams + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyGameLoader__CustomDataTable[] = { // Game::StrategyGameLoader::CustomDataTable + {"NumIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"ID", Prim::Str, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__StrategyGameParams[] = { // Game::StrategyGameParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategyGameCreateParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategyHostParams[] = { // Game::StrategyHostParams + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategyGameParams", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategySessionParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategyLaunchParams[] = { // Game::StrategyLaunchParams + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategySimParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategyPlayerGameSettings[] = { // Game::StrategyPlayerGameSettings + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyPlayerInfo[] = { // Game::StrategyPlayerInfo + {"Slot", Prim::Frame, Shape::Frame, "Game::SlotDef", true, false, false}, + {"Rank", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyPlayerParams[] = { // Game::StrategyPlayerParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::PlayerColorID", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategyPlayerGameSettings", true, false, false}, +}; +inline constexpr Field k_Game__StrategyScriptParams[] = { // Game::StrategyScriptParams + {"spc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"spsn", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"sppn", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"sppv", Prim::Str, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__StrategyServer[] = { // Game::StrategyServer + {"KeyPath", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"NMSz", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"NMLc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NMnx", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"PlayerIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"DesignIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"SystemIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"FleetIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"ShipIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TradeIDs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"ModCount", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Frame", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"GameID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Attrib", Prim::Frame, Shape::Frame, "Game::AttribMap", true, false, false}, + {"RNG", Prim::Frame, Shape::Frame, "RNG", true, false, false}, + {"GameName", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {"Map", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"IncMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"ResMod", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"EnAl", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"EnTm", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"GOTurn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"GOWinPly", Prim::Frame, Shape::CArr, "enum:uint", true, false, false}, + {"NPCm", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NPCo", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NPCi", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NPCv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"NPCa", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"szadj", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"rsadj", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"suadj", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"sprjs", Prim::Frame, Shape::Frame, "Game::SpecialProjectNameGen", true, false, false}, + {"RandEncAdj", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"cmbtid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"turnstats", Prim::Frame, Shape::Frame, "Game::GameTurnHistory", true, false, false}, + {"numcreps", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"crep", Prim::Frame, Shape::Frame, "Game::CombatReport", false, false, false}, + {"ninv", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"invs", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"inve", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"invt", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"invtb", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AllExc", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AllExcCF", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"AllExcCFp", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"AllExcCFp", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"NumPlrs", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"PlayerID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Player", Prim::Frame, Shape::Frame, "Game::ServerPlayer", false, false, false}, + {"ISsp", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"ISsu", Prim::F32, Shape::Scalar, nullptr, false, false, false}, + {"NumSys", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"SysID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Sys", Prim::Frame, Shape::Frame, "Game::StarSystem", false, false, false}, + {"NdGr2", Prim::Frame, Shape::Frame, "Game::ServerNodeGraph", true, false, false}, + {"trdmgr", Prim::Frame, Shape::Frame, "Game::ServerTradeManager", true, false, false}, + {"spymgr", Prim::Frame, Shape::Frame, "Game::IServerSpyManager", true, false, false}, + {"NumFlts", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"FltID", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"Flt", Prim::Frame, Shape::Frame, "Game::StarFleet", false, false, false}, + {"NumActs", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"Act", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SvSctOb", Prim::Frame, Shape::Frame, "Game::SVScriptObject", true, false, false}, + {"zdsc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"zdsi", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"zdst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategySessionParams[] = { // Game::StrategySessionParams + {"TMRS", Prim::Frame, Shape::Frame, "Game::StrategyTimerParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategySimParams[] = { // Game::StrategySimParams + {".", Prim::Frame, Shape::Frame, "Game::StrategyGameParams", true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StrategySessionParams", false, false, true}, + {".", Prim::Frame, Shape::CArr, "Game::StrategyPlayerParams", true, false, false}, +}; +inline constexpr Field k_Game__StrategyTimerParams[] = { // Game::StrategyTimerParams + {"TSTL", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TCTL", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TQTL", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TQTLE", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyTurnInfo[] = { // Game::StrategyTurnInfo + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__StrategyUserInfo[] = { // Game::StrategyUserInfo + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, +}; +inline constexpr Field k_Game__SwarmEncounterParams[] = { // Game::SwarmEncounterParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SwarmEncounterResult[] = { // Game::SwarmEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::ShipHealth", true, false, false}, +}; +inline constexpr Field k_Game__SwarmQueenEncounterResult[] = { // Game::SwarmQueenEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SystemEvent[] = { // Game::SystemEvent + {"set", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"ses", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"seop", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"senp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"seno2", Prim::I32, Shape::NArr, nullptr, true, false, false}, + {"seot2", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SystemKillerEncounterResult[] = { // Game::SystemKillerEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__SystemParams[] = { // Game::SystemParams + {".", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__TacReport[] = { // Game::TacReport + {"TRby", Prim::Frame, Shape::Frame, "Game::TacReportEvents", true, false, false}, + {"TRto", Prim::Frame, Shape::Frame, "Game::TacReportEvents", true, false, false}, + {"TRid", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRal", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRbal", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRlas", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRmis", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRmin", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRnrg", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRbio", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRbrd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRsld", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRsldd", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRsldc", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRsldi", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRsldr", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {"TRnc", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"TRships", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {"TRsats", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TRshipsL", Prim::I32, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__TacReportEvents[] = { // Game::TacReportEvents + {"TREhd", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TREhi", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"TREd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TREdp", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TREdi", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TREdt", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"TREb", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__TechOffer[] = { // Game::TechOffer + {"giv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"tch", Prim::Str, Shape::Scalar, nullptr, false, false, false}, +}; +inline constexpr Field k_Game__TechOfferProject[] = { // Game::TechOfferProject + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, + {"AOdd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"AInc", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Tch", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"RCst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RDn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"giv", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"rcpd2", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__TechProject[] = { // Game::TechProject + {"Stp", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"SPi", Prim::Frame, Shape::Frame, "Game::SpecialProject", true, false, false}, + {"AOdd", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"AInc", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {"Tch", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"RCst", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"RDn", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__TechTree[] = { // Game::TechTree + {"NumTechs", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, true}, + {"NumBrs", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, false}, + {"TNm", Prim::Str, Shape::Scalar, nullptr, false, false, true}, +}; +inline constexpr Field k_Game__TradeRoute[] = { // Game::TradeRoute + {"tro", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trfow", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trfr", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trfrs", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trtow", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trto", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trtos", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"trtc", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__TradeSector[] = { // Game::TradeSector + {"Pos", Prim::Frame, Shape::Frame, "Vector3", true, false, false}, +}; +inline constexpr Field k_Game__TurnCommands[] = { // Game::TurnCommands + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::CivilianRatios", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::StarSystem::OutputRates", false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::NArr, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::Population", false, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, false}, + {".", Prim::Frame, Shape::Frame, "Game::RaidTargets", false, false, false}, +}; +inline constexpr Field k_Game__UpdateData[] = { // Game::UpdateData + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Unknown, Shape::Scalar, nullptr, true, false, true}, +}; +inline constexpr Field k_Game__VNFinsolEncounterResult[] = { // Game::VNFinsolEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__VNHomeEncounterParams[] = { // Game::VNHomeEncounterParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I64, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__VNHomeEncounterResult[] = { // Game::VNHomeEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I64, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__VonNeumannEncounterParams[] = { // Game::VonNeumannEncounterParams + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__VonNeumannEncounterResult[] = { // Game::VonNeumannEncounterResult + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__WeaponGroups[] = { // Game::WeaponGroups + {"wgng", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"wgid", Prim::I32, Shape::Scalar, nullptr, false, true, false}, + {"wgb", Prim::Frame, Shape::Frame, "Game::GunBankSelection", true, false, false}, +}; +inline constexpr Field k_Game__XenoTechsPerSpecies[] = { // Game::XenoTechsPerSpecies + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Game__ZuulInfestation[] = { // Game::ZuulInfestation + {"PlgSys", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgCBy", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgCByF", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {"PlgNZ", Prim::I64, Shape::Scalar, nullptr, true, false, false}, + {"PlgZdr", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__DecalFile[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::DecalFile: Write emits no item +inline constexpr Field k_Mars__DirectionAttractorProxy[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::DirectionAttractorProxy: Write emits no item +inline constexpr Field k_Mars__FNMBase[] = { // Mars::FNMBase + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMChunk[] = { // Mars::FNMChunk + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Raw, Shape::Raw, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMChunkReply[] = { // Mars::FNMChunkReply + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMDone[] = { // Mars::FNMDone + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMDoneReply[] = { // Mars::FNMDoneReply + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMError[] = { // Mars::FNMError + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMSendNotify[] = { // Mars::FNMSendNotify + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__FNMSendReply[] = { // Mars::FNMSendReply + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__IStreamable[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::IStreamable: Write emits no item +inline constexpr Field k_Mars__LaunchParams[] = { // Mars::LaunchParams + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__NMCommand[] = { // Mars::NMCommand + {".", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::Frame, Shape::Frame, "Command", true, false, false}, +}; +inline constexpr Field k_Mars__NMLoad[] = { // Mars::NMLoad + {".", Prim::Frame, Shape::Frame, "SyncParams", true, false, false}, + {".", Prim::Frame, Shape::Frame, "LaunchParams", true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__NMSyncCheck[] = { // Mars::NMSyncCheck + {".", Prim::Frame, Shape::Frame, "SyncChecksumBuffer", true, false, false}, +}; +inline constexpr Field k_Mars__NMSyncError[] = { // Mars::NMSyncError + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__ParticleAttractor[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::ParticleAttractor: Write emits no item +inline constexpr Field k_Mars__ParticleChannel[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::ParticleChannel: Write emits no item +inline constexpr Field k_Mars__ParticleEmitter[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::ParticleEmitter: Write emits no item +inline constexpr Field k_Mars__ParticleSystem[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::ParticleSystem: Write emits no item +inline constexpr Field k_Mars__ParticleTracker[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::ParticleTracker: Write emits no item +inline constexpr Field k_Mars__PointAttractorProxy[1] = {{nullptr, Prim::Unknown, Shape::Scalar, nullptr, false, false, false}}; // Mars::PointAttractorProxy: Write emits no item +inline constexpr Field k_Mars__RNG[] = { // Mars::RNG + {".", Prim::Raw, Shape::Raw, nullptr, false, false, false}, +}; +inline constexpr Field k_Mars__SyncChecksumBuffer[] = { // Mars::SyncChecksumBuffer + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Frame, Shape::CArr, "int", true, false, false}, +}; +inline constexpr Field k_Mars__SyncParams[] = { // Mars::SyncParams + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::Str, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Mars__TNMConnect[] = { // Mars::TNMConnect + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, +}; +inline constexpr Field k_Mars__TNMDisconnect[] = { // Mars::TNMDisconnect + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, +}; +inline constexpr Field k_Mars__TNMHost[] = { // Mars::TNMHost + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, +}; +inline constexpr Field k_Mars__TNMMessage[] = { // Mars::TNMMessage + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Bool, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::I32, Shape::Scalar, nullptr, false, false, true}, + {".", Prim::Frame, Shape::Frame, "NetMessage", true, false, false}, +}; +inline constexpr Field k_Mars__TNMessage[] = { // Mars::TNMessage + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, + {".", Prim::Frame, Shape::Frame, "TNID", true, false, false}, +}; +inline constexpr Field k_Quaternion[] = { // Quaternion + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Vector2[] = { // Vector2 + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; +inline constexpr Field k_Vector3[] = { // Vector3 + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, + {".", Prim::F32, Shape::Scalar, nullptr, true, false, false}, +}; + +inline constexpr Class kClasses[] = { + {"Address", k_Address, 4, 4, "unnamed", 0, 0}, + {"Game::AIAutoPeaceRun", k_Game__AIAutoPeaceRun, 3, 0, "verified", 2, 2}, + {"Game::AICombatReport", k_Game__AICombatReport, 4, 0, "verified", 2, 2}, + {"Game::AIEncounterFlags", k_Game__AIEncounterFlags, 3, 0, "clean", 0, 0}, + {"Game::AIRebellion", k_Game__AIRebellion, 0, 0, "empty", 0, 0}, + {"Game::AIRebellionImpl", k_Game__AIRebellionImpl, 5, 0, "clean", 0, 0}, + {"Game::AIRelationRecord", k_Game__AIRelationRecord, 5, 5, "unnamed", 0, 0}, + {"Game::AISituation", k_Game__AISituation, 2, 0, "clean", 0, 0}, + {"Game::AISystem", k_Game__AISystem, 1, 0, "partial", 0, 0}, + {"Game::AllianceInvite", k_Game__AllianceInvite, 15, 15, "unnamed", 0, 0}, + {"Game::AllianceInvite::Response", k_Game__AllianceInvite__Response, 3, 3, "unnamed", 0, 0}, + {"Game::AttribMap", k_Game__AttribMap, 3, 3, "unnamed", 0, 0}, + {"Game::BackEngProject", k_Game__BackEngProject, 7, 0, "verified", 4, 4}, + {"Game::BerserkerEncounterResult", k_Game__BerserkerEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::BuildQueue", k_Game__BuildQueue, 1, 0, "partial", 0, 0}, + {"Game::CNMClientNotResponding", k_Game__CNMClientNotResponding, 2, 2, "unnamed", 0, 0}, + {"Game::CNMPlayerJoined", k_Game__CNMPlayerJoined, 2, 2, "unnamed", 0, 0}, + {"Game::CNMPlayerLeft", k_Game__CNMPlayerLeft, 1, 1, "unnamed", 0, 0}, + {"Game::CNMUpdate", k_Game__CNMUpdate, 1, 1, "unnamed", 0, 0}, + {"Game::CNMUpdateComplete", k_Game__CNMUpdateComplete, 1, 1, "unnamed", 0, 0}, + {"Game::CNMUserShips", k_Game__CNMUserShips, 2, 2, "unnamed", 0, 0}, + {"Game::CivilianRatios", k_Game__CivilianRatios, 2, 0, "partial", 1, 1}, + {"Game::ClientEncounterResults", k_Game__ClientEncounterResults, 3, 3, "unnamed", 0, 0}, + {"Game::ClientSystem", k_Game__ClientSystem, 1, 0, "clean", 0, 0}, + {"Game::ClientTradeSector", k_Game__ClientTradeSector, 1, 0, "clean", 0, 0}, + {"Game::CombatCommandCloak", k_Game__CombatCommandCloak, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandDecloak", k_Game__CombatCommandDecloak, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandFleetSetFacing", k_Game__CombatCommandFleetSetFacing, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandFleetSetHoldFire", k_Game__CombatCommandFleetSetHoldFire, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandFleetSetStance", k_Game__CombatCommandFleetSetStance, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandIntangOff", k_Game__CombatCommandIntangOff, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandIntangOn", k_Game__CombatCommandIntangOn, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandMoveReserves", k_Game__CombatCommandMoveReserves, 3, 3, "unnamed", 0, 0}, + {"Game::CombatCommandNull", k_Game__CombatCommandNull, 0, 0, "empty", 0, 0}, + {"Game::CombatCommandPickReserve", k_Game__CombatCommandPickReserve, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandRequestAsylumResponse", k_Game__CombatCommandRequestAsylumResponse, 3, 3, "unnamed", 0, 0}, + {"Game::CombatCommandSetAEAutoFire", k_Game__CombatCommandSetAEAutoFire, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandSetPlanetAttackMode", k_Game__CombatCommandSetPlanetAttackMode, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandSetPlayerAI", k_Game__CombatCommandSetPlayerAI, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandSetWantEndCombat", k_Game__CombatCommandSetWantEndCombat, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandShipAllStop", k_Game__CombatCommandShipAllStop, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandShipAttack", k_Game__CombatCommandShipAttack, 5, 5, "unnamed", 0, 0}, + {"Game::CombatCommandShipClearTargets", k_Game__CombatCommandShipClearTargets, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandShipFireOnce", k_Game__CombatCommandShipFireOnce, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandShipManeuver", k_Game__CombatCommandShipManeuver, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandShipReleaseGrapple", k_Game__CombatCommandShipReleaseGrapple, 1, 1, "unnamed", 0, 0}, + {"Game::CombatCommandShipSetFacing", k_Game__CombatCommandShipSetFacing, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandShipSetHoldFire", k_Game__CombatCommandShipSetHoldFire, 3, 3, "unnamed", 0, 0}, + {"Game::CombatCommandShipSetOnlyMyTarget", k_Game__CombatCommandShipSetOnlyMyTarget, 3, 3, "unnamed", 0, 0}, + {"Game::CombatCommandShipSetStance", k_Game__CombatCommandShipSetStance, 2, 2, "unnamed", 0, 0}, + {"Game::CombatCommandShipSetWaypoint", k_Game__CombatCommandShipSetWaypoint, 4, 4, "unnamed", 0, 0}, + {"Game::CombatCommandShipToggleBank", k_Game__CombatCommandShipToggleBank, 3, 3, "unnamed", 0, 0}, + {"Game::CombatDamageReport", k_Game__CombatDamageReport, 13, 0, "clean", 0, 0}, + {"Game::CombatLaunchParams", k_Game__CombatLaunchParams, 25, 25, "partial", 0, 0}, + {"Game::CombatPlayerReport", k_Game__CombatPlayerReport, 19, 0, "verified", 1, 1}, + {"Game::CombatPlayerStats", k_Game__CombatPlayerStats, 5, 0, "verified", 4, 4}, + {"Game::CombatReport", k_Game__CombatReport, 14, 0, "verified", 6, 6}, + {"Game::CombatShipReport", k_Game__CombatShipReport, 12, 0, "verified", 7, 7}, + {"Game::CombatTechFlags", k_Game__CombatTechFlags, 2, 2, "unnamed", 0, 0}, + {"Game::CombatWeaponReport", k_Game__CombatWeaponReport, 5, 0, "verified", 3, 3}, + {"Game::CommDeclareCurse", k_Game__CommDeclareCurse, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareIDontWant", k_Game__CommDeclareIDontWant, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareIHate", k_Game__CommDeclareIHate, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareILike", k_Game__CommDeclareILike, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareISaw", k_Game__CommDeclareISaw, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareISeveredAllianceWith", k_Game__CommDeclareISeveredAllianceWith, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareIWant", k_Game__CommDeclareIWant, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareShareAllColonyStats", k_Game__CommDeclareShareAllColonyStats, 6, 0, "clean", 0, 0}, + {"Game::CommDeclareShareStats", k_Game__CommDeclareShareStats, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareShareSystemNotes", k_Game__CommDeclareShareSystemNotes, 8, 0, "verified", 1, 1}, + {"Game::CommDeclareShareSystemStats", k_Game__CommDeclareShareSystemStats, 7, 0, "clean", 0, 0}, + {"Game::CommDeclareSorry", k_Game__CommDeclareSorry, 8, 0, "clean", 0, 0}, + {"Game::CommDeclareThanks", k_Game__CommDeclareThanks, 8, 0, "clean", 0, 0}, + {"Game::CommMessageContainer", k_Game__CommMessageContainer, 3, 0, "clean", 0, 0}, + {"Game::CommRequestAttackSystem", k_Game__CommRequestAttackSystem, 8, 0, "clean", 0, 0}, + {"Game::CommRequestDefendSystem", k_Game__CommRequestDefendSystem, 8, 0, "clean", 0, 0}, + {"Game::CommRequestDisposition", k_Game__CommRequestDisposition, 8, 0, "clean", 0, 0}, + {"Game::CommRequestHarassPlayer", k_Game__CommRequestHarassPlayer, 8, 0, "clean", 0, 0}, + {"Game::CommRequestHarassSystem", k_Game__CommRequestHarassSystem, 8, 0, "clean", 0, 0}, + {"Game::CommRequestMoney", k_Game__CommRequestMoney, 8, 0, "clean", 0, 0}, + {"Game::CommRequestRallyAtSystem", k_Game__CommRequestRallyAtSystem, 8, 0, "clean", 0, 0}, + {"Game::CommRequestResearch", k_Game__CommRequestResearch, 8, 0, "clean", 0, 0}, + {"Game::CommRequestSeverAllianceWith", k_Game__CommRequestSeverAllianceWith, 8, 0, "clean", 0, 0}, + {"Game::CommRequestShareSystemStats", k_Game__CommRequestShareSystemStats, 8, 0, "clean", 0, 0}, + {"Game::CommRequestStopColonizing", k_Game__CommRequestStopColonizing, 8, 0, "clean", 0, 0}, + {"Game::CommRequestStopHarassingMe", k_Game__CommRequestStopHarassingMe, 8, 0, "clean", 0, 0}, + {"Game::CommRequestStopHarassingPlayer", k_Game__CommRequestStopHarassingPlayer, 8, 0, "clean", 0, 0}, + {"Game::CommRequestStopHarrassingSystem", k_Game__CommRequestStopHarrassingSystem, 8, 0, "clean", 0, 0}, + {"Game::CommRequestStopMining", k_Game__CommRequestStopMining, 8, 0, "clean", 0, 0}, + {"Game::CommonPlague", k_Game__CommonPlague, 6, 0, "verified", 3, 3}, + {"Game::CrowDefendersEncounterResult", k_Game__CrowDefendersEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::CrowRuinsEncounterResult", k_Game__CrowRuinsEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::DefenceFleetAssignment", k_Game__DefenceFleetAssignment, 5, 0, "verified", 3, 3}, + {"Game::DefenceLayout", k_Game__DefenceLayout, 6, 0, "clean", 0, 0}, + {"Game::DefenceSummary", k_Game__DefenceSummary, 9, 0, "clean", 0, 0}, + {"Game::DerelictEncounterResult", k_Game__DerelictEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::DiplomacyStats", k_Game__DiplomacyStats, 14, 0, "verified", 13, 13}, + {"Game::EncounterQuery", k_Game__EncounterQuery, 5, 5, "unnamed", 0, 0}, + {"Game::EncounterResult", k_Game__EncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::EncounterResults", k_Game__EncounterResults, 28, 28, "unnamed", 0, 0}, + {"Game::EncounterResults::BoardedShip", k_Game__EncounterResults__BoardedShip, 2, 2, "unnamed", 0, 0}, + {"Game::EncounterResults::DamagedShip", k_Game__EncounterResults__DamagedShip, 5, 5, "partial", 0, 0}, + {"Game::EncounterResults::PrisonerShip", k_Game__EncounterResults__PrisonerShip, 2, 2, "unnamed", 0, 0}, + {"Game::EncounterResults::RetreatingShip", k_Game__EncounterResults__RetreatingShip, 4, 4, "unnamed", 0, 0}, + {"Game::EncounterResults::SpyShip", k_Game__EncounterResults__SpyShip, 5, 5, "unnamed", 0, 0}, + {"Game::EventStorage", k_Game__EventStorage, 2, 0, "verified", 1, 1}, + {"Game::EventStorage::Event", k_Game__EventStorage__Event, 8, 0, "verified", 4, 4}, + {"Game::EventStorage::TurnEvents", k_Game__EventStorage__TurnEvents, 2, 0, "verified", 1, 1}, + {"Game::FieldTemplate", k_Game__FieldTemplate, 1, 0, "partial", 0, 0}, + {"Game::FieldTemplate::Point", k_Game__FieldTemplate__Point, 5, 0, "verified", 3, 3}, + {"Game::FleetLayout", k_Game__FleetLayout, 3, 3, "partial", 0, 0}, + {"Game::FleetNameGenerator", k_Game__FleetNameGenerator, 1, 0, "verified", 1, 1}, + {"Game::FlightPlan", k_Game__FlightPlan, 6, 0, "verified", 2, 2}, + {"Game::FlightPlan::Waypoint", k_Game__FlightPlan__Waypoint, 3, 0, "clean", 0, 0}, + {"Game::Game::SVSOBrokenEmpire::VPCStat::?$NetworkIDDataMap", k_Game__Game__SVSOBrokenEmpire__VPCStat____NetworkIDDataMap, 3, 2, "clean", 0, 0}, + {"Game::Game::VLocustFleetLogistics::?$NetworkIDDataMap", k_Game__Game__VLocustFleetLogistics____NetworkIDDataMap, 3, 2, "clean", 0, 0}, + {"Game::Game::VLocustNestState::?$NetworkIDDataMap", k_Game__Game__VLocustNestState____NetworkIDDataMap, 3, 2, "clean", 0, 0}, + {"Game::Game::VShipSectionID::?$AIWeightMap", k_Game__Game__VShipSectionID____AIWeightMap, 3, 3, "unnamed", 0, 0}, + {"Game::GameTurnHistory", k_Game__GameTurnHistory, 3, 0, "clean", 0, 0}, + {"Game::GunBankSelection", k_Game__GunBankSelection, 1, 1, "unnamed", 0, 0}, + {"Game::HeraldEncounterResult", k_Game__HeraldEncounterResult, 2, 2, "unnamed", 0, 0}, + {"Game::IndependenceInfo", k_Game__IndependenceInfo, 5, 0, "verified", 3, 3}, + {"Game::JewelsProject", k_Game__JewelsProject, 4, 0, "verified", 2, 2}, + {"Game::LocustEncounterParams", k_Game__LocustEncounterParams, 1, 1, "unnamed", 0, 0}, + {"Game::LocustEncounterResult", k_Game__LocustEncounterResult, 2, 2, "unnamed", 0, 0}, + {"Game::LocustFleetLogistics", k_Game__LocustFleetLogistics, 4, 0, "verified", 2, 2}, + {"Game::Mars::Game::W4AIPurposeID::U?$StreamableEnum::?$AIWeightMap", k_Game__Mars__Game__W4AIPurposeID__U__StreamableEnum____AIWeightMap, 3, 3, "unnamed", 0, 0}, + {"Game::Mars::Game::W4WeaponFamilyID::U?$StreamableEnum::?$AIWeightMap", k_Game__Mars__Game__W4WeaponFamilyID__U__StreamableEnum____AIWeightMap, 3, 3, "unnamed", 0, 0}, + {"Game::Mars::I::U?$StreamableEnum::?$AIWeightMap", k_Game__Mars__I__U__StreamableEnum____AIWeightMap, 3, 3, "unnamed", 0, 0}, + {"Game::MeteorEncounterResult", k_Game__MeteorEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::MonitorEncounterResult", k_Game__MonitorEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::MonitorProject", k_Game__MonitorProject, 7, 0, "verified", 4, 4}, + {"Game::Morale", k_Game__Morale, 3, 0, "verified", 1, 1}, + {"Game::MoraleEvent", k_Game__MoraleEvent, 6, 0, "verified", 4, 4}, + {"Game::NodePath", k_Game__NodePath, 11, 0, "verified", 6, 6}, + {"Game::NodePointParams", k_Game__NodePointParams, 6, 6, "unnamed", 0, 0}, + {"Game::NodeRoute", k_Game__NodeRoute, 3, 0, "clean", 0, 0}, + {"Game::Objective", k_Game__Objective, 5, 0, "verified", 2, 2}, + {"Game::ObservedDesign", k_Game__ObservedDesign, 4, 0, "clean", 0, 0}, + {"Game::ObservedTech", k_Game__ObservedTech, 5, 0, "verified", 2, 2}, + {"Game::ObservedWeapon", k_Game__ObservedWeapon, 5, 0, "verified", 2, 2}, + {"Game::OrtgayEncounterResult", k_Game__OrtgayEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::PirateEncounterResult", k_Game__PirateEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::PlagueHit", k_Game__PlagueHit, 3, 3, "unnamed", 0, 0}, + {"Game::PlagueStats", k_Game__PlagueStats, 1, 1, "unnamed", 0, 0}, + {"Game::PlanetClientContext", k_Game__PlanetClientContext, 6, 6, "unnamed", 0, 0}, + {"Game::PlanetStats", k_Game__PlanetStats, 6, 6, "unnamed", 0, 0}, + {"Game::PlayerAid", k_Game__PlayerAid, 5, 0, "verified", 4, 4}, + {"Game::PlayerAlliances", k_Game__PlayerAlliances, 4, 0, "clean", 0, 0}, + {"Game::PlayerColorID", k_Game__PlayerColorID, 4, 4, "partial", 0, 0}, + {"Game::PlayerEncounterProgress", k_Game__PlayerEncounterProgress, 3, 3, "unnamed", 0, 0}, + {"Game::PlayerMessage", k_Game__PlayerMessage, 4, 4, "unnamed", 0, 0}, + {"Game::PlayerNotes", k_Game__PlayerNotes, 3, 0, "verified", 2, 2}, + {"Game::PlayerReport", k_Game__PlayerReport, 11, 0, "verified", 4, 4}, + {"Game::PlayerTurnHistory", k_Game__PlayerTurnHistory, 2, 0, "clean", 0, 0}, + {"Game::PlayerTurnStats", k_Game__PlayerTurnStats, 19, 0, "clean", 0, 0}, + {"Game::Population", k_Game__Population, 2, 0, "partial", 0, 0}, + {"Game::PopulationGroup", k_Game__PopulationGroup, 3, 0, "verified", 1, 1}, + {"Game::PrisonerHold", k_Game__PrisonerHold, 4, 0, "clean", 0, 0}, + {"Game::PuppetMasterEncounterResult", k_Game__PuppetMasterEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::RaidTargets", k_Game__RaidTargets, 5, 0, "verified", 1, 1}, + {"Game::RefugeesEncounterParams", k_Game__RefugeesEncounterParams, 1, 1, "unnamed", 0, 0}, + {"Game::RefugeesEncounterResult", k_Game__RefugeesEncounterResult, 2, 2, "unnamed", 0, 0}, + {"Game::SNMAIRelationValues", k_Game__SNMAIRelationValues, 1, 1, "unnamed", 0, 0}, + {"Game::SNMAllCombatDone", k_Game__SNMAllCombatDone, 1, 1, "unnamed", 0, 0}, + {"Game::SNMAllianceInvite", k_Game__SNMAllianceInvite, 3, 3, "unnamed", 0, 0}, + {"Game::SNMAllianceInviteChat", k_Game__SNMAllianceInviteChat, 4, 4, "unnamed", 0, 0}, + {"Game::SNMAllianceInviteProgress", k_Game__SNMAllianceInviteProgress, 2, 2, "unnamed", 0, 0}, + {"Game::SNMAllianceNotify", k_Game__SNMAllianceNotify, 3, 3, "unnamed", 0, 0}, + {"Game::SNMAllianceReply", k_Game__SNMAllianceReply, 4, 4, "unnamed", 0, 0}, + {"Game::SNMCancelAllianceInvite", k_Game__SNMCancelAllianceInvite, 2, 2, "unnamed", 0, 0}, + {"Game::SNMChat", k_Game__SNMChat, 5, 5, "unnamed", 0, 0}, + {"Game::SNMCombatTimeRemaining", k_Game__SNMCombatTimeRemaining, 2, 2, "unnamed", 0, 0}, + {"Game::SNMCommMessage", k_Game__SNMCommMessage, 2, 2, "unnamed", 0, 0}, + {"Game::SNMDemandEmpireSurrender", k_Game__SNMDemandEmpireSurrender, 2, 2, "unnamed", 0, 0}, + {"Game::SNMDemandEmpireSurrenderResponse", k_Game__SNMDemandEmpireSurrenderResponse, 3, 3, "unnamed", 0, 0}, + {"Game::SNMDoEncounterQuery", k_Game__SNMDoEncounterQuery, 1, 1, "unnamed", 0, 0}, + {"Game::SNMEncounterProgress", k_Game__SNMEncounterProgress, 1, 1, "unnamed", 0, 0}, + {"Game::SNMEncounterQueryResults", k_Game__SNMEncounterQueryResults, 2, 2, "unnamed", 0, 0}, + {"Game::SNMEncounterResults", k_Game__SNMEncounterResults, 2, 2, "unnamed", 0, 0}, + {"Game::SNMEndTurn", k_Game__SNMEndTurn, 2, 2, "partial", 0, 0}, + {"Game::SNMGenericEvent", k_Game__SNMGenericEvent, 2, 2, "unnamed", 0, 0}, + {"Game::SNMGenericGameMessage", k_Game__SNMGenericGameMessage, 2, 2, "unnamed", 0, 0}, + {"Game::SNMHostCombat", k_Game__SNMHostCombat, 7, 7, "unnamed", 0, 0}, + {"Game::SNMHostCombatReply", k_Game__SNMHostCombatReply, 3, 3, "unnamed", 0, 0}, + {"Game::SNMJoin", k_Game__SNMJoin, 3, 3, "unnamed", 0, 0}, + {"Game::SNMJoinCombat", k_Game__SNMJoinCombat, 5, 5, "unnamed", 0, 0}, + {"Game::SNMJoinCombatReply", k_Game__SNMJoinCombatReply, 2, 2, "unnamed", 0, 0}, + {"Game::SNMJoinReply", k_Game__SNMJoinReply, 1, 1, "unnamed", 0, 0}, + {"Game::SNMKillAI", k_Game__SNMKillAI, 1, 1, "unnamed", 0, 0}, + {"Game::SNMLaunchCombat", k_Game__SNMLaunchCombat, 5, 5, "unnamed", 0, 0}, + {"Game::SNMLeaveAlliance", k_Game__SNMLeaveAlliance, 1, 1, "unnamed", 0, 0}, + {"Game::SNMLeaveCeaseFire", k_Game__SNMLeaveCeaseFire, 2, 2, "unnamed", 0, 0}, + {"Game::SNMLeaveNonAggression", k_Game__SNMLeaveNonAggression, 2, 2, "unnamed", 0, 0}, + {"Game::SNMLobbyChat", k_Game__SNMLobbyChat, 3, 3, "unnamed", 0, 0}, + {"Game::SNMMakePlayerAI", k_Game__SNMMakePlayerAI, 2, 2, "unnamed", 0, 0}, + {"Game::SNMPendingAlliances", k_Game__SNMPendingAlliances, 1, 1, "unnamed", 0, 0}, + {"Game::SNMPlaySpeechEvent", k_Game__SNMPlaySpeechEvent, 3, 3, "unnamed", 0, 0}, + {"Game::SNMProgressionWarsConvoyShips", k_Game__SNMProgressionWarsConvoyShips, 1, 1, "unnamed", 0, 0}, + {"Game::SNMRefreshSlots", k_Game__SNMRefreshSlots, 1, 1, "unnamed", 0, 0}, + {"Game::SNMRefreshSlots::SlotData", k_Game__SNMRefreshSlots__SlotData, 3, 3, "unnamed", 0, 0}, + {"Game::SNMRemoveCommMessage", k_Game__SNMRemoveCommMessage, 2, 2, "unnamed", 0, 0}, + {"Game::SNMRunAI", k_Game__SNMRunAI, 3, 3, "unnamed", 0, 0}, + {"Game::SNMSetAIPolicy", k_Game__SNMSetAIPolicy, 2, 2, "unnamed", 0, 0}, + {"Game::SNMSetPlayerStatus", k_Game__SNMSetPlayerStatus, 2, 2, "unnamed", 0, 0}, + {"Game::SNMSetSlotPassword", k_Game__SNMSetSlotPassword, 2, 2, "unnamed", 0, 0}, + {"Game::SNMSetTimers", k_Game__SNMSetTimers, 1, 1, "unnamed", 0, 0}, + {"Game::SNMSlotInit", k_Game__SNMSlotInit, 10, 10, "unnamed", 0, 0}, + {"Game::SNMSlotInsertClient", k_Game__SNMSlotInsertClient, 3, 3, "unnamed", 0, 0}, + {"Game::SNMSlotMoveClient", k_Game__SNMSlotMoveClient, 3, 3, "unnamed", 0, 0}, + {"Game::SNMSlotPWAttempt", k_Game__SNMSlotPWAttempt, 1, 1, "unnamed", 0, 0}, + {"Game::SNMSlotPWRejected", k_Game__SNMSlotPWRejected, 1, 1, "unnamed", 0, 0}, + {"Game::SNMSlotRemoveClient", k_Game__SNMSlotRemoveClient, 1, 1, "unnamed", 0, 0}, + {"Game::SNMSlotReqPW", k_Game__SNMSlotReqPW, 2, 2, "unnamed", 0, 0}, + {"Game::SNMSlotSetData", k_Game__SNMSlotSetData, 10, 10, "unnamed", 0, 0}, + {"Game::SNMSlotSetForcedSpecies", k_Game__SNMSlotSetForcedSpecies, 1, 1, "unnamed", 0, 0}, + {"Game::SNMSlotSetPW", k_Game__SNMSlotSetPW, 4, 4, "unnamed", 0, 0}, + {"Game::SNMSlotSetState", k_Game__SNMSlotSetState, 3, 3, "unnamed", 0, 0}, + {"Game::SNMTechOffer", k_Game__SNMTechOffer, 5, 5, "unnamed", 0, 0}, + {"Game::SNMTransferProgress", k_Game__SNMTransferProgress, 1, 1, "unnamed", 0, 0}, + {"Game::SNMTurnInfo", k_Game__SNMTurnInfo, 1, 1, "unnamed", 0, 0}, + {"Game::SNMUpdate", k_Game__SNMUpdate, 5, 5, "unnamed", 0, 0}, + {"Game::SNMUpdateAlliances", k_Game__SNMUpdateAlliances, 2, 2, "unnamed", 0, 0}, + {"Game::SNMUpdateComplete", k_Game__SNMUpdateComplete, 1, 1, "unnamed", 0, 0}, + {"Game::SNMUserNames", k_Game__SNMUserNames, 2, 2, "unnamed", 0, 0}, + {"Game::SVSOAntiquarians", k_Game__SVSOAntiquarians, 4, 0, "verified", 1, 1}, + {"Game::SVSOAntiquarians::Artifact", k_Game__SVSOAntiquarians__Artifact, 4, 0, "clean", 0, 0}, + {"Game::SVSOBrokenEmpire", k_Game__SVSOBrokenEmpire, 1, 0, "clean", 0, 0}, + {"Game::SVSOCrowDefenders", k_Game__SVSOCrowDefenders, 6, 0, "verified", 1, 1}, + {"Game::SVSOCrowRuins", k_Game__SVSOCrowRuins, 5, 0, "clean", 0, 0}, + {"Game::SVSODerelict", k_Game__SVSODerelict, 6, 0, "clean", 0, 0}, + {"Game::SVSOGrandMenaceTrigger", k_Game__SVSOGrandMenaceTrigger, 1, 0, "clean", 0, 0}, + {"Game::SVSOHolyLands", k_Game__SVSOHolyLands, 0, 0, "empty", 0, 0}, + {"Game::SVSOHolyLands::PlayerState", k_Game__SVSOHolyLands__PlayerState, 0, 0, "empty", 0, 0}, + {"Game::SVSOJewelsOfTheCrown", k_Game__SVSOJewelsOfTheCrown, 5, 0, "clean", 0, 0}, + {"Game::SVSOLandGrab", k_Game__SVSOLandGrab, 3, 0, "verified", 2, 2}, + {"Game::SVSOLocust", k_Game__SVSOLocust, 5, 0, "verified", 1, 1}, + {"Game::SVSOMasterVoice", k_Game__SVSOMasterVoice, 2, 0, "clean", 0, 0}, + {"Game::SVSOMonitor", k_Game__SVSOMonitor, 11, 0, "clean", 0, 0}, + {"Game::SVSOOrtgay", k_Game__SVSOOrtgay, 9, 0, "verified", 5, 5}, + {"Game::SVSOProgressionWars", k_Game__SVSOProgressionWars, 10, 0, "verified", 8, 8}, + {"Game::SVSOPuppetMaster", k_Game__SVSOPuppetMaster, 6, 0, "verified", 1, 1}, + {"Game::SVSORefugees", k_Game__SVSORefugees, 6, 0, "verified", 1, 1}, + {"Game::SVSORefugees::PlayerStatus", k_Game__SVSORefugees__PlayerStatus, 5, 0, "verified", 3, 3}, + {"Game::SVSOSlaversRefuel", k_Game__SVSOSlaversRefuel, 8, 0, "verified", 1, 1}, + {"Game::SVSOSots", k_Game__SVSOSots, 8, 0, "clean", 0, 0}, + {"Game::SVSOSwarm", k_Game__SVSOSwarm, 6, 0, "clean", 0, 0}, + {"Game::SVSOSwarm::Infestation", k_Game__SVSOSwarm__Infestation, 6, 0, "verified", 4, 4}, + {"Game::SVSOSwarmQueen", k_Game__SVSOSwarmQueen, 4, 0, "clean", 0, 0}, + {"Game::SVSOSwarmQueen::HiveInfo", k_Game__SVSOSwarmQueen__HiveInfo, 3, 0, "verified", 1, 1}, + {"Game::SVSOSwarmQueen::QueenInfo", k_Game__SVSOSwarmQueen__QueenInfo, 2, 0, "clean", 0, 0}, + {"Game::SVSOSystemKiller", k_Game__SVSOSystemKiller, 6, 0, "verified", 1, 1}, + {"Game::SVSOTraps", k_Game__SVSOTraps, 1, 0, "clean", 0, 0}, + {"Game::SVSOTraps::Trap", k_Game__SVSOTraps__Trap, 4, 0, "clean", 0, 0}, + {"Game::SVSOUpstartApes", k_Game__SVSOUpstartApes, 8, 0, "verified", 2, 2}, + {"Game::SVSOUpstartApes_EO_DEMANDS_SHIPS", k_Game__SVSOUpstartApes_EO_DEMANDS_SHIPS, 6, 0, "verified", 5, 5}, + {"Game::SVSOUpstartApes_EO_DEMANDS_SHIPS::ShipRequest", k_Game__SVSOUpstartApes_EO_DEMANDS_SHIPS__ShipRequest, 2, 0, "verified", 1, 1}, + {"Game::SVSOUpstartApes_EO_DEMANDS_TRADE_GOODS", k_Game__SVSOUpstartApes_EO_DEMANDS_TRADE_GOODS, 3, 0, "verified", 3, 3}, + {"Game::SVSOUpstartApes_EO_DEMANDS_VICTORY", k_Game__SVSOUpstartApes_EO_DEMANDS_VICTORY, 3, 0, "verified", 3, 3}, + {"Game::SVSOUpstartApes_EO_ENERGY_WEAPONS_DECADENT", k_Game__SVSOUpstartApes_EO_ENERGY_WEAPONS_DECADENT, 3, 0, "verified", 3, 3}, + {"Game::SVSOUpstartApes_EO_FEARS_YOUR_POWER", k_Game__SVSOUpstartApes_EO_FEARS_YOUR_POWER, 3, 0, "verified", 3, 3}, + {"Game::SVSOUpstartApes_EO_GIFTS", k_Game__SVSOUpstartApes_EO_GIFTS, 2, 0, "verified", 2, 2}, + {"Game::SVSOUpstartApes_EO_MUST_EXPAND", k_Game__SVSOUpstartApes_EO_MUST_EXPAND, 3, 0, "verified", 3, 3}, + {"Game::SVSOUpstartApes_EO_REQUIRES_CASH", k_Game__SVSOUpstartApes_EO_REQUIRES_CASH, 3, 0, "verified", 3, 3}, + {"Game::SVSOVonNeumann", k_Game__SVSOVonNeumann, 25, 0, "verified", 14, 14}, + {"Game::SVSOVonNeumann::DefeatRecord", k_Game__SVSOVonNeumann__DefeatRecord, 5, 0, "verified", 4, 4}, + {"Game::ServerNodeGraph", k_Game__ServerNodeGraph, 2, 0, "verified", 1, 1}, + {"Game::ServerNodeGraph::Params", k_Game__ServerNodeGraph__Params, 3, 0, "clean", 0, 0}, + {"Game::ServerPlayer", k_Game__ServerPlayer, 124, 0, "partial", 56, 56}, + {"Game::ServerSpyManager", k_Game__ServerSpyManager, 3, 0, "verified", 1, 1}, + {"Game::ServerSystem", k_Game__ServerSystem, 103, 0, "partial", 43, 43}, + {"Game::ServerTradeManager", k_Game__ServerTradeManager, 0, 0, "empty", 0, 0}, + {"Game::ServerTradeManagerImpl", k_Game__ServerTradeManagerImpl, 5, 0, "verified", 1, 1}, + {"Game::ServerTradeSector", k_Game__ServerTradeSector, 14, 0, "verified", 1, 1}, + {"Game::ServerTradeSector::FreighterWarning", k_Game__ServerTradeSector__FreighterWarning, 2, 0, "verified", 1, 1}, + {"Game::ShipBuildOrder", k_Game__ShipBuildOrder, 5, 0, "verified", 3, 3}, + {"Game::ShipBuildOrderDef", k_Game__ShipBuildOrderDef, 5, 0, "verified", 3, 3}, + {"Game::ShipDesign", k_Game__ShipDesign, 0, 0, "empty", 0, 0}, + {"Game::ShipDesignDef::LegacyGunBank", k_Game__ShipDesignDef__LegacyGunBank, 1, 1, "unnamed", 0, 0}, + {"Game::ShipDesignDef::LegacyWeaponDef", k_Game__ShipDesignDef__LegacyWeaponDef, 4, 0, "verified", 1, 1}, + {"Game::ShipDesignDef::Section", k_Game__ShipDesignDef__Section, 3, 0, "clean", 0, 0}, + {"Game::ShipHealth", k_Game__ShipHealth, 1, 1, "partial", 0, 0}, + {"Game::ShipParams", k_Game__ShipParams, 22, 22, "partial", 0, 0}, + {"Game::ShipParams::Section", k_Game__ShipParams__Section, 3, 3, "unnamed", 0, 0}, + {"Game::ShipRecords", k_Game__ShipRecords, 11, 0, "verified", 1, 1}, + {"Game::ShipSectionID", k_Game__ShipSectionID, 2, 2, "unnamed", 0, 0}, + {"Game::ShipWeapon", k_Game__ShipWeapon, 5, 0, "verified", 2, 2}, + {"Game::SimpleNodePath", k_Game__SimpleNodePath, 2, 2, "unnamed", 0, 0}, + {"Game::SlaversRefuelEncounterResult", k_Game__SlaversRefuelEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::Slot", k_Game__Slot, 3, 3, "unnamed", 0, 0}, + {"Game::SlotDef", k_Game__SlotDef, 18, 0, "verified", 15, 15}, + {"Game::SlotUser", k_Game__SlotUser, 13, 13, "unnamed", 0, 0}, + {"Game::SpecialProject", k_Game__SpecialProject, 6, 0, "verified", 5, 5}, + {"Game::SpecialProjectImpl", k_Game__SpecialProjectImpl, 2, 0, "clean", 0, 0}, + {"Game::SpecialProjectNameGen", k_Game__SpecialProjectNameGen, 6, 0, "clean", 0, 0}, + {"Game::SpeciesRatios", k_Game__SpeciesRatios, 3, 0, "partial", 0, 0}, + {"Game::SpyCraft", k_Game__SpyCraft, 14, 0, "verified", 5, 5}, + {"Game::SpyReport", k_Game__SpyReport, 8, 0, "clean", 0, 0}, + {"Game::SpyReportDefences", k_Game__SpyReportDefences, 2, 0, "verified", 1, 1}, + {"Game::SpyReportEvents", k_Game__SpyReportEvents, 2, 0, "clean", 0, 0}, + {"Game::SpyReportTechTree", k_Game__SpyReportTechTree, 13, 0, "verified", 1, 1}, + {"Game::SpyReportTrade", k_Game__SpyReportTrade, 4, 0, "verified", 1, 1}, + {"Game::SpyReportTradeRoute", k_Game__SpyReportTradeRoute, 5, 0, "verified", 1, 1}, + {"Game::StarFleet", k_Game__StarFleet, 20, 0, "partial", 2, 2}, + {"Game::StarMapNode", k_Game__StarMapNode, 1, 0, "clean", 0, 0}, + {"Game::StarMapParams", k_Game__StarMapParams, 5, 5, "unnamed", 0, 0}, + {"Game::StarShip", k_Game__StarShip, 27, 0, "partial", 10, 10}, + {"Game::StarSystem", k_Game__StarSystem, 1, 0, "clean", 0, 0}, + {"Game::StarSystem::OutputRates", k_Game__StarSystem__OutputRates, 7, 0, "verified", 7, 7}, + {"Game::StarSystem::PlayerView", k_Game__StarSystem__PlayerView, 14, 0, "partial", 10, 10}, + {"Game::StrategyAIAgent::DesignNameGen", k_Game__StrategyAIAgent__DesignNameGen, 3, 0, "clean", 0, 0}, + {"Game::StrategyAIAgent::Streamable", k_Game__StrategyAIAgent__Streamable, 36, 0, "clean", 0, 0}, + {"Game::StrategyGameCreateParams", k_Game__StrategyGameCreateParams, 25, 0, "verified", 19, 19}, + {"Game::StrategyGameInfo", k_Game__StrategyGameInfo, 13, 0, "verified", 10, 10}, + {"Game::StrategyGameLoadParams", k_Game__StrategyGameLoadParams, 1, 1, "unnamed", 0, 0}, + {"Game::StrategyGameLoader::CustomDataTable", k_Game__StrategyGameLoader__CustomDataTable, 2, 0, "partial", 0, 0}, + {"Game::StrategyGameParams", k_Game__StrategyGameParams, 2, 2, "unnamed", 0, 0}, + {"Game::StrategyHostParams", k_Game__StrategyHostParams, 5, 5, "unnamed", 0, 0}, + {"Game::StrategyLaunchParams", k_Game__StrategyLaunchParams, 2, 2, "unnamed", 0, 0}, + {"Game::StrategyPlayerGameSettings", k_Game__StrategyPlayerGameSettings, 4, 4, "unnamed", 0, 0}, + {"Game::StrategyPlayerInfo", k_Game__StrategyPlayerInfo, 2, 0, "verified", 1, 1}, + {"Game::StrategyPlayerParams", k_Game__StrategyPlayerParams, 11, 11, "unnamed", 0, 0}, + {"Game::StrategyScriptParams", k_Game__StrategyScriptParams, 4, 0, "clean", 0, 0}, + {"Game::StrategyServer", k_Game__StrategyServer, 77, 6, "verified", 18, 18}, + {"Game::StrategySessionParams", k_Game__StrategySessionParams, 1, 0, "clean", 0, 0}, + {"Game::StrategySimParams", k_Game__StrategySimParams, 3, 3, "unnamed", 0, 0}, + {"Game::StrategyTimerParams", k_Game__StrategyTimerParams, 4, 0, "verified", 4, 4}, + {"Game::StrategyTurnInfo", k_Game__StrategyTurnInfo, 8, 8, "unnamed", 0, 0}, + {"Game::StrategyUserInfo", k_Game__StrategyUserInfo, 3, 3, "partial", 0, 0}, + {"Game::SwarmEncounterParams", k_Game__SwarmEncounterParams, 1, 1, "unnamed", 0, 0}, + {"Game::SwarmEncounterResult", k_Game__SwarmEncounterResult, 3, 3, "partial", 0, 0}, + {"Game::SwarmQueenEncounterResult", k_Game__SwarmQueenEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::SystemEvent", k_Game__SystemEvent, 6, 0, "clean", 0, 0}, + {"Game::SystemKillerEncounterResult", k_Game__SystemKillerEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::SystemParams", k_Game__SystemParams, 5, 5, "unnamed", 0, 0}, + {"Game::TacReport", k_Game__TacReport, 20, 0, "verified", 13, 13}, + {"Game::TacReportEvents", k_Game__TacReportEvents, 7, 0, "verified", 7, 7}, + {"Game::TechOffer", k_Game__TechOffer, 3, 0, "clean", 0, 0}, + {"Game::TechOfferProject", k_Game__TechOfferProject, 10, 0, "verified", 5, 5}, + {"Game::TechProject", k_Game__TechProject, 7, 0, "verified", 4, 4}, + {"Game::TechTree", k_Game__TechTree, 6, 0, "partial", 0, 0}, + {"Game::TradeRoute", k_Game__TradeRoute, 8, 0, "verified", 5, 5}, + {"Game::TradeSector", k_Game__TradeSector, 1, 0, "clean", 0, 0}, + {"Game::TurnCommands", k_Game__TurnCommands, 44, 44, "partial", 0, 0}, + {"Game::UpdateData", k_Game__UpdateData, 3, 3, "partial", 0, 0}, + {"Game::VNFinsolEncounterResult", k_Game__VNFinsolEncounterResult, 1, 1, "unnamed", 0, 0}, + {"Game::VNHomeEncounterParams", k_Game__VNHomeEncounterParams, 6, 6, "unnamed", 0, 0}, + {"Game::VNHomeEncounterResult", k_Game__VNHomeEncounterResult, 2, 2, "unnamed", 0, 0}, + {"Game::VonNeumannEncounterParams", k_Game__VonNeumannEncounterParams, 1, 1, "unnamed", 0, 0}, + {"Game::VonNeumannEncounterResult", k_Game__VonNeumannEncounterResult, 2, 2, "unnamed", 0, 0}, + {"Game::WeaponGroups", k_Game__WeaponGroups, 3, 0, "clean", 0, 0}, + {"Game::XenoTechsPerSpecies", k_Game__XenoTechsPerSpecies, 1, 1, "unnamed", 0, 0}, + {"Game::ZuulInfestation", k_Game__ZuulInfestation, 5, 0, "verified", 1, 1}, + {"Mars::DecalFile", k_Mars__DecalFile, 0, 0, "empty", 0, 0}, + {"Mars::DirectionAttractorProxy", k_Mars__DirectionAttractorProxy, 0, 0, "empty", 0, 0}, + {"Mars::FNMBase", k_Mars__FNMBase, 2, 2, "unnamed", 0, 0}, + {"Mars::FNMChunk", k_Mars__FNMChunk, 5, 5, "unnamed", 0, 0}, + {"Mars::FNMChunkReply", k_Mars__FNMChunkReply, 2, 2, "unnamed", 0, 0}, + {"Mars::FNMDone", k_Mars__FNMDone, 4, 4, "unnamed", 0, 0}, + {"Mars::FNMDoneReply", k_Mars__FNMDoneReply, 2, 2, "unnamed", 0, 0}, + {"Mars::FNMError", k_Mars__FNMError, 3, 3, "unnamed", 0, 0}, + {"Mars::FNMSendNotify", k_Mars__FNMSendNotify, 3, 3, "unnamed", 0, 0}, + {"Mars::FNMSendReply", k_Mars__FNMSendReply, 2, 2, "unnamed", 0, 0}, + {"Mars::IStreamable", k_Mars__IStreamable, 0, 0, "empty", 0, 0}, + {"Mars::LaunchParams", k_Mars__LaunchParams, 1, 1, "unnamed", 0, 0}, + {"Mars::NMCommand", k_Mars__NMCommand, 2, 2, "unnamed", 0, 0}, + {"Mars::NMLoad", k_Mars__NMLoad, 3, 3, "partial", 0, 0}, + {"Mars::NMSyncCheck", k_Mars__NMSyncCheck, 1, 1, "unnamed", 0, 0}, + {"Mars::NMSyncError", k_Mars__NMSyncError, 1, 1, "unnamed", 0, 0}, + {"Mars::ParticleAttractor", k_Mars__ParticleAttractor, 0, 0, "empty", 0, 0}, + {"Mars::ParticleChannel", k_Mars__ParticleChannel, 0, 0, "empty", 0, 0}, + {"Mars::ParticleEmitter", k_Mars__ParticleEmitter, 0, 0, "empty", 0, 0}, + {"Mars::ParticleSystem", k_Mars__ParticleSystem, 0, 0, "empty", 0, 0}, + {"Mars::ParticleTracker", k_Mars__ParticleTracker, 0, 0, "empty", 0, 0}, + {"Mars::PointAttractorProxy", k_Mars__PointAttractorProxy, 0, 0, "empty", 0, 0}, + {"Mars::RNG", k_Mars__RNG, 1, 1, "partial", 0, 0}, + {"Mars::SyncChecksumBuffer", k_Mars__SyncChecksumBuffer, 3, 3, "unnamed", 0, 0}, + {"Mars::SyncParams", k_Mars__SyncParams, 6, 6, "unnamed", 0, 0}, + {"Mars::TNMConnect", k_Mars__TNMConnect, 4, 4, "partial", 0, 0}, + {"Mars::TNMDisconnect", k_Mars__TNMDisconnect, 3, 3, "partial", 0, 0}, + {"Mars::TNMHost", k_Mars__TNMHost, 3, 3, "partial", 0, 0}, + {"Mars::TNMMessage", k_Mars__TNMMessage, 5, 5, "partial", 0, 0}, + {"Mars::TNMessage", k_Mars__TNMessage, 2, 2, "partial", 0, 0}, + {"Quaternion", k_Quaternion, 4, 4, "unnamed", 0, 0}, + {"Vector2", k_Vector2, 2, 2, "unnamed", 0, 0}, + {"Vector3", k_Vector3, 3, 3, "unnamed", 0, 0}, +}; +inline constexpr size_t kClassCount = 386; + +// Linear lookup by class name. The table is sorted, but it is small and this is +// only ever called from tests and tools. +inline const Class* find(const char* name) { + for (const Class& c : kClasses) { + const char* a = c.name; + const char* b = name; + while (*a && *a == *b) { ++a; ++b; } + if (!*a && !*b) return &c; + } + return nullptr; +} + +inline const char* prim_name(Prim p) { + switch (p) { + case Prim::Unknown: return "?"; + case Prim::I32: return "i32"; + case Prim::I64: return "i64"; + case Prim::F32: return "f32"; + case Prim::Bool: return "bool"; + case Prim::Str: return "str"; + case Prim::Frame: return "frame"; + case Prim::Raw: return "raw"; + } + return "?"; +} + +inline const char* shape_name(Shape s) { + switch (s) { + case Shape::Scalar: return "scalar"; + case Shape::Frame: return "frame"; + case Shape::CArr: return "carr"; + case Shape::NArr: return "narr"; + case Shape::Raw: return "raw"; + } + return "?"; +} + +} // namespace sots::wire