diff options
author | megamage <none@none> | 2009-02-16 20:12:55 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-02-16 20:12:55 -0600 |
commit | 1ad4f8509c10198d7e2c6691a0f17292d6deac0e (patch) | |
tree | 0c96a8c587b162f145aa0fd02fb11e5904607a54 | |
parent | 5881a1c25c760f3b57210d0912be23b356e3d40f (diff) |
[7285] More code cleanups in static data structures use. Author: zhenya
--HG--
branch : trunk
-rw-r--r-- | src/game/Creature.cpp | 2 | ||||
-rw-r--r-- | src/game/GossipDef.cpp | 18 | ||||
-rw-r--r-- | src/game/LootMgr.h | 9 | ||||
-rw-r--r-- | src/game/NPCHandler.h | 1 | ||||
-rw-r--r-- | src/game/ObjectMgr.cpp | 69 | ||||
-rw-r--r-- | src/game/ObjectMgr.h | 7 | ||||
-rw-r--r-- | src/game/QueryHandler.cpp | 17 | ||||
-rw-r--r-- | src/game/SocialMgr.cpp | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 10 | ||||
-rw-r--r-- | src/shared/revision_nr.h | 2 |
10 files changed, 49 insertions, 88 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index eeee530bae1..7fa615d1c8a 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -809,7 +809,7 @@ void Creature::prepareGossipMenu( Player *pPlayer,uint32 gossipid ) if(gso->Id==1) { uint32 textid=GetNpcTextId(); - GossipText * gossiptext=objmgr.GetGossipText(textid); + GossipText const* gossiptext=objmgr.GetGossipText(textid); if(!gossiptext) cantalking=false; } diff --git a/src/game/GossipDef.cpp b/src/game/GossipDef.cpp index b2fdec67688..b68c8b17f00 100644 --- a/src/game/GossipDef.cpp +++ b/src/game/GossipDef.cpp @@ -196,10 +196,7 @@ void PlayerMenu::SendPointOfInterest( float X, float Y, uint32 Icon, uint32 Flag void PlayerMenu::SendTalking( uint32 textID ) { - GossipText *pGossip; - std::string GossipStr; - - pGossip = objmgr.GetGossipText(textID); + GossipText const* pGossip = objmgr.GetGossipText(textID); WorldPacket data( SMSG_NPC_TEXT_UPDATE, 100 ); // guess size data << textID; // can be < 0 @@ -259,14 +256,11 @@ void PlayerMenu::SendTalking( uint32 textID ) data << pGossip->Options[i].Language; - data << pGossip->Options[i].Emotes[0]._Delay; - data << pGossip->Options[i].Emotes[0]._Emote; - - data << pGossip->Options[i].Emotes[1]._Delay; - data << pGossip->Options[i].Emotes[1]._Emote; - - data << pGossip->Options[i].Emotes[2]._Delay; - data << pGossip->Options[i].Emotes[2]._Emote; + for(int j = 0; j < 3; ++j) + { + data << pGossip->Options[i].Emotes[j]._Delay; + data << pGossip->Options[i].Emotes[j]._Emote; + } } } pSession->SendPacket( &data ); diff --git a/src/game/LootMgr.h b/src/game/LootMgr.h index 8f54bb3bee1..2d024b307a9 100644 --- a/src/game/LootMgr.h +++ b/src/game/LootMgr.h @@ -239,18 +239,19 @@ struct Loot // void clear(); void clear() { - items.clear(); gold = 0; PlayersLooting.clear(); for (QuestItemMap::iterator itr = PlayerQuestItems.begin(); itr != PlayerQuestItems.end(); ++itr) delete itr->second; + PlayerQuestItems.clear(); + for (QuestItemMap::iterator itr = PlayerFFAItems.begin(); itr != PlayerFFAItems.end(); ++itr) delete itr->second; + PlayerFFAItems.clear(); + for (QuestItemMap::iterator itr = PlayerNonQuestNonFFAConditionalItems.begin(); itr != PlayerNonQuestNonFFAConditionalItems.end(); ++itr) delete itr->second; - - PlayerQuestItems.clear(); - PlayerFFAItems.clear(); PlayerNonQuestNonFFAConditionalItems.clear(); + PlayersLooting.clear(); items.clear(); quest_items.clear(); gold = 0; diff --git a/src/game/NPCHandler.h b/src/game/NPCHandler.h index e6e97df696b..9020bcd8ec8 100644 --- a/src/game/NPCHandler.h +++ b/src/game/NPCHandler.h @@ -60,7 +60,6 @@ struct GossipTextOption struct GossipText { - uint32 Text_ID; GossipTextOption Options[8]; }; diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index dae60a230f1..7b4c2447c2c 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -144,24 +144,10 @@ ObjectMgr::ObjectMgr() ObjectMgr::~ObjectMgr() { for( QuestMap::iterator i = mQuestTemplates.begin( ); i != mQuestTemplates.end( ); ++i ) - { delete i->second; - } - mQuestTemplates.clear( ); - - for( GossipTextMap::iterator i = mGossipText.begin( ); i != mGossipText.end( ); ++i ) - { - delete i->second; - } - mGossipText.clear( ); - - mAreaTriggers.clear(); for(PetLevelInfoMap::iterator i = petInfo.begin( ); i != petInfo.end( ); ++i ) - { delete[] i->second; - } - petInfo.clear(); // free only if loaded for (int class_ = 0; class_ < MAX_CLASSES; ++class_) @@ -4179,7 +4165,7 @@ void ObjectMgr::LoadInstanceTemplate() // entry->resetTimeHeroic store reset time for both heroic mode instance (raid and non-raid) // entry->resetTimeRaid store reset time for normal raid only // for current state entry->resetTimeRaid == entry->resetTimeHeroic in case raid instances with heroic mode. - // but at some point wee need implement reset time dependen from raid insatance mode + // but at some point wee need implement reset time dependent from raid instance mode if(temp->reset_delay == 0) { // use defaults from the DBC @@ -4202,21 +4188,11 @@ void ObjectMgr::LoadInstanceTemplate() sLog.outString(); } -void ObjectMgr::AddGossipText(GossipText *pGText) -{ - ASSERT( pGText->Text_ID ); - ASSERT( mGossipText.find(pGText->Text_ID) == mGossipText.end() ); - mGossipText[pGText->Text_ID] = pGText; -} - -GossipText *ObjectMgr::GetGossipText(uint32 Text_ID) +GossipText const *ObjectMgr::GetGossipText(uint32 Text_ID) const { - GossipTextMap::const_iterator itr; - for (itr = mGossipText.begin(); itr != mGossipText.end(); ++itr) - { - if(itr->second->Text_ID == Text_ID) - return itr->second; - } + GossipTextMap::const_iterator itr = mGossipText.find(Text_ID); + if(itr != mGossipText.end()) + return &itr->second; return NULL; } @@ -4249,30 +4225,29 @@ void ObjectMgr::LoadGossipText() bar.step(); - pGText = new GossipText; - pGText->Text_ID = fields[cic++].GetUInt32(); - - for (int i=0; i< 8; i++) + uint32 Text_ID = fields[cic++].GetUInt32(); + if(!Text_ID) { - pGText->Options[i].Text_0 = fields[cic++].GetCppString(); - pGText->Options[i].Text_1 = fields[cic++].GetCppString(); + sLog.outErrorDb("Table `npc_text` has record wit reserved id 0, ignore."); + continue; + } - pGText->Options[i].Language = fields[cic++].GetUInt32(); - pGText->Options[i].Probability = fields[cic++].GetFloat(); + GossipText& gText = mGossipText[Text_ID]; - pGText->Options[i].Emotes[0]._Delay = fields[cic++].GetUInt32(); - pGText->Options[i].Emotes[0]._Emote = fields[cic++].GetUInt32(); + for (int i=0; i< 8; i++) + { + gText.Options[i].Text_0 = fields[cic++].GetCppString(); + gText.Options[i].Text_1 = fields[cic++].GetCppString(); - pGText->Options[i].Emotes[1]._Delay = fields[cic++].GetUInt32(); - pGText->Options[i].Emotes[1]._Emote = fields[cic++].GetUInt32(); + gText.Options[i].Language = fields[cic++].GetUInt32(); + gText.Options[i].Probability = fields[cic++].GetFloat(); - pGText->Options[i].Emotes[2]._Delay = fields[cic++].GetUInt32(); - pGText->Options[i].Emotes[2]._Emote = fields[cic++].GetUInt32(); + for(int j=0; j < 3; ++j) + { + gText.Options[i].Emotes[j]._Delay = fields[cic++].GetUInt32(); + gText.Options[i].Emotes[j]._Emote = fields[cic++].GetUInt32(); + } } - - if ( !pGText->Text_ID ) continue; - AddGossipText( pGText ); - } while( result->NextRow() ); sLog.outString(); diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h index 0964047b4d1..342e87459c4 100644 --- a/src/game/ObjectMgr.h +++ b/src/game/ObjectMgr.h @@ -429,8 +429,7 @@ class ObjectMgr return false; } - void AddGossipText(GossipText *pGText); - GossipText *GetGossipText(uint32 Text_ID); + GossipText const* GetGossipText(uint32 Text_ID) const; WorldSafeLocsEntry const *GetClosestGraveYard(float x, float y, float z, uint32 MapId, uint32 team); bool AddGraveYardLink(uint32 id, uint32 zone, uint32 team, bool inDB = true); @@ -786,7 +785,7 @@ class ObjectMgr QuestMap mQuestTemplates; - typedef UNORDERED_MAP<uint32, GossipText*> GossipTextMap; + typedef UNORDERED_MAP<uint32, GossipText> GossipTextMap; typedef UNORDERED_MAP<uint32, uint32> QuestAreaTriggerMap; typedef UNORDERED_MAP<uint32, std::string> ItemTextMap; typedef std::set<uint32> TavernAreaTriggerSet; @@ -796,8 +795,6 @@ class ObjectMgr GuildMap mGuildMap; ArenaTeamMap mArenaTeamMap; - ItemMap mItems; - ItemTextMap mItemTexts; QuestAreaTriggerMap mQuestAreaTriggerMap; diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp index 681318a9de9..9829efc3946 100644 --- a/src/game/QueryHandler.cpp +++ b/src/game/QueryHandler.cpp @@ -322,8 +322,6 @@ void WorldSession::HandleNpcTextQueryOpcode( WorldPacket & recv_data ) uint32 textID; uint64 guid; - GossipText *pGossip; - std::string GossipStr; recv_data >> textID; sLog.outDetail("WORLD: CMSG_NPC_TEXT_QUERY ID '%u'", textID); @@ -331,7 +329,7 @@ void WorldSession::HandleNpcTextQueryOpcode( WorldPacket & recv_data ) recv_data >> guid; GetPlayer()->SetUInt64Value(UNIT_FIELD_TARGET, guid); - pGossip = objmgr.GetGossipText(textID); + GossipText const* pGossip = objmgr.GetGossipText(textID); WorldPacket data( SMSG_NPC_TEXT_UPDATE, 100 ); // guess size data << textID; @@ -393,14 +391,11 @@ void WorldSession::HandleNpcTextQueryOpcode( WorldPacket & recv_data ) data << pGossip->Options[i].Language; - data << pGossip->Options[i].Emotes[0]._Delay; - data << pGossip->Options[i].Emotes[0]._Emote; - - data << pGossip->Options[i].Emotes[1]._Delay; - data << pGossip->Options[i].Emotes[1]._Emote; - - data << pGossip->Options[i].Emotes[2]._Delay; - data << pGossip->Options[i].Emotes[2]._Emote; + for(int j = 0; j < 3; ++j) + { + data << pGossip->Options[i].Emotes[j]._Delay; + data << pGossip->Options[i].Emotes[j]._Emote; + } } } diff --git a/src/game/SocialMgr.cpp b/src/game/SocialMgr.cpp index a0851264451..e98e147b505 100644 --- a/src/game/SocialMgr.cpp +++ b/src/game/SocialMgr.cpp @@ -275,7 +275,7 @@ void SocialMgr::BroadcastToFriendListers(Player *player, WorldPacket *packet) for(SocialMap::iterator itr = m_socialMap.begin(); itr != m_socialMap.end(); ++itr) { - PlayerSocialMap::iterator itr2 = itr->second.m_playerSocialMap.find(guid); + PlayerSocialMap::const_iterator itr2 = itr->second.m_playerSocialMap.find(guid); if(itr2 != itr->second.m_playerSocialMap.end() && (itr2->second.Flags & SOCIAL_FLAG_FRIEND)) { Player *pFriend = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER)); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index b695afe7804..3bd2eb0e54d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -102,7 +102,7 @@ Unit::Unit() m_addDmgOnce = 0; for(int i = 0; i < MAX_TOTEM; ++i) - m_TotemSlot[i] = 0; + m_TotemSlot[i] = 0; m_ObjectSlot[0] = m_ObjectSlot[1] = m_ObjectSlot[2] = m_ObjectSlot[3] = 0; //m_Aura = NULL; @@ -119,9 +119,9 @@ Unit::Unit() m_ShapeShiftFormSpellId = 0; m_canModifyStats = false; - for (int i = 0; i < MAX_SPELL_IMMUNITY; i++) + for (int i = 0; i < MAX_SPELL_IMMUNITY; ++i) m_spellImmune[i].clear(); - for (int i = 0; i < UNIT_MOD_END; i++) + for (int i = 0; i < UNIT_MOD_END; ++i) { m_auraModifiersGroup[i][BASE_VALUE] = 0.0f; m_auraModifiersGroup[i][BASE_PCT] = 1.0f; @@ -131,12 +131,12 @@ Unit::Unit() // implement 50% base damage from offhand m_auraModifiersGroup[UNIT_MOD_DAMAGE_OFFHAND][TOTAL_PCT] = 0.5f; - for (int i = 0; i < 3; i++) + for (int i = 0; i < MAX_ATTACK; ++i) { m_weaponDamage[i][MINDAMAGE] = BASE_MINDAMAGE; m_weaponDamage[i][MAXDAMAGE] = BASE_MAXDAMAGE; } - for (int i = 0; i < MAX_STATS; i++) + for (int i = 0; i < MAX_STATS; ++i) m_createStats[i] = 0.0f; m_attacking = NULL; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 783c0af79f5..239221fd113 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7284" + #define REVISION_NR "7285" #endif // __REVISION_NR_H__ |