[Scummvm-cvs-logs] SF.net SVN: scummvm: [26164] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sat Mar 17 14:14:51 CET 2007


Revision: 26164
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26164&view=rev
Author:   peres001
Date:     2007-03-17 06:14:50 -0700 (Sat, 17 Mar 2007)

Log Message:
-----------
- Made Node a superclass for Zone, WalkNode, Command, Instruction, Program and Job.
- Moved Job list management inside Parallaction (because constructors for global variables are not always invoked on some platforms)

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/animation.cpp
    scummvm/trunk/engines/parallaction/callables.cpp
    scummvm/trunk/engines/parallaction/commands.cpp
    scummvm/trunk/engines/parallaction/defs.h
    scummvm/trunk/engines/parallaction/inventory.cpp
    scummvm/trunk/engines/parallaction/location.cpp
    scummvm/trunk/engines/parallaction/parallaction.cpp
    scummvm/trunk/engines/parallaction/parallaction.h
    scummvm/trunk/engines/parallaction/walk.cpp
    scummvm/trunk/engines/parallaction/zone.cpp
    scummvm/trunk/engines/parallaction/zone.h

Modified: scummvm/trunk/engines/parallaction/animation.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/animation.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/animation.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -67,7 +67,7 @@
 
 	while (v4) {
 		if (!scumm_stricmp(name, v4->_zone._label._text)) return v4;
-		v4 = (Animation*)v4->_zone._node._next;
+		v4 = (Animation*)v4->_zone._next;
 	}
 
 	return NULL;
@@ -83,7 +83,7 @@
 	vD0->_zone._label._text = (char*)malloc(strlen(name)+1);
 	strcpy(vD0->_zone._label._text, name);
 
-	addNode(list, &vD0->_zone._node);
+	addNode(list, &vD0->_zone);
 
 	fillBuffers(script, true);
 	while (scumm_stricmp(_tokens[0], "endanimation")) {
@@ -160,7 +160,7 @@
 	if (!program) return;
 
 	free(program->_locals);
-	freeNodeList(&program->_node);
+	freeNodeList(program);
 
 	return;
 }
@@ -172,7 +172,7 @@
 	while (v4) {
 		freeScript(v4->_program);
 		_vm->_gfx->freeCnv(&v4->_cnv);
-		v4 = (Animation*)v4->_zone._node._next;
+		v4 = (Animation*)v4->_zone._next;
 	}
 
 	return;
@@ -188,7 +188,7 @@
 
 	uint16 _si = 0;
 
