aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-01-11 15:03:06 -0800
committerShauren <shauren.trinity@gmail.com>2013-01-11 15:03:06 -0800
commitab038078d237dfd25e2378448aeacd6a202f9aef (patch)
tree45b07cf00e98ec8c7038b97e4ccb3423235cc239 /src
parent66e8d8c69e262df3ca1718fa0e82a5c912718db0 (diff)
parent95fba877fedaf833e74200a1cf537eb48aef2bc6 (diff)
Merge pull request #8915 from Therzok/4.3.4
DBC definitions and a warning fix.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DataStores/DBCStores.cpp1
-rw-r--r--src/server/game/DataStores/DBCStructure.h59
-rw-r--r--src/server/game/DataStores/DBCfmt.h21
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp4
4 files changed, 40 insertions, 45 deletions
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index 99d84bc779b..9ee43f8f206 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -233,7 +233,6 @@ DBCStorage <TaxiPathEntry> sTaxiPathStore(TaxiPathEntryfmt);
TaxiPathNodesByPath sTaxiPathNodesByPath;
static DBCStorage <TaxiPathNodeEntry> sTaxiPathNodeStore(TaxiPathNodeEntryfmt);
-DBCStorage <TeamContributionPointsEntry> sTeamContributionPointsStore(TeamContributionPointsfmt);
DBCStorage <TotemCategoryEntry> sTotemCategoryStore(TotemCategoryEntryfmt);
DBCStorage <VehicleEntry> sVehicleStore(VehicleEntryfmt);
DBCStorage <VehicleSeatEntry> sVehicleSeatStore(VehicleSeatEntryfmt);
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index 00e73dafc32..601e59163ab 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -549,9 +549,9 @@ struct AreaTableEntry
uint32 team; // 12
uint32 LiquidTypeOverride[4]; // 13-16 liquid override by type
float MaxDepth; // 17,
- //float unk13; // 18,
- //uint32 unk19; // 19, All zeros (4.2.2)
- //uint32 unk20; // 20 4.0.0
+ float AmbientMultiplier; // 18 client only?
+ uint32 LightId; // 19
+ //uint32 unk20; // 20 4.0.0 - Mounting related
//uint32 unk21; // 21 4.0.0
//uint32 unk22; // 22 4.0.0
//uint32 unk23; // 23 4.0.0
@@ -668,11 +668,8 @@ struct CharStartOutfitEntry
int32 ItemId[MAX_OUTFIT_ITEMS]; // 2-13
//int32 ItemDisplayId[MAX_OUTFIT_ITEMS]; // 14-25 not required at server side
//int32 ItemInventorySlot[MAX_OUTFIT_ITEMS]; // 26-37 not required at server side
- //uint32 Unknown1; // 38, unique values (index-like with gaps ordered in other way as ids)
- //uint32 Unknown2; // 39
- //uint32 Unknown3; // 40
- //uint32 Unknown4; // 41
- //uint32 Unknown5; // 42
+ uint32 PetDisplayId; // 38 Pet Model ID for starting pet
+ uint32 PetFamilyEntry; // 39 Pet Family Entry for starting pet
};
struct CharTitlesEntry
@@ -853,7 +850,7 @@ struct CurrencyTypesEntry
//char* name; // 2
//char* iconName; // 3
//uint32 unk4; // 4 all 0
- //uint32 unk5; // 5 archaeology-related (?)
+ uint32 HasSubstitution; // 5 archaeology-related (?)
uint32 SubstitutionId; // 6
uint32 TotalCap; // 7
uint32 WeekCap; // 8
@@ -944,9 +941,9 @@ struct FactionEntry
float spilloverRateOut; // 20 Faction outputs rep * spilloverRateOut as spillover reputation
uint32 spilloverMaxRankIn; // 21 The highest rank the faction will profit from incoming spillover
//uint32 spilloverRank_unk; // 22 It does not seem to be the max standing at which a faction outputs spillover ...so no idea
- char* name; // 23 m_name_lang
+ char* name; // 23 m_name_lang
//char* description; // 24 m_description_lang
- //uint32 // 25
+ uint32 GroupExpansion; // 25 m_factionGroupExpansion
// helpers
bool CanHaveReputation() const
@@ -1032,7 +1029,7 @@ struct GemPropertiesEntry
// 2 m_maxcount_inv
// 3 m_maxcount_item
uint32 color; // 4 m_type
- //uint32 // 5
+ uint32 minJewelCraftingSkill; // 5 m_minJewelCraftingSkill
};
struct GlyphPropertiesEntry
@@ -1040,7 +1037,7 @@ struct GlyphPropertiesEntry
uint32 Id;
uint32 SpellId;
uint32 TypeFlags;
- uint32 Unk1; // GlyphIconId (SpellIcon.dbc)
+ uint32 IconId; // GlyphIconId (SpellIcon.dbc)
};
struct GlyphSlotEntry
@@ -1356,7 +1353,7 @@ struct LFGDungeonEntry
uint32 reclevel; // 4
uint32 recminlevel; // 5
uint32 recmaxlevel; // 6
- int32 map; // 7
+ int32 map; // 7
uint32 difficulty; // 8
uint32 flags; // 9
uint32 type; // 10
@@ -1366,6 +1363,7 @@ struct LFGDungeonEntry
//uint32 unk4; // 14
uint32 grouptype; // 15
//char* desc; // 16 Description
+ uint32 randomCategoryId; // 17 RandomDungeonID assigned for this dungeon
// Helpers
uint32 Entry() const { return ID + (type << 24); }
};
@@ -1438,7 +1436,7 @@ struct MapEntry
float entrance_y; // 14 m_corpseY entrance y coordinate in ghost mode (in most cases = normal entrance)
//uint32 timeOfDayOverride; // 15 m_timeOfDayOverride
uint32 addon; // 16 m_expansionID
- uint32 unk_time; // 17 m_raidOffset
+ uint32 expireTime; // 17 m_raidOffset
//uint32 maxPlayers; // 18 m_maxPlayers
int32 rootPhaseMap; // 19 new 4.0.0, mapid, related to phasing
@@ -1530,7 +1528,7 @@ struct OverrideSpellDataEntry
uint32 id; // 0
uint32 spellId[MAX_OVERRIDE_SPELL]; // 1-10
//uint32 unk0; // 11
- //uint32 unk3; // 12 possibly flag
+ //char* SpellBarName; // 12
};
struct PvPDifficultyEntry
@@ -1647,8 +1645,7 @@ struct SkillLineAbilityEntry
uint32 learnOnGetSkill; // 9 m_acquireMethod
uint32 max_value; // 10 m_trivialSkillLineRankHigh
uint32 min_value; // 11 m_trivialSkillLineRankLow
- //uint32 // 12
- //uint32 // 13 4.0.0
+ uint32 character_points[2]; // 12-13 m_characterPoints
};
struct SoundEntriesEntry
@@ -1783,7 +1780,7 @@ struct SpellEntry
//uint32 spellMissileID; // 27 m_spellMissileID not used
//uint32 spellDescriptionVariableID; // 28 m_spellDescriptionVariableID, 3.2.0
uint32 SpellDifficultyId; // 29 m_spellDifficultyID - id from SpellDifficulty.dbc
- //float unk_f1; // 30
+ float SpellCoef; // 30
uint32 SpellScalingId; // 31 SpellScaling.dbc
uint32 SpellAuraOptionsId; // 32 SpellAuraOptions.dbc
uint32 SpellAuraRestrictionsId; // 33 SpellAuraRestrictions.dbc
@@ -1916,9 +1913,9 @@ struct SpellPowerEntry
uint32 manaCostPerlevel; // 2 m_manaCostPerLevel
uint32 ManaCostPercentage; // 3 m_manaCostPct
uint32 manaPerSecond; // 4 m_manaPerSecond
- //uint32 PowerDisplayId; // 5 m_powerDisplayID - id from PowerDisplay.dbc, new in 3.1
- //uint32 unk1; // 6 4.0.0
- //float unk2; // 7 4.3.0
+ uint32 manaPerSecondPerLevel; // 5 m_manaPerSecondPerLevel
+ //uint32 PowerDisplayId; // 6 m_powerDisplayID - id from PowerDisplay.dbc, new in 3.1
+ float ManaCostPercentageFloat; // 7 4.3.0
};
struct SpellRuneCostEntry
@@ -1940,8 +1937,9 @@ struct SpellShapeshiftFormEntry
//char* Name; // 2 unused
uint32 flags1; // 3
int32 creatureType; // 4 <=0 humanoid, other normal creature types
- //uint32 unk1; // 5 unused, related to next field
+ //uint32 spellIcon; // 5 unused, related to next field
uint32 attackSpeed; // 6
+ // Models changed, 0 is main model, the rest 3 are unused.
uint32 modelID_A; // 7 alliance modelid (0 means no model)
uint32 modelID_H; // 8 horde modelid (but only for one form)
//uint32 unk3; // 9 unused always 0
@@ -2078,7 +2076,7 @@ struct TalentTabEntry
//char* internalname; // 6 m_backgroundFile
//char* description; // 7
//uint32 rolesMask; // 8 4.0.0
- //uint32 spellIds[2]; // 9-10 passive mastery bonus spells?
+ //uint32 MasterySpells[2]; // 9-10 passive mastery bonus spells?
};
struct TalentTreePrimarySpellsEntry
@@ -2098,6 +2096,7 @@ struct TaxiNodesEntry
float z; // 4 m_z
char* name; // 5 m_Name_lang
uint32 MountCreatureID[2]; // 6-7 m_MountCreatureID[2]
+ uint32 Flags; // 8 m_Flags
};
struct TaxiPathEntry
@@ -2123,12 +2122,6 @@ struct TaxiPathNodeEntry
uint32 departureEventID; // 10 m_departureEventID
};
-struct TeamContributionPointsEntry
-{
- //uint32 entry; // 0
- float value; // 1 (???)
-};
-
struct TotemCategoryEntry
{
uint32 ID; // 0
@@ -2164,9 +2157,9 @@ struct VehicleEntry
float m_msslTrgtArcRepeat; // 25
float m_msslTrgtArcWidth; // 26
float m_msslTrgtImpactRadius[2]; // 27-28
- char* m_msslTrgtArcTexture; // 29
- char* m_msslTrgtImpactTexture; // 30
- char* m_msslTrgtImpactModel[2]; // 31-32
+ char* m_msslTrgtArcTexture; // 29
+ char* m_msslTrgtImpactTexture; // 30
+ char* m_msslTrgtImpactModel[2]; // 31-32
float m_cameraYawOffset; // 33
uint32 m_uiLocomotionType; // 34
float m_msslTrgtImpactTexRadius; // 35
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index 2cdf5509bc3..29f584b4bae 100644
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -26,7 +26,7 @@ char const Achievementfmt[]="niixsxiixixxii";
const std::string CustomAchievementfmt="pppaaaapapaapp";
const std::string CustomAchievementIndex = "ID";
char const AchievementCriteriafmt[]="niiiiiiiisiiiiixxiiiiii";
-char const AreaTableEntryfmt[]="iiinixxxxxisiiiiifxxxxxxxx";
+char const AreaTableEntryfmt[]="iiinixxxxxisiiiiiffixxxxxx";
char const AreaGroupEntryfmt[]="niiiiiii";
char const AreaPOIEntryfmt[]="niiiiiiiiiiiffixixxixx";
char const AreaTriggerEntryfmt[]="nifffxxxfffff";
@@ -35,7 +35,7 @@ char const AuctionHouseEntryfmt[]="niiix";
char const BankBagSlotPricesEntryfmt[]="ni";
char const BarberShopStyleEntryfmt[]="nixxxiii";
char const BattlemasterListEntryfmt[]="niiiiiiiiixsiiiixxxx";
-char const CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+char const CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxii";
char const CharTitlesEntryfmt[]="nxsxix";
char const ChatChannelsEntryfmt[]="nixsx";
@@ -49,7 +49,7 @@ char const CreatureModelDatafmt[]="nxxxxxxxxxxxxxffxxxxxxxxxxxxxxx";
char const CreatureFamilyfmt[]="nfifiiiiixsx";
char const CreatureSpellDatafmt[]="niiiixxxx";
char const CreatureTypefmt[]="nxx";
-char const CurrencyTypesfmt[]="nixxxxiiiix";
+char const CurrencyTypesfmt[]="nixxxiiiiix";
char const DestructibleModelDatafmt[]="ixxixxxixxxixxxixxxxxxxx";
char const DungeonEncounterfmt[]="iiixisxx";
@@ -57,11 +57,11 @@ char const DurabilityCostsfmt[]="niiiiiiiiiiiiiiiiiiiiiiiiiiiii";
char const DurabilityQualityfmt[]="nf";
char const EmotesEntryfmt[]="nxxiiixx";
char const EmotesTextEntryfmt[]="nxixxxxxxxxxxxxxxxx";
-char const FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixsxx";
+char const FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixsxi";
char const FactionTemplateEntryfmt[]="niiiiiiiiiiiii";
char const GameObjectDisplayInfofmt[]="nsxxxxxxxxxxffffffxxx";
-char const GemPropertiesEntryfmt[]="nixxix";
+char const GemPropertiesEntryfmt[]="nixxii";
char const GlyphPropertiesfmt[]="niii";
char const GlyphSlotfmt[]="nii";
@@ -99,7 +99,7 @@ char const ItemLimitCategoryEntryfmt[]="nxii";
char const ItemRandomPropertiesfmt[]="nxiiixxs";
char const ItemRandomSuffixfmt[]="nsxiiiiiiiiii";
char const ItemSetEntryfmt[]="dsiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
-char const LFGDungeonEntryfmt[]="nsiiiiiiiiixxixixxxxx";
+char const LFGDungeonEntryfmt[]="nsiiiiiiiiixxixixixxx";
char const LiquidTypefmt[]="nxxixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
char const LockEntryfmt[]="niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
char const PhaseEntryfmt[]="nsi";
@@ -120,7 +120,7 @@ char const RandomPropertiesPointsfmt[]="niiiiiiiiiiiiiii";
char const ScalingStatDistributionfmt[]="niiiiiiiiiiiiiiiiiiiixi";
char const ScalingStatValuesfmt[]="iniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii";
char const SkillLinefmt[]="nisxixi";
-char const SkillLineAbilityfmt[]="niiiixxiiiiixx";
+char const SkillLineAbilityfmt[]="niiiixxiiiiiii";
char const SoundEntriesfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
char const SpellCastTimefmt[]="nixx";
char const SpellCategoriesEntryfmt[]="diiiiii";
@@ -129,7 +129,7 @@ const std::string CustomSpellDifficultyfmt="ppppp";
const std::string CustomSpellDifficultyIndex="id";
char const SpellDurationfmt[]="niii";
char const SpellEffectEntryfmt[]="nifiiiffiiiiiifiifiiiiiiiix";
-char const SpellEntryfmt[]="niiiiiiiiiiiiiiifiiiissxxiixxixiiiiiiixiiiiiiiix";
+char const SpellEntryfmt[]="niiiiiiiiiiiiiiifiiiissxxiixxifiiiiiiixiiiiiiiix";
const std::string CustomSpellEntryfmt="papppppppppppapapaaaaaaaaaaapaaapapppppppaaaaapaapaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppaaaaaapppppppppaaapppppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppapppaaaaappaaaaaaa";
const std::string CustomSpellEntryIndex = "Id";
char const SpellFocusObjectfmt[]="nx";
@@ -141,7 +141,7 @@ char const SpellReagentsEntryfmt[]="diiiiiiiiiiiiiiii";
char const SpellScalingEntryfmt[]="diiiiffffffffffi";
char const SpellTotemsEntryfmt[]="niiii";
char const SpellTargetRestrictionsEntryfmt[]="nxiiii";
-char const SpellPowerEntryfmt[]="diiiixxx";
+char const SpellPowerEntryfmt[]="diiiiixf";
char const SpellInterruptsEntryfmt[]="dixixi";
char const SpellEquippedItemsEntryfmt[]="diii";
char const SpellAuraOptionsEntryfmt[]="niiii";
@@ -158,10 +158,9 @@ char const SummonPropertiesfmt[] = "niiiii";
char const TalentEntryfmt[]="niiiiiiiiixxixxxxxx";
char const TalentTabEntryfmt[]="nxxiiixxxxx";
char const TalentTreePrimarySpellsfmt[]="diix";
-char const TaxiNodesEntryfmt[]="nifffsiixxx";
+char const TaxiNodesEntryfmt[]="nifffsiiixx";
char const TaxiPathEntryfmt[]="niii";
char const TaxiPathNodeEntryfmt[]="diiifffiiii";
-char const TeamContributionPointsfmt[]="df";
char const TotemCategoryEntryfmt[]="nxii";
char const VehicleEntryfmt[]="niffffiiiiiiiifffffffffffffffssssfifiixx";
char const VehicleSeatEntryfmt[]="niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxxxxxxxxxx";
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index b30632f9e7a..3d2e84c57e8 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -456,6 +456,7 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
static char const* move_type_name[MAX_MOVE_TYPE] = { "Walk", "Run", "RunBack", "Swim", "SwimBack", "TurnRate", "Flight", "FlightBack", "PitchRate" };
+ /*
switch (opcode)
{
//case CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK: move_type = MOVE_WALK; force_move_type = MOVE_WALK; break;
@@ -471,6 +472,9 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
sLog->outError(LOG_FILTER_NETWORKIO, "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode);
return;
}
+ */
+ sLog->outError(LOG_FILTER_NETWORKIO, "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode);
+ return;
// skip all forced speed changes except last and unexpected
// in run/mounted case used one ACK and it must be skipped.m_forced_speed_changes[MOVE_RUN} store both.