aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsilverice <none@none>2010-03-25 04:09:26 +0200
committersilverice <none@none>2010-03-25 04:09:26 +0200
commit5f60483033c151ca43a4da42b1640409f0a75f49 (patch)
tree7d59bfd26ab995cd731989cf7d375df3b1059c7c
parent808254af5056f17e695876e4d3d11b02b756079c (diff)
cleanups in vehicle accessories storage
transfer accesory list by pointer, make it constant --HG-- branch : trunk
-rw-r--r--src/game/ObjectMgr.cpp5
-rw-r--r--src/game/ObjectMgr.h7
-rw-r--r--src/game/Vehicle.cpp56
3 files changed, 10 insertions, 58 deletions
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index 76b132462e8..ba06d8b9c84 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -2367,7 +2367,6 @@ void ObjectMgr::LoadItemPrototypes()
void ObjectMgr::LoadVehicleAccessories()
{
m_VehicleAccessoryMap.clear(); // needed for reload case
- VehicleAccessoryList mVehicleList;
uint32 count = 0;
@@ -2408,9 +2407,7 @@ void ObjectMgr::LoadVehicleAccessories()
continue;
}
- mVehicleList = GetVehicleAccessoryList(uiEntry);
- mVehicleList.push_back(VehicleAccessory(uiAccessory, uiSeat, bMinion));
- m_VehicleAccessoryMap[uiEntry] = mVehicleList;
+ m_VehicleAccessoryMap[uiEntry].push_back(VehicleAccessory(uiAccessory, uiSeat, bMinion));
++count;
} while (result->NextRow());
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h
index 492c4084e42..2e7de177fdb 100644
--- a/src/game/ObjectMgr.h
+++ b/src/game/ObjectMgr.h
@@ -583,13 +583,12 @@ class ObjectMgr
return NULL;
}
- VehicleAccessoryList GetVehicleAccessoryList(uint32 uiEntry)
+ VehicleAccessoryList const* GetVehicleAccessoryList(uint32 uiEntry) const
{
- VehicleAccessoryList mVehList;
VehicleAccessoryMap::const_iterator itr = m_VehicleAccessoryMap.find(uiEntry);
if (itr != m_VehicleAccessoryMap.end())
- mVehList = itr->second;
- return mVehList;
+ return &itr->second;
+ return NULL;
}
void LoadGuilds();
diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp
index f25816ff121..6fcea316787 100644
--- a/src/game/Vehicle.cpp
+++ b/src/game/Vehicle.cpp
@@ -91,56 +91,12 @@ void Vehicle::Install()
void Vehicle::InstallAllAccessories()
{
- VehicleAccessoryList mVehicleList = objmgr.GetVehicleAccessoryList(me->GetEntry());
- if (mVehicleList.size())
- for (VehicleAccessoryList::iterator itr2 = mVehicleList.begin(); itr2 < mVehicleList.end(); ++itr2)
- InstallAccessory(itr2->uiAccessory, itr2->uiSeat, itr2->bMinion);
- /*switch(me->GetEntry())
- {
- //case 27850:InstallAccessory(27905,1);break;
- case 28782:InstallAccessory(28768,0,false);break; // Acherus Deathcharger
- case 28312:InstallAccessory(28319,7);break;
- case 32627:InstallAccessory(32629,7);break;
- case 32930:
- InstallAccessory(32933,0);
- InstallAccessory(32934,1);
- break;
- case 33109:InstallAccessory(33167,1);break;
- case 33060:InstallAccessory(33067,7);break;
- case 33113:
- InstallAccessory(33114,0);
- InstallAccessory(33114,1);
- InstallAccessory(33114,2);
- InstallAccessory(33114,3);
- InstallAccessory(33139,7);
- break;
- case 33114:
- InstallAccessory(33143,2); // Overload Control Device
- InstallAccessory(33142,1); // Leviathan Defense Turret
- break;
- case 33214:InstallAccessory(33218,1,false);break; // Mechanolift 304-A
- case 35637:InstallAccessory(34705,0,false);break;
- case 35633:InstallAccessory(34702,0,false);break;
- case 35768:InstallAccessory(34701,0,false);break;
- case 34658:InstallAccessory(34657,0,false);break;
- case 35636:InstallAccessory(34703,0,false);break;
- case 35638:InstallAccessory(35572,0,false);break;
- case 35635:InstallAccessory(35569,0,false);break;
- case 35640:InstallAccessory(35571,0,false);break;
- case 35641:InstallAccessory(35570,0,false);break;
- case 35634:InstallAccessory(35617,0,false);break;
- case 33298:InstallAccessory(35332,0);break; //Darnassian Nightsaber
- case 33416:InstallAccessory(35330,0);break; //Exodar Elekk
- case 33297:InstallAccessory(35328,0);break; //Stormwind Steed
- case 33414:InstallAccessory(35327,0);break; //Forsaken Warhorse
- case 33301:InstallAccessory(35331,0);break; //Gnomeregan Mechanostrider
- case 33408:InstallAccessory(35329,0);break; //Ironforge Ram
- case 33300:InstallAccessory(35325,0);break; //Thunder Bluff Kodo
- case 33409:InstallAccessory(35314,0);break; //Orgrimmar Wolf
- case 33418:InstallAccessory(35326,0);break; //Silvermoon Hawkstrider
- case 33299:InstallAccessory(35323,0);break; //Darkspear Raptor
- case 35491:InstallAccessory(35451,0,false);break; //Black Knight
- }*/
+ VehicleAccessoryList const* mVehicleList = objmgr.GetVehicleAccessoryList(me->GetEntry());
+ if (!mVehicleList)
+ return;
+
+ for (VehicleAccessoryList::const_iterator itr = mVehicleList->begin(); itr != mVehicleList->end(); ++itr)
+ InstallAccessory(itr->uiAccessory, itr->uiSeat, itr->bMinion);
}
void Vehicle::Uninstall()