diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-09-01 00:38:46 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 23:37:29 +0100 |
| commit | c4b287c7bfb2bb2dcb5efacf238e29413ebe77ec (patch) | |
| tree | 5a12a24a3a9fbe17f9bac3e6d3ab9f60c8201598 /src/server/game/DataStores | |
| parent | f7e1b5338de02649fd43dc9c952b8d4b5feb20aa (diff) | |
Core/Misc: DBC std::array refactors, and |Hachievement unit tests
(cherry picked from commit 3fbbe7cfbe1bc51db12bdc1ec7b21c16d1716366)
Diffstat (limited to 'src/server/game/DataStores')
| -rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 320 |
1 files changed, 160 insertions, 160 deletions
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 153e9630ca7..b4eb05bf73f 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -77,8 +77,8 @@ struct AdventureJournalEntry uint16 CurrencyType; uint32 CurrencyQuantity; uint16 UiMapID; - uint32 BonusPlayerConditionID[2]; - uint8 BonusValue[2]; + std::array<uint32, 2> BonusPlayerConditionID; + std::array<uint8, 2> BonusValue; }; struct AdventureMapPOIEntry @@ -104,7 +104,7 @@ struct AnimationDataEntry uint16 Fallback; uint8 BehaviorTier; int32 BehaviorID; - int32 Flags[2]; + std::array<int32, 2> Flags; }; struct AnimKitEntry @@ -146,8 +146,8 @@ struct AreaTableEntry uint8 WildBattlePetLevelMax; uint8 WindSettingsID; int32 ContentTuningID; - int32 Flags[2]; - uint16 LiquidTypeID[4]; + std::array<int32, 2> Flags; + std::array<uint16, 4> LiquidTypeID; // helpers bool IsSanctuary() const @@ -290,7 +290,7 @@ struct ArtifactPowerRankEntry struct ArtifactQuestXPEntry { uint32 ID; - uint32 Difficulty[10]; + std::array<uint32, 10> Difficulty; }; struct ArtifactTierEntry @@ -510,7 +510,7 @@ struct BattlemasterListEntry int32 Flags; int32 IconFileDataID; int32 RequiredPlayerConditionID; - int16 MapID[16]; + std::array<int16, 16> MapID; EnumFlag<BattlemasterListFlags> GetFlags() const { return static_cast<BattlemasterListFlags>(Flags); } }; @@ -527,9 +527,9 @@ struct BroadcastTextEntry uint16 EmotesID; uint8 Flags; uint32 ChatBubbleDurationMs; - uint32 SoundKitID[2]; - uint16 EmoteID[MAX_BROADCAST_TEXT_EMOTES]; - uint16 EmoteDelay[MAX_BROADCAST_TEXT_EMOTES]; + std::array<uint32, 2> SoundKitID; + std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteID; + std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteDelay; }; struct BroadcastTextDurationEntry @@ -655,7 +655,7 @@ struct ChrCustomizationChoiceEntry uint16 UiOrderIndex; int32 Flags; int32 AddedInPatch; - int32 SwatchColor[2]; + std::array<int32, 2> SwatchColor; }; struct ChrCustomizationDisplayInfoEntry @@ -719,8 +719,8 @@ struct ChrCustomizationReqChoiceEntry struct ChrModelEntry { - float FaceCustomizationOffset[3]; - float CustomizeOffset[3]; + std::array<float, 3> FaceCustomizationOffset; + std::array<float, 3> CustomizeOffset; uint32 ID; int32 Sex; int32 DisplayID; @@ -776,8 +776,8 @@ struct ChrRacesEntry int32 SelectScreenFileDataID; int32 NeutralRaceID; int32 LowResScreenFileDataID; - int32 AlteredFormStartVisualKitID[3]; - int32 AlteredFormFinishVisualKitID[3]; + std::array<int32, 3> AlteredFormStartVisualKitID; + std::array<int32, 3> AlteredFormFinishVisualKitID; int32 HeritageArmorAchievementID; int32 StartingLevel; int32 UiDisplayOrder; @@ -789,10 +789,10 @@ struct ChrRacesEntry int32 HelmetAnimScalingRaceID; int32 TransmogrifyDisabledSlotMask; int32 UnalteredVisualCustomizationRaceID; - float AlteredFormCustomizeOffsetFallback[3]; + std::array<float, 3> AlteredFormCustomizeOffsetFallback; float AlteredFormCustomizeRotationFallback; - float Unknown910_1[3]; - float Unknown910_2[3]; + std::array<float, 3> Unknown910_1; + std::array<float, 3> Unknown910_2; int8 BaseLanguage; int8 CreatureType; int8 MaleModelFallbackSex; @@ -819,7 +819,7 @@ struct ChrSpecializationEntry int32 SpellIconFileID; int8 PrimaryStatPriority; int32 AnimReplacements; - int32 MasterySpellID[MAX_MASTERY_SPELLS]; + std::array<int32, MAX_MASTERY_SPELLS> MasterySpellID; bool IsPetSpecialization() const { @@ -841,7 +841,7 @@ struct CinematicSequencesEntry { uint32 ID; uint32 SoundID; - uint16 Camera[8]; + std::array<uint16, 8> Camera; }; struct ContentTuningEntry @@ -942,7 +942,7 @@ struct CreatureDisplayInfoEntry int8 Gender; int32 DissolveOutEffectID; int8 CreatureModelMinLod; - int32 TextureVariationFileDataID[3]; + std::array<int32, 3> TextureVariationFileDataID; }; struct CreatureDisplayInfoExtraEntry @@ -967,13 +967,13 @@ struct CreatureFamilyEntry int16 PetFoodMask; int8 PetTalentType; int32 IconFileID; - int16 SkillLine[2]; + std::array<int16, 2> SkillLine; }; struct CreatureModelDataEntry { uint32 ID; - float GeoBox[6]; + std::array<float, 6> GeoBox; uint32 Flags; uint32 FileDataID; uint32 BloodID; @@ -1003,7 +1003,7 @@ struct CreatureModelDataEntry float TamedPetBaseScale; int8 Unknown820_1; // scale related float Unknown820_2; // scale related - float Unknown820_3[2]; // scale related + std::array<float, 2> Unknown820_3; // scale related EnumFlag<CreatureModelDataFlags> GetFlags() const { return static_cast<CreatureModelDataFlags>(Flags); } }; @@ -1272,7 +1272,7 @@ struct CurrencyTypesEntry int32 XpQuestDifficulty; int32 AwardConditionID; int32 MaxQtyWorldStateID; - int32 Flags[2]; + std::array<int32, 2> Flags; }; struct CurveEntry @@ -1354,8 +1354,8 @@ struct DungeonEncounterEntry struct DurabilityCostsEntry { uint32 ID; - uint16 WeaponSubClassCost[21]; - uint16 ArmorSubClassCost[8]; + std::array<uint16, 21> WeaponSubClassCost; + std::array<uint16, 8> ArmorSubClassCost; }; struct DurabilityQualityEntry @@ -1428,7 +1428,7 @@ struct ExpectedStatModEntry struct FactionEntry { uint32 ID; - Trinity::RaceMask<int64> ReputationRaceMask[4]; + std::array<Trinity::RaceMask<int64>, 4> ReputationRaceMask; LocalizedString Name; LocalizedString Description; int16 ReputationIndex; @@ -1437,12 +1437,12 @@ struct FactionEntry uint32 FriendshipRepID; uint8 Flags; uint16 ParagonFactionID; - int16 ReputationClassMask[4]; - uint16 ReputationFlags[4]; - int32 ReputationBase[4]; - int32 ReputationMax[4]; - float ParentFactionMod[2]; // Faction outputs rep * ParentFactionModOut as spillover reputation - uint8 ParentFactionCap[2]; // The highest rank the faction will profit from incoming spillover + std::array<int16, 4> ReputationClassMask; + std::array<uint16, 4> ReputationFlags; + std::array<int32, 4> ReputationBase; + std::array<int32, 4> ReputationMax; + std::array<float, 2> ParentFactionMod; // Faction outputs rep * ParentFactionModOut as spillover reputation + std::array<uint8, 2> ParentFactionCap; // The highest rank the faction will profit from incoming spillover // helpers bool CanHaveReputation() const @@ -1461,8 +1461,8 @@ struct FactionTemplateEntry uint8 FactionGroup; uint8 FriendGroup; uint8 EnemyGroup; - uint16 Enemies[MAX_FACTION_RELATIONS]; - uint16 Friend[MAX_FACTION_RELATIONS]; + std::array<uint16, MAX_FACTION_RELATIONS> Enemies; + std::array<uint16, MAX_FACTION_RELATIONS> Friend; //------------------------------------------------------- end structure @@ -1534,7 +1534,7 @@ struct GameObjectArtKitEntry { uint32 ID; int32 AttachModelFileID; - int32 TextureVariationFileID[3]; + std::array<int32, 3> TextureVariationFileID; }; struct GameObjectDisplayInfoEntry @@ -1552,7 +1552,7 @@ struct GameObjectsEntry { LocalizedString Name; DBCPosition3D Pos; - float Rot[4]; + std::array<float, 4> Rot; uint32 ID; int32 OwnerID; int32 DisplayID; @@ -1561,7 +1561,7 @@ struct GameObjectsEntry int32 PhaseUseFlags; int32 PhaseID; int32 PhaseGroupID; - int32 PropValue[8]; + std::array<int32, 8> PropValue; }; struct GarrAbilityEntry @@ -1718,7 +1718,7 @@ struct GarrPlotEntry int32 AllianceConstructObjID; uint8 Flags; uint8 UiCategoryID; - uint32 UpgradeRequirement[2]; + std::array<uint32, 2> UpgradeRequirement; }; struct GarrPlotBuildingEntry @@ -1835,8 +1835,8 @@ struct HeirloomEntry int8 SourceTypeEnum; uint8 Flags; int32 LegacyItemID; - int32 UpgradeItemID[6]; - uint16 UpgradeItemBonusListID[6]; + std::array<int32, 6> UpgradeItemID; + std::array<uint16, 6> UpgradeItemBonusListID; }; #define MAX_HOLIDAY_DURATIONS 10 @@ -1853,10 +1853,10 @@ struct HolidaysEntry uint8 Priority; int8 CalendarFilterType; uint8 Flags; - uint16 Duration[MAX_HOLIDAY_DURATIONS]; - uint32 Date[MAX_HOLIDAY_DATES]; // dates in unix time starting at January, 1, 2000 - uint8 CalendarFlags[MAX_HOLIDAY_DURATIONS]; - int32 TextureFileDataID[3]; + std::array<uint16, MAX_HOLIDAY_DURATIONS> Duration; + std::array<uint32, MAX_HOLIDAY_DATES> Date; // dates in unix time starting at January, 1, 2000 + std::array<uint8, MAX_HOLIDAY_DURATIONS> CalendarFlags; + std::array<int32, 3> TextureFileDataID; }; struct ImportPriceArmorEntry @@ -1914,13 +1914,13 @@ struct ItemAppearanceEntry struct ItemArmorQualityEntry { uint32 ID; - float Qualitymod[7]; + std::array<float, 7> Qualitymod; }; struct ItemArmorShieldEntry { uint32 ID; - float Quality[7]; + std::array<float, 7> Quality; uint16 ItemLevel; }; @@ -1943,7 +1943,7 @@ struct ItemBagFamilyEntry struct ItemBonusEntry { uint32 ID; - int32 Value[4]; + std::array<int32, 4> Value; uint16 ParentItemBonusListID; uint8 Type; uint8 OrderIndex; @@ -2013,35 +2013,35 @@ struct ItemDamageAmmoEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array<float, 7> Quality; }; struct ItemDamageOneHandEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array<float, 7> Quality; }; struct ItemDamageOneHandCasterEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array<float, 7> Quality; }; struct ItemDamageTwoHandEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array<float, 7> Quality; }; struct ItemDamageTwoHandCasterEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array<float, 7> Quality; }; struct ItemDisenchantLootEntry @@ -2081,10 +2081,10 @@ struct ItemExtendedCostEntry uint8 MinFactionID; uint8 MinReputation; uint8 RequiredAchievement; // required personal arena rating - int32 ItemID[MAX_ITEM_EXT_COST_ITEMS]; // required item id - uint16 ItemCount[MAX_ITEM_EXT_COST_ITEMS]; // required count of 1st item - uint16 CurrencyID[MAX_ITEM_EXT_COST_CURRENCIES]; // required curency id - uint32 CurrencyCount[MAX_ITEM_EXT_COST_CURRENCIES]; // required curency count + std::array<int32, MAX_ITEM_EXT_COST_ITEMS> ItemID; // required item id + std::array<uint16, MAX_ITEM_EXT_COST_ITEMS> ItemCount; // required count of 1st item + std::array<uint16, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyID; // required curency id + std::array<uint32, MAX_ITEM_EXT_COST_CURRENCIES> CurrencyCount; // required curency count }; struct ItemLevelSelectorEntry @@ -2176,7 +2176,7 @@ struct ItemSearchNameEntry uint16 RequiredSkillRank; uint32 RequiredAbility; uint16 ItemLevel; - int32 Flags[4]; + std::array<int32, 4> Flags; }; #define MAX_ITEM_SET_ITEMS 17 @@ -2188,7 +2188,7 @@ struct ItemSetEntry uint32 SetFlags; uint32 RequiredSkill; uint16 RequiredSkillRank; - uint32 ItemID[MAX_ITEM_SET_ITEMS]; + std::array<uint32, MAX_ITEM_SET_ITEMS> ItemID; }; struct ItemSetSpellEntry @@ -2216,8 +2216,8 @@ struct ItemSparseEntry float QualityModifier; uint32 BagFamily; float ItemRange; - float StatPercentageOfSocket[MAX_ITEM_PROTO_STATS]; - int32 StatPercentEditor[MAX_ITEM_PROTO_STATS]; + std::array<float, MAX_ITEM_PROTO_STATS> StatPercentageOfSocket; + std::array<int32, MAX_ITEM_PROTO_STATS> StatPercentEditor; int32 Stackable; int32 MaxCount; uint32 RequiredAbility; @@ -2226,7 +2226,7 @@ struct ItemSparseEntry uint32 VendorStackCount; float PriceVariance; float PriceRandomValue; - int32 Flags[MAX_ITEM_PROTO_FLAGS]; + std::array<int32, MAX_ITEM_PROTO_FLAGS> Flags; int32 FactionRelated; int32 ModifiedCraftingReagentItemID; int32 ContentTuningID; @@ -2238,7 +2238,7 @@ struct ItemSparseEntry uint16 SocketMatchEnchantmentId; uint16 TotemCategoryID; uint16 InstanceBound; - uint16 ZoneBound[MAX_ITEM_PROTO_ZONES]; + std::array<uint16, MAX_ITEM_PROTO_ZONES> ZoneBound; uint16 ItemSet; uint16 LockID; uint16 StartQuestID; @@ -2252,14 +2252,14 @@ struct ItemSparseEntry uint8 ArtifactID; uint8 SpellWeight; uint8 SpellWeightCategory; - uint8 SocketType[MAX_ITEM_PROTO_SOCKETS]; + std::array<uint8, MAX_ITEM_PROTO_SOCKETS> SocketType; uint8 SheatheType; uint8 Material; uint8 PageMaterialID; uint8 LanguageID; uint8 Bonding; uint8 DamageDamageType; - int8 StatModifierBonusStat[MAX_ITEM_PROTO_STATS]; + std::array<int8, MAX_ITEM_PROTO_STATS> StatModifierBonusStat; uint8 ContainerSlots; uint8 MinReputation; uint8 RequiredPVPMedal; @@ -2364,7 +2364,7 @@ struct JournalTierEntry struct KeychainEntry { uint32 ID; - uint8 Key[KEYCHAIN_SIZE]; + std::array<uint8, KEYCHAIN_SIZE> Key; }; struct KeystoneAffixEntry @@ -2419,7 +2419,7 @@ struct LFGDungeonsEntry uint16 MentorItemLevel; uint8 MentorCharLevel; int32 ContentTuningID; - int32 Flags[2]; + std::array<int32, 2> Flags; // Helpers uint32 Entry() const { return ID + (TypeID << 24); } @@ -2432,14 +2432,14 @@ struct LightEntry float GameFalloffStart; float GameFalloffEnd; int16 ContinentID; - uint16 LightParamsID[8]; + std::array<uint16, 8> LightParamsID; }; struct LiquidTypeEntry { uint32 ID; char const* Name; - char const* Texture[6]; + std::array<char, 6> const* Texture; uint16 Flags; uint8 SoundBank; // used to be "type", maybe needs fixing (works well for now) uint32 SoundID; @@ -2454,11 +2454,11 @@ struct LiquidTypeEntry uint8 ParticleTexSlots; uint8 MaterialID; int32 MinimapStaticCol; - uint8 FrameCountTexture[6]; - int32 Color[2]; - float Float[18]; - uint32 Int[4]; - float Coefficient[4]; + std::array<uint8, 6> FrameCountTexture; + std::array<int32, 2> Color; + std::array<float, 18> Float; + std::array<uint32, 4> Int; + std::array<float, 4> Coefficient; }; #define MAX_LOCK_CASE 8 @@ -2467,10 +2467,10 @@ struct LockEntry { uint32 ID; int32 Flags; - int32 Index[MAX_LOCK_CASE]; - uint16 Skill[MAX_LOCK_CASE]; - uint8 Type[MAX_LOCK_CASE]; - uint8 Action[MAX_LOCK_CASE]; + std::array<int32, MAX_LOCK_CASE> Index; + std::array<uint16, MAX_LOCK_CASE> Skill; + std::array<uint8, MAX_LOCK_CASE> Type; + std::array<uint8, MAX_LOCK_CASE> Action; }; struct MailTemplateEntry @@ -2504,7 +2504,7 @@ struct MapEntry int16 WindSettingsID; int32 ZmpFileDataID; int32 WdtFileDataID; - int32 Flags[2]; + std::array<int32, 2> Flags; // Helpers uint8 Expansion() const { return ExpansionID; } @@ -2546,7 +2546,7 @@ struct MapChallengeModeEntry uint8 Flags; uint32 ExpansionLevel; int32 RequiredWorldStateID; // maybe? - int16 CriteriaCount[3]; + std::array<int16, 3> CriteriaCount; }; struct MapDifficultyEntry @@ -2699,7 +2699,7 @@ struct NumTalentsAtLevelEntry struct OverrideSpellDataEntry { uint32 ID; - int32 Spells[MAX_OVERRIDE_SPELL]; + std::array<int32, MAX_OVERRIDE_SPELL> Spells; int32 PlayerActionBarFileDataID; uint8 Flags; }; @@ -2786,30 +2786,30 @@ struct PlayerConditionEntry uint8 MaxPVPRank; int32 ContentTuningID; int32 CovenantID; - uint16 SkillID[4]; - uint16 MinSkill[4]; - uint16 MaxSkill[4]; - uint32 MinFactionID[3]; - uint8 MinReputation[3]; - int32 PrevQuestID[4]; - int32 CurrQuestID[4]; - int32 CurrentCompletedQuestID[4]; - int32 SpellID[4]; - int32 ItemID[4]; - uint32 ItemCount[4]; - uint16 Explored[2]; - uint32 Time[2]; - int32 AuraSpellID[4]; - uint8 AuraStacks[4]; - uint16 Achievement[4]; - uint16 AreaID[4]; - uint8 LfgStatus[4]; - uint8 LfgCompare[4]; - uint32 LfgValue[4]; - uint32 CurrencyID[4]; - uint32 CurrencyCount[4]; - uint32 QuestKillMonster[6]; - int32 MovementFlags[2]; + std::array<uint16, 4> SkillID; + std::array<uint16, 4> MinSkill; + std::array<uint16, 4> MaxSkill; + std::array<uint32, 3> MinFactionID; + std::array<uint8, 3> MinReputation; + std::array<int32, 4> PrevQuestID; + std::array<int32, 4> CurrQuestID; + std::array<int32, 4> CurrentCompletedQuestID; + std::array<int32, 4> SpellID; + std::array<int32, 4> ItemID; + std::array<uint32, 4> ItemCount; + std::array<uint16, 2> Explored; + std::array<uint32, 2> Time; + std::array<int32, 4> AuraSpellID; + std::array<uint8, 4> AuraStacks; + std::array<uint16, 4> Achievement; + std::array<uint16, 4> AreaID; + std::array<uint8, 4> LfgStatus; + std::array<uint8, 4> LfgCompare; + std::array<uint32, 4> LfgValue; + std::array<uint32, 4> CurrencyID; + std::array<uint32, 4> CurrencyCount; + std::array<uint32, 6> QuestKillMonster; + std::array<int32, 2> MovementFlags; }; struct PowerDisplayEntry @@ -2914,7 +2914,7 @@ struct PvpTierEntry struct QuestFactionRewardEntry { uint32 ID; - int16 Difficulty[10]; + std::array<int16, 10> Difficulty; }; struct QuestInfoEntry @@ -2938,7 +2938,7 @@ struct QuestLineXQuestEntry struct QuestMoneyRewardEntry { uint32 ID; - uint32 Difficulty[10]; + std::array<uint32, 10> Difficulty; }; struct QuestPackageItemEntry @@ -2966,7 +2966,7 @@ struct QuestV2Entry struct QuestXPEntry { uint32 ID; - uint16 Difficulty[10]; + std::array<uint16, 10> Difficulty; }; struct RandPropPointsEntry @@ -2976,12 +2976,12 @@ struct RandPropPointsEntry float DamageSecondaryF; int32 DamageReplaceStat; int32 DamageSecondary; - float EpicF[5]; - float SuperiorF[5]; - float GoodF[5]; - uint32 Epic[5]; - uint32 Superior[5]; - uint32 Good[5]; + std::array<float, 5> EpicF; + std::array<float, 5> SuperiorF; + std::array<float, 5> GoodF; + std::array<uint32, 5> Epic; + std::array<uint32, 5> Superior; + std::array<uint32, 5> Good; }; struct RewardPackEntry @@ -3177,7 +3177,7 @@ struct SpellAuraOptionsEntry uint8 ProcChance; int32 ProcCharges; uint16 SpellProcsPerMinuteID; - int32 ProcTypeMask[2]; + std::array<int32, 2> ProcTypeMask; uint32 SpellID; }; @@ -3293,10 +3293,10 @@ struct SpellEffectEntry float GroupSizeBasePointsCoefficient; float EffectBasePoints; int32 ScalingClass; - int32 EffectMiscValue[2]; - uint32 EffectRadiusIndex[2]; + std::array<int32, 2> EffectMiscValue; + std::array<uint32, 2> EffectRadiusIndex; flag128 EffectSpellClassMask; - int16 ImplicitTarget[2]; + std::array<int16, 2> ImplicitTarget; uint32 SpellID; SpellEffectAttributes GetEffectAttributes() const { return static_cast<SpellEffectAttributes>(EffectAttributes); } @@ -3322,8 +3322,8 @@ struct SpellInterruptsEntry uint32 ID; uint8 DifficultyID; int16 InterruptFlags; - int32 AuraInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS]; - int32 ChannelInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS]; + std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> AuraInterruptFlags; + std::array<int32, MAX_SPELL_AURA_INTERRUPT_FLAGS> ChannelInterruptFlags; uint32 SpellID; }; @@ -3334,21 +3334,21 @@ struct SpellItemEnchantmentEntry uint32 ID; LocalizedString Name; LocalizedString HordeName; - uint32 EffectArg[MAX_ITEM_ENCHANTMENT_EFFECTS]; - float EffectScalingPoints[MAX_ITEM_ENCHANTMENT_EFFECTS]; + std::array<uint32, MAX_ITEM_ENCHANTMENT_EFFECTS> EffectArg; + std::array<float, MAX_ITEM_ENCHANTMENT_EFFECTS> EffectScalingPoints; uint32 IconFileDataID; int32 MinItemLevel; int32 MaxItemLevel; uint32 TransmogUseConditionID; uint32 TransmogCost; - int16 EffectPointsMin[MAX_ITEM_ENCHANTMENT_EFFECTS]; + std::array<int16, MAX_ITEM_ENCHANTMENT_EFFECTS> EffectPointsMin; uint16 ItemVisual; uint16 Flags; uint16 RequiredSkillID; uint16 RequiredSkillRank; uint16 ItemLevel; uint8 Charges; - uint8 Effect[MAX_ITEM_ENCHANTMENT_EFFECTS]; + std::array<uint8, MAX_ITEM_ENCHANTMENT_EFFECTS> Effect; int8 ScalingClass; int8 ScalingClassRestricted; uint8 ConditionID; @@ -3361,12 +3361,12 @@ struct SpellItemEnchantmentEntry struct SpellItemEnchantmentConditionEntry { uint32 ID; - uint8 LtOperandType[5]; - uint32 LtOperand[5]; - uint8 Operator[5]; - uint8 RtOperandType[5]; - uint8 RtOperand[5]; - uint8 Logic[5]; + std::array<uint8, 5> LtOperandType; + std::array<uint32, 5> LtOperand; + std::array<uint8, 5> Operator; + std::array<uint8, 5> RtOperandType; + std::array<uint8, 5> RtOperand; + std::array<uint8, 5> Logic; }; struct SpellLabelEntry @@ -3398,7 +3398,7 @@ struct SpellLevelsEntry struct SpellMiscEntry { uint32 ID; - int32 Attributes[15]; + std::array<int32, 15> Attributes; uint8 DifficultyID; uint16 CastingTimeIndex; uint16 DurationIndex; @@ -3479,8 +3479,8 @@ struct SpellRangeEntry LocalizedString DisplayName; LocalizedString DisplayNameShort; uint8 Flags; - float RangeMin[2]; - float RangeMax[2]; + std::array<float, 2> RangeMin; + std::array<float, 2> RangeMax; }; #define MAX_SPELL_REAGENTS 8 @@ -3489,8 +3489,8 @@ struct SpellReagentsEntry { uint32 ID; int32 SpellID; - int32 Reagent[MAX_SPELL_REAGENTS]; - int16 ReagentCount[MAX_SPELL_REAGENTS]; + std::array<int32, MAX_SPELL_REAGENTS> Reagent; + std::array<int16, MAX_SPELL_REAGENTS> ReagentCount; }; struct SpellReagentsCurrencyEntry @@ -3515,8 +3515,8 @@ struct SpellShapeshiftEntry uint32 ID; int32 SpellID; int8 StanceBarOrder; - int32 ShapeshiftExclude[2]; - int32 ShapeshiftMask[2]; + std::array<int32, 2> ShapeshiftExclude; + std::array<int32, 2> ShapeshiftMask; }; #define MAX_SHAPESHIFT_SPELLS 8 @@ -3532,8 +3532,8 @@ struct SpellShapeshiftFormEntry int16 CombatRoundTime; float DamageVariance; uint16 MountTypeID; - uint32 CreatureDisplayID[4]; - uint32 PresetSpellID[MAX_SHAPESHIFT_SPELLS]; + std::array<uint32, 4> CreatureDisplayID; + std::array<uint32, MAX_SHAPESHIFT_SPELLS> PresetSpellID; EnumFlag<SpellShapeshiftFormFlags> GetFlags() const { return static_cast<SpellShapeshiftFormFlags>(Flags); } }; @@ -3557,15 +3557,15 @@ struct SpellTotemsEntry { uint32 ID; int32 SpellID; - uint16 RequiredTotemCategoryID[MAX_SPELL_TOTEMS]; - int32 Totem[MAX_SPELL_TOTEMS]; + std::array<uint16, MAX_SPELL_TOTEMS> RequiredTotemCategoryID; + std::array<int32, MAX_SPELL_TOTEMS> Totem; }; struct SpellVisualEntry { uint32 ID; - float MissileCastOffset[3]; - float MissileImpactOffset[3]; + std::array<float, 3> MissileCastOffset; + std::array<float, 3> MissileImpactOffset; uint32 AnimEventSoundID; int32 Flags; int8 MissileAttachment; @@ -3604,8 +3604,8 @@ struct SpellVisualEffectNameEntry struct SpellVisualMissileEntry { - float CastOffset[3]; - float ImpactOffset[3]; + std::array<float, 3> CastOffset; + std::array<float, 3> ImpactOffset; uint32 ID; uint16 SpellVisualEffectNameID; uint32 SoundEntriesID; @@ -3631,7 +3631,7 @@ struct SpellVisualKitEntry int32 FallbackSpellVisualKitId; uint16 DelayMin; uint16 DelayMax; - int32 Flags[2]; + std::array<int32, 2> Flags; }; struct SpellXSpellVisualEntry @@ -3667,7 +3667,7 @@ struct SummonPropertiesEntry struct TactKeyEntry { uint32 ID; - uint8 Key[TACTKEY_SIZE]; + std::array<uint8, TACTKEY_SIZE> Key; }; struct TalentEntry @@ -3681,7 +3681,7 @@ struct TalentEntry uint16 SpecID; uint32 SpellID; uint32 OverridesSpellID; - uint8 CategoryMask[2]; + std::array<uint8, 2> CategoryMask; }; struct TaxiNodesEntry @@ -3700,7 +3700,7 @@ struct TaxiNodesEntry float Facing; uint32 SpecialIconConditionID; uint32 VisibilityConditionID; - int32 MountCreatureID[2]; + std::array<int32, 2> MountCreatureID; }; struct TaxiPathEntry @@ -3799,7 +3799,7 @@ struct TransportAnimationEntry struct TransportRotationEntry { uint32 ID; - float Rot[4]; + std::array<float, 4> Rot; uint32 TimeIndex; uint32 GameObjectsID; }; @@ -3827,7 +3827,7 @@ struct UiMapAssignmentEntry { DBCPosition2D UiMin; DBCPosition2D UiMax; - DBCPosition3D Region[2]; + std::array<DBCPosition3D, 2> Region; uint32 ID; int32 UiMapID; int32 OrderIndex; @@ -3884,9 +3884,9 @@ struct UnitConditionEntry { uint32 ID; uint8 Flags; - uint8 Variable[MAX_UNIT_CONDITION_VALUES]; - int8 Op[MAX_UNIT_CONDITION_VALUES]; - int32 Value[MAX_UNIT_CONDITION_VALUES]; + std::array<uint8, MAX_UNIT_CONDITION_VALUES> Variable; + std::array<int8, MAX_UNIT_CONDITION_VALUES> Op; + std::array<int32, MAX_UNIT_CONDITION_VALUES> Value; EnumFlag<UnitConditionFlags> GetFlags() const { return static_cast<UnitConditionFlags>(Flags); } }; @@ -3908,8 +3908,8 @@ struct UnitPowerBarEntry uint16 Flags; float StartInset; float EndInset; - int32 FileDataID[6]; - int32 Color[6]; + std::array<int32, 6> FileDataID; + std::array<int32, 6> Color; }; #define MAX_VEHICLE_SEATS 8 @@ -3933,8 +3933,8 @@ struct VehicleEntry uint16 VehicleUIIndicatorID; int32 MissileTargetingID; uint16 VehiclePOITypeID; - uint16 SeatID[8]; - uint16 PowerDisplayID[3]; + std::array<uint16, 8> SeatID; + std::array<uint16, 3> PowerDisplayID; }; struct VehicleSeatEntry @@ -4061,7 +4061,7 @@ struct WorldMapOverlayEntry int32 HitRectRight; uint32 PlayerConditionID; uint32 Flags; - uint32 AreaID[MAX_WORLD_MAP_OVERLAY_AREA_IDX]; + std::array<uint32, MAX_WORLD_MAP_OVERLAY_AREA_IDX> AreaID; }; struct WorldStateExpressionEntry |