-	for ( ; v18; v18 = (Animation*)v18->_zone._node._next) {
+	for ( ; v18; v18 = (Animation*)v18->_zone._next) {
 
 		if ((v18->_zone._flags & kFlagsActive) && ((v18->_zone._flags & kFlagsRemove) == 0))   {
 			v14._width = v18->_cnv._width;
@@ -229,7 +229,7 @@
 
 	Animation *a = (Animation*)_animations._next;
 
-	for (; a; a=(Animation*)a->_zone._node._next) {
+	for (; a; a=(Animation*)a->_zone._next) {
 
 		if (((a->_zone._flags & kFlagsActive) == 0) && ((a->_zone._flags & kFlagsRemove) == 0)) continue;
 
@@ -262,7 +262,7 @@
 	a->_program = (Program*)malloc(sizeof(Program));
 	memset(a->_program, 0, sizeof(Program));
 	a->_program->_locals = (LocalVariable*)malloc(sizeof(LocalVariable)*10);
-	Node *vD0 = &a->_program->_node;
+	Node *vD0 = a->_program;
 
 	Instruction *vCC = (Instruction*)malloc(sizeof(Instruction));
 	memset(vCC, 0, sizeof(Instruction));
@@ -270,8 +270,8 @@
 	while (scumm_stricmp(_tokens[0], "endscript")) {
 
 		parseScriptLine(vCC, a, a->_program->_locals);
-		addNode(vD0, &vCC->_node);
-		vD0 = &vCC->_node;
+		addNode(vD0, vCC);
+		vD0 = vCC;
 
 		vCC = (Instruction*)malloc(sizeof(Instruction));
 		memset(vCC, 0, sizeof(Instruction));
@@ -279,11 +279,11 @@
 	}
 
 	vCC->_index = INST_END;
-	addNode(vD0, &vCC->_node);
+	addNode(vD0, vCC);
 
 	delete script;
 
-	a->_program->_ip = (Instruction*)a->_program->_node._next;
+	a->_program->_ip = (Instruction*)a->_program->_next;
 
 	return;
 }
@@ -490,7 +490,7 @@
 	WalkNode *v4 = NULL;
 
 	if (a->_zone._flags & kFlagsCharacter) a->_z = a->_zone.pos._position._y + a->_cnv._height;
-	for ( ; a; a = (Animation*)a->_zone._node._next) {
+	for ( ; a; a = (Animation*)a->_zone._next) {
 
 		if ((a->_zone._flags & kFlagsActing) == 0) continue;
 		Instruction *inst = a->_program->_ip;
@@ -566,7 +566,7 @@
 
 			case INST_MOVE: // move
 				v4 = buildWalkPath(*inst->_opA._pvalue, *inst->_opB._pvalue);
-				addJob(jobWalk, v4, kPriority19 );
+				_vm->addJob(jobWalk, v4, kPriority19 );
 				_engineFlags |= kEngineWalking;
 				break;
 
@@ -591,7 +591,7 @@
 					a->_zone._flags &= ~kFlagsActing;
 					runCommands(a->_zone._commands, (Zone*)&a->_zone);
 				}
-				a->_program->_ip = (Instruction*)a->_program->_node._next;
+				a->_program->_ip = (Instruction*)a->_program->_next;
 				goto label1;
 
 
@@ -625,10 +625,10 @@
 
 			}
 
-			inst = (Instruction*)inst->_node._next;
+			inst = (Instruction*)inst->_next;
 		}
 
-		a->_program->_ip = (Instruction*)inst->_node._next;
+		a->_program->_ip = (Instruction*)inst->_next;
 
 label1:
 		if (a->_zone._flags & kFlagsCharacter)
@@ -672,9 +672,9 @@
 			v8 = v8->_next;
 		}
 
-		v4 = (Animation*)vC->_zone._node._next;
+		v4 = (Animation*)vC->_zone._next;
 
-		addNode(v8, &vC->_zone._node);
+		addNode(v8, &vC->_zone);
 
 		vC = v4;
 	}

Modified: scummvm/trunk/engines/parallaction/callables.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/callables.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/callables.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -322,7 +322,7 @@
 		_vm->_menu->selectCharacter();
 	}
 
-	removeNode(&_vm->_char._ani._zone._node);
+	removeNode(&_vm->_char._ani._zone);
 	_vm->_locationNames[0][0] = '\0';
 	_vm->_numLocations = 0;
 	_commandFlags = 0;
@@ -339,7 +339,7 @@
 
 	_engineFlags &= ~kEngineQuit;
 
-	addNode(&_animations, &_vm->_char._ani._zone._node);
+	addNode(&_animations, &_vm->_char._ani._zone);
 	_score = 0;
 
 	return;

Modified: scummvm/trunk/engines/parallaction/commands.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/commands.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/commands.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -286,7 +286,7 @@
 		case CMD_OPEN:	// open
 			u->_zone->_flags &= ~kFlagsClosed;
 			if (u->_zone->u.door->_cnv._count != 0) {
-				addJob(&jobToggleDoor, (void*)u->_zone, kPriority18 );
+				_vm->addJob(&jobToggleDoor, (void*)u->_zone, kPriority18 );
 			}
 			break;
 
