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