[Scummvm-cvs-logs] SF.net SVN: scummvm:[46898] scummvm/trunk/engines/teenagent

megath at users.sourceforge.net megath at users.sourceforge.net
Sat Jan 2 21:44:48 CET 2010


Revision: 46898
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46898&view=rev
Author:   megath
Date:     2010-01-02 20:44:47 +0000 (Sat, 02 Jan 2010)

Log Message:
-----------
added fadeout tables

Modified Paths:
--------------
    scummvm/trunk/engines/teenagent/objects.cpp
    scummvm/trunk/engines/teenagent/objects.h
    scummvm/trunk/engines/teenagent/scene.cpp
    scummvm/trunk/engines/teenagent/scene.h

Modified: scummvm/trunk/engines/teenagent/objects.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/objects.cpp	2010-01-02 20:20:36 UTC (rev 46897)
+++ scummvm/trunk/engines/teenagent/objects.cpp	2010-01-02 20:44:47 UTC (rev 46898)
@@ -172,5 +172,10 @@
 	rect.save();
 }
 
+void FadeType::load(byte *src) {
+	rect.load(src);
+	src += 8;
+	value = *src;
+}
 
 } // End of namespace TeenAgent

Modified: scummvm/trunk/engines/teenagent/objects.h
===================================================================
--- scummvm/trunk/engines/teenagent/objects.h	2010-01-02 20:20:36 UTC (rev 46897)
+++ scummvm/trunk/engines/teenagent/objects.h	2010-01-02 20:44:47 UTC (rev 46898)
@@ -215,6 +215,13 @@
 	byte * _base;
 };
 
+struct FadeType {
+	Rect rect;
+	byte value;
+
+	void load(byte *src);
+};
+
 //\todo move it to util.h?
 template<typename T> inline T SIGN (T x) { return (x > 0)? 1: ((x < 0)? -1: 0); }
 

Modified: scummvm/trunk/engines/teenagent/scene.cpp
===================================================================
--- scummvm/trunk/engines/teenagent/scene.cpp	2010-01-02 20:20:36 UTC (rev 46897)
+++ scummvm/trunk/engines/teenagent/scene.cpp	2010-01-02 20:44:47 UTC (rev 46898)
@@ -221,6 +221,7 @@
 	//loading objects & walkboxes
 	objects.resize(42);
 	walkboxes.resize(42);
+	fades.resize(42);
 	
 	for (byte i = 0; i < 42; ++i) {
 		Common::Array<Object> &scene_objects = objects[i];
@@ -248,6 +249,16 @@
 			//walkbox[i]->dump();
 			scene_walkboxes.push_back(w);
 		}
+
+		byte *fade_table = res->dseg.ptr(res->dseg.get_word(0x663e + i * 2));
+		Common::Array<FadeType> &scene_fades = fades[i];
+		while(READ_LE_UINT16(fade_table) != 0xffff) {
+			FadeType fade;
+			fade.load(fade_table);
+			fade_table += 9;
+			scene_fades.push_back(fade);
+		}
+		debug(0, "scene[%u] has %u fadeboxes", i + 1, scene_fades.size());
 	}
 }
 

Modified: scummvm/trunk/engines/teenagent/scene.h
===================================================================
--- scummvm/trunk/engines/teenagent/scene.h	2010-01-02 20:20:36 UTC (rev 46897)
+++ scummvm/trunk/engines/teenagent/scene.h	2010-01-02 20:44:47 UTC (rev 46898)
@@ -201,6 +201,7 @@
 	
 	Common::Array<Common::Array<Object> > objects;
 	Common::Array<Common::Array<Walkbox> > walkboxes;
+	Common::Array<Common::Array<FadeType> > fades;
 
 	Common::String message;
 	Common::Point message_pos;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list