@@ -305,7 +305,7 @@
 				u->_zone->_flags &= ~kFlagsRemove;
 				u->_zone->_flags |= kFlagsActive;
 				if ((u->_zone->_type & 0xFFFF) == kZoneGet) {
-					addJob(&jobDisplayDroppedItem, u->_zone, kPriority17 );
+					_vm->addJob(&jobDisplayDroppedItem, u->_zone, kPriority17 );
 				}
 			}
 			break;
@@ -334,7 +334,7 @@
 
 			WalkNode *vC = buildWalkPath(u->_move._x, u->_move._y);
 
-			addJob(&jobWalk, vC, kPriority19 );
+			_vm->addJob(&jobWalk, vC, kPriority19 );
 			_engineFlags |= kEngineWalking;
 			}
 			break;

Modified: scummvm/trunk/engines/parallaction/defs.h
===================================================================
--- scummvm/trunk/engines/parallaction/defs.h	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/defs.h	2007-03-17 13:14:50 UTC (rev 26164)
@@ -38,10 +38,17 @@
 	Node*	_next;
 };
 
-struct WalkNode {
-	Node	_node;
+struct WalkNode : public Node {
+//	Node	_node;
 	int32	_x;
 	int32	_y;
+
+public:
+	WalkNode() : _x(0), _y(0) {
+	}
+
+	WalkNode(int32 x, int32 y) : _x(x), _y(y) {
+	}
 };
 
 struct Point {

Modified: scummvm/trunk/engines/parallaction/inventory.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/inventory.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/inventory.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -125,7 +125,7 @@
 	_inventory[_si]._id = MAKE_INVENTORY_ID(z->u.get->_icon);
 	_inventory[_si]._index = z->u.get->_icon;
 
-	addJob(jobRemovePickedItem, z, kPriority17 );
+	_vm->addJob(jobRemovePickedItem, z, kPriority17 );
 
 	if (_inventory[_si]._id == 0) return 0;
 

Modified: scummvm/trunk/engines/parallaction/location.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/location.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/location.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -240,7 +240,7 @@
 			v4->_x = atoi(_tokens[1]) - _vm->_char._ani._cnv._width/2;
 			v4->_y = atoi(_tokens[2]) - _vm->_char._ani._cnv._height;
 
-			addNode(list, &v4->_node);
+			addNode(list, v4);
 
 		}
 
@@ -342,7 +342,7 @@
 		debugC(2, kDebugLocation, "changeLocation: changed cursor");
 	}
 
-	removeNode(&_vm->_char._ani._zone._node);
+	removeNode(&_vm->_char._ani._zone);
 	debugC(2, kDebugLocation, "changeLocation: removed character from the animation list");
 
 	freeLocation();
@@ -375,7 +375,7 @@
 		}
 	}
 
-	addNode(&_animations, &_vm->_char._ani._zone._node);
+	addNode(&_animations, &_vm->_char._ani._zone);
 	debugC(2, kDebugLocation, "changeLocation: new character added to the animation list");
 
 	strcpy(_saveData1, list[0].c_str());

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -136,9 +136,6 @@
 
 // private stuff
 
-
-
-
 static Job	   *_jDrawInventory = NULL;
 Job	   *_jDrawLabel = NULL;
 Job	   *_jEraseLabel = NULL;
@@ -146,12 +143,6 @@
 static Job	   *_jRunScripts = NULL;
 
 
-
-static Job		_jobs = { { NULL, NULL }, 0, 0, 0, NULL, 0 };
-
-
-
-
 Parallaction::Parallaction(OSystem *syst) :
 	Engine(syst) {
 
@@ -248,7 +239,7 @@
 	_vm->_char._ani._zone._label._cnv._data0 = NULL;
 	_vm->_char._ani._zone._label._text = strdup("yourself");
 
-	addNode(&_animations, &_vm->_char._ani._zone._node);
+	addNode(&_animations, &_vm->_char._ani._zone);
 	_gfx = new Gfx(this);
 
 	int midiDriver = MidiDriver::detectMusicDriver(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MIDI);
@@ -902,7 +893,7 @@
 }
 
 
