@@ -143,7 +143,7 @@ void MovableMan::Destroy()
143143{
144144 for (std::deque<Actor *>::iterator it1 = m_Actors.begin (); it1 != m_Actors.end (); ++it1)
145145 delete (*it1);
146- for (std::deque<HeldDevice *>::iterator it2 = m_Items.begin (); it2 != m_Items.end (); ++it2)
146+ for (std::deque<MovableObject *>::iterator it2 = m_Items.begin (); it2 != m_Items.end (); ++it2)
147147 delete (*it2);
148148 for (std::deque<MovableObject *>::iterator it3 = m_Particles.begin (); it3 != m_Particles.end (); ++it3)
149149 delete (*it3);
@@ -270,7 +270,7 @@ void MovableMan::PurgeAllMOs()
270270{
271271 for (std::deque<Actor *>::iterator it1 = m_Actors.begin (); it1 != m_Actors.end (); ++it1)
272272 delete (*it1);
273- for (std::deque<HeldDevice *>::iterator it2 = m_Items.begin (); it2 != m_Items.end (); ++it2)
273+ for (std::deque<MovableObject *>::iterator it2 = m_Items.begin (); it2 != m_Items.end (); ++it2)
274274 delete (*it2);
275275 for (std::deque<MovableObject *>::iterator it3 = m_Particles.begin (); it3 != m_Particles.end (); ++it3)
276276 delete (*it3);
@@ -888,8 +888,8 @@ void MovableMan::AddParticle(MovableObject *particleToAdd){
888888 particleToAdd->NewFrame ();
889889 particleToAdd->SetAge (0 );
890890 }
891- if (HeldDevice *particleToAddAsHeldDevice = dynamic_cast <HeldDevice *>(particleToAdd )) {
892- m_AddedItems.push_back (particleToAddAsHeldDevice );
891+ if (particleToAdd-> IsDevice ( )) {
892+ m_AddedItems.push_back (particleToAdd );
893893 } else {
894894 m_AddedParticles.push_back (particleToAdd);
895895 }
@@ -952,7 +952,8 @@ bool MovableMan::RemoveItem(MovableObject *pItemToRem)
952952
953953 if (pItemToRem)
954954 {
955- for (std::deque<HeldDevice *>::iterator itr = m_Items.begin (); itr != m_Items.end (); ++itr) {
955+ for (std::deque<MovableObject *>::iterator itr = m_Items.begin (); itr != m_Items.end (); ++itr)
956+ {
956957 if (*itr == pItemToRem)
957958 {
958959 m_Items.erase (itr);
@@ -963,7 +964,8 @@ bool MovableMan::RemoveItem(MovableObject *pItemToRem)
963964 // Try the newly added items if we couldn't find it in the regular deque
964965 if (!removed)
965966 {
966- for (std::deque<HeldDevice *>::iterator itr = m_AddedItems.begin (); itr != m_AddedItems.end (); ++itr) {
967+ for (std::deque<MovableObject *>::iterator itr = m_AddedItems.begin (); itr != m_AddedItems.end (); ++itr)
968+ {
967969 if (*itr == pItemToRem)
968970 {
969971 m_AddedItems.erase (itr);
@@ -1171,7 +1173,8 @@ bool MovableMan::IsDevice(const MovableObject *pMOToCheck)
11711173
11721174 if (pMOToCheck)
11731175 {
1174- for (std::deque<HeldDevice *>::iterator itr = m_Items.begin (); !found && itr != m_Items.end (); ++itr) {
1176+ for (std::deque<MovableObject *>::iterator itr = m_Items.begin (); !found && itr != m_Items.end (); ++itr)
1177+ {
11751178 if (*itr == pMOToCheck)
11761179 {
11771180 found = true ;
@@ -1181,7 +1184,7 @@ bool MovableMan::IsDevice(const MovableObject *pMOToCheck)
11811184 // Try the items just added this frame
11821185 if (!found)
11831186 {
1184- for (std::deque<HeldDevice *>::iterator itr = m_AddedItems.begin (); !found && itr != m_AddedItems.end (); ++itr)
1187+ for (std::deque<MovableObject *>::iterator itr = m_AddedItems.begin (); !found && itr != m_AddedItems.end (); ++itr)
11851188 {
11861189 if (*itr == pMOToCheck)
11871190 {
@@ -1430,13 +1433,14 @@ int MovableMan::GetAllItems(bool transferOwnership, std::list<SceneObject *> &it
14301433 int addedCount = 0 ;
14311434
14321435 // Add all regular Items
1433- for (std::deque<HeldDevice *>::iterator iIt = m_Items.begin (); iIt != m_Items.end (); ++iIt) {
1436+ for (std::deque<MovableObject *>::iterator iIt = m_Items.begin (); iIt != m_Items.end (); ++iIt)
1437+ {
14341438 itemList.push_back ((*iIt));
14351439 addedCount++;
14361440 }
14371441
14381442 // Add all Items added this frame
1439- for (std::deque<HeldDevice *>::iterator iIt = m_AddedItems.begin (); iIt != m_AddedItems.end (); ++iIt)
1443+ for (std::deque<MovableObject *>::iterator iIt = m_AddedItems.begin (); iIt != m_AddedItems.end (); ++iIt)
14401444 {
14411445 itemList.push_back ((*iIt));
14421446 addedCount++;
@@ -1544,7 +1548,8 @@ void MovableMan::RedrawOverlappingMOIDs(MovableObject *pOverlapsThis)
15441548 (*aIt)->DrawMOIDIfOverlapping (pOverlapsThis);
15451549 }
15461550
1547- for (std::deque<HeldDevice *>::iterator iIt = m_Items.begin (); iIt != m_Items.end (); ++iIt) {
1551+ for (std::deque<MovableObject *>::iterator iIt = m_Items.begin (); iIt != m_Items.end (); ++iIt)
1552+ {
15481553 (*iIt)->DrawMOIDIfOverlapping (pOverlapsThis);
15491554 }
15501555
@@ -1595,8 +1600,8 @@ void MovableMan::Update()
15951600 // Will use some common iterators
15961601 std::deque<Actor *>::iterator aIt;
15971602 std::deque<Actor *>::iterator amidIt;
1598- std::deque<HeldDevice *>::iterator iIt;
1599- std::deque<HeldDevice *>::iterator imidIt;
1603+ std::deque<MovableObject *>::iterator iIt;
1604+ std::deque<MovableObject *>::iterator imidIt;
16001605 std::deque<MovableObject *>::iterator parIt;
16011606 std::deque<MovableObject *>::iterator midIt;
16021607
@@ -1981,12 +1986,14 @@ void MovableMan::VerifyMOIDIndex()
19811986 }
19821987
19831988
1984- for (std::deque<HeldDevice *>::iterator itr = m_Items.begin (); itr != m_Items.end (); ++itr) {
1989+ for (std::deque<MovableObject *>::iterator itr = m_Items.begin (); itr != m_Items.end (); ++itr)
1990+ {
19851991 RTEAssert ((*itr)->GetID () == g_NoMOID || (*itr)->GetID () < GetMOIDCount (), " MOIDIndex broken!" );
19861992 RTEAssert ((*itr)->GetRootID () == g_NoMOID || ((*itr)->GetRootID () >= 0 && (*itr)->GetRootID () < g_MovableMan.GetMOIDCount ()), " MOIDIndex broken!" );
19871993 }
19881994 // Try the items just added this frame
1989- for (std::deque<HeldDevice *>::iterator itr = m_AddedItems.begin (); itr != m_AddedItems.end (); ++itr) {
1995+ for (std::deque<MovableObject *>::iterator itr = m_AddedItems.begin (); itr != m_AddedItems.end (); ++itr)
1996+ {
19901997 RTEAssert ((*itr)->GetID () == g_NoMOID || (*itr)->GetID () < GetMOIDCount (), " MOIDIndex broken!" );
19911998 RTEAssert ((*itr)->GetRootID () == g_NoMOID || ((*itr)->GetRootID () >= 0 && (*itr)->GetRootID () < g_MovableMan.GetMOIDCount ()), " MOIDIndex broken!" );
19921999 }
@@ -2022,7 +2029,7 @@ void MovableMan::UpdateDrawMOIDs(BITMAP *pTargetBitmap)
20222029 }
20232030 }
20242031
2025- for (HeldDevice *item : m_Items) {
2032+ for (MovableObject *item : m_Items) {
20262033 if (!item->IsSetToDelete ()) {
20272034 item->UpdateMOID (m_MOIDIndex);
20282035 item->Draw (pTargetBitmap, Vector (), g_DrawMOID, true );
@@ -2056,7 +2063,7 @@ void MovableMan::Draw(BITMAP *pTargetBitmap, const Vector &targetPos)
20562063 for (std::deque<MovableObject *>::iterator parIt = m_Particles.begin (); parIt != m_Particles.end (); ++parIt)
20572064 (*parIt)->Draw (pTargetBitmap, targetPos);
20582065
2059- for (std::deque<HeldDevice *>::reverse_iterator itmIt = m_Items.rbegin (); itmIt != m_Items.rend (); ++itmIt)
2066+ for (std::deque<MovableObject *>::reverse_iterator itmIt = m_Items.rbegin (); itmIt != m_Items.rend (); ++itmIt)
20602067 (*itmIt)->Draw (pTargetBitmap, targetPos);
20612068
20622069 for (std::deque<Actor *>::reverse_iterator aIt = m_Actors.rbegin (); aIt != m_Actors.rend (); ++aIt)
@@ -2073,7 +2080,7 @@ void MovableMan::Draw(BITMAP *pTargetBitmap, const Vector &targetPos)
20732080void MovableMan::DrawHUD (BITMAP *pTargetBitmap, const Vector &targetPos, int which, bool playerControlled)
20742081{
20752082 // Draw HUD elements
2076- for (std::deque<HeldDevice *>::reverse_iterator itmIt = m_Items.rbegin (); itmIt != m_Items.rend (); ++itmIt)
2083+ for (std::deque<MovableObject *>::reverse_iterator itmIt = m_Items.rbegin (); itmIt != m_Items.rend (); ++itmIt)
20772084 (*itmIt)->DrawHUD (pTargetBitmap, targetPos, which);
20782085
20792086 for (std::deque<Actor *>::reverse_iterator aIt = m_Actors.rbegin (); aIt != m_Actors.rend (); ++aIt)
0 commit comments