[Scummvm-cvs-logs] scummvm master -> a1d9281fb4002b298a4c8f34186a71d1a98b83e5

sev- sev at scummvm.org
Sun Mar 2 20:04:51 CET 2014


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a1d9281fb4 FULLPIPE: Implement scene18_preload()


Commit: a1d9281fb4002b298a4c8f34186a71d1a98b83e5
    https://github.com/scummvm/scummvm/commit/a1d9281fb4002b298a4c8f34186a71d1a98b83e5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-02T11:04:09-08:00

Commit Message:
FULLPIPE: Implement scene18_preload()

Changed paths:
    engines/fullpipe/scenes/scene18and19.cpp
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h



diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index 93bf000..0f03a68 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -49,7 +49,18 @@ struct Swinger {
 };
 
 void scene18_preload() {
-	warning("WARNING: scene18_preload()");
+    g_fp->_scene3 = 0;
+
+	for (SceneTagList::iterator s = g_fp->_gameProject->_sceneTagList->begin(); s != g_fp->_gameProject->_sceneTagList->end(); ++s) {
+		if (s->_sceneId == SC_18) {
+			g_fp->_scene3 = s->_scene;
+			s->_scene = 0;
+
+			g_fp->_scene3->getStaticANIObject1ById(ANI_WHIRLIGIG_18, -1)->freeMovementsPixelData();
+
+			break;
+		}
+	}
 }
 
 void scene19_preload(Scene *sc, int key) {
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index bdb46b9..86082c6 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -509,6 +509,11 @@ void StaticANIObject::loadMovementsPixelData() {
 		((Movement *)_movements[i])->loadPixelData();
 }
 
+void StaticANIObject::freeMovementsPixelData() {
+	for (uint i = 0; i < _movements.size(); i++)
+		((Movement *)_movements[i])->freePixelData();
+}
+
 Statics *StaticANIObject::addReverseStatics(Statics *st) {
 	Statics *res = getStaticsById(st->_staticsId ^ 0x4000);
 
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index b7eee2e..8328e76 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -224,6 +224,7 @@ public:
 
 	void initMovements();
 	void loadMovementsPixelData();
+	void freeMovementsPixelData();
 	void preloadMovements(MovTable *mt);
 
 	void setSomeDynamicPhaseIndex(int val) { _someDynamicPhaseIndex = val; }






More information about the Scummvm-git-logs mailing list