-Job *addJob(JobFn fn, void *parm, uint16 tag) {
+Job *Parallaction::addJob(JobFn fn, void *parm, uint16 tag) {
 
 	Job *v8 = (Job*)malloc(sizeof(Job));
 
@@ -914,41 +905,41 @@
 
 	Job *v4 = &_jobs;
 
-	while (v4->_node._next && ((Job*)(v4->_node._next))->_tag > tag) {
-		v4 = (Job*)v4->_node._next;
+	while (v4->_next && ((Job*)(v4->_next))->_tag > tag) {
+		v4 = (Job*)v4->_next;
 	}
 
-	addNode(&v4->_node, &v8->_node);
+	addNode(v4, v8);
 	return v8;
 }
 
-void removeJob(Job *j) {
+void Parallaction::removeJob(Job *j) {
 
-	removeNode(&j->_node);
+	removeNode(j);
 	free(j);
 	return;
 }
 
-void pauseJobs() {
+void Parallaction::pauseJobs() {
 	_engineFlags |= kEnginePauseJobs;
 	return;
 }
 
-void resumeJobs() {
+void Parallaction::resumeJobs() {
 	_engineFlags &= ~kEnginePauseJobs;
 	return;
 }
 
-void runJobs() {
+void Parallaction::runJobs() {
 
 	if (_engineFlags & kEnginePauseJobs) return;
 
-	Job *j = (Job*)_jobs._node._next;
+	Job *j = (Job*)_jobs._next;
 	while (j) {
 		debugC(3, kDebugJobs, "runJobs: %i", j->_tag);
 
 		(*j->_fn)(j->_parm, j);
-		Job *v4 = (Job*)j->_node._next;
+		Job *v4 = (Job*)j->_next;
 
 		if (j->_finished == 1)
 			removeJob(j);
@@ -974,7 +965,7 @@
 	count++;
 	if (count == 2) {
 		count = 0;
-		removeJob(arg);
+		_vm->removeJob(arg);
 		_engineFlags &= ~kEngineMouse;
 		j->_finished = 1;
 	}

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2007-03-17 13:14:50 UTC (rev 26164)
@@ -87,13 +87,17 @@
 struct Job;
 typedef void (*JobFn)(void*, Job*);
 
-struct Job {
-	Node		_node;
+struct Job : public Node {
+//	Node		_node;
 	uint16		_count; 		// # of executions left
 	uint16		_tag;			// used for ordering
 	uint16		_finished;
 	void *		_parm;
 	JobFn		_fn;
+
+public:
+	Job() : _count(0), _tag(0), _finished(0), _parm(NULL), _fn(NULL) {
+	}
 };
 
 extern Point _mousePos;
@@ -166,12 +170,8 @@
 
 WalkNode *buildWalkPath(uint16 x, uint16 y);
 
-Job *addJob(JobFn fn, void *parm, uint16 tag);
-void removeJob(Job *j);
-void runJobs();
-void pauseJobs();
-void resumeJobs();
 
+
 void jobRemovePickedItem(void*, Job *j);
 void jobDisplayDroppedItem(void*, Job *j);
 void jobToggleDoor(void*, Job *j);
@@ -275,6 +275,11 @@
 	char   *parseDialogueString(Script &script);
 	Dialogue   *parseDialogue(Script &script);
 
+	Job *addJob(JobFn fn, void *parm, uint16 tag);
+	void removeJob(Job *j);
+	void pauseJobs();
+	void resumeJobs();
+	void runJobs();
 
 public:
 	int getGameType() const;
@@ -334,6 +339,8 @@
 
 	int16 _keyDown;
 
+	Job			_jobs;
+
 protected:		// members
 	bool detectGame(void);
 

Modified: scummvm/trunk/engines/parallaction/walk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/walk.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/walk.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -32,7 +32,7 @@
 uint16 walkFunc1(int16, int16, WalkNode *);
 
 
-WalkNode _NULL_WALKNODE = { {NULL, NULL}, 0, 0 };
+WalkNode _NULL_WALKNODE();
 
 static byte		*_buffer;
 
@@ -117,7 +117,7 @@
 
 	v48->_x = to_x - _vm->_char._ani._cnv._width / 2; 		// target top left coordinates
 	v48->_y = to_y - _vm->_char._ani._cnv._height;
-	v48->_node._next = NULL;
+	v48->_next = NULL;
 	memcpy(v44, v48, sizeof(WalkNode));
 
 	uint16 v38 = walkFunc1(to_x, to_y, v44);
@@ -136,7 +136,7 @@
 
 	int16 _si = v48->_x;						// _si, _di: target top left coordinates
 	int16 _di = v48->_y;
-	addNode(&v58._node, &v48->_node);
+	addNode(&v58, v48);
 
 	WalkNode *_closest_node = NULL;
 
@@ -182,7 +182,7 @@
 					_closest_node = location_node;
 				}
 
-				location_node = (WalkNode*)location_node->_node._next;
+				location_node = (WalkNode*)location_node->_next;
 			}
 
 			if (_closest_node_found == 0) break;
@@ -197,7 +197,7 @@
 
 			debugC(1, kDebugWalk, "adding walk node (%i, %i) to path", _newnode->_x, _newnode->_y);
 
-			addNode(&v48->_node, &_newnode->_node);
+			addNode(v48, _newnode);
 			v48 = _newnode;
 		}
 
@@ -205,12 +205,12 @@
 
 		if (v38 != 0 && v34 > v38) {
 			// no alternative path (gap?)
-			freeNodeList(v58._node._next);
+			freeNodeList(v58._next);
 			debugC(1, kDebugWalk, "can't find a path node: rejecting partial path");
 			return v44;
 		} else {
-			_si = ((WalkNode*)(v58._node._next))->_x;
-			_di = ((WalkNode*)(v58._node._next))->_y;
+			_si = ((WalkNode*)(v58._next))->_x;
+			_di = ((WalkNode*)(v58._next))->_y;
 			emptyList = false;
 			_closest_node_found = 1;
 		}
@@ -221,15 +221,15 @@
 
 	WalkNode* tmp = &v58;
 	uint16 i = 1;
-	while (tmp->_node._next) {
+	while (tmp->_next) {
 		debugC(1, kDebugWalk, "node %i: %i, %i", i, tmp->_x, tmp->_y);
-		tmp = (WalkNode*)tmp->_node._next;
+		tmp = (WalkNode*)tmp->_next;
 		i++;
 	}
 
 
 	free(v44);
-	return (WalkNode*)v58._node._next;
+	return (WalkNode*)v58._next;
 }
 
 
@@ -325,7 +325,7 @@
 	_vm->_char._ani._zone.pos._oldposition._y = _di;
 
 	if ((node->_x == _si) && (node->_y == _di)) {
-		if (node->_node._next == NULL) {
+		if (node->_next == NULL) {
 
 			debugC(1, kDebugWalk, "jobWalk reached last node");
 
@@ -336,8 +336,8 @@
 		}
 
 
-		WalkNode *tmp = (WalkNode*)node->_node._next;
-		j->_parm = node->_node._next;
+		WalkNode *tmp = (WalkNode*)node->_next;
+		j->_parm = node->_next;
 		free(node);
 
 		debugC(1, kDebugWalk, "jobWalk moving to next node (%i, %i)", tmp->_x, tmp->_y);
@@ -419,7 +419,7 @@
 
 		j->_finished = 1;
 		checkDoor();
-		freeNodeList(&node->_node);
+		freeNodeList(node);
 
 	} else {
 

Modified: scummvm/trunk/engines/parallaction/zone.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/zone.cpp	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/zone.cpp	2007-03-17 13:14:50 UTC (rev 26164)
@@ -44,7 +44,7 @@
 
 	while (v4) {
 		if (!scumm_stricmp(name, v4->_label._text)) return v4;
-		v4 = (Zone*)v4->_node._next;
+		v4 = (Zone*)v4->_next;
 	}
 
 	Animation *a = findAnimation(name);
@@ -70,7 +70,7 @@
 	z->_label._text = (char*)malloc(strlen(name)+1);
 	strcpy(z->_label._text, name);
 
-	addNode(list, &z->_node);
+	addNode(list, z);
 
 	fillBuffers(script, true);
 	while (scumm_stricmp(_tokens[0], "endzone")) {
@@ -140,9 +140,9 @@
 
 			debugC(1, kDebugLocation, "freeZones preserving zone '%s'", z->_label._text);
 
-			v8 = (Zone*)z->_node._next;
-			removeNode(&z->_node);
-			addNode(&helperNode, &z->_node);
+			v8 = (Zone*)z->_next;
+			removeNode(z);
+			addNode(&helperNode, z);
 			z = v8;
 			continue;
 		}
@@ -190,7 +190,7 @@
 		_vm->_gfx->freeStaticCnv(&z->_label._cnv);
 		freeCommands(z->_commands);
 
-		z=(Zone*)z->_node._next;
+		z=(Zone*)z->_next;
 
 	}
 
@@ -456,7 +456,7 @@
 		if (z->_flags & kFlagsLocked) break;
 		z->_flags ^= kFlagsClosed;
 		if (z->u.door->_cnv._count == 0) break;
-		addJob(jobToggleDoor, z, kPriority18 );
+		_vm->addJob(jobToggleDoor, z, kPriority18 );
 		break;
 
 	case kZoneHear:
@@ -576,7 +576,7 @@
 	uint16 _si = x;
 	Zone *z = (Zone*)_zones._next;
 
-	for (; z; z = (Zone*)z->_node._next) {
+	for (; z; z = (Zone*)z->_next) {
 //		printf("Zone name: %s", z->_name);
 
 		if (z->_flags & kFlagsRemove) continue;
@@ -632,7 +632,7 @@
 	Animation *a = (Animation*)_animations._next;
 
 	int16 _a, _b, _c, _d, _e, _f;
-	for (; a; a = (Animation*)a->_zone._node._next) {
+	for (; a; a = (Animation*)a->_zone._next) {
 //		printf("Animation name: %s", a->_zone._name);
 
 		_a = (a->_zone._flags & kFlagsActive) ? 1 : 0;															   // _a: active Animation

Modified: scummvm/trunk/engines/parallaction/zone.h
===================================================================
--- scummvm/trunk/engines/parallaction/zone.h	2007-03-17 10:36:14 UTC (rev 26163)
+++ scummvm/trunk/engines/parallaction/zone.h	2007-03-17 13:14:50 UTC (rev 26164)
@@ -123,8 +123,8 @@
 	StaticCnv		_cnv;
 };
 
-struct Zone {
-	Node			_node;
+struct Zone : public Node {
+//	Node			_node;
 	union {
 		Rect		_limits;		// for zones
 		struct {	// for animations
@@ -163,8 +163,8 @@
 	kInstMaskedPut		= 8
 };
 
-struct Instruction {
-	Node	_node;
+struct Instruction : public Node {
+//	Node	_node;
 	uint32	_index;
 	uint32	_flags;
 	union {
@@ -178,8 +178,8 @@
 };
 
 
-struct Program {
-	Node			_node;
+struct Program : public Node {
+//	Node			_node;
 	LocalVariable	*_locals;
 	uint16			_loopCounter;
 	Instruction 	*_ip;


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