r127 - trunk/src

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Aug 31 11:10:27 EDT 2005


Author: jonas
Date: 2005-08-31 11:10:27 -0400 (Wed, 31 Aug 2005)
New Revision: 127

Modified:
   trunk/src/gfxeng.cpp
   trunk/src/lost_penguins.cpp
   trunk/src/objectpools.cpp
   trunk/src/scenario.cpp
Log:
few memory fixes...

Modified: trunk/src/gfxeng.cpp
===================================================================
--- trunk/src/gfxeng.cpp	2005-08-31 13:09:29 UTC (rev 126)
+++ trunk/src/gfxeng.cpp	2005-08-31 15:10:27 UTC (rev 127)
@@ -19,6 +19,7 @@
   show_bar(true),
   show_fps(true),
   fullscreen(config.full) {
+    updatetype=UPDATE_ALL;
     shift.x=0;
     shift.y=0;
     resize(config.width, config.height);
@@ -32,8 +33,7 @@
 }
 
 void GraphicsEngine::update(Uint8 upd) {
-    if (updatetype==UPDATE_ALL) return;
-    else updatetype=upd;
+    if (updatetype!=UPDATE_ALL) updatetype=upd;
 }
 
 void GraphicsEngine::draw() {

Modified: trunk/src/lost_penguins.cpp
===================================================================
--- trunk/src/lost_penguins.cpp	2005-08-31 13:09:29 UTC (rev 126)
+++ trunk/src/lost_penguins.cpp	2005-08-31 15:10:27 UTC (rev 127)
@@ -66,6 +66,10 @@
 int quitGame(int errorcode=0) {
     cout << endl << "Quitting game (exit code: " << errorcode << ")...\n";
     closeMenus();
+    if (editor) {
+        cout << "Deleting Editor...\n";
+        delete editor;
+    }
     delete scenario;
     cout << "Scenario closed...\n";
     delete sfxeng;
@@ -77,10 +81,6 @@
     delete sndcache;
     cout << "Deleting ImageCache...\n";
     delete imgcache;
-    if (editor) {
-        cout << "Deleting Editor...\n";
-        delete editor;
-    }
     cout << "Quiting SDL...\n";
     SDL_Quit();
     exit(errorcode);

Modified: trunk/src/objectpools.cpp
===================================================================
--- trunk/src/objectpools.cpp	2005-08-31 13:09:29 UTC (rev 126)
+++ trunk/src/objectpools.cpp	2005-08-31 15:10:27 UTC (rev 127)
@@ -123,10 +123,11 @@
 ///\todo Fix this mess
 object_iterator ObjectsPool::removeObject(object_iterator it) {
     if (it!=objectspool.end()) {
-        objectspool.erase(*it);
-        if (Character* ptrc = dynamic_cast<Character*>(*it)) {
+        Object* obj=*it;
+        objectspool.erase(obj);
+        if (Character* ptrc = dynamic_cast<Character*>(obj)) {
             characterspool.erase(ptrc);
-            if(Player* ptrv = dynamic_cast<Player*>(*it)) {
+            if(Player* ptrv = dynamic_cast<Player*>(obj)) {
                 if (playerspool.erase(ptrv)) {
                     currentplayer=playerspool.begin();
                     if (currentplayer!=playerspool.end()) {
@@ -134,10 +135,10 @@
                         scenario->player=*currentplayer;
                     } else scenario->player=NULL;
                 }
-            } else if (Monster* ptrm = dynamic_cast<Monster*>(*it)) monsterspool.erase(ptrm);
+            } else if (Monster* ptrm = dynamic_cast<Monster*>(obj)) monsterspool.erase(ptrm);
         }
-        (*it)->destroy();
-        return (++it);
+        (obj)->destroy();
+        return (objectspool.begin());
     } else return objectspool.end();
 }
 

Modified: trunk/src/scenario.cpp
===================================================================
--- trunk/src/scenario.cpp	2005-08-31 13:09:29 UTC (rev 126)
+++ trunk/src/scenario.cpp	2005-08-31 15:10:27 UTC (rev 127)
@@ -77,7 +77,6 @@
 
 int Scenario::reloadMap() {
     reinitMap();
-    sfxeng->playMusic((config.datadir + "01theme.wav").c_str());
     string image;
     string cname,arg1,arg2,arg3;
     Uint16 x,y;
@@ -127,6 +126,8 @@
         }
     }
 
+    sfxeng->playMusic((config.datadir + "01theme.wav").c_str());
+
     //Has a background been found?
     if (background) {
         if (pool->playerspool.size()>0) player=*pool->playerspool.begin();




More information about the lostpenguins-commits mailing list