[Scummvm-cvs-logs] SF.net SVN: scummvm:[49129] scummvm/trunk/engines/sci/engine/script.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri May 21 15:31:45 CEST 2010


Revision: 49129
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49129&view=rev
Author:   thebluegr
Date:     2010-05-21 13:31:45 +0000 (Fri, 21 May 2010)

Log Message:
-----------
Slight cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/script.cpp

Modified: scummvm/trunk/engines/sci/engine/script.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/script.cpp	2010-05-21 12:39:54 UTC (rev 49128)
+++ scummvm/trunk/engines/sci/engine/script.cpp	2010-05-21 13:31:45 UTC (rev 49129)
@@ -240,13 +240,9 @@
 
 	seeker = scr->_heapStart + 4 + READ_SCI11ENDIAN_UINT16(scr->_heapStart + 2) * 2;
 	while (READ_SCI11ENDIAN_UINT16(seeker) == SCRIPT_OBJECT_MAGIC_NUMBER) {
-		reg_t reg;
-		Object *obj;
+		reg_t reg = make_reg(seg, seeker - scr->_buf);
+		Object *obj = scr->scriptObjInit(reg);
 
-		reg.segment = seg;
-		reg.offset = seeker - scr->_buf;
-		obj = scr->scriptObjInit(reg);
-
 #if 0
 		if (obj->_variables[5].offset != 0xffff) {
 			obj->_variables[5] = INST_LOOKUP_CLASS(obj->_variables[5].offset);
@@ -311,10 +307,6 @@
 
 	scr->init(script_nr, resMan);
 
-	reg_t reg;
-	reg.segment = seg_id;
-	reg.offset = 0;
-
 	// Set heap position (beyond the size word)
 	scr->setLockers(1);
 	scr->setExportTableOffset(0);
@@ -475,18 +467,15 @@
 
 int script_instantiate_sci11(ResourceManager *resMan, SegManager *segMan, int script_nr) {
 	Resource *script, *heap;
-	int _heapStart;
-	reg_t reg;
 	int was_new;
-
 	const int seg_id = script_instantiate_common(resMan, segMan, script_nr, &script, &heap, &was_new);
 
 	if (was_new)
 		return seg_id;
 
 	Script *scr = segMan->getScript(seg_id);
+	int _heapStart = script->size;
 
-	_heapStart = script->size;
 	if (script->size & 2)
 		_heapStart++;
 
@@ -496,15 +485,12 @@
 	if (READ_SCI11ENDIAN_UINT16(script->data + 6) > 0)
 		scr->setExportTableOffset(6);
 
-	reg.segment = seg_id;
-	reg.offset = _heapStart + 4;
-	segMan->scriptInitialiseLocals(reg);
+	segMan->scriptInitialiseLocals(make_reg(seg_id, _heapStart + 4));
 
 	segMan->scriptRelocateExportsSci11(seg_id);
 	segMan->scriptInitialiseObjectsSci11(seg_id);
 
-	reg.offset = READ_SCI11ENDIAN_UINT16(heap->data);
-	scr->heapRelocate(reg);
+	scr->heapRelocate(make_reg(seg_id, READ_SCI11ENDIAN_UINT16(heap->data)));
 
 	return seg_id;
 }
@@ -519,11 +505,10 @@
 void script_uninstantiate_sci0(SegManager *segMan, int script_nr, SegmentId seg) {
 	bool oldScriptHeader = (getSciVersion() == SCI_VERSION_0_EARLY);
 	reg_t reg = make_reg(seg, oldScriptHeader ? 2 : 0);
-	int objType, objLength;
+	int objType, objLength = 0;
 	Script *scr = segMan->getScript(seg);
 
 	// Make a pass over the object in order uninstantiate all superclasses
-	objLength = 0;
 
 	do {
 		reg.offset += objLength; // Step over the last checked object


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