From c4b287c7bfb2bb2dcb5efacf238e29413ebe77ec Mon Sep 17 00:00:00 2001 From: Treeston Date: Tue, 1 Sep 2020 00:38:46 +0200 Subject: Core/Misc: DBC std::array refactors, and |Hachievement unit tests (cherry picked from commit 3fbbe7cfbe1bc51db12bdc1ec7b21c16d1716366) --- src/server/game/DataStores/DB2Structure.h | 320 +++++++++++++++--------------- 1 file changed, 160 insertions(+), 160 deletions(-) (limited to 'src/server/game/DataStores') 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 BonusPlayerConditionID; + std::array BonusValue; }; struct AdventureMapPOIEntry @@ -104,7 +104,7 @@ struct AnimationDataEntry uint16 Fallback; uint8 BehaviorTier; int32 BehaviorID; - int32 Flags[2]; + std::array Flags; }; struct AnimKitEntry @@ -146,8 +146,8 @@ struct AreaTableEntry uint8 WildBattlePetLevelMax; uint8 WindSettingsID; int32 ContentTuningID; - int32 Flags[2]; - uint16 LiquidTypeID[4]; + std::array Flags; + std::array LiquidTypeID; // helpers bool IsSanctuary() const @@ -290,7 +290,7 @@ struct ArtifactPowerRankEntry struct ArtifactQuestXPEntry { uint32 ID; - uint32 Difficulty[10]; + std::array Difficulty; }; struct ArtifactTierEntry @@ -510,7 +510,7 @@ struct BattlemasterListEntry int32 Flags; int32 IconFileDataID; int32 RequiredPlayerConditionID; - int16 MapID[16]; + std::array MapID; EnumFlag GetFlags() const { return static_cast(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 SoundKitID; + std::array EmoteID; + std::array EmoteDelay; }; struct BroadcastTextDurationEntry @@ -655,7 +655,7 @@ struct ChrCustomizationChoiceEntry uint16 UiOrderIndex; int32 Flags; int32 AddedInPatch; - int32 SwatchColor[2]; + std::array SwatchColor; }; struct ChrCustomizationDisplayInfoEntry @@ -719,8 +719,8 @@ struct ChrCustomizationReqChoiceEntry struct ChrModelEntry { - float FaceCustomizationOffset[3]; - float CustomizeOffset[3]; + std::array FaceCustomizationOffset; + std::array 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 AlteredFormStartVisualKitID; + std::array AlteredFormFinishVisualKitID; int32 HeritageArmorAchievementID; int32 StartingLevel; int32 UiDisplayOrder; @@ -789,10 +789,10 @@ struct ChrRacesEntry int32 HelmetAnimScalingRaceID; int32 TransmogrifyDisabledSlotMask; int32 UnalteredVisualCustomizationRaceID; - float AlteredFormCustomizeOffsetFallback[3]; + std::array AlteredFormCustomizeOffsetFallback; float AlteredFormCustomizeRotationFallback; - float Unknown910_1[3]; - float Unknown910_2[3]; + std::array Unknown910_1; + std::array 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 MasterySpellID; bool IsPetSpecialization() const { @@ -841,7 +841,7 @@ struct CinematicSequencesEntry { uint32 ID; uint32 SoundID; - uint16 Camera[8]; + std::array Camera; }; struct ContentTuningEntry @@ -942,7 +942,7 @@ struct CreatureDisplayInfoEntry int8 Gender; int32 DissolveOutEffectID; int8 CreatureModelMinLod; - int32 TextureVariationFileDataID[3]; + std::array TextureVariationFileDataID; }; struct CreatureDisplayInfoExtraEntry @@ -967,13 +967,13 @@ struct CreatureFamilyEntry int16 PetFoodMask; int8 PetTalentType; int32 IconFileID; - int16 SkillLine[2]; + std::array SkillLine; }; struct CreatureModelDataEntry { uint32 ID; - float GeoBox[6]; + std::array 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 Unknown820_3; // scale related EnumFlag GetFlags() const { return static_cast(Flags); } }; @@ -1272,7 +1272,7 @@ struct CurrencyTypesEntry int32 XpQuestDifficulty; int32 AwardConditionID; int32 MaxQtyWorldStateID; - int32 Flags[2]; + std::array Flags; }; struct CurveEntry @@ -1354,8 +1354,8 @@ struct DungeonEncounterEntry struct DurabilityCostsEntry { uint32 ID; - uint16 WeaponSubClassCost[21]; - uint16 ArmorSubClassCost[8]; + std::array WeaponSubClassCost; + std::array ArmorSubClassCost; }; struct DurabilityQualityEntry @@ -1428,7 +1428,7 @@ struct ExpectedStatModEntry struct FactionEntry { uint32 ID; - Trinity::RaceMask ReputationRaceMask[4]; + std::array, 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 ReputationClassMask; + std::array ReputationFlags; + std::array ReputationBase; + std::array ReputationMax; + std::array ParentFactionMod; // Faction outputs rep * ParentFactionModOut as spillover reputation + std::array 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 Enemies; + std::array Friend; //------------------------------------------------------- end structure @@ -1534,7 +1534,7 @@ struct GameObjectArtKitEntry { uint32 ID; int32 AttachModelFileID; - int32 TextureVariationFileID[3]; + std::array TextureVariationFileID; }; struct GameObjectDisplayInfoEntry @@ -1552,7 +1552,7 @@ struct GameObjectsEntry { LocalizedString Name; DBCPosition3D Pos; - float Rot[4]; + std::array Rot; uint32 ID; int32 OwnerID; int32 DisplayID; @@ -1561,7 +1561,7 @@ struct GameObjectsEntry int32 PhaseUseFlags; int32 PhaseID; int32 PhaseGroupID; - int32 PropValue[8]; + std::array PropValue; }; struct GarrAbilityEntry @@ -1718,7 +1718,7 @@ struct GarrPlotEntry int32 AllianceConstructObjID; uint8 Flags; uint8 UiCategoryID; - uint32 UpgradeRequirement[2]; + std::array UpgradeRequirement; }; struct GarrPlotBuildingEntry @@ -1835,8 +1835,8 @@ struct HeirloomEntry int8 SourceTypeEnum; uint8 Flags; int32 LegacyItemID; - int32 UpgradeItemID[6]; - uint16 UpgradeItemBonusListID[6]; + std::array UpgradeItemID; + std::array 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 Duration; + std::array Date; // dates in unix time starting at January, 1, 2000 + std::array CalendarFlags; + std::array TextureFileDataID; }; struct ImportPriceArmorEntry @@ -1914,13 +1914,13 @@ struct ItemAppearanceEntry struct ItemArmorQualityEntry { uint32 ID; - float Qualitymod[7]; + std::array Qualitymod; }; struct ItemArmorShieldEntry { uint32 ID; - float Quality[7]; + std::array Quality; uint16 ItemLevel; }; @@ -1943,7 +1943,7 @@ struct ItemBagFamilyEntry struct ItemBonusEntry { uint32 ID; - int32 Value[4]; + std::array Value; uint16 ParentItemBonusListID; uint8 Type; uint8 OrderIndex; @@ -2013,35 +2013,35 @@ struct ItemDamageAmmoEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array Quality; }; struct ItemDamageOneHandEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array Quality; }; struct ItemDamageOneHandCasterEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array Quality; }; struct ItemDamageTwoHandEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array Quality; }; struct ItemDamageTwoHandCasterEntry { uint32 ID; uint16 ItemLevel; - float Quality[7]; + std::array 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 ItemID; // required item id + std::array ItemCount; // required count of 1st item + std::array CurrencyID; // required curency id + std::array CurrencyCount; // required curency count }; struct ItemLevelSelectorEntry @@ -2176,7 +2176,7 @@ struct ItemSearchNameEntry uint16 RequiredSkillRank; uint32 RequiredAbility; uint16 ItemLevel; - int32 Flags[4]; + std::array 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 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 StatPercentageOfSocket; + std::array 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 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 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 SocketType; uint8 SheatheType; uint8 Material; uint8 PageMaterialID; uint8 LanguageID; uint8 Bonding; uint8 DamageDamageType; - int8 StatModifierBonusStat[MAX_ITEM_PROTO_STATS]; + std::array StatModifierBonusStat; uint8 ContainerSlots; uint8 MinReputation; uint8 RequiredPVPMedal; @@ -2364,7 +2364,7 @@ struct JournalTierEntry struct KeychainEntry { uint32 ID; - uint8 Key[KEYCHAIN_SIZE]; + std::array Key; }; struct KeystoneAffixEntry @@ -2419,7 +2419,7 @@ struct LFGDungeonsEntry uint16 MentorItemLevel; uint8 MentorCharLevel; int32 ContentTuningID; - int32 Flags[2]; + std::array 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 LightParamsID; }; struct LiquidTypeEntry { uint32 ID; char const* Name; - char const* Texture[6]; + std::array 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 FrameCountTexture; + std::array Color; + std::array Float; + std::array Int; + std::array 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 Index; + std::array Skill; + std::array Type; + std::array Action; }; struct MailTemplateEntry @@ -2504,7 +2504,7 @@ struct MapEntry int16 WindSettingsID; int32 ZmpFileDataID; int32 WdtFileDataID; - int32 Flags[2]; + std::array 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 CriteriaCount; }; struct MapDifficultyEntry @@ -2699,7 +2699,7 @@ struct NumTalentsAtLevelEntry struct OverrideSpellDataEntry { uint32 ID; - int32 Spells[MAX_OVERRIDE_SPELL]; + std::array 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 SkillID; + std::array MinSkill; + std::array MaxSkill; + std::array MinFactionID; + std::array MinReputation; + std::array PrevQuestID; + std::array CurrQuestID; + std::array CurrentCompletedQuestID; + std::array SpellID; + std::array ItemID; + std::array ItemCount; + std::array Explored; + std::array Time; + std::array AuraSpellID; + std::array AuraStacks; + std::array Achievement; + std::array AreaID; + std::array LfgStatus; + std::array LfgCompare; + std::array LfgValue; + std::array CurrencyID; + std::array CurrencyCount; + std::array QuestKillMonster; + std::array MovementFlags; }; struct PowerDisplayEntry @@ -2914,7 +2914,7 @@ struct PvpTierEntry struct QuestFactionRewardEntry { uint32 ID; - int16 Difficulty[10]; + std::array Difficulty; }; struct QuestInfoEntry @@ -2938,7 +2938,7 @@ struct QuestLineXQuestEntry struct QuestMoneyRewardEntry { uint32 ID; - uint32 Difficulty[10]; + std::array Difficulty; }; struct QuestPackageItemEntry @@ -2966,7 +2966,7 @@ struct QuestV2Entry struct QuestXPEntry { uint32 ID; - uint16 Difficulty[10]; + std::array 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 EpicF; + std::array SuperiorF; + std::array GoodF; + std::array Epic; + std::array Superior; + std::array Good; }; struct RewardPackEntry @@ -3177,7 +3177,7 @@ struct SpellAuraOptionsEntry uint8 ProcChance; int32 ProcCharges; uint16 SpellProcsPerMinuteID; - int32 ProcTypeMask[2]; + std::array ProcTypeMask; uint32 SpellID; }; @@ -3293,10 +3293,10 @@ struct SpellEffectEntry float GroupSizeBasePointsCoefficient; float EffectBasePoints; int32 ScalingClass; - int32 EffectMiscValue[2]; - uint32 EffectRadiusIndex[2]; + std::array EffectMiscValue; + std::array EffectRadiusIndex; flag128 EffectSpellClassMask; - int16 ImplicitTarget[2]; + std::array ImplicitTarget; uint32 SpellID; SpellEffectAttributes GetEffectAttributes() const { return static_cast(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 AuraInterruptFlags; + std::array 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 EffectArg; + std::array EffectScalingPoints; uint32 IconFileDataID; int32 MinItemLevel; int32 MaxItemLevel; uint32 TransmogUseConditionID; uint32 TransmogCost; - int16 EffectPointsMin[MAX_ITEM_ENCHANTMENT_EFFECTS]; + std::array EffectPointsMin; uint16 ItemVisual; uint16 Flags; uint16 RequiredSkillID; uint16 RequiredSkillRank; uint16 ItemLevel; uint8 Charges; - uint8 Effect[MAX_ITEM_ENCHANTMENT_EFFECTS]; + std::array 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 LtOperandType; + std::array LtOperand; + std::array Operator; + std::array RtOperandType; + std::array RtOperand; + std::array Logic; }; struct SpellLabelEntry @@ -3398,7 +3398,7 @@ struct SpellLevelsEntry struct SpellMiscEntry { uint32 ID; - int32 Attributes[15]; + std::array 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 RangeMin; + std::array 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 Reagent; + std::array ReagentCount; }; struct SpellReagentsCurrencyEntry @@ -3515,8 +3515,8 @@ struct SpellShapeshiftEntry uint32 ID; int32 SpellID; int8 StanceBarOrder; - int32 ShapeshiftExclude[2]; - int32 ShapeshiftMask[2]; + std::array ShapeshiftExclude; + std::array 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 CreatureDisplayID; + std::array PresetSpellID; EnumFlag GetFlags() const { return static_cast(Flags); } }; @@ -3557,15 +3557,15 @@ struct SpellTotemsEntry { uint32 ID; int32 SpellID; - uint16 RequiredTotemCategoryID[MAX_SPELL_TOTEMS]; - int32 Totem[MAX_SPELL_TOTEMS]; + std::array RequiredTotemCategoryID; + std::array Totem; }; struct SpellVisualEntry { uint32 ID; - float MissileCastOffset[3]; - float MissileImpactOffset[3]; + std::array MissileCastOffset; + std::array MissileImpactOffset; uint32 AnimEventSoundID; int32 Flags; int8 MissileAttachment; @@ -3604,8 +3604,8 @@ struct SpellVisualEffectNameEntry struct SpellVisualMissileEntry { - float CastOffset[3]; - float ImpactOffset[3]; + std::array CastOffset; + std::array ImpactOffset; uint32 ID; uint16 SpellVisualEffectNameID; uint32 SoundEntriesID; @@ -3631,7 +3631,7 @@ struct SpellVisualKitEntry int32 FallbackSpellVisualKitId; uint16 DelayMin; uint16 DelayMax; - int32 Flags[2]; + std::array Flags; }; struct SpellXSpellVisualEntry @@ -3667,7 +3667,7 @@ struct SummonPropertiesEntry struct TactKeyEntry { uint32 ID; - uint8 Key[TACTKEY_SIZE]; + std::array Key; }; struct TalentEntry @@ -3681,7 +3681,7 @@ struct TalentEntry uint16 SpecID; uint32 SpellID; uint32 OverridesSpellID; - uint8 CategoryMask[2]; + std::array CategoryMask; }; struct TaxiNodesEntry @@ -3700,7 +3700,7 @@ struct TaxiNodesEntry float Facing; uint32 SpecialIconConditionID; uint32 VisibilityConditionID; - int32 MountCreatureID[2]; + std::array MountCreatureID; }; struct TaxiPathEntry @@ -3799,7 +3799,7 @@ struct TransportAnimationEntry struct TransportRotationEntry { uint32 ID; - float Rot[4]; + std::array Rot; uint32 TimeIndex; uint32 GameObjectsID; }; @@ -3827,7 +3827,7 @@ struct UiMapAssignmentEntry { DBCPosition2D UiMin; DBCPosition2D UiMax; - DBCPosition3D Region[2]; + std::array 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 Variable; + std::array Op; + std::array Value; EnumFlag GetFlags() const { return static_cast(Flags); } }; @@ -3908,8 +3908,8 @@ struct UnitPowerBarEntry uint16 Flags; float StartInset; float EndInset; - int32 FileDataID[6]; - int32 Color[6]; + std::array FileDataID; + std::array 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 SeatID; + std::array 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 AreaID; }; struct WorldStateExpressionEntry -- cgit v1.2.3