diff options
author | Shauren <shauren.trinity@gmail.com> | 2018-09-05 23:44:18 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-09-16 16:57:47 +0200 |
commit | 322bb4a6800621d719235d94562fa215646b234a (patch) | |
tree | 276c4b797a2e1813693f9dba06a9f8b38bfea13d /src | |
parent | 1188a48c944aeb650ced19008646b6529c341c22 (diff) |
Core/DataStores: Updated db2 metadata dump
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 9154 |
1 files changed, 7272 insertions, 1882 deletions
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index f65b1190066..1d2e317b148 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -24,9 +24,25 @@ struct AchievementMeta { static DB2Meta const* Instance() { - static char const* types = "sssihhhhhbbbiii"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(12, 15, 0x2C4BE18C, types, arraySizes, 7); + static DB2MetaField const fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(3, 15, 0x13CB7BEE, fields, 11); return &instance; } }; @@ -35,9 +51,14 @@ struct Achievement_CategoryMeta { static DB2Meta const* Instance() { - static char const* types = "shbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0xED226BC9, types, arraySizes, 2); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(1, 4, 0x0B008A91, fields, 3); return &instance; } }; @@ -46,9 +67,32 @@ struct AdventureJournalMeta { static DB2Meta const* Instance() { - static char const* types = "sssssiihhhhhhbbbbbbbii"; - static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 22, 0xB2FFA8DD, types, arraySizes, -1); + static DB2MetaField const fields[22] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 2, false }, + { FT_BYTE, 2, false }, + }; + static DB2Meta instance(-1, 22, 0x9D620FC8, fields, -1); return &instance; } }; @@ -57,9 +101,22 @@ struct AdventureMapPOIMeta { static DB2Meta const* Instance() { - static char const* types = "ssfibiiiiiiii"; - static uint8 const arraySizes[13] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x0C288A82, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 12, 0x4AABC870, fields, -1); return &instance; } }; @@ -68,9 +125,18 @@ struct AlliedRaceMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 8, 0xB13ABE04, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 8, 0xE89FA2D2, fields, -1); return &instance; } }; @@ -79,9 +145,15 @@ struct AlliedRaceRacialAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "ssbii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9EBF9B09, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x96902165, fields, 4); return &instance; } }; @@ -90,9 +162,13 @@ struct AnimKitMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x81D6D250, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x0C4BCDEC, fields, -1); return &instance; } }; @@ -101,9 +177,15 @@ struct AnimKitBoneSetMeta { static DB2Meta const* Instance() { - static char const* types = "sbbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xFE4B9B1F, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x1C432613, fields, -1); return &instance; } }; @@ -112,9 +194,12 @@ struct AnimKitBoneSetAliasMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xEA8B67BC, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xB307E8FC, fields, -1); return &instance; } }; @@ -123,9 +208,11 @@ struct AnimKitConfigMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x8A70ED4C, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x972D46F8, fields, -1); return &instance; } }; @@ -134,9 +221,13 @@ struct AnimKitConfigBoneSetMeta { static DB2Meta const* Instance() { - static char const* types = "hbh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x3D9B3BA7, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x48518303, fields, 2); return &instance; } }; @@ -145,9 +236,11 @@ struct AnimKitPriorityMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x5E93C107, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x27ED596B, fields, -1); return &instance; } }; @@ -156,9 +249,15 @@ struct AnimKitReplacementMeta { static DB2Meta const* Instance() { - static char const* types = "hhhih"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(3, 5, 0x0735DB83, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(0, 5, 0xB0BBA55F, fields, 4); return &instance; } }; @@ -167,9 +266,28 @@ struct AnimKitSegmentMeta { static DB2Meta const* Instance() { - static char const* types = "iiifihhhhhhbbbbbbi"; - static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 18, 0x08F09B89, types, arraySizes, 5); + static DB2MetaField const fields[18] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 18, 0xEBF796F5, fields, 0); return &instance; } }; @@ -178,9 +296,15 @@ struct AnimReplacementMeta { static DB2Meta const* Instance() { - static char const* types = "hhhih"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(3, 5, 0x2C8B0F35, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(0, 5, 0x5D91ABFD, fields, 4); return &instance; } }; @@ -189,9 +313,11 @@ struct AnimReplacementSetMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x3761247A, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x15AFC3D6, fields, -1); return &instance; } }; @@ -200,9 +326,48 @@ struct AnimationDataMeta { static DB2Meta const* Instance() { - static char const* types = "ihhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x03182786, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 4, 0xFB408E92, fields, -1); + return &instance; + } +}; + +struct AoiBoxMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 6, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x173154C8, fields, 4); + return &instance; + } +}; + +struct AreaConditionalDataMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 5, 0xBE8C656A, fields, 4); return &instance; } }; @@ -211,9 +376,14 @@ struct AreaFarClipOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "iffii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0xEB5921CC, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xD7028AD6, fields, -1); return &instance; } }; @@ -222,9 +392,12 @@ struct AreaGroupMemberMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x50AA43EE, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x27C84A16, fields, 1); return &instance; } }; @@ -233,9 +406,27 @@ struct AreaPOIMeta { static DB2Meta const* Instance() { - static char const* types = "ssifiihhhhbbiiii"; - static uint8 const arraySizes[16] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0xB161EE90, types, arraySizes, -1); + static DB2MetaField const fields[17] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(2, 17, 0x34D56581, fields, 11); return &instance; } }; @@ -244,9 +435,15 @@ struct AreaPOIStateMeta { static DB2Meta const* Instance() { - static char const* types = "sbbih"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x673BDA80, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xEB8CA12C, fields, 4); return &instance; } }; @@ -255,9 +452,33 @@ struct AreaTableMeta { static DB2Meta const* Instance() { - static char const* types = "ssifhhhhhhhhhhbbbbbbbbi"; - static uint8 const arraySizes[23] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 23, 0x0CA01129, types, arraySizes, -1); + static DB2MetaField const fields[23] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + { FT_SHORT, 4, false }, + }; + static DB2Meta instance(-1, 23, 0x22229BE7, fields, -1); return &instance; } }; @@ -266,9 +487,25 @@ struct AreaTriggerMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffhhhhhbbbi"; - static uint8 const arraySizes[15] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 15, 0x378573E8, types, arraySizes, 6); + static DB2MetaField const fields[15] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(1, 15, 0x61A4F966, fields, 2); return &instance; } }; @@ -277,9 +514,11 @@ struct AreaTriggerActionSetMeta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x5DA480BD, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xBE34F649, fields, -1); return &instance; } }; @@ -288,9 +527,25 @@ struct AreaTriggerBoxMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 3 }; - static DB2Meta instance(-1, 1, 0x602CFDA6, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 3, true }, + }; + static DB2Meta instance(-1, 1, 0x14918F12, fields, -1); + return &instance; + } +}; + +struct AreaTriggerCreatePropertiesMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xAAE6E300, fields, -1); return &instance; } }; @@ -299,9 +554,13 @@ struct AreaTriggerCylinderMeta { static DB2Meta const* Instance() { - static char const* types = "fff"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x26D4052D, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x867834A9, fields, -1); return &instance; } }; @@ -310,9 +569,11 @@ struct AreaTriggerSphereMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x9141AC7F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF1D2220B, fields, -1); return &instance; } }; @@ -321,9 +582,15 @@ struct ArmorLocationMeta { static DB2Meta const* Instance() { - static char const* types = "fffff"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xCCFBD16E, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x1C0BBC02, fields, -1); return &instance; } }; @@ -332,9 +599,21 @@ struct ArtifactMeta { static DB2Meta const* Instance() { - static char const* types = "siiihhbbii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x76CF31A8, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 11, 0x780D61EA, fields, -1); return &instance; } }; @@ -343,9 +622,25 @@ struct ArtifactAppearanceMeta { static DB2Meta const* Instance() { - static char const* types = "siffihhbbbbiiii"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 15, 0xAEED7395, types, arraySizes, 5); + static DB2MetaField const fields[15] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(1, 15, 0x330F75C9, fields, 2); return &instance; } }; @@ -354,9 +649,19 @@ struct ArtifactAppearanceSetMeta { static DB2Meta const* Instance() { - static char const* types = "sshhbbbib"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 9, 0x53DFED74, types, arraySizes, 8); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(2, 9, 0xBB4DB4D3, fields, 8); return &instance; } }; @@ -365,9 +670,27 @@ struct ArtifactCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x21328475, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x484A6D55, fields, -1); + return &instance; + } +}; + +struct ArtifactItemToTransmogMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xD54CBBE1, fields, 0); return &instance; } }; @@ -376,9 +699,17 @@ struct ArtifactPowerMeta { static DB2Meta const* Instance() { - static char const* types = "fbbbbii"; - static uint8 const arraySizes[7] = { 2, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 7, 0x45240818, types, arraySizes, 1); + static DB2MetaField const fields[7] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 7, 0x1F7637C8, fields, 2); return &instance; } }; @@ -387,9 +718,12 @@ struct ArtifactPowerLinkMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xE179618C, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xBB7E3584, fields, -1); return &instance; } }; @@ -398,9 +732,11 @@ struct ArtifactPowerPickerMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x2D6AF006, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x253242BA, fields, -1); return &instance; } }; @@ -409,9 +745,15 @@ struct ArtifactPowerRankMeta { static DB2Meta const* Instance() { - static char const* types = "ifhbh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xA87EACC4, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x7DC78F1E, fields, 4); return &instance; } }; @@ -420,9 +762,11 @@ struct ArtifactQuestXPMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 10, false }, + }; + static DB2Meta instance(-1, 1, 0x7E00C5B6, fields, -1); return &instance; } }; @@ -431,9 +775,15 @@ struct ArtifactTierMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x1A5A50B9, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xA47F6D9D, fields, -1); return &instance; } }; @@ -442,9 +792,15 @@ struct ArtifactUnlockMeta { static DB2Meta const* Instance() { - static char const* types = "hbiib"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x52839A77, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x40C54B9F, fields, 4); return &instance; } }; @@ -453,9 +809,105 @@ struct AuctionHouseMeta { static DB2Meta const* Instance() { - static char const* types = "shbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x51CFEEFF, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x61E641BA, fields, -1); + return &instance; + } +}; + +struct AzeriteEmpoweredItemMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x4078BECD, fields, -1); + return &instance; + } +}; + +struct AzeriteItemMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xDAC6A93C, fields, -1); + return &instance; + } +}; + +struct AzeriteItemMilestonePowerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x7C4DC43D, fields, -1); + return &instance; + } +}; + +struct AzeritePowerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xE7FE46AC, fields, -1); + return &instance; + } +}; + +struct AzeritePowerSetMemberMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xDB24A281, fields, 4); + return &instance; + } +}; + +struct AzeriteTierUnlockMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x2B04F059, fields, 3); return &instance; } }; @@ -464,9 +916,11 @@ struct BankBagSlotPricesMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xEA0AC2AA, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x897A4D1E, fields, -1); return &instance; } }; @@ -475,9 +929,13 @@ struct BannedAddonsMeta { static DB2Meta const* Instance() { - static char const* types = "ssb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xF779B6E5, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xF4525F59, fields, -1); return &instance; } }; @@ -486,9 +944,18 @@ struct BarberShopStyleMeta { static DB2Meta const* Instance() { - static char const* types = "ssfbbbbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x670C71AE, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(2, 8, 0x2DD3952C, fields, -1); return &instance; } }; @@ -497,9 +964,17 @@ struct BattlePetAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "ssihbbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x0F29944D, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x4C3AF583, fields, -1); return &instance; } }; @@ -508,9 +983,17 @@ struct BattlePetAbilityEffectMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhhbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 6, 1, 1 }; - static DB2Meta instance(6, 7, 0x5D30EBC5, types, arraySizes, 0); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 6, true }, + }; + static DB2Meta instance(0, 7, 0xC850B549, fields, 1); return &instance; } }; @@ -519,9 +1002,13 @@ struct BattlePetAbilityStateMeta { static DB2Meta const* Instance() { - static char const* types = "ibh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0E40A884, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x73DDAA6A, fields, 2); return &instance; } }; @@ -530,9 +1017,16 @@ struct BattlePetAbilityTurnMeta { static DB2Meta const* Instance() { - static char const* types = "hhbbbi"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0xCB063F4F, types, arraySizes, 0); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(0, 6, 0xF2218887, fields, 1); return &instance; } }; @@ -541,9 +1035,12 @@ struct BattlePetBreedQualityMeta { static DB2Meta const* Instance() { - static char const* types = "fb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xBDE74E1D, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x6CD46EB5, fields, -1); return &instance; } }; @@ -552,9 +1049,13 @@ struct BattlePetBreedStateMeta { static DB2Meta const* Instance() { - static char const* types = "hbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x68D5C999, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xC1A59CCF, fields, 2); return &instance; } }; @@ -563,9 +1064,14 @@ struct BattlePetDisplayOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "iiib"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xDE5129EA, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x6F9CB092, fields, -1); return &instance; } }; @@ -574,9 +1080,13 @@ struct BattlePetEffectPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "shb"; - static uint8 const arraySizes[3] = { 6, 1, 6 }; - static DB2Meta instance(-1, 3, 0x56070751, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 6, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 6, false }, + }; + static DB2Meta instance(-1, 3, 0xA2D4ADF5, fields, -1); return &instance; } }; @@ -585,9 +1095,11 @@ struct BattlePetNPCTeamMemberMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x4423F004, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1); return &instance; } }; @@ -596,9 +1108,21 @@ struct BattlePetSpeciesMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiihbbiii"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 11, 0x8A3D97A4, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 11, 0x78A6B928, fields, -1); return &instance; } }; @@ -607,9 +1131,13 @@ struct BattlePetSpeciesStateMeta { static DB2Meta const* Instance() { - static char const* types = "ibh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x8F958D5C, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x99EBACAA, fields, 2); return &instance; } }; @@ -618,9 +1146,14 @@ struct BattlePetSpeciesXAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "hbbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x9EE27D6A, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x630BA932, fields, 3); return &instance; } }; @@ -629,9 +1162,13 @@ struct BattlePetStateMeta { static DB2Meta const* Instance() { - static char const* types = "shh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1797AB4A, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xF9579FAC, fields, -1); return &instance; } }; @@ -640,9 +1177,17 @@ struct BattlePetVisualMeta { static DB2Meta const* Instance() { - static char const* types = "sihhhbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x097E0F6C, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x284AF258, fields, -1); return &instance; } }; @@ -651,9 +1196,27 @@ struct BattlemasterListMeta { static DB2Meta const* Instance() { - static char const* types = "ssssihhhbbbbbbbbb"; - static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 17, 0xD8AAA088, types, arraySizes, -1); + static DB2MetaField const fields[17] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 16, true }, + }; + static DB2Meta instance(-1, 17, 0x167284E8, fields, -1); return &instance; } }; @@ -662,9 +1225,20 @@ struct BeamEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iffihhhhhh"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x42C18603, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 10, 0x0E55B843, fields, -1); return &instance; } }; @@ -673,9 +1247,12 @@ struct BoneWindModifierModelMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x577A0772, types, arraySizes, 0); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x77B007CA, fields, 0); return &instance; } }; @@ -684,9 +1261,28 @@ struct BoneWindModifiersMeta { static DB2Meta const* Instance() { - static char const* types = "ff"; - static uint8 const arraySizes[2] = { 3, 1 }; - static DB2Meta instance(-1, 2, 0xB4E7449E, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xC6F446CE, fields, -1); + return &instance; + } +}; + +struct BonusRollMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xF7A194FA, fields, -1); return &instance; } }; @@ -695,9 +1291,15 @@ struct BountyMeta { static DB2Meta const* Instance() { - static char const* types = "ihhib"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xE76E716C, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x797CCAA0, fields, 4); return &instance; } }; @@ -706,9 +1308,12 @@ struct BountySetMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x96B908A5, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xB67E3F83, fields, -1); return &instance; } }; @@ -717,9 +1322,21 @@ struct BroadcastTextMeta { static DB2Meta const* Instance() { - static char const* types = "sshhhbbii"; - static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 9, 0x51BF0C33, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, false }, + { FT_SHORT, 3, false }, + { FT_SHORT, 3, false }, + }; + static DB2Meta instance(2, 11, 0x6318993B, fields, -1); return &instance; } }; @@ -728,9 +1345,11 @@ struct CameraEffectMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xF6AB4622, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 1, 0xAB0FD78E, fields, -1); return &instance; } }; @@ -739,9 +1358,26 @@ struct CameraEffectEntryMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffhbbbbbbh"; - static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0xC5105557, types, arraySizes, 15); + static DB2MetaField const fields[16] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 16, 0xED27DC2F, fields, 15); return &instance; } }; @@ -750,9 +1386,70 @@ struct CameraModeMeta { static DB2Meta const* Instance() { - static char const* types = "fffffhbbbbb"; - static uint8 const arraySizes[11] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xCDB6BC2F, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 11, 0xEE5489F4, fields, -1); + return &instance; + } +}; + +struct CampaignMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(3, 7, 0x2D49AABD, fields, -1); + return &instance; + } +}; + +struct CampaignXConditionMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x638FC159, fields, 2); + return &instance; + } +}; + +struct CampaignXQuestLineMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x7303E0F9, fields, 0); return &instance; } }; @@ -761,9 +1458,12 @@ struct CastableRaidBuffsMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x5BDD4028, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x3B349C01, fields, 1); return &instance; } }; @@ -772,9 +1472,25 @@ struct CelestialBodyMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiifffffffhi"; - static uint8 const arraySizes[15] = { 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 3, 1, 1, 1 }; - static DB2Meta instance(14, 15, 0xD09BE31C, types, arraySizes, -1); + static DB2MetaField const fields[15] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + static DB2Meta instance(1, 15, 0xFC417DCA, fields, -1); return &instance; } }; @@ -783,9 +1499,15 @@ struct Cfg_CategoriesMeta { static DB2Meta const* Instance() { - static char const* types = "shbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x705B82C8, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xB6FEB874, fields, -1); return &instance; } }; @@ -794,9 +1516,14 @@ struct Cfg_ConfigsMeta { static DB2Meta const* Instance() { - static char const* types = "fhbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC618392F, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xA275539B, fields, -1); return &instance; } }; @@ -805,9 +1532,15 @@ struct Cfg_RegionsMeta { static DB2Meta const* Instance() { - static char const* types = "siihb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9F4272BF, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x0125202F, fields, -1); return &instance; } }; @@ -816,9 +1549,12 @@ struct CharBaseInfoMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x9E9939B8, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x10AA45F8, fields, -1); return &instance; } }; @@ -827,9 +1563,13 @@ struct CharBaseSectionMeta { static DB2Meta const* Instance() { - static char const* types = "bbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4F08B5F3, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xF9D1C513, fields, -1); return &instance; } }; @@ -838,9 +1578,12 @@ struct CharComponentTextureLayoutsMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x0F515E34, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x48D8D7BC, fields, -1); return &instance; } }; @@ -849,9 +1592,17 @@ struct CharComponentTextureSectionsMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhhbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xCE76000F, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0xD6EDA743, fields, -1); return &instance; } }; @@ -860,9 +1611,20 @@ struct CharHairGeosetsMeta { static DB2Meta const* Instance() { - static char const* types = "ibbbbbbbbi"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x33EB32D2, types, arraySizes, 1); + static DB2MetaField const fields[10] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 10, 0xE3732EA9, fields, 0); return &instance; } }; @@ -871,9 +1633,17 @@ struct CharSectionsMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbbb"; - static uint8 const arraySizes[7] = { 3, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xE349E55B, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(-1, 7, 0x273A7F6F, fields, -1); return &instance; } }; @@ -882,9 +1652,19 @@ struct CharShipmentMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiihhbb"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xE6D3C7C1, types, arraySizes, 5); + static DB2MetaField const fields[9] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 9, 0xD47EC921, fields, 0); return &instance; } }; @@ -893,9 +1673,26 @@ struct CharShipmentContainerMeta { static DB2Meta const* Instance() { - static char const* types = "ssihhhhhhbbbbbbi"; - static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0x194896E3, types, arraySizes, -1); + static DB2MetaField const fields[16] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 16, 0x13048703, fields, -1); return &instance; } }; @@ -904,9 +1701,17 @@ struct CharStartOutfitMeta { static DB2Meta const* Instance() { - static char const* types = "iibbbbb"; - static uint8 const arraySizes[7] = { 24, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x0EEBEE24, types, arraySizes, 6); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 24, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x0F59DD96, fields, 6); return &instance; } }; @@ -915,9 +1720,14 @@ struct CharTitlesMeta { static DB2Meta const* Instance() { - static char const* types = "sshb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x7A58AA5F, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x81B69C5F, fields, -1); return &instance; } }; @@ -926,9 +1736,15 @@ struct CharacterFaceBoneSetMeta { static DB2Meta const* Instance() { - static char const* types = "ibbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x1C634076, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x3C6DE4D7, fields, 4); return &instance; } }; @@ -937,9 +1753,14 @@ struct CharacterFacialHairStylesMeta { static DB2Meta const* Instance() { - static char const* types = "ibbb"; - static uint8 const arraySizes[4] = { 5, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x47D79688, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 5, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xAA817A08, fields, -1); return &instance; } }; @@ -948,9 +1769,13 @@ struct CharacterLoadoutMeta { static DB2Meta const* Instance() { - static char const* types = "lbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x87B51673, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_LONG, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xA07F9727, fields, -1); return &instance; } }; @@ -959,9 +1784,12 @@ struct CharacterLoadoutItemMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x3C3D40B9, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xD892CDA9, fields, 0); return &instance; } }; @@ -970,9 +1798,21 @@ struct CharacterServiceInfoMeta { static DB2Meta const* Instance() { - static char const* types = "sssiiiiiiii"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xADE120EF, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 11, 0xC263D77C, fields, -1); return &instance; } }; @@ -981,9 +1821,14 @@ struct ChatChannelsMeta { static DB2Meta const* Instance() { - static char const* types = "ssib"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1A325E80, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x113E92FA, fields, -1); return &instance; } }; @@ -992,9 +1837,12 @@ struct ChatProfanityMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x328E1FE6, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xAF5F92A6, fields, -1); return &instance; } }; @@ -1003,9 +1851,16 @@ struct ChrClassRaceSexMeta { static DB2Meta const* Instance() { - static char const* types = "bbbiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x5E29DFA1, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x204BD561, fields, -1); return &instance; } }; @@ -1014,9 +1869,13 @@ struct ChrClassTitleMeta { static DB2Meta const* Instance() { - static char const* types = "ssb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xC155DB2C, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xA01D47C8, fields, -1); return &instance; } }; @@ -1025,9 +1884,13 @@ struct ChrClassUIDisplayMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x59A95A73, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x3D58F88F, fields, -1); return &instance; } }; @@ -1036,9 +1899,13 @@ struct ChrClassVillainMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xA6AC18CD, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x601C7CCD, fields, -1); return &instance; } }; @@ -1047,9 +1914,30 @@ struct ChrClassesMeta { static DB2Meta const* Instance() { - static char const* types = "sssssiiiiihhhbbbbbbi"; - static uint8 const arraySizes[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(19, 20, 0x6F7AB8E7, types, arraySizes, -1); + static DB2MetaField const fields[20] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(5, 20, 0x2CD115AC, fields, -1); return &instance; } }; @@ -1058,9 +1946,12 @@ struct ChrClassesXPowerTypesMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xAF977B23, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x6DE888E7, fields, 1); return &instance; } }; @@ -1069,9 +1960,17 @@ struct ChrCustomizationMeta { static DB2Meta const* Instance() { - static char const* types = "siiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 3, 1 }; - static DB2Meta instance(-1, 6, 0x71833CE5, types, arraySizes, 5); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0xC29562A3, fields, 6); return &instance; } }; @@ -1080,9 +1979,56 @@ struct ChrRacesMeta { static DB2Meta const* Instance() { - static char const* types = "ssssssiiiiiffiiihhhhbbbbbbbbbbiiiiiiii"; - static uint8 const arraySizes[38] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3 }; - static DB2Meta instance(30, 38, 0x51C511F9, types, arraySizes, -1); + static DB2MetaField const fields[46] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 3, false }, + { FT_INT, 3, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(6, 46, 0xC8BCDC89, fields, -1); return &instance; } }; @@ -1091,9 +2037,23 @@ struct ChrSpecializationMeta { static DB2Meta const* Instance() { - static char const* types = "sssibbbbbiiii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(9, 13, 0x3D86B8F7, types, arraySizes, 4); + static DB2MetaField const fields[13] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(3, 13, 0xFF9DD5DD, fields, 4); return &instance; } }; @@ -1102,9 +2062,13 @@ struct ChrUpgradeBucketMeta { static DB2Meta const* Instance() { - static char const* types = "hib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(1, 3, 0xACF64A80, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 3, 0x81B7C74C, fields, 2); return &instance; } }; @@ -1113,9 +2077,12 @@ struct ChrUpgradeBucketSpellMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xDF939031, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xC665F469, fields, 1); return &instance; } }; @@ -1124,9 +2091,14 @@ struct ChrUpgradeTierMeta { static DB2Meta const* Instance() { - static char const* types = "sbbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0x2C87937D, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 4, 0xEC517FDD, fields, -1); return &instance; } }; @@ -1135,9 +2107,14 @@ struct CinematicCameraMeta { static DB2Meta const* Instance() { - static char const* types = "iffi"; - static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0062B0F4, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x20C5E540, fields, -1); return &instance; } }; @@ -1146,9 +2123,25 @@ struct CinematicSequencesMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 8 }; - static DB2Meta instance(-1, 2, 0x470FDA8C, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_SHORT, 8, false }, + }; + static DB2Meta instance(-1, 2, 0x6A232AD4, fields, -1); + return &instance; + } +}; + +struct ClientSceneEffectMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x00EE4486, fields, -1); return &instance; } }; @@ -1157,9 +2150,37 @@ struct CloakDampeningMeta { static DB2Meta const* Instance() { - static char const* types = "fffffff"; - static uint8 const arraySizes[7] = { 5, 5, 2, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xB2DF7F2A, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + static DB2Meta instance(-1, 7, 0xF7C03F6E, fields, -1); + return &instance; + } +}; + +struct CloneEffectMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[8] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0x2F946F74, fields, -1); return &instance; } }; @@ -1168,9 +2189,21 @@ struct CombatConditionMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhhbbbbbb"; - static uint8 const arraySizes[11] = { 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1 }; - static DB2Meta instance(-1, 11, 0x28D253C6, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 2, false }, + { FT_BYTE, 2, false }, + { FT_BYTE, 2, false }, + { FT_SHORT, 2, false }, + { FT_BYTE, 2, false }, + { FT_BYTE, 2, false }, + }; + static DB2Meta instance(-1, 11, 0x75A29044, fields, -1); return &instance; } }; @@ -1179,9 +2212,12 @@ struct CommentatorStartLocationMeta { static DB2Meta const* Instance() { - static char const* types = "fi"; - static uint8 const arraySizes[2] = { 3, 1 }; - static DB2Meta instance(-1, 2, 0xEFD540EF, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xF552D58F, fields, -1); return &instance; } }; @@ -1190,9 +2226,29 @@ struct CommentatorTrackedCooldownMeta { static DB2Meta const* Instance() { - static char const* types = "bbih"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x84985168, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x3A1476FC, fields, 3); + return &instance; + } +}; + +struct CommunityIconMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 3, 0x7E19DEAD, fields, -1); return &instance; } }; @@ -1201,9 +2257,14 @@ struct ComponentModelFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "bbbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x25BB55A7, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x0F90AFAF, fields, -1); return &instance; } }; @@ -1212,9 +2273,13 @@ struct ComponentTextureFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "bbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x50C58D4F, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x263AACE3, fields, -1); return &instance; } }; @@ -1223,9 +2288,30 @@ struct ConfigurationWarningMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x0B350390, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x99BCBA2D, fields, -1); + return &instance; + } +}; + +struct ContentTuningMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 6, 0xD1A210D1, fields, -1); return &instance; } }; @@ -1234,9 +2320,49 @@ struct ContributionMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 4, 1 }; - static DB2Meta instance(2, 6, 0x8EDF6090, types, arraySizes, 3); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 4, true }, + }; + static DB2Meta instance(2, 7, 0x37C49135, fields, 3); + return &instance; + } +}; + +struct ContributionStyleMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0x799AE511, fields, -1); + return &instance; + } +}; + +struct ContributionStyleContainerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[1] = + { + { FT_INT, 5, true }, + }; + static DB2Meta instance(-1, 1, 0x55DAA69B, fields, -1); return &instance; } }; @@ -1245,9 +2371,18 @@ struct ConversationLineMeta { static DB2Meta const* Instance() { - static char const* types = "iiihhbbb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x032B137B, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 8, 0x227B5003, fields, -1); return &instance; } }; @@ -1256,9 +2391,21 @@ struct CreatureMeta { static DB2Meta const* Instance() { - static char const* types = "ssssiiifbbbb"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 3, 1, 4, 4, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0xCFB508A9, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 4, true }, + { FT_FLOAT, 4, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(-1, 11, 0x0D492BF3, fields, -1); return &instance; } }; @@ -1267,9 +2414,17 @@ struct CreatureDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbi"; - static uint8 const arraySizes[6] = { 7, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x4291EEC6, types, arraySizes, 5); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 7, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0xD344A642, fields, 6); return &instance; } }; @@ -1278,9 +2433,12 @@ struct CreatureDispXUiCameraMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x6E0E7C15, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xD3D075FD, fields, -1); return &instance; } }; @@ -1289,9 +2447,35 @@ struct CreatureDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "ifhhbbbiibhfibhihhbifii"; - static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2Meta instance(0, 23, 0x406268DF, types, arraySizes, -1); + static DB2MetaField const fields[25] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(0, 25, 0x613413D1, fields, -1); return &instance; } }; @@ -1300,9 +2484,25 @@ struct CreatureDisplayInfoCondMeta { static DB2Meta const* Instance() { - static char const* types = "liiibbiiiiiiiii"; - static uint8 const arraySizes[15] = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 }; - static DB2Meta instance(-1, 15, 0x26CD44AB, types, arraySizes, 14); + static DB2MetaField const fields[15] = + { + { FT_LONG, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + { FT_INT, 3, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 15, 0x596B4605, fields, 14); return &instance; } }; @@ -1311,9 +2511,14 @@ struct CreatureDisplayInfoEvtMeta { static DB2Meta const* Instance() { - static char const* types = "iibi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x3FEF69BB, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x16C6EC13, fields, 3); return &instance; } }; @@ -1322,9 +2527,37 @@ struct CreatureDisplayInfoExtraMeta { static DB2Meta const* Instance() { - static char const* types = "iibbbbbbbbbb"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 }; - static DB2Meta instance(-1, 12, 0x6DF98EF6, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 3, false }, + }; + static DB2Meta instance(-1, 12, 0x89E31B13, fields, -1); + return &instance; + } +}; + +struct CreatureDisplayInfoGeosetDataMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x13350FA0, fields, 2); return &instance; } }; @@ -1333,9 +2566,16 @@ struct CreatureDisplayInfoTrnMeta { static DB2Meta const* Instance() { - static char const* types = "ifiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x8E687740, types, arraySizes, 5); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0xC3E28858, fields, 5); return &instance; } }; @@ -1344,9 +2584,19 @@ struct CreatureFamilyMeta { static DB2Meta const* Instance() { - static char const* types = "sffihhbbb"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xE2DC5126, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 2, true }, + }; + static DB2Meta instance(-1, 9, 0x9D14B492, fields, -1); return &instance; } }; @@ -1355,9 +2605,19 @@ struct CreatureImmunitiesMeta { static DB2Meta const* Instance() { - static char const* types = "ibbbbbiii"; - static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 8, 16 }; - static DB2Meta instance(-1, 9, 0x2D20050B, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + { FT_INT, 9, false }, + { FT_INT, 16, false }, + }; + static DB2Meta instance(-1, 9, 0x36D9340F, fields, -1); return &instance; } }; @@ -1366,9 +2626,38 @@ struct CreatureModelDataMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffffffffffffiiiiiiiiii"; - static uint8 const arraySizes[28] = { 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 28, 0x983BD312, types, arraySizes, -1); + static DB2MetaField const fields[28] = + { + { FT_FLOAT, 6, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 28, 0xF61D550A, fields, -1); return &instance; } }; @@ -1377,9 +2666,11 @@ struct CreatureMovementInfoMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x39F710E3, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x31BE6397, fields, -1); return &instance; } }; @@ -1388,9 +2679,47 @@ struct CreatureSoundDataMeta { static DB2Meta const* Instance() { - static char const* types = "ffbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; - static uint8 const arraySizes[37] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4 }; - static DB2Meta instance(-1, 37, 0x7C3C39B9, types, arraySizes, -1); + static DB2MetaField const fields[37] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 5, false }, + { FT_INT, 4, false }, + }; + static DB2Meta instance(-1, 37, 0xA58BDB91, fields, -1); return &instance; } }; @@ -1399,9 +2728,12 @@ struct CreatureTypeMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x7BA9D2F8, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x218D575A, fields, -1); return &instance; } }; @@ -1410,9 +2742,30 @@ struct CreatureXContributionMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(0, 3, 0x3448DF58, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 3, 0x2DC69C04, fields, 2); + return &instance; + } +}; + +struct CreatureXDisplayInfoMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x44D147A6, fields, 4); return &instance; } }; @@ -1421,9 +2774,21 @@ struct CriteriaMeta { static DB2Meta const* Instance() { - static char const* types = "iiiihhbbbbb"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xA87A5BB9, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 11, 0x754DDF45, fields, -1); return &instance; } }; @@ -1432,9 +2797,17 @@ struct CriteriaTreeMeta { static DB2Meta const* Instance() { - static char const* types = "sihbiii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x0A1B99C2, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0xC926CF94, fields, -1); return &instance; } }; @@ -1443,9 +2816,12 @@ struct CriteriaTreeXEffectMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x929D9B0C, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x80C700F5, fields, 1); return &instance; } }; @@ -1454,9 +2830,33 @@ struct CurrencyCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xC3735D76, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x0DB1F53C, fields, -1); + return &instance; + } +}; + +struct CurrencyContainerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0xAC6030BF, fields, 7); return &instance; } }; @@ -1465,9 +2865,21 @@ struct CurrencyTypesMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiibbbii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x6CC25CBF, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 11, 0x998F0AAA, fields, -1); return &instance; } }; @@ -1476,9 +2888,12 @@ struct CurveMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x17EA5154, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x4E6F1184, fields, -1); return &instance; } }; @@ -1487,9 +2902,13 @@ struct CurvePointMeta { static DB2Meta const* Instance() { - static char const* types = "fhb"; - static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2Meta instance(-1, 3, 0xF36752EB, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xFA003217, fields, -1); return &instance; } }; @@ -1498,9 +2917,14 @@ struct DeathThudLookupsMeta { static DB2Meta const* Instance() { - static char const* types = "bbii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD469085C, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x3BF7542C, fields, -1); return &instance; } }; @@ -1509,9 +2933,28 @@ struct DecalPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "iiffffffffbbiiiii"; - static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 17, 0xDD48C72A, types, arraySizes, -1); + static DB2MetaField const fields[18] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(0, 18, 0xB11F3B40, fields, -1); return &instance; } }; @@ -1520,9 +2963,12 @@ struct DeclinedWordMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x3FF5EC3E, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 2, 0x10D7C6A6, fields, -1); return &instance; } }; @@ -1531,9 +2977,13 @@ struct DeclinedWordCasesMeta { static DB2Meta const* Instance() { - static char const* types = "sbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x821A20A9, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x3E19B9C5, fields, 2); return &instance; } }; @@ -1542,9 +2992,32 @@ struct DestructibleModelDataMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhhbbbbbbbbbbbbbbbbb"; - static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 22, 0x1092C9AF, types, arraySizes, -1); + static DB2MetaField const fields[22] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 22, 0xF245BA93, fields, -1); return &instance; } }; @@ -1553,9 +3026,12 @@ struct DeviceBlacklistMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD956413D, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x2A350905, fields, -1); return &instance; } }; @@ -1564,9 +3040,13 @@ struct DeviceDefaultSettingsMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x90CFEC8C, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x2AB8A38C, fields, -1); return &instance; } }; @@ -1575,9 +3055,23 @@ struct DifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "shhhbbbbbbbbb"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x92302BB8, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 13, 0x29FC158C, fields, -1); return &instance; } }; @@ -1586,9 +3080,24 @@ struct DissolveEffectMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffbbiiii"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x566413E7, types, arraySizes, -1); + static DB2MetaField const fields[14] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 14, 0x77C510EC, fields, -1); return &instance; } }; @@ -1597,9 +3106,17 @@ struct DriverBlacklistMeta { static DB2Meta const* Instance() { - static char const* types = "iihbbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x1466ACAD, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x88C28C05, fields, -1); return &instance; } }; @@ -1608,130 +3125,218 @@ struct DungeonEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "sihbbbiii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 9, 0xB04A2596, types, arraySizes, 2); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 9, 0x6E5C2332, fields, 2); return &instance; } }; -struct DungeonMapMeta +struct DurabilityCostsMeta { static DB2Meta const* Instance() { - static char const* types = "ffhhbbbi"; - static uint8 const arraySizes[8] = { 2, 2, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0xB5A245F4, types, arraySizes, 2); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 21, false }, + { FT_SHORT, 8, false }, + }; + static DB2Meta instance(-1, 2, 0xBB493F52, fields, -1); return &instance; } }; -struct DungeonMapChunkMeta +struct DurabilityQualityMeta { static DB2Meta const* Instance() { - static char const* types = "fihhh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x7927A3A7, types, arraySizes, 2); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1); return &instance; } }; -struct DurabilityCostsMeta +struct EdgeGlowEffectMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 21, 8 }; - static DB2Meta instance(-1, 2, 0x8447966A, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 13, 0xCBCC7336, fields, -1); return &instance; } }; -struct DurabilityQualityMeta +struct EmotesMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_LONG, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0xA909E182, fields, -1); return &instance; } }; -struct EdgeGlowEffectMeta +struct EmotesTextMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffffbii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x083BF2C4, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xE255C6B0, fields, -1); return &instance; } }; -struct EmotesMeta +struct EmotesTextDataMeta { static DB2Meta const* Instance() { - static char const* types = "lsiihbiii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x14467F27, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x460E8F09, fields, 2); return &instance; } }; -struct EmotesTextMeta +struct EmotesTextSoundMeta { static DB2Meta const* Instance() { - static char const* types = "sh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xE85AFA10, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x3A15105C, fields, 4); return &instance; } }; -struct EmotesTextDataMeta +struct EnvironmentalDamageMeta { static DB2Meta const* Instance() { - static char const* types = "sbh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0E19BCF1, types, arraySizes, 2); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x448422B4, fields, -1); return &instance; } }; -struct EmotesTextSoundMeta +struct ExhaustionMeta { static DB2Meta const* Instance() { - static char const* types = "bbbih"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x6DFAF9BC, types, arraySizes, 4); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(2, 8, 0xF0F48BB5, fields, -1); return &instance; } }; -struct EnvironmentalDamageMeta +struct ExpectedStatMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC4552C14, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 11, 0xF0E61875, fields, 10); return &instance; } }; -struct ExhaustionMeta +struct ExpectedStatModMeta { static DB2Meta const* Instance() { - static char const* types = "ssiffffi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0xE6E16045, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0xEA56E599, fields, -1); return &instance; } }; @@ -1740,9 +3345,26 @@ struct FactionMeta { static DB2Meta const* Instance() { - static char const* types = "lssiifihhhhhbbbb"; - static uint8 const arraySizes[16] = { 4, 1, 1, 1, 4, 2, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 }; - static DB2Meta instance(3, 16, 0x6BFE8737, types, arraySizes, -1); + static DB2MetaField const fields[16] = + { + { FT_LONG, 4, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 4, true }, + { FT_SHORT, 4, false }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 2, false }, + }; + static DB2Meta instance(3, 16, 0x86FE2D69, fields, -1); return &instance; } }; @@ -1751,9 +3373,16 @@ struct FactionGroupMeta { static DB2Meta const* Instance() { - static char const* types = "ssibii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 6, 0x7A7F9A51, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 6, 0xB9B4369B, fields, -1); return &instance; } }; @@ -1762,9 +3391,17 @@ struct FactionTemplateMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhbbb"; - static uint8 const arraySizes[7] = { 1, 1, 4, 4, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x6F1D2135, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + }; + static DB2Meta instance(-1, 7, 0xD7143473, fields, -1); return &instance; } }; @@ -1773,9 +3410,13 @@ struct FootprintTexturesMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFD6FF285, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xF82F1359, fields, -1); return &instance; } }; @@ -1784,9 +3425,14 @@ struct FootstepTerrainLookupMeta { static DB2Meta const* Instance() { - static char const* types = "hbii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x454895AE, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xC70AACC6, fields, -1); return &instance; } }; @@ -1795,9 +3441,13 @@ struct FriendshipRepReactionMeta { static DB2Meta const* Instance() { - static char const* types = "shb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9C412E5B, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x8B096063, fields, 1); return &instance; } }; @@ -1806,9 +3456,14 @@ struct FriendshipReputationMeta { static DB2Meta const* Instance() { - static char const* types = "sihi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0x406EE0AB, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 4, 0xECCE459C, fields, -1); return &instance; } }; @@ -1817,9 +3472,38 @@ struct FullScreenEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fffffffffffffffffffffffiiii"; - static uint8 const arraySizes[27] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 27, 0x5CBF1D1B, types, arraySizes, -1); + static DB2MetaField const fields[28] = + { + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 28, 0x9854A6AC, fields, -1); return &instance; } }; @@ -1828,9 +3512,13 @@ struct GMSurveyAnswersMeta { static DB2Meta const* Instance() { - static char const* types = "sbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x422747F6, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xDE59EC07, fields, 2); return &instance; } }; @@ -1839,9 +3527,11 @@ struct GMSurveyCurrentSurveyMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x617205BF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 1, 0xAD0D7453, fields, -1); return &instance; } }; @@ -1850,9 +3540,11 @@ struct GMSurveyQuestionsMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x9D852FDC, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x12B097E1, fields, -1); return &instance; } }; @@ -1861,9 +3553,11 @@ struct GMSurveySurveysMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 15 }; - static DB2Meta instance(-1, 1, 0x17FEF812, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 15, false }, + }; + static DB2Meta instance(-1, 1, 0x24BB51BE, fields, -1); return &instance; } }; @@ -1872,9 +3566,12 @@ struct GameObjectArtKitMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 3 }; - static DB2Meta instance(-1, 2, 0x6F65BC41, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(-1, 2, 0xECF16719, fields, -1); return &instance; } }; @@ -1883,9 +3580,14 @@ struct GameObjectDiffAnimMapMeta { static DB2Meta const* Instance() { - static char const* types = "hbbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x89A617CF, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xDB3508F3, fields, 3); return &instance; } }; @@ -1894,9 +3596,15 @@ struct GameObjectDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "ifffh"; - static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9F2098D1, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 6, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x7A816799, fields, -1); return &instance; } }; @@ -1905,9 +3613,13 @@ struct GameObjectDisplayInfoXSoundKitMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4BBA66F2, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x456E4627, fields, 2); return &instance; } }; @@ -1916,9 +3628,22 @@ struct GameObjectsMeta { static DB2Meta const* Instance() { - static char const* types = "sfffihhhhbbi"; - static uint8 const arraySizes[12] = { 1, 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 12, 0x597E8643, types, arraySizes, 5); + static DB2MetaField const fields[12] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 4, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 8, true }, + }; + static DB2Meta instance(3, 12, 0x0995B956, fields, 4); return &instance; } }; @@ -1927,9 +3652,14 @@ struct GameTipsMeta { static DB2Meta const* Instance() { - static char const* types = "shhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x547E3F0F, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x768EB877, fields, -1); return &instance; } }; @@ -1938,9 +3668,18 @@ struct GarrAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "ssihhbbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x5DF95DBD, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(2, 8, 0x8256E595, fields, -1); return &instance; } }; @@ -1949,9 +3688,11 @@ struct GarrAbilityCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1); return &instance; } }; @@ -1960,9 +3701,22 @@ struct GarrAbilityEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fffihbbbbbbi"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 12, 0xE6A6CB99, types, arraySizes, 4); + static DB2MetaField const fields[12] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 12, 0x682EE0E1, fields, 1); return &instance; } }; @@ -1971,9 +3725,34 @@ struct GarrBuildingMeta { static DB2Meta const* Instance() { - static char const* types = "ssssiiihhhhhhhhbbbbbbiii"; - static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 24, 0x200F9858, types, arraySizes, -1); + static DB2MetaField const fields[24] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 24, 0x158D48D4, fields, -1); return &instance; } }; @@ -1982,9 +3761,15 @@ struct GarrBuildingDoodadSetMeta { static DB2Meta const* Instance() { - static char const* types = "bbbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x2A861C7F, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x9A6DE309, fields, -1); return &instance; } }; @@ -1993,9 +3778,15 @@ struct GarrBuildingPlotInstMeta { static DB2Meta const* Instance() { - static char const* types = "fhhbi"; - static uint8 const arraySizes[5] = { 2, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0xF45B6227, types, arraySizes, 3); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(1, 5, 0xFB61E627, fields, 2); return &instance; } }; @@ -2004,9 +3795,18 @@ struct GarrClassSpecMeta { static DB2Meta const* Instance() { - static char const* types = "ssshhbbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x194CD478, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(3, 8, 0x644E1AC4, fields, -1); return &instance; } }; @@ -2015,9 +3815,16 @@ struct GarrClassSpecPlayerCondMeta { static DB2Meta const* Instance() { - static char const* types = "sibiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x06936172, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x561DEBFE, fields, -1); return &instance; } }; @@ -2026,9 +3833,17 @@ struct GarrEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "siffiii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 7, 0x63EF121A, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(1, 7, 0xD193D559, fields, -1); return &instance; } }; @@ -2037,9 +3852,13 @@ struct GarrEncounterSetXEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(0, 3, 0x3AA64423, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 3, 0xCA7143E7, fields, 2); return &instance; } }; @@ -2048,9 +3867,13 @@ struct GarrEncounterXMechanicMeta { static DB2Meta const* Instance() { - static char const* types = "bbh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x97080E17, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x0960A66B, fields, 2); return &instance; } }; @@ -2059,9 +3882,14 @@ struct GarrFollItemSetMemberMeta { static DB2Meta const* Instance() { - static char const* types = "ihbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xCA1C4CBF, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x9166B16F, fields, 3); return &instance; } }; @@ -2070,9 +3898,14 @@ struct GarrFollSupportSpellMeta { static DB2Meta const* Instance() { - static char const* types = "iibi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xB7DBA2D1, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xDB563FC8, fields, 3); return &instance; } }; @@ -2081,9 +3914,42 @@ struct GarrFollowerMeta { static DB2Meta const* Instance() { - static char const* types = "sssiiiiiihhhhhhbbbbbbbbbbbbbbbbi"; - static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(31, 32, 0xAAB75E04, types, arraySizes, -1); + static DB2MetaField const fields[32] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(3, 32, 0x7C5C19F1, fields, -1); return &instance; } }; @@ -2092,9 +3958,14 @@ struct GarrFollowerLevelXPMeta { static DB2Meta const* Instance() { - static char const* types = "hhbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1ED485E2, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xABD178B2, fields, -1); return &instance; } }; @@ -2103,9 +3974,17 @@ struct GarrFollowerQualityMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xAFF4CF7E, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0xCAE87042, fields, -1); return &instance; } }; @@ -2114,9 +3993,12 @@ struct GarrFollowerSetXFollowerMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xDB0E0A17, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x621C60FF, fields, 1); return &instance; } }; @@ -2125,9 +4007,17 @@ struct GarrFollowerTypeMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xD676FBC0, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0xB4B34EF0, fields, -1); return &instance; } }; @@ -2136,9 +4026,16 @@ struct GarrFollowerUICreatureMeta { static DB2Meta const* Instance() { - static char const* types = "ifbbbh"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x7E275E96, types, arraySizes, 5); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x93A1FAA6, fields, 5); return &instance; } }; @@ -2147,9 +4044,14 @@ struct GarrFollowerXAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "hbh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x996447F1, types, arraySizes, 2); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x590C69F7, fields, 3); return &instance; } }; @@ -2158,9 +4060,15 @@ struct GarrItemLevelUpgradeDataMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 5, 0x069F44E5, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 5, 0x6B8723A1, fields, -1); return &instance; } }; @@ -2169,9 +4077,13 @@ struct GarrMechanicMeta { static DB2Meta const* Instance() { - static char const* types = "fbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAB49DA61, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xA83BF5A9, fields, -1); return &instance; } }; @@ -2180,9 +4092,13 @@ struct GarrMechanicSetXMechanicMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(1, 3, 0x59514F7B, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 3, 0xFC7F16A3, fields, 2); return &instance; } }; @@ -2191,9 +4107,15 @@ struct GarrMechanicTypeMeta { static DB2Meta const* Instance() { - static char const* types = "ssibi"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0x6FEA569F, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(2, 5, 0x05F19FE7, fields, -1); return &instance; } }; @@ -2202,9 +4124,39 @@ struct GarrMissionMeta { static DB2Meta const* Instance() { - static char const* types = "sssiiffhhhbbbbbbbbbiiiiiiiiii"; - static uint8 const arraySizes[29] = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(19, 29, 0xDDD70490, types, arraySizes, 28); + static DB2MetaField const fields[29] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(5, 29, 0x00777205, fields, 28); return &instance; } }; @@ -2213,9 +4165,12 @@ struct GarrMissionTextureMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 2, 1 }; - static DB2Meta instance(-1, 2, 0x3071301C, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x0D378464, fields, -1); return &instance; } }; @@ -2224,9 +4179,13 @@ struct GarrMissionTypeMeta { static DB2Meta const* Instance() { - static char const* types = "shh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xA289655E, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x3FC87149, fields, -1); return &instance; } }; @@ -2235,9 +4194,15 @@ struct GarrMissionXEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "biiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 5, 0xBCB016C6, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 5, 0x539B5B1B, fields, 4); return &instance; } }; @@ -2246,9 +4211,13 @@ struct GarrMissionXFollowerMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1EBABA29, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xFB9C7E3D, fields, 2); return &instance; } }; @@ -2257,9 +4226,15 @@ struct GarrMssnBonusAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "fihbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x35F5AE92, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x91DD4CE6, fields, -1); return &instance; } }; @@ -2268,9 +4243,17 @@ struct GarrPlotMeta { static DB2Meta const* Instance() { - static char const* types = "siibbbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 7, 0xE12049E0, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, false }, + }; + static DB2Meta instance(-1, 7, 0x3897880E, fields, -1); return &instance; } }; @@ -2279,9 +4262,12 @@ struct GarrPlotBuildingMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x3F77A6FA, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x1ECDCE0A, fields, -1); return &instance; } }; @@ -2290,9 +4276,12 @@ struct GarrPlotInstanceMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB708BB37, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x1FD77CCF, fields, -1); return &instance; } }; @@ -2301,9 +4290,12 @@ struct GarrPlotUICategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xA94645EE, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x867482E6, fields, -1); return &instance; } }; @@ -2312,9 +4304,19 @@ struct GarrSiteLevelMeta { static DB2Meta const* Instance() { - static char const* types = "fhhhhhbbb"; - static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xD3979C38, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 9, 0x4D823E68, fields, -1); return &instance; } }; @@ -2323,9 +4325,14 @@ struct GarrSiteLevelPlotInstMeta { static DB2Meta const* Instance() { - static char const* types = "fhbb"; - static uint8 const arraySizes[4] = { 2, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC4E74201, types, arraySizes, 1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xA3DF8AD1, fields, 1); return &instance; } }; @@ -2334,9 +4341,17 @@ struct GarrSpecializationMeta { static DB2Meta const* Instance() { - static char const* types = "ssifbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x797A0F2F, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + }; + static DB2Meta instance(-1, 7, 0x8400A7E7, fields, -1); return &instance; } }; @@ -2345,9 +4360,11 @@ struct GarrStringMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE1C08C0C, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF404C7D8, fields, -1); return &instance; } }; @@ -2356,9 +4373,30 @@ struct GarrTalentMeta { static DB2Meta const* Instance() { - static char const* types = "ssiibbbiiiiiiiiiiiii"; - static uint8 const arraySizes[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 20, 0x53D5FD16, types, arraySizes, 8); + static DB2MetaField const fields[20] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(2, 20, 0x96BE787E, fields, 3); return &instance; } }; @@ -2367,9 +4405,17 @@ struct GarrTalentTreeMeta { static DB2Meta const* Instance() { - static char const* types = "hbbii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x676CBC04, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x9A3BC97D, fields, -1); return &instance; } }; @@ -2378,9 +4424,15 @@ struct GarrTypeMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 5, 0x7C52F3B7, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 5, 0xCCA7D7B5, fields, -1); return &instance; } }; @@ -2389,9 +4441,16 @@ struct GarrUiAnimClassInfoMeta { static DB2Meta const* Instance() { - static char const* types = "fbbiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xDBF4633D, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xF6444415, fields, -1); return &instance; } }; @@ -2400,9 +4459,23 @@ struct GarrUiAnimRaceInfoMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffffffb"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x44B9C1DE, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 13, 0x62B1D302, fields, -1); return &instance; } }; @@ -2411,9 +4484,13 @@ struct GemPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x84558CAB, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xBCE902DB, fields, -1); return &instance; } }; @@ -2422,9 +4499,13 @@ struct GlobalStringsMeta { static DB2Meta const* Instance() { - static char const* types = "ssb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x2CA3EA1E, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x843675FD, fields, -1); return &instance; } }; @@ -2433,9 +4514,12 @@ struct GlyphBindableSpellMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xEA228DFA, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x03429C72, fields, 1); return &instance; } }; @@ -2444,9 +4528,11 @@ struct GlyphExclusiveCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xFE598FCD, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x59622339, fields, -1); return &instance; } }; @@ -2455,9 +4541,14 @@ struct GlyphPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "ihbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD0046829, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x7C1C2F11, fields, -1); return &instance; } }; @@ -2466,9 +4557,12 @@ struct GlyphRequiredSpecMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xDD6481CE, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x70D4ECC6, fields, 1); return &instance; } }; @@ -2477,9 +4571,14 @@ struct GroundEffectDoodadMeta { static DB2Meta const* Instance() { - static char const* types = "ffbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0376B2D6, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xAB0C6E12, fields, -1); return &instance; } }; @@ -2488,9 +4587,14 @@ struct GroundEffectTextureMeta { static DB2Meta const* Instance() { - static char const* types = "hbbi"; - static uint8 const arraySizes[4] = { 4, 4, 1, 1 }; - static DB2Meta instance(-1, 4, 0x84549F0A, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 4, false }, + { FT_BYTE, 4, true }, + }; + static DB2Meta instance(-1, 4, 0xCCBD52E8, fields, -1); return &instance; } }; @@ -2499,9 +4603,24 @@ struct GroupFinderActivityMeta { static DB2Meta const* Instance() { - static char const* types = "sshhhbbbbbbbbb"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x3EF2F3BD, types, arraySizes, -1); + static DB2MetaField const fields[14] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 14, 0xEC40E4B1, fields, -1); return &instance; } }; @@ -2510,9 +4629,12 @@ struct GroupFinderActivityGrpMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC9458196, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x1EC8D046, fields, -1); return &instance; } }; @@ -2521,9 +4643,13 @@ struct GroupFinderCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9213552F, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xBFF47DC0, fields, -1); return &instance; } }; @@ -2532,9 +4658,13 @@ struct GuildColorBackgroundMeta { static DB2Meta const* Instance() { - static char const* types = "bbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1); return &instance; } }; @@ -2543,9 +4673,13 @@ struct GuildColorBorderMeta { static DB2Meta const* Instance() { - static char const* types = "bbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1); return &instance; } }; @@ -2554,9 +4688,13 @@ struct GuildColorEmblemMeta { static DB2Meta const* Instance() { - static char const* types = "bbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1); return &instance; } }; @@ -2565,9 +4703,11 @@ struct GuildPerkSpellsMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC15D6E9F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xC9961BEB, fields, -1); return &instance; } }; @@ -2576,9 +4716,20 @@ struct HeirloomMeta { static DB2Meta const* Instance() { - static char const* types = "siiiiihbbi"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 3, 3, 1, 1, 1 }; - static DB2Meta instance(9, 10, 0x36887C6F, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_SHORT, 3, false }, + }; + static DB2Meta instance(1, 10, 0xB5925FE9, fields, -1); return &instance; } }; @@ -2587,9 +4738,13 @@ struct HelmetAnimScalingMeta { static DB2Meta const* Instance() { - static char const* types = "fii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xB9EC1058, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xC43CA2FC, fields, 2); return &instance; } }; @@ -2598,9 +4753,11 @@ struct HelmetGeosetVisDataMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 9 }; - static DB2Meta instance(-1, 1, 0x3B38D999, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 9, true }, + }; + static DB2Meta instance(-1, 1, 0x2E7C7FED, fields, -1); return &instance; } }; @@ -2609,9 +4766,15 @@ struct HighlightColorMeta { static DB2Meta const* Instance() { - static char const* types = "iiibb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x5FADC5D3, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xDC14DB43, fields, -1); return &instance; } }; @@ -2620,9 +4783,11 @@ struct HolidayDescriptionsMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x92A95550, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xE70F298C, fields, -1); return &instance; } }; @@ -2631,9 +4796,11 @@ struct HolidayNamesMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF2917D77, fields, -1); return &instance; } }; @@ -2642,20 +4809,37 @@ struct HolidaysMeta { static DB2Meta const* Instance() { - static char const* types = "iihhbbbbbiii"; - static uint8 const arraySizes[12] = { 1, 16, 10, 1, 1, 10, 1, 1, 1, 1, 1, 3 }; - static DB2Meta instance(0, 12, 0x7C3E60FC, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 10, false }, + { FT_INT, 16, false }, + { FT_BYTE, 10, false }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(0, 12, 0xF6DA3904, fields, -1); return &instance; } }; -struct HotfixMeta +struct HotfixesMeta { static DB2Meta const* Instance() { - static char const* types = "sii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x3747930B, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xB67D3F47, fields, -1); return &instance; } }; @@ -2664,9 +4848,14 @@ struct ImportPriceArmorMeta { static DB2Meta const* Instance() { - static char const* types = "ffff"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1F7A850F, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xC4C8D847, fields, -1); return &instance; } }; @@ -2675,9 +4864,11 @@ struct ImportPriceQualityMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1); return &instance; } }; @@ -2686,9 +4877,11 @@ struct ImportPriceShieldMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1); return &instance; } }; @@ -2697,9 +4890,11 @@ struct ImportPriceWeaponMeta { static DB2Meta const* Instance() { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1); return &instance; } }; @@ -2708,9 +4903,20 @@ struct InvasionClientDataMeta { static DB2Meta const* Instance() { - static char const* types = "sfiiiiiiii"; - static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 10, 0x4C93379F, types, arraySizes, 9); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 10, 0x04FC0B4F, fields, 9); return &instance; } }; @@ -2719,9 +4925,18 @@ struct ItemMeta { static DB2Meta const* Instance() { - static char const* types = "ibbbbbbb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x0DFCC83D, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 8, 0xF9600007, fields, -1); return &instance; } }; @@ -2730,9 +4945,14 @@ struct ItemAppearanceMeta { static DB2Meta const* Instance() { - static char const* types = "iiib"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x06D35A59, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x422F764D, fields, -1); return &instance; } }; @@ -2741,9 +4961,12 @@ struct ItemAppearanceXUiCameraMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x67747E15, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xCD3677FD, fields, -1); return &instance; } }; @@ -2752,9 +4975,11 @@ struct ItemArmorQualityMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0x85642CC0, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 1, 0x0B17E016, fields, -1); return &instance; } }; @@ -2763,9 +4988,12 @@ struct ItemArmorShieldMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 7, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xC88C8C8D, fields, -1); return &instance; } }; @@ -2774,9 +5002,15 @@ struct ItemArmorTotalMeta { static DB2Meta const* Instance() { - static char const* types = "ffffh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x45C396DD, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xC4CD0FD9, fields, -1); return &instance; } }; @@ -2785,9 +5019,11 @@ struct ItemBagFamilyMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1); return &instance; } }; @@ -2796,9 +5032,14 @@ struct ItemBonusMeta { static DB2Meta const* Instance() { - static char const* types = "ihbb"; - static uint8 const arraySizes[4] = { 3, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE12FB1A0, types, arraySizes, 1); + static DB2MetaField const fields[4] = + { + { FT_INT, 3, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xB96C1748, fields, 1); return &instance; } }; @@ -2807,9 +5048,12 @@ struct ItemBonusListLevelDeltaMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0xDFBF5AC9, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 2, 0x819C0CC1, fields, -1); return &instance; } }; @@ -2818,9 +5062,15 @@ struct ItemBonusTreeNodeMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x84FE93B7, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x1DDAA885, fields, 4); return &instance; } }; @@ -2829,9 +5079,13 @@ struct ItemChildEquipmentMeta { static DB2Meta const* Instance() { - static char const* types = "ibi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xB6940674, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x48E64550, fields, 2); return &instance; } }; @@ -2840,9 +5094,14 @@ struct ItemClassMeta { static DB2Meta const* Instance() { - static char const* types = "sfbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xA1E4663C, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xB6C67A3D, fields, -1); return &instance; } }; @@ -2851,9 +5110,16 @@ struct ItemContextPickerEntryMeta { static DB2Meta const* Instance() { - static char const* types = "bbiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x4A6DF90B, types, arraySizes, 5); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x1596EAF3, fields, 5); return &instance; } }; @@ -2862,9 +5128,11 @@ struct ItemCurrencyCostMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE2FF5688, types, arraySizes, 0); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xDAC6A93C, fields, 0); return &instance; } }; @@ -2873,9 +5141,12 @@ struct ItemDamageAmmoMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1); return &instance; } }; @@ -2884,9 +5155,12 @@ struct ItemDamageOneHandMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1); return &instance; } }; @@ -2895,9 +5169,12 @@ struct ItemDamageOneHandCasterMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1); return &instance; } }; @@ -2906,9 +5183,12 @@ struct ItemDamageTwoHandMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1); return &instance; } }; @@ -2917,9 +5197,12 @@ struct ItemDamageTwoHandCasterMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1); return &instance; } }; @@ -2928,9 +5211,17 @@ struct ItemDisenchantLootMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xC0D926CC, types, arraySizes, 6); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x146B9F40, fields, 6); return &instance; } }; @@ -2939,9 +5230,25 @@ struct ItemDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiiiiiiii"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 2 }; - static DB2Meta instance(-1, 15, 0x99606089, types, arraySizes, -1); + static DB2MetaField const fields[15] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, false }, + { FT_INT, 2, true }, + { FT_INT, 6, true }, + { FT_INT, 6, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 15, 0x089404D9, fields, -1); return &instance; } }; @@ -2950,9 +5257,13 @@ struct ItemDisplayInfoMaterialResMeta { static DB2Meta const* Instance() { - static char const* types = "ibi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDEE4ED7B, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x936E6A99, fields, 2); return &instance; } }; @@ -2961,9 +5272,12 @@ struct ItemDisplayXUiCameraMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xE57737B2, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x3E999EAA, fields, -1); return &instance; } }; @@ -2972,9 +5286,19 @@ struct ItemEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iiihhhbbi"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xA390FA40, types, arraySizes, 8); + static DB2MetaField const fields[9] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0x46818AA6, fields, 8); return &instance; } }; @@ -2983,9 +5307,20 @@ struct ItemExtendedCostMeta { static DB2Meta const* Instance() { - static char const* types = "iihhhbbbbb"; - static uint8 const arraySizes[10] = { 5, 5, 5, 1, 5, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xC31F4DEF, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 5, true }, + { FT_SHORT, 5, false }, + { FT_SHORT, 5, false }, + { FT_INT, 5, false }, + }; + static DB2Meta instance(-1, 10, 0x2AC5BE11, fields, -1); return &instance; } }; @@ -2994,9 +5329,11 @@ struct ItemGroupSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 4 }; - static DB2Meta instance(-1, 1, 0xDC2EE466, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 4, false }, + }; + static DB2Meta instance(-1, 1, 0x909375D2, fields, -1); return &instance; } }; @@ -3005,9 +5342,12 @@ struct ItemLevelSelectorMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x8143060E, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x3112276E, fields, -1); return &instance; } }; @@ -3016,9 +5356,13 @@ struct ItemLevelSelectorQualityMeta { static DB2Meta const* Instance() { - static char const* types = "ibh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xB7174A51, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xC40169D5, fields, 2); return &instance; } }; @@ -3027,9 +5371,12 @@ struct ItemLevelSelectorQualitySetMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x20055BA8, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x89657A48, fields, -1); return &instance; } }; @@ -3038,9 +5385,13 @@ struct ItemLimitCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xB6BB188D, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xE068171C, fields, -1); return &instance; } }; @@ -3049,9 +5400,13 @@ struct ItemLimitCategoryConditionMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDE8EAD49, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x7F847085, fields, 2); return &instance; } }; @@ -3060,9 +5415,16 @@ struct ItemModifiedAppearanceMeta { static DB2Meta const* Instance() { - static char const* types = "iibhbb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 6, 0xE64FD18B, types, arraySizes, 0); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(0, 6, 0x9C32B7FF, fields, 1); return &instance; } }; @@ -3071,9 +5433,15 @@ struct ItemModifiedAppearanceExtraMeta { static DB2Meta const* Instance() { - static char const* types = "iibbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x77212236, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x7E2FD302, fields, -1); return &instance; } }; @@ -3082,9 +5450,12 @@ struct ItemNameDescriptionMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x16760BD4, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xBBF04CCC, fields, -1); return &instance; } }; @@ -3093,9 +5464,11 @@ struct ItemPetFoodMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xD6AB60EB, fields, -1); return &instance; } }; @@ -3104,9 +5477,13 @@ struct ItemPriceBaseMeta { static DB2Meta const* Instance() { - static char const* types = "ffh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4BD234D7, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xC90092C7, fields, -1); return &instance; } }; @@ -3115,9 +5492,12 @@ struct ItemRandomPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "sh"; - static uint8 const arraySizes[2] = { 1, 5 }; - static DB2Meta instance(-1, 2, 0xB67375F8, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 5, false }, + }; + static DB2Meta instance(-1, 2, 0xBDA8BFCD, fields, -1); return &instance; } }; @@ -3126,9 +5506,13 @@ struct ItemRandomSuffixMeta { static DB2Meta const* Instance() { - static char const* types = "shh"; - static uint8 const arraySizes[3] = { 1, 5, 5 }; - static DB2Meta instance(-1, 3, 0x95CAB825, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 5, false }, + { FT_SHORT, 5, false }, + }; + static DB2Meta instance(-1, 3, 0xABCC4871, fields, -1); return &instance; } }; @@ -3137,9 +5521,14 @@ struct ItemRangedDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "iiii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x687A28D1, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xA6B99F0D, fields, -1); return &instance; } }; @@ -3148,9 +5537,24 @@ struct ItemSearchNameMeta { static DB2Meta const* Instance() { - static char const* types = "lsiihbbbhbihhi"; - static uint8 const arraySizes[14] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 14, 0x2D4B72FA, types, arraySizes, -1); + static DB2MetaField const fields[14] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 4, true }, + }; + static DB2Meta instance(2, 14, 0xF0940AFC, fields, -1); return &instance; } }; @@ -3159,9 +5563,15 @@ struct ItemSetMeta { static DB2Meta const* Instance() { - static char const* types = "sihii"; - static uint8 const arraySizes[5] = { 1, 17, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x847FF58A, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 17, false }, + }; + static DB2Meta instance(-1, 5, 0xB02A9041, fields, -1); return &instance; } }; @@ -3170,9 +5580,14 @@ struct ItemSetSpellMeta { static DB2Meta const* Instance() { - static char const* types = "ihbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF65D0AF8, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xD6AEEA60, fields, 3); return &instance; } }; @@ -3181,9 +5596,74 @@ struct ItemSparseMeta { static DB2Meta const* Instance() { - static char const* types = "lsssssiffiiiiiiiffififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb"; - static uint8 const arraySizes[64] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 64, 0x4007DE16, types, arraySizes, -1); + static DB2MetaField const fields[64] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 10, true }, + { FT_INT, 10, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 4, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 3, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 10, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 64, 0xF9021F01, fields, -1); return &instance; } }; @@ -3192,9 +5672,16 @@ struct ItemSpecMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbbb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xB17B7986, types, arraySizes, 3); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xEB138F8E, fields, 2); return &instance; } }; @@ -3203,9 +5690,12 @@ struct ItemSpecOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xE499CD2A, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xB235D33A, fields, 1); return &instance; } }; @@ -3214,9 +5704,20 @@ struct ItemSubClassMeta { static DB2Meta const* Instance() { - static char const* types = "sshbbbbbbb"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xDAD92A67, types, arraySizes, 3); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 10, 0xC7178B11, fields, 2); return &instance; } }; @@ -3225,9 +5726,13 @@ struct ItemSubClassMaskMeta { static DB2Meta const* Instance() { - static char const* types = "sib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFC1DA850, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x146E3154, fields, -1); return &instance; } }; @@ -3236,9 +5741,15 @@ struct ItemUpgradeMeta { static DB2Meta const* Instance() { - static char const* types = "ihhbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x8F3A4137, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x706FA369, fields, -1); return &instance; } }; @@ -3247,9 +5758,11 @@ struct ItemVisualsMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 5 }; - static DB2Meta instance(-1, 1, 0x485EA782, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 5, true }, + }; + static DB2Meta instance(-1, 1, 0x4025FA36, fields, -1); return &instance; } }; @@ -3258,9 +5771,12 @@ struct ItemXBonusTreeMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x87C4B605, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x57244BD5, fields, 1); return &instance; } }; @@ -3269,9 +5785,20 @@ struct JournalEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "ssfhhhhbbii"; - static uint8 const arraySizes[11] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x2935A0FD, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 10, 0x5E057FAD, fields, -1); return &instance; } }; @@ -3280,9 +5807,18 @@ struct JournalEncounterCreatureMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiihbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x22C79A42, types, arraySizes, 5); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(2, 8, 0x71CE658D, fields, 3); return &instance; } }; @@ -3291,9 +5827,16 @@ struct JournalEncounterItemMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbi"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0x39230FF9, types, arraySizes, 1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(0, 6, 0x5FD94071, fields, 1); return &instance; } }; @@ -3302,9 +5845,25 @@ struct JournalEncounterSectionMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiiihhhhhhbbb"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 15, 0x13E56B12, types, arraySizes, -1); + static DB2MetaField const fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 15, 0x582FB4F6, fields, -1); return &instance; } }; @@ -3313,9 +5872,12 @@ struct JournalEncounterXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "bh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x321FD542, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x436676BA, fields, 1); return &instance; } }; @@ -3324,9 +5886,15 @@ struct JournalEncounterXMapLocMeta { static DB2Meta const* Instance() { - static char const* types = "fbiiii"; - static uint8 const arraySizes[6] = { 2, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x430540E4, types, arraySizes, 5); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xBCE56697, fields, 4); return &instance; } }; @@ -3335,9 +5903,21 @@ struct JournalInstanceMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiiihhbbi"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 11, 0x1691CC3D, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(2, 11, 0xBB10478F, fields, -1); return &instance; } }; @@ -3346,9 +5926,12 @@ struct JournalItemXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "bh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x60D9CA15, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xF938F4BD, fields, 1); return &instance; } }; @@ -3357,9 +5940,12 @@ struct JournalSectionXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "bh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x243822A7, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xE02C355F, fields, 1); return &instance; } }; @@ -3368,9 +5954,11 @@ struct JournalTierMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xE0D727CB, fields, -1); return &instance; } }; @@ -3379,9 +5967,12 @@ struct JournalTierXInstanceMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x9C4F4D2A, types, arraySizes, 0); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xD584CE6A, fields, 0); return &instance; } }; @@ -3390,9 +5981,11 @@ struct KeychainMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 32 }; - static DB2Meta instance(-1, 1, 0x5B214E82, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 32, false }, + }; + static DB2Meta instance(-1, 1, 0x67DDA82E, fields, -1); return &instance; } }; @@ -3401,9 +5994,14 @@ struct KeystoneAffixMeta { static DB2Meta const* Instance() { - static char const* types = "ssi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1BCB46AA, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 4, 0x60D97B7F, fields, -1); return &instance; } }; @@ -3412,9 +6010,17 @@ struct LFGDungeonExpansionMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbiih"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xB41DEA61, types, arraySizes, 6); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x6754EDAB, fields, 6); return &instance; } }; @@ -3423,9 +6029,14 @@ struct LFGDungeonGroupMeta { static DB2Meta const* Instance() { - static char const* types = "shbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x724D58E7, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x4E84BE76, fields, -1); return &instance; } }; @@ -3434,9 +6045,43 @@ struct LFGDungeonsMeta { static DB2Meta const* Instance() { - static char const* types = "ssifhhhhhhhhhbbbbbbbbbbbbbbbbbiii"; - static uint8 const arraySizes[33] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 33, 0xF02081A0, types, arraySizes, -1); + static DB2MetaField const fields[33] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 33, 0xD9B678AD, fields, -1); return &instance; } }; @@ -3445,9 +6090,13 @@ struct LFGRoleRequirementMeta { static DB2Meta const* Instance() { - static char const* types = "bih"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x7EB8A359, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x35B34A59, fields, 2); return &instance; } }; @@ -3456,9 +6105,12 @@ struct LanguageWordsMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC15912BD, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xFBB33D15, fields, -1); return &instance; } }; @@ -3467,9 +6119,12 @@ struct LanguagesMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x6FA5D0C4, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 2, 0xAA508D47, fields, -1); return &instance; } }; @@ -3478,9 +6133,13 @@ struct LfgDungeonsGroupingMapMeta { static DB2Meta const* Instance() { - static char const* types = "hbh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x8CB35C50, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xD50B89E4, fields, 2); return &instance; } }; @@ -3489,9 +6148,15 @@ struct LightMeta { static DB2Meta const* Instance() { - static char const* types = "fffhh"; - static uint8 const arraySizes[5] = { 3, 1, 1, 1, 8 }; - static DB2Meta instance(-1, 5, 0x25025A13, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 8, false }, + }; + static DB2Meta instance(-1, 5, 0x04052B1F, fields, -1); return &instance; } }; @@ -3500,9 +6165,46 @@ struct LightDataMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiiiiiiiiiiifffffffffiiiiiihh"; - static uint8 const arraySizes[35] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 35, 0x2D2BA7FA, types, arraySizes, 34); + static DB2MetaField const fields[36] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 36, 0xE7CA3F85, fields, 0); return &instance; } }; @@ -3511,9 +6213,22 @@ struct LightParamsMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffhbbbi"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 11, 0xF67DE2AF, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 12, 0xA08FAABA, fields, -1); return &instance; } }; @@ -3522,9 +6237,60 @@ struct LightSkyboxMeta { static DB2Meta const* Instance() { - static char const* types = "siib"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x8817C02C, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x757E9EB6, fields, -1); + return &instance; + } +}; + +struct LightningMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[34] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 34, 0x8B6D192C, fields, -1); return &instance; } }; @@ -3533,9 +6299,12 @@ struct LiquidMaterialMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x62BE0340, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x6A7287A2, fields, -1); return &instance; } }; @@ -3544,9 +6313,15 @@ struct LiquidObjectMeta { static DB2Meta const* Instance() { - static char const* types = "ffhbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xACC168A6, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x7AF380AA, fields, -1); return &instance; } }; @@ -3555,9 +6330,31 @@ struct LiquidTypeMeta { static DB2Meta const* Instance() { - static char const* types = "ssifffffifihhbbbbbi"; - static uint8 const arraySizes[19] = { 1, 6, 1, 1, 1, 1, 1, 1, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 }; - static DB2Meta instance(-1, 19, 0x3313BBF3, types, arraySizes, -1); + static DB2MetaField const fields[21] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 6, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 6, false }, + { FT_INT, 2, true }, + { FT_FLOAT, 18, true }, + { FT_INT, 4, false }, + { FT_FLOAT, 4, true }, + }; + static DB2Meta instance(-1, 21, 0x29F8C65E, fields, -1); return &instance; } }; @@ -3566,9 +6363,15 @@ struct LoadingScreenTaxiSplinesMeta { static DB2Meta const* Instance() { - static char const* types = "ffhhb"; - static uint8 const arraySizes[5] = { 10, 10, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x4D6292C3, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 10, true }, + { FT_FLOAT, 10, true }, + }; + static DB2Meta instance(-1, 5, 0xCDF5DDF1, fields, -1); return &instance; } }; @@ -3577,9 +6380,13 @@ struct LoadingScreensMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x99C0EB78, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xA2488A1C, fields, -1); return &instance; } }; @@ -3588,9 +6395,14 @@ struct LocaleMeta { static DB2Meta const* Instance() { - static char const* types = "ibbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x592AE13B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x65638FD5, fields, -1); return &instance; } }; @@ -3599,9 +6411,12 @@ struct LocationMeta { static DB2Meta const* Instance() { - static char const* types = "ff"; - static uint8 const arraySizes[2] = { 3, 3 }; - static DB2Meta instance(-1, 2, 0xBBC1BE7A, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + }; + static DB2Meta instance(-1, 2, 0x71BD1122, fields, -1); return &instance; } }; @@ -3610,9 +6425,14 @@ struct LockMeta { static DB2Meta const* Instance() { - static char const* types = "ihbb"; - static uint8 const arraySizes[4] = { 8, 8, 8, 8 }; - static DB2Meta instance(-1, 4, 0xDAC7F42F, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 8, true }, + { FT_SHORT, 8, false }, + { FT_BYTE, 8, false }, + { FT_BYTE, 8, false }, + }; + static DB2Meta instance(-1, 4, 0x156C0BD7, fields, -1); return &instance; } }; @@ -3621,9 +6441,15 @@ struct LockTypeMeta { static DB2Meta const* Instance() { - static char const* types = "ssssi"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0xCD5E1D2F, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(4, 5, 0x3F736720, fields, -1); return &instance; } }; @@ -3632,9 +6458,28 @@ struct LookAtControllerMeta { static DB2Meta const* Instance() { - static char const* types = "ffffhhhhbbbbbiiiii"; - static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 18, 0x543C0D56, types, arraySizes, -1); + static DB2MetaField const fields[18] = + { + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 18, 0x2E077E56, fields, -1); return &instance; } }; @@ -3643,9 +6488,11 @@ struct MailTemplateMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x25C8D6CC, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xC6E0D9B5, fields, -1); return &instance; } }; @@ -3654,9 +6501,20 @@ struct ManagedWorldStateMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(9, 10, 0xBA06FC33, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 4, true }, + }; + static DB2Meta instance(0, 10, 0x043BFC8F, fields, -1); return &instance; } }; @@ -3665,9 +6523,14 @@ struct ManagedWorldStateBuffMeta { static DB2Meta const* Instance() { - static char const* types = "iiii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x6D201DC7, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x049B986F, fields, 3); return &instance; } }; @@ -3676,9 +6539,13 @@ struct ManagedWorldStateInputMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0FC1A9B0, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x21237CDC, fields, -1); return &instance; } }; @@ -3687,9 +6554,11 @@ struct ManifestInterfaceActionIconMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1); return &instance; } }; @@ -3698,9 +6567,12 @@ struct ManifestInterfaceDataMeta { static DB2Meta const* Instance() { - static char const* types = "ss"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x9E5F4C99, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x03E4C021, fields, -1); return &instance; } }; @@ -3709,9 +6581,11 @@ struct ManifestInterfaceItemIconMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1); return &instance; } }; @@ -3720,9 +6594,11 @@ struct ManifestInterfaceTOCDataMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x6F7D397D, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xD00DAF09, fields, -1); return &instance; } }; @@ -3731,9 +6607,11 @@ struct ManifestMP3Meta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1); return &instance; } }; @@ -3742,9 +6620,32 @@ struct MapMeta { static DB2Meta const* Instance() { - static char const* types = "ssssssiffhhhhhhhbbbbb"; - static uint8 const arraySizes[21] = { 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 21, 0xF568DF12, types, arraySizes, -1); + static DB2MetaField const fields[22] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 22, 0x503A3E58, fields, -1); return &instance; } }; @@ -3753,9 +6654,13 @@ struct MapCelestialBodyMeta { static DB2Meta const* Instance() { - static char const* types = "hih"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xBDE1C11C, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x14543648, fields, 2); return &instance; } }; @@ -3764,9 +6669,15 @@ struct MapChallengeModeMeta { static DB2Meta const* Instance() { - static char const* types = "sihhb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 3, 1 }; - static DB2Meta instance(1, 5, 0xC5261662, types, arraySizes, 2); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 3, true }, + }; + static DB2Meta instance(1, 5, 0x50F3ABC2, fields, 2); return &instance; } }; @@ -3775,9 +6686,20 @@ struct MapDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "sbbbbbbih"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x2B3B759E, types, arraySizes, 8); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 10, 0xF876E8BA, fields, 9); return &instance; } }; @@ -3786,9 +6708,14 @@ struct MapDifficultyXConditionMeta { static DB2Meta const* Instance() { - static char const* types = "siii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x5F5D7102, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x8DBA5D16, fields, 3); return &instance; } }; @@ -3797,9 +6724,15 @@ struct MapLoadingScreenMeta { static DB2Meta const* Instance() { - static char const* types = "ffiii"; - static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xBBE57FE4, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xC4CFD9A8, fields, 4); return &instance; } }; @@ -3808,9 +6741,17 @@ struct MarketingPromotionsXLocaleMeta { static DB2Meta const* Instance() { - static char const* types = "siiiibb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x80362F57, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0xC04E61FB, fields, -1); return &instance; } }; @@ -3819,9 +6760,14 @@ struct MaterialMeta { static DB2Meta const* Instance() { - static char const* types = "biii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0BC8C134, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x370D43B4, fields, -1); return &instance; } }; @@ -3830,9 +6776,13 @@ struct MinorTalentMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAAEF0DF8, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x09F57B9C, fields, 2); return &instance; } }; @@ -3841,9 +6791,22 @@ struct MissileTargetingMeta { static DB2Meta const* Instance() { - static char const* types = "fffffffffiii"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 12, 0x2305491E, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 12, 0xF695DDBA, fields, -1); return &instance; } }; @@ -3852,9 +6815,13 @@ struct ModelAnimCloakDampeningMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x839B4263, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xAA668B4F, fields, 2); return &instance; } }; @@ -3863,9 +6830,14 @@ struct ModelFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(1, 3, 0xA395EB50, types, arraySizes, 2); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 4, 0x9C9B4543, fields, 3); return &instance; } }; @@ -3874,9 +6846,12 @@ struct ModelRibbonQualityMeta { static DB2Meta const* Instance() { - static char const* types = "bi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x38F764D9, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xA26E8DD1, fields, 1); return &instance; } }; @@ -3885,9 +6860,17 @@ struct ModifierTreeMeta { static DB2Meta const* Instance() { - static char const* types = "iiibbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x7718AFC2, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 7, 0x643002AE, fields, -1); return &instance; } }; @@ -3896,9 +6879,21 @@ struct MountMeta { static DB2Meta const* Instance() { - static char const* types = "sssifhhbiii"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 11, 0x4D812F19, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3, 11, 0x629E87E2, fields, -1); return &instance; } }; @@ -3907,9 +6902,18 @@ struct MountCapabilityMeta { static DB2Meta const* Instance() { - static char const* types = "iihhhbii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 8, 0xB0D11D52, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(0, 8, 0xD8A906D6, fields, -1); return &instance; } }; @@ -3918,9 +6922,13 @@ struct MountTypeXCapabilityMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xA34A8445, types, arraySizes, 0); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x613701E9, fields, 0); return &instance; } }; @@ -3929,9 +6937,13 @@ struct MountXDisplayMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD59B9FE4, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x2D4F3D78, fields, 2); return &instance; } }; @@ -3940,9 +6952,14 @@ struct MovieMeta { static DB2Meta const* Instance() { - static char const* types = "iibb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF3E9AE3B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x4848C4FB, fields, -1); return &instance; } }; @@ -3951,9 +6968,11 @@ struct MovieFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xAA16D59F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0xB24F82EB, fields, -1); return &instance; } }; @@ -3962,9 +6981,69 @@ struct MovieVariationMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x3BFD250E, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xAEA671AA, fields, 2); + return &instance; + } +}; + +struct MultiStatePropertiesMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[11] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 11, 0x50BB5EDC, fields, 10); + return &instance; + } +}; + +struct MultiTransitionPropertiesMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x5720F452, fields, -1); + return &instance; + } +}; + +struct MythicPlusSeasonRewardLevelsMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xAD6A6D9F, fields, 3); return &instance; } }; @@ -3973,9 +7052,13 @@ struct NPCModelItemSlotDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "ibi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x11D16204, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xB8EC2628, fields, 2); return &instance; } }; @@ -3984,9 +7067,11 @@ struct NPCSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 4 }; - static DB2Meta instance(-1, 1, 0x672E1A6B, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 4, false }, + }; + static DB2Meta instance(-1, 1, 0x5EF56D1F, fields, -1); return &instance; } }; @@ -3995,9 +7080,13 @@ struct NameGenMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x2EF936CD, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xB0EBC6C9, fields, -1); return &instance; } }; @@ -4006,9 +7095,12 @@ struct NamesProfanityMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xDFB56E0E, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xCD33D2BE, fields, -1); return &instance; } }; @@ -4017,9 +7109,11 @@ struct NamesReservedMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xECCAE96B, fields, -1); return &instance; } }; @@ -4028,9 +7122,28 @@ struct NamesReservedLocaleMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC1403093, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x5AAEEDD3, fields, -1); + return &instance; + } +}; + +struct NumTalentsAtLevelMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0xDE3268EF, fields, -1); return &instance; } }; @@ -4039,9 +7152,18 @@ struct ObjectEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fhbbbbii"; - static uint8 const arraySizes[8] = { 3, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x6A0CF743, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_FLOAT, 3, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 8, 0x48D89FCF, fields, -1); return &instance; } }; @@ -4050,9 +7172,14 @@ struct ObjectEffectModifierMeta { static DB2Meta const* Instance() { - static char const* types = "fbbb"; - static uint8 const arraySizes[4] = { 4, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xA482B053, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 4, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x68D120B3, fields, -1); return &instance; } }; @@ -4061,9 +7188,66 @@ struct ObjectEffectPackageElemMeta { static DB2Meta const* Instance() { - static char const* types = "hhh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x8CF043E5, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x3B8C53F9, fields, -1); + return &instance; + } +}; + +struct OccluderMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[9] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 9, 0xFEDCAAB3, fields, -1); + return &instance; + } +}; + +struct OccluderLocationMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 4, 0x95F8BBE4, fields, -1); + return &instance; + } +}; + +struct OccluderNodeMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x19A34490, fields, -1); return &instance; } }; @@ -4072,9 +7256,16 @@ struct OutlineEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fiiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x466B2BC4, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 2, false }, + }; + static DB2Meta instance(-1, 6, 0xECA16738, fields, -1); return &instance; } }; @@ -4083,9 +7274,13 @@ struct OverrideSpellDataMeta { static DB2Meta const* Instance() { - static char const* types = "iib"; - static uint8 const arraySizes[3] = { 10, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9417628C, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 10, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCEE01938, fields, -1); return &instance; } }; @@ -4094,9 +7289,12 @@ struct PVPBracketTypesMeta { static DB2Meta const* Instance() { - static char const* types = "bi"; - static uint8 const arraySizes[2] = { 1, 4 }; - static DB2Meta instance(-1, 2, 0x7C55E5BB, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_INT, 4, false }, + }; + static DB2Meta instance(-1, 2, 0x54CF87FB, fields, -1); return &instance; } }; @@ -4105,9 +7303,14 @@ struct PVPDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "bbbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x970B5E15, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x794DB95D, fields, 3); return &instance; } }; @@ -4116,9 +7319,12 @@ struct PVPItemMeta { static DB2Meta const* Instance() { - static char const* types = "ib"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xBD449801, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x0CD750C1, fields, -1); return &instance; } }; @@ -4127,9 +7333,11 @@ struct PageTextMaterialMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; @@ -4138,9 +7346,13 @@ struct PaperDollItemFrameMeta { static DB2Meta const* Instance() { - static char const* types = "sbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x66B0597E, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xB85F646E, fields, -1); return &instance; } }; @@ -4149,9 +7361,13 @@ struct ParagonReputationMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD7712F98, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xF9AC6E2E, fields, 0); return &instance; } }; @@ -4160,9 +7376,30 @@ struct ParticleColorMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 3, 3, 3 }; - static DB2Meta instance(-1, 3, 0x1576D1E1, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 3, true }, + { FT_INT, 3, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(-1, 3, 0xB44B4D4D, fields, -1); + return &instance; + } +}; + +struct ParticulateSoundMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xF60E0955, fields, 0); return &instance; } }; @@ -4171,9 +7408,17 @@ struct PathMeta { static DB2Meta const* Instance() { - static char const* types = "bbbbbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x5017579F, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 7, 0x3551690B, fields, -1); return &instance; } }; @@ -4182,9 +7427,14 @@ struct PathNodeMeta { static DB2Meta const* Instance() { - static char const* types = "iihh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0x76615830, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x19A34490, fields, -1); return &instance; } }; @@ -4193,9 +7443,15 @@ struct PathNodePropertyMeta { static DB2Meta const* Instance() { - static char const* types = "hhbii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(3, 5, 0x92C03009, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 5, 0x578DA815, fields, -1); return &instance; } }; @@ -4204,9 +7460,14 @@ struct PathPropertyMeta { static DB2Meta const* Instance() { - static char const* types = "ihbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0x3D29C266, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x3B269A90, fields, -1); return &instance; } }; @@ -4215,9 +7476,11 @@ struct PhaseMeta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x60D39728, fields, -1); return &instance; } }; @@ -4226,9 +7489,23 @@ struct PhaseShiftZoneSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhhbbbbiiii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x85ACB830, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 13, 0x7CA0A010, fields, -1); return &instance; } }; @@ -4237,9 +7514,12 @@ struct PhaseXPhaseGroupMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x66517AF6, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xF00195AE, fields, 1); return &instance; } }; @@ -4248,9 +7528,91 @@ struct PlayerConditionMeta { static DB2Meta const* Instance() { - static char const* types = "lsibhhibbibbihbibbbbiiiiibihbbbiiiihibbbbbbbhiiihhbbbbbiihhhibhhhiiihiibhbbihiiii"; - static uint8 const arraySizes[81] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 3, 3, 4, 4, 4, 4, 4, 4, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 2 }; - static DB2Meta instance(2, 81, 0x5B3DA113, types, arraySizes, -1); + static DB2MetaField const fields[81] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_INT, 3, false }, + { FT_BYTE, 3, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_INT, 4, false }, + { FT_SHORT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 4, true }, + { FT_BYTE, 4, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_BYTE, 4, false }, + { FT_BYTE, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 6, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(2, 81, 0xF28CBD18, fields, -1); return &instance; } }; @@ -4259,9 +7621,14 @@ struct PositionerMeta { static DB2Meta const* Instance() { - static char const* types = "fhbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE830F1B1, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x533B33CB, fields, -1); return &instance; } }; @@ -4270,9 +7637,18 @@ struct PositionerStateMeta { static DB2Meta const* Instance() { - static char const* types = "fbiiiiii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x6C975DF4, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 8, 0x9E87B63A, fields, -1); return &instance; } }; @@ -4281,9 +7657,21 @@ struct PositionerStateEntryMeta { static DB2Meta const* Instance() { - static char const* types = "ffhhhhbbbbi"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x667ED965, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 11, 0xBA9A19C4, fields, -1); return &instance; } }; @@ -4292,9 +7680,15 @@ struct PowerDisplayMeta { static DB2Meta const* Instance() { - static char const* types = "sbbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xFD152E5B, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xEB89C62F, fields, -1); return &instance; } }; @@ -4303,9 +7697,22 @@ struct PowerTypeMeta { static DB2Meta const* Instance() { - static char const* types = "ssffhhhbbbbb"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0x0C3844E1, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 12, 0x6D438CB5, fields, -1); return &instance; } }; @@ -4314,64 +7721,113 @@ struct PrestigeLevelInfoMeta { static DB2Meta const* Instance() { - static char const* types = "sibb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xA7B2D559, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x31BD813F, fields, -1); return &instance; } }; -struct PvpRewardMeta +struct PvpScalingEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x72F4C016, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xAF88F6DB, fields, 1); return &instance; } }; -struct PvpScalingEffectMeta +struct PvpScalingEffectTypeMeta { static DB2Meta const* Instance() { - static char const* types = "fii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x52121A41, types, arraySizes, 1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; -struct PvpScalingEffectTypeMeta +struct PvpTalentMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 9, 0x340BABA3, fields, 2); return &instance; } }; -struct PvpTalentMeta +struct PvpTalentCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "siiiiiiiii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x6EB51740, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 1, 0xBB4B5731, fields, -1); return &instance; } }; -struct PvpTalentUnlockMeta +struct PvpTalentSlotUnlockMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x465C83BC, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x572DDD84, fields, -1); + return &instance; + } +}; + +struct PvpTierMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0x689983C8, fields, 5); return &instance; } }; @@ -4380,9 +7836,11 @@ struct QuestFactionRewardMeta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0xB0E02541, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 10, true }, + }; + static DB2Meta instance(-1, 1, 0x504FAFB5, fields, -1); return &instance; } }; @@ -4391,9 +7849,16 @@ struct QuestFeedbackEffectMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x89D55A27, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x58E79FBF, fields, -1); return &instance; } }; @@ -4402,9 +7867,14 @@ struct QuestInfoMeta { static DB2Meta const* Instance() { - static char const* types = "shbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x4F45F445, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xDDB38B83, fields, -1); return &instance; } }; @@ -4413,9 +7883,13 @@ struct QuestLineMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xC4BD3235, fields, -1); return &instance; } }; @@ -4424,9 +7898,13 @@ struct QuestLineXQuestMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x8FA4A9C7, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x57EF18BF, fields, 0); return &instance; } }; @@ -4435,9 +7913,11 @@ struct QuestMoneyRewardMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 10, false }, + }; + static DB2Meta instance(-1, 1, 0x7E00C5B6, fields, -1); return &instance; } }; @@ -4446,9 +7926,18 @@ struct QuestObjectiveMeta { static DB2Meta const* Instance() { - static char const* types = "siibbbbh"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xDD995180, types, arraySizes, 7); + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 8, 0x37353FB6, fields, 7); return &instance; } }; @@ -4457,9 +7946,17 @@ struct QuestPOIBlobMeta { static DB2Meta const* Instance() { - static char const* types = "ihhbbiii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 8, 0xEC15976E, types, arraySizes, 2); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 7, 0x5DF4B040, fields, 1); return &instance; } }; @@ -4468,9 +7965,14 @@ struct QuestPOIPointMeta { static DB2Meta const* Instance() { - static char const* types = "ihhi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0x8CF2B119, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x18D6E719, fields, 3); return &instance; } }; @@ -4479,9 +7981,14 @@ struct QuestPackageItemMeta { static DB2Meta const* Instance() { - static char const* types = "ihbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xCF9401CF, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xEB0764D1, fields, -1); return &instance; } }; @@ -4490,9 +7997,12 @@ struct QuestSortMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xAD7072C6, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x2F5E2228, fields, -1); return &instance; } }; @@ -4501,9 +8011,11 @@ struct QuestV2Meta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x70495C9B, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 1, 0x638D02EF, fields, -1); return &instance; } }; @@ -4512,9 +8024,34 @@ struct QuestV2CliTaskMeta { static DB2Meta const* Instance() { - static char const* types = "lssihhhhhhbbbbbbbbbbiiii"; - static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(20, 24, 0x3F026A14, types, arraySizes, -1); + static DB2MetaField const fields[24] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 3, false }, + }; + static DB2Meta instance(3, 24, 0xC0387D4E, fields, -1); return &instance; } }; @@ -4523,9 +8060,12 @@ struct QuestXGroupActivityMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x06CC45D3, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xAA88A593, fields, -1); return &instance; } }; @@ -4534,9 +8074,11 @@ struct QuestXPMeta { static DB2Meta const* Instance() { - static char const* types = "h"; - static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0xCB76B4C0, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_SHORT, 10, false }, + }; + static DB2Meta instance(-1, 1, 0xC33E0774, fields, -1); return &instance; } }; @@ -4545,9 +8087,14 @@ struct RandPropPointsMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 5, 5, 5 }; - static DB2Meta instance(-1, 3, 0x4E2C0BCC, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 5, false }, + { FT_INT, 5, false }, + { FT_INT, 5, false }, + }; + static DB2Meta instance(-1, 4, 0x7741F65C, fields, -1); return &instance; } }; @@ -4556,9 +8103,13 @@ struct RelicSlotTierRequirementMeta { static DB2Meta const* Instance() { - static char const* types = "ibb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x129FCC09, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x22CDBDE9, fields, -1); return &instance; } }; @@ -4567,9 +8118,15 @@ struct RelicTalentMeta { static DB2Meta const* Instance() { - static char const* types = "hbiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x7A5963FD, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x8BEAE937, fields, -1); return &instance; } }; @@ -4578,9 +8135,16 @@ struct ResearchBranchMeta { static DB2Meta const* Instance() { - static char const* types = "sihbii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x58A3876E, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0xA6CB64A5, fields, -1); return &instance; } }; @@ -4589,9 +8153,13 @@ struct ResearchFieldMeta { static DB2Meta const* Instance() { - static char const* types = "sbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0x85868B9F, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 3, 0xD7448990, fields, -1); return &instance; } }; @@ -4600,9 +8168,19 @@ struct ResearchProjectMeta { static DB2Meta const* Instance() { - static char const* types = "ssihbbiii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 9, 0xB1CAB80B, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(2, 9, 0x4A748755, fields, -1); return &instance; } }; @@ -4611,9 +8189,14 @@ struct ResearchSiteMeta { static DB2Meta const* Instance() { - static char const* types = "sihi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x25F7DCC7, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x14F7693B, fields, -1); return &instance; } }; @@ -4622,9 +8205,13 @@ struct ResistancesMeta { static DB2Meta const* Instance() { - static char const* types = "sbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xA3EAE5AE, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xF7F049B5, fields, -1); return &instance; } }; @@ -4633,9 +8220,16 @@ struct RewardPackMeta { static DB2Meta const* Instance() { - static char const* types = "ifbbii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xDB6CC0AB, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xB0527FA7, fields, -1); return &instance; } }; @@ -4644,9 +8238,13 @@ struct RewardPackXCurrencyTypeMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x217E6712, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xEA88FC16, fields, 2); return &instance; } }; @@ -4655,9 +8253,13 @@ struct RewardPackXItemMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x74F6B9BD, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x277E8179, fields, 2); return &instance; } }; @@ -4666,9 +8268,15 @@ struct RibbonQualityMeta { static DB2Meta const* Instance() { - static char const* types = "fffbi"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xC75DAEA8, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xBB0CC4F4, fields, -1); return &instance; } }; @@ -4677,9 +8285,12 @@ struct RulesetItemUpgradeMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xFB641AE0, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xA03B4C48, fields, -1); return &instance; } }; @@ -4688,20 +8299,11 @@ struct SDReplacementModelMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE1F906C2, types, arraySizes, -1); - return &instance; - } -}; - -struct SandboxScalingMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x5200B7F5, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xD9C05976, fields, -1); return &instance; } }; @@ -4710,9 +8312,13 @@ struct ScalingStatDistributionMeta { static DB2Meta const* Instance() { - static char const* types = "hii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDED48286, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x34B9A97A, fields, -1); return &instance; } }; @@ -4721,9 +8327,15 @@ struct ScenarioMeta { static DB2Meta const* Instance() { - static char const* types = "shbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD052232A, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x0857765A, fields, -1); return &instance; } }; @@ -4732,9 +8344,12 @@ struct ScenarioEventEntryMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x02E80455, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x34B30E13, fields, -1); return &instance; } }; @@ -4743,9 +8358,21 @@ struct ScenarioStepMeta { static DB2Meta const* Instance() { - static char const* types = "sshhhbbii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x201B0EFC, types, arraySizes, 2); + static DB2MetaField const fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 11, 0x8FF5E1E6, fields, 2); return &instance; } }; @@ -4754,9 +8381,12 @@ struct SceneScriptMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC694B81E, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xEF472E96, fields, -1); return &instance; } }; @@ -4765,9 +8395,12 @@ struct SceneScriptGlobalTextMeta { static DB2Meta const* Instance() { - static char const* types = "ss"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xDE6E2251, fields, -1); return &instance; } }; @@ -4776,9 +8409,11 @@ struct SceneScriptPackageMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; @@ -4787,9 +8422,14 @@ struct SceneScriptPackageMemberMeta { static DB2Meta const* Instance() { - static char const* types = "hhhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x787A715F, types, arraySizes, 0); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x9E18D06F, fields, 0); return &instance; } }; @@ -4798,9 +8438,12 @@ struct SceneScriptTextMeta { static DB2Meta const* Instance() { - static char const* types = "ss"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xDE6E2251, fields, -1); return &instance; } }; @@ -4809,9 +8452,15 @@ struct ScheduledIntervalMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x5DD2FF46, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x0C287F7A, fields, -1); return &instance; } }; @@ -4820,9 +8469,18 @@ struct ScheduledWorldStateMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xFCB13A6A, types, arraySizes, 0); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0xDC45735A, fields, 0); return &instance; } }; @@ -4831,9 +8489,15 @@ struct ScheduledWorldStateGroupMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x21F6EE03, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xCF71B287, fields, -1); return &instance; } }; @@ -4842,9 +8506,13 @@ struct ScheduledWorldStateXUniqCatMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(0, 3, 0x7EFF57FD, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 3, 0xF512C749, fields, 2); return &instance; } }; @@ -4853,9 +8521,22 @@ struct ScreenEffectMeta { static DB2Meta const* Instance() { - static char const* types = "sihhhhbbbiii"; - static uint8 const arraySizes[12] = { 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0x4D5B91C5, types, arraySizes, -1); + static DB2MetaField const fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 4, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 12, 0x7A371491, fields, -1); return &instance; } }; @@ -4864,9 +8545,11 @@ struct ScreenLocationMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; @@ -4875,9 +8558,11 @@ struct SeamlessSiteMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xBFE7B9D3, types, arraySizes, 0); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9E36592F, fields, 0); return &instance; } }; @@ -4886,9 +8571,11 @@ struct ServerMessagesMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x1C7A1347, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xCC7971DF, fields, -1); return &instance; } }; @@ -4897,9 +8584,39 @@ struct ShadowyEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iifffffffbbii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0xE909BB18, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 13, 0x7292BC4C, fields, -1); + return &instance; + } +}; + +struct SiegeablePropertiesMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x98E42A9F, fields, -1); return &instance; } }; @@ -4908,9 +8625,23 @@ struct SkillLineMeta { static DB2Meta const* Instance() { - static char const* types = "ssshbbii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x3F7E88AF, types, arraySizes, -1); + static DB2MetaField const fields[13] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(5, 13, 0xEC83FE8A, fields, -1); return &instance; } }; @@ -4919,9 +8650,25 @@ struct SkillLineAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "liiihhhhhbihbb"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 14, 0x97B5A653, types, arraySizes, 4); + static DB2MetaField const fields[15] = + { + { FT_LONG, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(1, 15, 0xA38AD072, fields, 2); return &instance; } }; @@ -4930,9 +8677,17 @@ struct SkillRaceClassInfoMeta { static DB2Meta const* Instance() { - static char const* types = "lhhhbbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x9752C2CE, types, arraySizes, 1); + static DB2MetaField const fields[7] = + { + { FT_LONG, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0x4CFD464E, fields, 1); return &instance; } }; @@ -4941,9 +8696,16 @@ struct SoundAmbienceMeta { static DB2Meta const* Instance() { - static char const* types = "biii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 2 }; - static DB2Meta instance(-1, 4, 0xB073D4B5, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + }; + static DB2Meta instance(-1, 6, 0x625245C7, fields, -1); return &instance; } }; @@ -4952,9 +8714,13 @@ struct SoundAmbienceFlavorMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x2C58D929, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x41E33D5D, fields, 2); return &instance; } }; @@ -4963,9 +8729,18 @@ struct SoundBusMeta { static DB2Meta const* Instance() { - static char const* types = "fbbbbbih"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 8, 0xB2ACDE2A, types, arraySizes, 7); + static DB2MetaField const fields[8] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(0, 8, 0x7CC84C2D, fields, 7); return &instance; } }; @@ -4974,9 +8749,17 @@ struct SoundBusOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "ifbbbii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 7, 0x6D887F48, types, arraySizes, 5); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 7, 0xF321EA82, fields, 1); return &instance; } }; @@ -4985,9 +8768,12 @@ struct SoundEmitterPillPointsMeta { static DB2Meta const* Instance() { - static char const* types = "fh"; - static uint8 const arraySizes[2] = { 3, 1 }; - static DB2Meta instance(-1, 2, 0x41FCF15B, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 3, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xD63C5DE3, fields, 1); return &instance; } }; @@ -4996,9 +8782,22 @@ struct SoundEmittersMeta { static DB2Meta const* Instance() { - static char const* types = "sffhhbbbiiih"; - static uint8 const arraySizes[12] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 12, 0x55A3B17E, types, arraySizes, 11); + static DB2MetaField const fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(3, 12, 0x1FDCDD5A, fields, 11); return &instance; } }; @@ -5007,9 +8806,17 @@ struct SoundEnvelopeMeta { static DB2Meta const* Instance() { - static char const* types = "iihhhbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x5B78031C, types, arraySizes, 0); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0xBD6F1248, fields, 0); return &instance; } }; @@ -5018,9 +8825,11 @@ struct SoundFilterMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; @@ -5029,9 +8838,13 @@ struct SoundFilterElemMeta { static DB2Meta const* Instance() { - static char const* types = "fbb"; - static uint8 const arraySizes[3] = { 9, 1, 1 }; - static DB2Meta instance(-1, 3, 0xE17AC589, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_FLOAT, 9, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x84F8D205, fields, 2); return &instance; } }; @@ -5040,9 +8853,26 @@ struct SoundKitMeta { static DB2Meta const* Instance() { - static char const* types = "ifffhhbbbfffffhb"; - static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 16, 0x0E9CB7AE, types, arraySizes, -1); + static DB2MetaField const fields[16] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 16, 0xAF055926, fields, -1); return &instance; } }; @@ -5051,9 +8881,53 @@ struct SoundKitAdvancedMeta { static DB2Meta const* Instance() { - static char const* types = "ifffffiifbiiiiiiiiiibffffbhffiiibbiiiiii"; - static uint8 const arraySizes[40] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 40, 0x73F6F023, types, arraySizes, -1); + static DB2MetaField const fields[43] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(0, 43, 0x6EAFA63E, fields, -1); return &instance; } }; @@ -5062,9 +8936,12 @@ struct SoundKitChildMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x2827A3B5, types, arraySizes, 0); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x4215B0DD, fields, 1); return &instance; } }; @@ -5073,9 +8950,14 @@ struct SoundKitEntryMeta { static DB2Meta const* Instance() { - static char const* types = "iibf"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x6ED6E26F, types, arraySizes, 0); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xCBC66B5F, fields, 0); return &instance; } }; @@ -5084,9 +8966,12 @@ struct SoundKitFallbackMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB1A5106F, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x53D01CD7, fields, -1); return &instance; } }; @@ -5095,9 +8980,11 @@ struct SoundKitNameMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1); return &instance; } }; @@ -5106,9 +8993,15 @@ struct SoundOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "hhhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xFB7643F6, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x4EC15243, fields, -1); return &instance; } }; @@ -5117,9 +9010,33 @@ struct SoundProviderPreferencesMeta { static DB2Meta const* Instance() { - static char const* types = "sfffffffffffffffhhhhhbb"; - static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 23, 0x85F218A4, types, arraySizes, -1); + static DB2MetaField const fields[23] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 23, 0xF0F42A22, fields, -1); return &instance; } }; @@ -5128,9 +9045,14 @@ struct SourceInfoMeta { static DB2Meta const* Instance() { - static char const* types = "sbbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x7C214135, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xA94C7962, fields, 3); return &instance; } }; @@ -5139,9 +9061,25 @@ struct SpamMessagesMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x0D4BA7E7, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x1A080193, fields, -1); + return &instance; + } +}; + +struct SpecSetMemberMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xC05B6C73, fields, 1); return &instance; } }; @@ -5150,9 +9088,30 @@ struct SpecializationSpellsMeta { static DB2Meta const* Instance() { - static char const* types = "siihbi"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0xAE3436F3, types, arraySizes, 3); + static DB2MetaField const fields[6] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 6, 0x88A56A2F, fields, 2); + return &instance; + } +}; + +struct SpecializationSpellsDisplayMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_INT, 6, false }, + }; + static DB2Meta instance(-1, 2, 0xBD5EEC46, fields, 0); return &instance; } }; @@ -5161,9 +9120,13 @@ struct SpellMeta { static DB2Meta const* Instance() { - static char const* types = "ssss"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x2273DFFF, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xFFF1DA38, fields, -1); return &instance; } }; @@ -5172,9 +9135,12 @@ struct SpellActionBarPrefMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x1EF80B2B, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xCF471C9B, fields, -1); return &instance; } }; @@ -5183,9 +9149,18 @@ struct SpellActivationOverlayMeta { static DB2Meta const* Instance() { - static char const* types = "iiifibbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 4, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x23568FC7, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_INT, 4, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 8, 0xE72C81EF, fields, -1); return &instance; } }; @@ -5194,9 +9169,18 @@ struct SpellAuraOptionsMeta { static DB2Meta const* Instance() { - static char const* types = "iiihhbbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xE05BE94F, types, arraySizes, 7); + static DB2MetaField const fields[8] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0xCBDA0981, fields, 7); return &instance; } }; @@ -5205,9 +9189,20 @@ struct SpellAuraRestrictionsMeta { static DB2Meta const* Instance() { - static char const* types = "iiiibbbbbi"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x7CDF3311, types, arraySizes, 9); + static DB2MetaField const fields[10] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 10, 0xD7479271, fields, 9); return &instance; } }; @@ -5216,9 +9211,12 @@ struct SpellAuraVisXChrSpecMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xA65B6A4A, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x8F54FD52, fields, 1); return &instance; } }; @@ -5227,9 +9225,14 @@ struct SpellAuraVisibilityMeta { static DB2Meta const* Instance() { - static char const* types = "bbii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(2, 4, 0xA549F79C, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0xB7F28C20, fields, 3); return &instance; } }; @@ -5238,9 +9241,13 @@ struct SpellCastTimesMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4129C6A4, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xA66E197C, fields, -1); return &instance; } }; @@ -5249,9 +9256,17 @@ struct SpellCastingRequirementsMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhbbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xD8B56E5D, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 7, 0xC6D7C649, fields, -1); return &instance; } }; @@ -5260,9 +9275,19 @@ struct SpellCategoriesMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbbbbbi"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x14E916CC, types, arraySizes, 8); + static DB2MetaField const fields[9] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0xEF1D2548, fields, 8); return &instance; } }; @@ -5271,9 +9296,16 @@ struct SpellCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sibbbi"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xEA60E384, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0x53EB1CD3, fields, -1); return &instance; } }; @@ -5282,9 +9314,70 @@ struct SpellChainEffectsMeta { static DB2Meta const* Instance() { - static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffffhhhhbbbbbbbbbbii"; - static uint8 const arraySizes[60] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2Meta instance(-1, 60, 0x4E8FF369, types, arraySizes, -1); + static DB2MetaField const fields[60] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 11, false }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 3, true }, + }; + static DB2Meta instance(-1, 60, 0x461F9829, fields, -1); return &instance; } }; @@ -5293,9 +9386,14 @@ struct SpellClassOptionsMeta { static DB2Meta const* Instance() { - static char const* types = "iibi"; - static uint8 const arraySizes[4] = { 1, 4, 1, 1 }; - static DB2Meta instance(-1, 4, 0x80FBD67A, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 4, true }, + }; + static DB2Meta instance(-1, 4, 0xB4E205E0, fields, -1); return &instance; } }; @@ -5304,9 +9402,15 @@ struct SpellCooldownsMeta { static DB2Meta const* Instance() { - static char const* types = "iiibi"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xCA8D8B3C, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x24886B08, fields, 4); return &instance; } }; @@ -5315,9 +9419,11 @@ struct SpellDescriptionVariablesMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA8EDE75B, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9C318DAF, fields, -1); return &instance; } }; @@ -5326,9 +9432,14 @@ struct SpellDispelTypeMeta { static DB2Meta const* Instance() { - static char const* types = "ssbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE9DDA799, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xAA83295A, fields, -1); return &instance; } }; @@ -5337,9 +9448,13 @@ struct SpellDurationMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0D6C9082, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x22236CBC, fields, -1); return &instance; } }; @@ -5348,9 +9463,59 @@ struct SpellEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiififfiiiiffififfffffiiiii"; - static uint8 const arraySizes[30] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 2, 2, 2, 1 }; - static DB2Meta instance(0, 30, 0x3244098B, types, arraySizes, 29); + static DB2MetaField const fields[28] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, false }, + { FT_INT, 4, true }, + { FT_SHORT, 2, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 28, 0x803150B7, fields, 27); + return &instance; + } +}; + +struct SpellEffectAutoDescriptionMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0x7C523D94, fields, -1); return &instance; } }; @@ -5359,9 +9524,14 @@ struct SpellEffectEmissionMeta { static DB2Meta const* Instance() { - static char const* types = "ffhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC6E61A9B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x66D096CB, fields, -1); return &instance; } }; @@ -5370,9 +9540,14 @@ struct SpellEquippedItemsMeta { static DB2Meta const* Instance() { - static char const* types = "iiib"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xCE628176, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xA0588766, fields, -1); return &instance; } }; @@ -5381,9 +9556,16 @@ struct SpellFlyoutMeta { static DB2Meta const* Instance() { - static char const* types = "lssbii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x437671BD, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0x1F516F53, fields, -1); return &instance; } }; @@ -5392,9 +9574,13 @@ struct SpellFlyoutItemMeta { static DB2Meta const* Instance() { - static char const* types = "ibb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xF86ADE09, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x650A0B4D, fields, 2); return &instance; } }; @@ -5403,9 +9589,11 @@ struct SpellFocusObjectMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1); return &instance; } }; @@ -5414,9 +9602,15 @@ struct SpellInterruptsMeta { static DB2Meta const* Instance() { - static char const* types = "bhiii"; - static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 }; - static DB2Meta instance(-1, 5, 0x2FA8EA94, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xF551B940, fields, 4); return &instance; } }; @@ -5425,9 +9619,30 @@ struct SpellItemEnchantmentMeta { static DB2Meta const* Instance() { - static char const* types = "sifiihhhhhhbbbbbbbi"; - static uint8 const arraySizes[19] = { 1, 3, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 19, 0x80DEA734, types, arraySizes, -1); + static DB2MetaField const fields[20] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 3, false }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 3, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 3, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 20, 0x96D1828E, fields, -1); return &instance; } }; @@ -5436,9 +9651,16 @@ struct SpellItemEnchantmentConditionMeta { static DB2Meta const* Instance() { - static char const* types = "ibbbbb"; - static uint8 const arraySizes[6] = { 5, 5, 5, 5, 5, 5 }; - static DB2Meta instance(-1, 6, 0xB9C16961, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 5, false }, + { FT_INT, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + }; + static DB2Meta instance(-1, 6, 0xFAA95A11, fields, -1); return &instance; } }; @@ -5447,9 +9669,13 @@ struct SpellKeyboundOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "sib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x6ECA16FC, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xFB8AD330, fields, -1); return &instance; } }; @@ -5458,9 +9684,12 @@ struct SpellLabelMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x68E44736, types, arraySizes, 1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xCCA24F16, fields, 1); return &instance; } }; @@ -5469,9 +9698,13 @@ struct SpellLearnSpellMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x153EBA26, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xCC8637D2, fields, -1); return &instance; } }; @@ -5480,9 +9713,16 @@ struct SpellLevelsMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbbi"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x9E7D1CCD, types, arraySizes, 5); + static DB2MetaField const fields[6] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0xE3096221, fields, 5); return &instance; } }; @@ -5491,9 +9731,11 @@ struct SpellMechanicMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xF2075D8C, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x24C6F0F3, fields, -1); return &instance; } }; @@ -5502,9 +9744,22 @@ struct SpellMiscMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbififbii"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1 }; - static DB2Meta instance(-1, 11, 0xCDC114D5, types, arraySizes, 10); + static DB2MetaField const fields[12] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 14, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 12, 0x76E982BB, fields, 11); return &instance; } }; @@ -5513,9 +9768,25 @@ struct SpellMissileMeta { static DB2Meta const* Instance() { - static char const* types = "ifffffffffffffb"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 15, 0x1D35645E, types, arraySizes, -1); + static DB2MetaField const fields[15] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 15, 0xAF286A50, fields, -1); return &instance; } }; @@ -5524,9 +9795,27 @@ struct SpellMissileMotionMeta { static DB2Meta const* Instance() { - static char const* types = "ssbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x6B78A45B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xA61A5983, fields, -1); + return &instance; + } +}; + +struct SpellNameMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[1] = + { + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1); return &instance; } }; @@ -5535,9 +9824,24 @@ struct SpellPowerMeta { static DB2Meta const* Instance() { - static char const* types = "iffifbbiiiiiii"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 14, 0x8E5E46EC, types, arraySizes, 13); + static DB2MetaField const fields[14] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 14, 0x12ED7A99, fields, 13); return &instance; } }; @@ -5546,9 +9850,13 @@ struct SpellPowerDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "bbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0x74714FF7, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(0, 3, 0x08FEDBFF, fields, -1); return &instance; } }; @@ -5557,9 +9865,13 @@ struct SpellProceduralEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fbi"; - static uint8 const arraySizes[3] = { 4, 1, 1 }; - static DB2Meta instance(2, 3, 0x3E47F4EF, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 4, true }, + }; + static DB2Meta instance(0, 3, 0xF320E3AD, fields, -1); return &instance; } }; @@ -5568,9 +9880,12 @@ struct SpellProcsPerMinuteMeta { static DB2Meta const* Instance() { - static char const* types = "fb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x4BC1931B, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xBEBE0C8B, fields, -1); return &instance; } }; @@ -5579,9 +9894,14 @@ struct SpellProcsPerMinuteModMeta { static DB2Meta const* Instance() { - static char const* types = "fhbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x2503C18B, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xE5827335, fields, 3); return &instance; } }; @@ -5590,9 +9910,14 @@ struct SpellRadiusMeta { static DB2Meta const* Instance() { - static char const* types = "ffff"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC12E5C90, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0xAE4257F8, fields, -1); return &instance; } }; @@ -5601,9 +9926,15 @@ struct SpellRangeMeta { static DB2Meta const* Instance() { - static char const* types = "ssffb"; - static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 }; - static DB2Meta instance(-1, 5, 0xDE2E3F8E, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + static DB2Meta instance(-1, 5, 0x6B9E2FD2, fields, -1); return &instance; } }; @@ -5612,9 +9943,13 @@ struct SpellReagentsMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; - static uint8 const arraySizes[3] = { 1, 8, 8 }; - static DB2Meta instance(-1, 3, 0x0463C688, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 8, true }, + { FT_SHORT, 8, true }, + }; + static DB2Meta instance(-1, 3, 0x4B7DC644, fields, -1); return &instance; } }; @@ -5623,9 +9958,13 @@ struct SpellReagentsCurrencyMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x90A5E5D2, types, arraySizes, 0); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x4D3F01C6, fields, 0); return &instance; } }; @@ -5634,9 +9973,15 @@ struct SpellScalingMeta { static DB2Meta const* Instance() { - static char const* types = "ihiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xF67A5719, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x4B0C2E65, fields, -1); return &instance; } }; @@ -5645,9 +9990,14 @@ struct SpellShapeshiftMeta { static DB2Meta const* Instance() { - static char const* types = "iiib"; - static uint8 const arraySizes[4] = { 1, 2, 2, 1 }; - static DB2Meta instance(-1, 4, 0xA461C24D, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 4, 0x91C4FFE9, fields, -1); return &instance; } }; @@ -5656,9 +10006,20 @@ struct SpellShapeshiftFormMeta { static DB2Meta const* Instance() { - static char const* types = "sfihhbbiii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 8 }; - static DB2Meta instance(-1, 10, 0x130819AF, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 4, false }, + { FT_INT, 8, false }, + }; + static DB2Meta instance(-1, 10, 0x7082136E, fields, -1); return &instance; } }; @@ -5667,9 +10028,12 @@ struct SpellSpecialUnitEffectMeta { static DB2Meta const* Instance() { - static char const* types = "hi"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x76989615, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0xF084B84D, fields, -1); return &instance; } }; @@ -5678,9 +10042,18 @@ struct SpellTargetRestrictionsMeta { static DB2Meta const* Instance() { - static char const* types = "ffihbbii"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x7B330026, types, arraySizes, 7); + static DB2MetaField const fields[8] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 8, 0x47BE0E0C, fields, 7); return &instance; } }; @@ -5689,9 +10062,13 @@ struct SpellTotemsMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; - static uint8 const arraySizes[3] = { 1, 2, 2 }; - static DB2Meta instance(-1, 3, 0xEC0C4866, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_SHORT, 2, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 3, 0x5214FD94, fields, -1); return &instance; } }; @@ -5700,9 +10077,25 @@ struct SpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "ffihbbiiiihiii"; - static uint8 const arraySizes[14] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x1C1301D2, types, arraySizes, -1); + static DB2MetaField const fields[15] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 15, 0x514F85ED, fields, -1); return &instance; } }; @@ -5711,9 +10104,13 @@ struct SpellVisualAnimMeta { static DB2Meta const* Instance() { - static char const* types = "hhh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0ABD7A19, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xB27FB4A5, fields, -1); return &instance; } }; @@ -5722,9 +10119,21 @@ struct SpellVisualColorEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fifhhhhhbbi"; - static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x7E5B2E66, types, arraySizes, -1); + static DB2MetaField const fields[11] = + { + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 11, 0x773CE0DE, fields, -1); return &instance; } }; @@ -5733,9 +10142,24 @@ struct SpellVisualEffectNameMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffiiibiii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0xB930A934, types, arraySizes, -1); + static DB2MetaField const fields[14] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 14, 0x10206967, fields, -1); return &instance; } }; @@ -5744,9 +10168,19 @@ struct SpellVisualEventMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xAE75BC3C, types, arraySizes, 8); + static DB2MetaField const fields[9] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0x8352EE58, fields, 8); return &instance; } }; @@ -5755,9 +10189,15 @@ struct SpellVisualKitMeta { static DB2Meta const* Instance() { - static char const* types = "ifihh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xDC04F488, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0x3F538334, fields, -1); return &instance; } }; @@ -5766,9 +10206,16 @@ struct SpellVisualKitAreaModelMeta { static DB2Meta const* Instance() { - static char const* types = "ifffhb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xBE76E593, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0x34C79353, fields, -1); return &instance; } }; @@ -5777,9 +10224,13 @@ struct SpellVisualKitEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xB78084B7, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xF104E59F, fields, 2); return &instance; } }; @@ -5788,9 +10239,32 @@ struct SpellVisualKitModelAttachMeta { static DB2Meta const* Instance() { - static char const* types = "ffihbbhffffffffhhhhifi"; - static uint8 const arraySizes[22] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 22, 0xBCE18649, types, arraySizes, 21); + static DB2MetaField const fields[22] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 22, 0x75650E39, fields, 21); return &instance; } }; @@ -5799,9 +10273,26 @@ struct SpellVisualMissileMeta { static DB2Meta const* Instance() { - static char const* types = "iiiffhhhhhbbiiih"; - static uint8 const arraySizes[16] = { 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(12, 16, 0x00BA67A5, types, arraySizes, 15); + static DB2MetaField const fields[16] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(2, 16, 0x0A0345EB, fields, 15); return &instance; } }; @@ -5810,9 +10301,12 @@ struct SpellXDescriptionVariablesMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB08E6876, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xFBC7B7AE, fields, -1); return &instance; } }; @@ -5821,9 +10315,23 @@ struct SpellXSpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "iifhhhhiibbbi"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 13, 0x4F4B8A2A, types, arraySizes, 12); + static DB2MetaField const fields[13] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 13, 0xCDAF2854, fields, 12); return &instance; } }; @@ -5832,9 +10340,13 @@ struct StartupFilesMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x51FEBBB5, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xF1381769, fields, -1); return &instance; } }; @@ -5843,9 +10355,12 @@ struct Startup_StringsMeta { static DB2Meta const* Instance() { - static char const* types = "ss"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xF8CDDEE7, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x82058A06, fields, -1); return &instance; } }; @@ -5854,9 +10369,13 @@ struct StationeryMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 2 }; - static DB2Meta instance(-1, 3, 0x20F6BABD, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(-1, 3, 0x8B250029, fields, -1); return &instance; } }; @@ -5865,9 +10384,15 @@ struct SummonPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "iiiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xFB8338FC, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x4134937A, fields, -1); return &instance; } }; @@ -5876,9 +10401,11 @@ struct TactKeyMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 16 }; - static DB2Meta instance(-1, 1, 0xF0F98B62, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 16, false }, + }; + static DB2Meta instance(-1, 1, 0xA55E1CCE, fields, -1); return &instance; } }; @@ -5887,9 +10414,11 @@ struct TactKeyLookupMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 8 }; - static DB2Meta instance(-1, 1, 0x3C1AC92A, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 8, false }, + }; + static DB2Meta instance(-1, 1, 0x1A696886, fields, -1); return &instance; } }; @@ -5898,9 +10427,19 @@ struct TalentMeta { static DB2Meta const* Instance() { - static char const* types = "siihbbbbb"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 2, 1 }; - static DB2Meta instance(-1, 9, 0xE8850B48, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 2, false }, + }; + static DB2Meta instance(-1, 9, 0x2661E6C2, fields, -1); return &instance; } }; @@ -5909,9 +10448,24 @@ struct TaxiNodesMeta { static DB2Meta const* Instance() { - static char const* types = "sfifffhhhbii"; - static uint8 const arraySizes[12] = { 1, 3, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0xB46C6A8B, types, arraySizes, -1); + static DB2MetaField const fields[14] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, true }, + }; + static DB2Meta instance(4, 14, 0x91ADBF11, fields, 5); return &instance; } }; @@ -5920,9 +10474,14 @@ struct TaxiPathMeta { static DB2Meta const* Instance() { - static char const* types = "hhii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(2, 4, 0xF44E2BF5, types, arraySizes, 0); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(0, 4, 0x3716BBCD, fields, 1); return &instance; } }; @@ -5931,9 +10490,19 @@ struct TaxiPathNodeMeta { static DB2Meta const* Instance() { - static char const* types = "fhhbibihh"; - static uint8 const arraySizes[9] = { 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 9, 0xD38E8C01, types, arraySizes, 1); + static DB2MetaField const fields[9] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(1, 9, 0xE28C3360, fields, 2); return &instance; } }; @@ -5942,9 +10511,13 @@ struct TerrainMaterialMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x19D9496F, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x9F25E6D3, fields, -1); return &instance; } }; @@ -5953,9 +10526,15 @@ struct TerrainTypeMeta { static DB2Meta const* Instance() { - static char const* types = "shhbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x4FE20345, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xB4573071, fields, -1); return &instance; } }; @@ -5964,9 +10543,11 @@ struct TerrainTypeSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xECCAE96B, fields, -1); return &instance; } }; @@ -5975,9 +10556,20 @@ struct TextureBlendSetMeta { static DB2Meta const* Instance() { - static char const* types = "ifffffbbbb"; - static uint8 const arraySizes[10] = { 3, 3, 3, 3, 3, 4, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xA2323E0C, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_INT, 3, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 4, true }, + }; + static DB2Meta instance(-1, 10, 0xF2AFFE4C, fields, -1); return &instance; } }; @@ -5986,9 +10578,13 @@ struct TextureFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "iib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(0, 3, 0xE0790D00, types, arraySizes, 1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 3, 0x71D3BD92, fields, 2); return &instance; } }; @@ -5997,9 +10593,13 @@ struct TotemCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "sib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x20B9177A, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x2AA9FB1E, fields, -1); return &instance; } }; @@ -6008,9 +10608,15 @@ struct ToyMeta { static DB2Meta const* Instance() { - static char const* types = "sibbi"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0x5409C5EA, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(1, 5, 0x6156EBCA, fields, -1); return &instance; } }; @@ -6019,9 +10625,17 @@ struct TradeSkillCategoryMeta { static DB2Meta const* Instance() { - static char const* types = "shhhb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x5D3ADD4D, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(2, 7, 0xAFEA1AAD, fields, -1); return &instance; } }; @@ -6030,9 +10644,12 @@ struct TradeSkillItemMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xFDE283DA, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xA90CD5D2, fields, -1); return &instance; } }; @@ -6041,9 +10658,15 @@ struct TransformMatrixMeta { static DB2Meta const* Instance() { - static char const* types = "fffff"; - static uint8 const arraySizes[5] = { 3, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xB6A2C431, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xBA00B2FD, fields, -1); return &instance; } }; @@ -6052,9 +10675,12 @@ struct TransmogHolidayMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(0, 2, 0xB420EB18, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 2, 0x6FC325A0, fields, -1); return &instance; } }; @@ -6063,9 +10689,20 @@ struct TransmogSetMeta { static DB2Meta const* Instance() { - static char const* types = "shhbiiiiii"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 10, 0xBEDFD7D1, types, arraySizes, 1); + static DB2MetaField const fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(1, 10, 0x3F0E4AEF, fields, 7); return &instance; } }; @@ -6074,9 +10711,12 @@ struct TransmogSetGroupMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0xCD072FE5, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 2, 0x0F60CFC9, fields, -1); return &instance; } }; @@ -6085,9 +10725,14 @@ struct TransmogSetItemMeta { static DB2Meta const* Instance() { - static char const* types = "iiii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0x0E96B3A2, types, arraySizes, 1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x23855A82, fields, 1); return &instance; } }; @@ -6096,9 +10741,14 @@ struct TransportAnimationMeta { static DB2Meta const* Instance() { - static char const* types = "ifbi"; - static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; - static DB2Meta instance(-1, 4, 0x099987ED, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x6329464B, fields, 3); return &instance; } }; @@ -6107,9 +10757,20 @@ struct TransportPhysicsMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffff"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x2C1FB208, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 10, 0x0B297C98, fields, -1); return &instance; } }; @@ -6118,9 +10779,13 @@ struct TransportRotationMeta { static DB2Meta const* Instance() { - static char const* types = "ifi"; - static uint8 const arraySizes[3] = { 1, 4, 1 }; - static DB2Meta instance(-1, 3, 0x72035AA9, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_FLOAT, 4, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x5FE3BC91, fields, 2); return &instance; } }; @@ -6129,9 +10794,14 @@ struct TrophyMeta { static DB2Meta const* Instance() { - static char const* types = "shbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE16151C5, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x0AE68C93, fields, -1); return &instance; } }; @@ -6140,9 +10810,13 @@ struct UIExpansionDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "iii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x73DFDEC5, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCD407FA1, fields, -1); return &instance; } }; @@ -6151,9 +10825,13 @@ struct UIExpansionDisplayInfoIconMeta { static DB2Meta const* Instance() { - static char const* types = "sii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x331022F2, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xC9B51E5D, fields, -1); return &instance; } }; @@ -6162,9 +10840,15 @@ struct UiCamFbackTransmogChrRaceMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9FB4CC78, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xB1C9DAC4, fields, -1); return &instance; } }; @@ -6173,9 +10857,14 @@ struct UiCamFbackTransmogWeaponMeta { static DB2Meta const* Instance() { - static char const* types = "hbbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x020890B7, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x5148437F, fields, -1); return &instance; } }; @@ -6184,9 +10873,19 @@ struct UiCameraMeta { static DB2Meta const* Instance() { - static char const* types = "sfffhbbbi"; - static uint8 const arraySizes[9] = { 1, 3, 3, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xCA6C98D4, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 9, 0xC54B36EE, fields, -1); return &instance; } }; @@ -6195,20 +10894,209 @@ struct UiCameraTypeMeta { static DB2Meta const* Instance() { - static char const* types = "sii"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x644732AE, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x34F64532, fields, -1); + return &instance; + } +}; + +struct UiCanvasMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(0, 3, 0x77DC2C2A, fields, -1); + return &instance; + } +}; + +struct UiMapMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[13] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1, 13, 0x4B07CF16, fields, 2); + return &instance; + } +}; + +struct UiMapArtMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xD85EF8B6, fields, -1); + return &instance; + } +}; + +struct UiMapArtStyleLayerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[9] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0xAFF6429A, fields, 8); + return &instance; + } +}; + +struct UiMapArtTileMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xBA5290E9, fields, 4); + return &instance; + } +}; + +struct UiMapAssignmentMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[10] = + { + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 6, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3, 10, 0xFA919770, fields, 4); return &instance; } }; -struct UiMapPOIMeta +struct UiMapFogOfWarMeta { static DB2Meta const* Instance() { - static char const* types = "ifiihhi"; - static uint8 const arraySizes[7] = { 1, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 7, 0x559E1F11, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(0, 4, 0x257E044E, fields, 1); + return &instance; + } +}; + +struct UiMapFogOfWarVisualizationMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xB8110379, fields, -1); + return &instance; + } +}; + +struct UiMapGroupMemberMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x3D1DDDA1, fields, 1); + return &instance; + } +}; + +struct UiMapLinkMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 6, 0x1A2F1836, fields, 3); + return &instance; + } +}; + +struct UiMapXMapArtMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0xD74B6E49, fields, 2); return &instance; } }; @@ -6217,9 +11105,12 @@ struct UiModelSceneMeta { static DB2Meta const* Instance() { - static char const* types = "bb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xA7D62B8A, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x0B9EFECA, fields, -1); return &instance; } }; @@ -6228,9 +11119,20 @@ struct UiModelSceneActorMeta { static DB2Meta const* Instance() { - static char const* types = "sfffffbiii"; - static uint8 const arraySizes[10] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 10, 0x679AC95F, types, arraySizes, 9); + static DB2MetaField const fields[10] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2, 10, 0x8B5BF449, fields, 9); return &instance; } }; @@ -6239,9 +11141,17 @@ struct UiModelSceneActorDisplayMeta { static DB2Meta const* Instance() { - static char const* types = "fffii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x6137F4BE, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0xDD1DD903, fields, -1); return &instance; } }; @@ -6250,9 +11160,44 @@ struct UiModelSceneCameraMeta { static DB2Meta const* Instance() { - static char const* types = "sfffffffffffbbii"; - static uint8 const arraySizes[16] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 16, 0xC58AA5EC, types, arraySizes, 15); + static DB2MetaField const fields[16] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3, 16, 0xEDFBD5A2, fields, 15); + return &instance; + } +}; + +struct UiPartyPoseMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 6, 0x880480BF, fields, 5); return &instance; } }; @@ -6261,9 +11206,28 @@ struct UiTextureAtlasMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9879592A, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x6951B2FD, fields, -1); + return &instance; + } +}; + +struct UiTextureAtlasElementMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(1, 2, 0xBBDA0A61, fields, -1); return &instance; } }; @@ -6272,9 +11236,20 @@ struct UiTextureAtlasMemberMeta { static DB2Meta const* Instance() { - static char const* types = "sihhhhhb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 8, 0x81E2055F, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 10, 0x4D58B085, fields, 7); return &instance; } }; @@ -6283,64 +11258,166 @@ struct UiTextureKitMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x2C7E0372, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x1FC1A9C6, fields, -1); return &instance; } }; -struct UnitBloodMeta +struct UiWidgetMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x4689A9A0, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xC4C60F67, fields, -1); return &instance; } }; -struct UnitBloodLevelsMeta +struct UiWidgetConstantSourceMeta { static DB2Meta const* Instance() { - static char const* types = "b"; - static uint8 const arraySizes[1] = { 3 }; - static DB2Meta instance(-1, 1, 0x31A6BD58, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xFE573B5D, fields, 2); return &instance; } }; -struct UnitConditionMeta +struct UiWidgetDataSourceMeta { static DB2Meta const* Instance() { - static char const* types = "ibbb"; - static uint8 const arraySizes[4] = { 8, 1, 8, 8 }; - static DB2Meta instance(-1, 4, 0x62802D9C, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x27BC34FD, fields, 3); return &instance; } }; -struct UnitPowerBarMeta +struct UiWidgetStringSourceMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x86CECC21, fields, 2); + return &instance; + } +}; + +struct UiWidgetVisualizationMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x1DB32AF9, fields, -1); + return &instance; + } +}; + +struct UnitBloodMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0x007ED968, fields, -1); + return &instance; + } +}; + +struct UnitBloodLevelsMeta { static DB2Meta const* Instance() { - static char const* types = "ssssffiiffhhbbii"; - static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0x626C94CD, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_BYTE, 3, false }, + }; + static DB2Meta instance(-1, 1, 0x684D24F4, fields, -1); return &instance; } }; -struct UnitTestMeta +struct UnitConditionMeta { static DB2Meta const* Instance() { - static char const* types = "ssiii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 5, 0x63B4527B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 8, false }, + { FT_BYTE, 8, true }, + { FT_INT, 8, true }, + }; + static DB2Meta instance(-1, 4, 0x215CBCD2, fields, -1); + return &instance; + } +}; + +struct UnitPowerBarMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[16] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 6, true }, + { FT_INT, 6, true }, + }; + static DB2Meta instance(-1, 16, 0x2640852D, fields, -1); return &instance; } }; @@ -6349,9 +11426,28 @@ struct VehicleMeta { static DB2Meta const* Instance() { - static char const* types = "ifffffffffffhhhbbi"; - static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 3, 1, 1, 1 }; - static DB2Meta instance(-1, 18, 0x1606C582, types, arraySizes, -1); + static DB2MetaField const fields[18] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 8, false }, + { FT_SHORT, 3, false }, + }; + static DB2Meta instance(-1, 18, 0x221A0252, fields, -1); return &instance; } }; @@ -6360,9 +11456,71 @@ struct VehicleSeatMeta { static DB2Meta const* Instance() { - static char const* types = "iiiffffffffffffffffffffffffffffffihhhhhhhhhhhhhhhhhhhbbbbbbii"; - static uint8 const arraySizes[61] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 61, 0x242E0ECD, types, arraySizes, -1); + static DB2MetaField const fields[61] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 61, 0x7AB200FA, fields, -1); return &instance; } }; @@ -6371,9 +11529,14 @@ struct VehicleUIIndSeatMeta { static DB2Meta const* Instance() { - static char const* types = "ffbh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x5F688502, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x590E3162, fields, 3); return &instance; } }; @@ -6382,9 +11545,11 @@ struct VehicleUIIndicatorMeta { static DB2Meta const* Instance() { - static char const* types = "i"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x68486100, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 1, 0x4B1AACBC, fields, -1); return &instance; } }; @@ -6393,9 +11558,19 @@ struct VignetteMeta { static DB2Meta const* Instance() { - static char const* types = "sffiiii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x52E3B381, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 9, 0xE70E083E, fields, -1); return &instance; } }; @@ -6404,9 +11579,12 @@ struct VirtualAttachmentMeta { static DB2Meta const* Instance() { - static char const* types = "sh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xEC767C57, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0xA9D90777, fields, -1); return &instance; } }; @@ -6415,9 +11593,13 @@ struct VirtualAttachmentCustomizationMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xC354C931, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 3, 0x5812DF35, fields, -1); return &instance; } }; @@ -6426,9 +11608,14 @@ struct VocalUISoundsMeta { static DB2Meta const* Instance() { - static char const* types = "bbbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 2 }; - static DB2Meta instance(-1, 4, 0xED48CFA9, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, false }, + }; + static DB2Meta instance(-1, 4, 0x264C4E59, fields, -1); return &instance; } }; @@ -6437,9 +11624,25 @@ struct WMOAreaTableMeta { static DB2Meta const* Instance() { - static char const* types = "sihhhhhhbbbbiih"; - static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(12, 15, 0x4616C893, types, arraySizes, 14); + static DB2MetaField const fields[15] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1, 15, 0x60EC930B, fields, 2); return &instance; } }; @@ -6448,9 +11651,15 @@ struct WMOMinimapTextureMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbh"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x8F4AE3C0, types, arraySizes, 4); + static DB2MetaField const fields[5] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0x48CE176C, fields, 4); return &instance; } }; @@ -6459,9 +11668,15 @@ struct WbAccessControlListMeta { static DB2Meta const* Instance() { - static char const* types = "shbbb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xBE044710, types, arraySizes, -1); + static DB2MetaField const fields[5] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 5, 0xDC9D8334, fields, -1); return &instance; } }; @@ -6470,9 +11685,14 @@ struct WbCertWhitelistMeta { static DB2Meta const* Instance() { - static char const* types = "sbbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x01D13030, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x1524F278, fields, -1); return &instance; } }; @@ -6481,9 +11701,17 @@ struct WeaponImpactSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "bbbiiii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 11, 11, 11, 11 }; - static DB2Meta instance(-1, 7, 0x774C043A, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + }; + static DB2Meta instance(-1, 7, 0x9C7F9BA6, fields, -1); return &instance; } }; @@ -6492,9 +11720,13 @@ struct WeaponSwingSounds2Meta { static DB2Meta const* Instance() { - static char const* types = "bbi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD45347C3, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x18B6CC57, fields, -1); return &instance; } }; @@ -6503,9 +11735,19 @@ struct WeaponTrailMeta { static DB2Meta const* Instance() { - static char const* types = "ifffiffff"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 3, 3, 3, 3, 3 }; - static DB2Meta instance(-1, 9, 0x49754C60, types, arraySizes, -1); + static DB2MetaField const fields[9] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + }; + static DB2Meta instance(-1, 9, 0xB05F809A, fields, -1); return &instance; } }; @@ -6514,9 +11756,13 @@ struct WeaponTrailModelDefMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x7DE7C508, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xCE7AD194, fields, 2); return &instance; } }; @@ -6525,9 +11771,20 @@ struct WeaponTrailParamMeta { static DB2Meta const* Instance() { - static char const* types = "fffffbbbbh"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x9B0F7200, types, arraySizes, 9); + static DB2MetaField const fields[10] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 10, 0xC3B87CA4, fields, 9); return &instance; } }; @@ -6536,86 +11793,133 @@ struct WeatherMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffhbbbii"; - static uint8 const arraySizes[14] = { 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x7C160B07, types, arraySizes, -1); - return &instance; - } -}; - -struct WindSettingsMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "fffffffffb"; - static uint8 const arraySizes[10] = { 1, 3, 1, 1, 3, 1, 3, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x5308550C, types, arraySizes, -1); + static DB2MetaField const fields[22] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 3, true }, + }; + static DB2Meta instance(-1, 22, 0x784E91E0, fields, -1); return &instance; } }; -struct WorldBossLockoutMeta +struct WeatherXParticulateMeta { static DB2Meta const* Instance() { - static char const* types = "sh"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x4D7103A0, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 2, 0x791A7865, fields, 1); return &instance; } }; -struct WorldChunkSoundsMeta +struct WindSettingsMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbbb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xD06AA126, types, arraySizes, -1); + static DB2MetaField const fields[10] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 10, 0xE09E01C4, fields, -1); return &instance; } }; -struct WorldEffectMeta +struct WorldBossLockoutMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x2E9B9BFD, types, arraySizes, -1); + static DB2MetaField const fields[2] = + { + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 2, 0x57E8ADB8, fields, -1); return &instance; } }; -struct WorldElapsedTimerMeta +struct WorldChunkSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "sbb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x6C026FDE, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xA5616A27, fields, -1); return &instance; } }; -struct WorldMapAreaMeta +struct WorldEffectMeta { static DB2Meta const* Instance() { - static char const* types = "sffffihhhhhbbbbii"; - static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(15, 17, 0xC7E90019, types, arraySizes, -1); + static DB2MetaField const fields[6] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 6, 0xBCB8719B, fields, -1); return &instance; } }; -struct WorldMapContinentMeta +struct WorldElapsedTimerMeta { static DB2Meta const* Instance() { - static char const* types = "ffffhhbbbbb"; - static uint8 const arraySizes[11] = { 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x8F75E077, types, arraySizes, -1); + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 3, 0x103B8712, fields, -1); return &instance; } }; @@ -6624,20 +11928,40 @@ struct WorldMapOverlayMeta { static DB2Meta const* Instance() { - static char const* types = "sihhiiiiiiiiii"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 }; - static DB2Meta instance(1, 14, 0xDC4B6AF3, types, arraySizes, 4); + static DB2MetaField const fields[13] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 4, false }, + }; + static DB2Meta instance(0, 13, 0x837A3DAA, fields, 1); return &instance; } }; -struct WorldMapTransformsMeta +struct WorldMapOverlayTileMeta { static DB2Meta const* Instance() { - static char const* types = "fffhhhhhbi"; - static uint8 const arraySizes[10] = { 6, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x99FB4B71, types, arraySizes, 3); + static DB2MetaField const fields[5] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 5, 0xC4DCC916, fields, 4); return &instance; } }; @@ -6646,9 +11970,14 @@ struct WorldSafeLocsMeta { static DB2Meta const* Instance() { - static char const* types = "sffh"; - static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; - static DB2Meta instance(-1, 4, 0x605EA8A6, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, false }, + { FT_FLOAT, 3, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, false } + }; + static DB2Meta instance(-1, 4, 0x6BF0D7EC, fields, 3); return &instance; } }; @@ -6657,9 +11986,11 @@ struct WorldStateExpressionMeta { static DB2Meta const* Instance() { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA69C9812, types, arraySizes, -1); + static DB2MetaField const fields[1] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + static DB2Meta instance(-1, 1, 0xF23806A6, fields, -1); return &instance; } }; @@ -6668,9 +11999,27 @@ struct WorldStateUIMeta { static DB2Meta const* Instance() { - static char const* types = "ssssshhhhhhbbbiii"; - static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 17, 0x70808977, types, arraySizes, 5); + static DB2MetaField const fields[17] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 3, false }, + }; + static DB2Meta instance(5, 17, 0xE1F042FE, fields, 6); return &instance; } }; @@ -6679,9 +12028,18 @@ struct WorldStateZoneSoundsMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhhhhb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xB9572D3D, types, arraySizes, -1); + static DB2MetaField const fields[8] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 8, 0x44CFA417, fields, -1); return &instance; } }; @@ -6690,9 +12048,17 @@ struct World_PVP_AreaMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhhbb"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x6FBBF76B, types, arraySizes, -1); + static DB2MetaField const fields[7] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + }; + static DB2Meta instance(-1, 7, 0x3F8DDC83, fields, -1); return &instance; } }; @@ -6701,9 +12067,14 @@ struct ZoneIntroMusicTableMeta { static DB2Meta const* Instance() { - static char const* types = "shbi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1F8417ED, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 4, 0x5453B51D, fields, -1); return &instance; } }; @@ -6712,9 +12083,14 @@ struct ZoneLightMeta { static DB2Meta const* Instance() { - static char const* types = "shh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x3C11F38B, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(-1, 4, 0xD553DE84, fields, -1); return &instance; } }; @@ -6723,9 +12099,13 @@ struct ZoneLightPointMeta { static DB2Meta const* Instance() { - static char const* types = "fbh"; - static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2Meta instance(-1, 3, 0xEF93DC50, types, arraySizes, 2); + static DB2MetaField const fields[3] = + { + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + static DB2Meta instance(-1, 3, 0xB21DA554, fields, 2); return &instance; } }; @@ -6734,9 +12114,14 @@ struct ZoneMusicMeta { static DB2Meta const* Instance() { - static char const* types = "siii"; - static uint8 const arraySizes[4] = { 1, 2, 2, 2 }; - static DB2Meta instance(-1, 4, 0x9E2B332D, types, arraySizes, -1); + static DB2MetaField const fields[4] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + }; + static DB2Meta instance(-1, 4, 0x9EBD4495, fields, -1); return &instance; } }; @@ -6745,9 +12130,14 @@ struct ZoneStoryMeta { static DB2Meta const* Instance() { - static char const* types = "iibi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xEE16D6F3, types, arraySizes, 3); + static DB2MetaField const fields[4] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(-1, 4, 0x5BFB82E8, fields, 3); return &instance; } }; |