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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sat Apr 7 18:40:28 CEST 2007


Revision: 26409
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26409&view=rev
Author:   peres001
Date:     2007-04-07 09:40:27 -0700 (Sat, 07 Apr 2007)

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

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/animation.cpp
    scummvm/trunk/engines/parallaction/commands.cpp
    scummvm/trunk/engines/parallaction/dialogue.cpp
    scummvm/trunk/engines/parallaction/graphics.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/saveload.cpp
    scummvm/trunk/engines/parallaction/zone.cpp

Modified: scummvm/trunk/engines/parallaction/animation.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/animation.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/animation.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -56,7 +56,6 @@
 void	wrapLocalVar(LocalVariable *local);
 
 
-LValue	getLValue(Instruction *inst, char *str, LocalVariable *locals, Animation *a);
 
 
 uint16	_numLocals = 0;
@@ -108,7 +107,7 @@
 			}
 		}
 		if (!scumm_stricmp(_tokens[0], "label")) {
-			_vm->_gfx->makeCnvFromString(&vD0->_label._cnv, _tokens[1]);
+			_gfx->makeCnvFromString(&vD0->_label._cnv, _tokens[1]);
 		}
 		if (!scumm_stricmp(_tokens[0], "flags")) {
 			uint16 _si = 1;
@@ -414,7 +413,7 @@
 	return;
 }
 
-LValue getLValue(Instruction *inst, char *str, LocalVariable *locals, Animation *a) {
+LValue Parallaction::getLValue(Instruction *inst, char *str, LocalVariable *locals, Animation *a) {
 
 	LValue v;
 
@@ -434,7 +433,7 @@
 	}
 
 	if (str[1] == '.') {
-		a = _vm->findAnimation(&str[2]);
+		a = findAnimation(&str[2]);
 	}
 
 	if (str[0] == 'X') {
@@ -634,7 +633,7 @@
 	Node v14;
 	memset(&v14, 0, sizeof(Node));
 
-	_vm->_char._ani._z = _vm->_char._ani.height() + _vm->_char._ani._top;
+	_char._ani._z = _char._ani.height() + _char._ani._top;
 
 	Animation *vC = (Animation*)_animations._next;
 	Node *v8;

Modified: scummvm/trunk/engines/parallaction/commands.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/commands.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/commands.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -85,7 +85,7 @@
 
 		case CMD_START: // start
 		case CMD_STOP:	// stop
-			cmd->u._animation = _vm->findAnimation(_tokens[_si]);
+			cmd->u._animation = findAnimation(_tokens[_si]);
 			_si++;
 			if (cmd->u._animation == NULL) {
 				strcpy(_forwardedAnimationNames[_numForwards], _tokens[_si-1]);
@@ -100,7 +100,7 @@
 		case CMD_CLOSE: // close
 		case CMD_ON:	// on
 		case CMD_OFF:	// off
-			cmd->u._zone = _vm->findZone(_tokens[_si]);
+			cmd->u._zone = findZone(_tokens[_si]);
 			_si++;
 			break;
 
@@ -213,7 +213,7 @@
 
 		Command *cmd = *it;
 		CommandData *u = &cmd->u;
-		uint32 v8 = _localFlags[_vm->_currentLocationIndex];
+		uint32 v8 = _localFlags[_currentLocationIndex];
 
 		if (_engineFlags & kEngineQuit)
 			break;
@@ -234,7 +234,7 @@
 				cmd->u._flags &= ~kFlagsGlobal;
 				_commandFlags |= cmd->u._flags;
 			} else {
-				_localFlags[_vm->_currentLocationIndex] |= cmd->u._flags;
+				_localFlags[_currentLocationIndex] |= cmd->u._flags;
 			}
 			break;
 
@@ -243,7 +243,7 @@
 				cmd->u._flags &= ~kFlagsGlobal;
 				_commandFlags &= ~cmd->u._flags;
 			} else {
-				_localFlags[_vm->_currentLocationIndex] &= ~cmd->u._flags;
+				_localFlags[_currentLocationIndex] &= ~cmd->u._flags;
 			}
 			break;
 
@@ -252,7 +252,7 @@
 				cmd->u._flags &= ~kFlagsGlobal;
 				_commandFlags ^= cmd->u._flags;
 			} else {
-				_localFlags[_vm->_currentLocationIndex] ^= cmd->u._flags;
+				_localFlags[_currentLocationIndex] ^= cmd->u._flags;
 			}
 			break;
 
@@ -282,7 +282,7 @@
 		case CMD_OPEN:	// open
 			u->_zone->_flags &= ~kFlagsClosed;
 			if (u->_zone->u.door->_cnv) {
-				_vm->addJob(&jobToggleDoor, (void*)u->_zone, kPriority18 );
+				addJob(&jobToggleDoor, (void*)u->_zone, kPriority18 );
 			}
 			break;
 
@@ -301,7 +301,7 @@
 				u->_zone->_flags &= ~kFlagsRemove;
 				u->_zone->_flags |= kFlagsActive;
 				if ((u->_zone->_type & 0xFFFF) == kZoneGet) {
-					_vm->addJob(&jobDisplayDroppedItem, u->_zone, kPriority17 );
+					addJob(&jobDisplayDroppedItem, u->_zone, kPriority17 );
 				}
 			}
 			break;
@@ -311,7 +311,7 @@
 			break;
 
 		case CMD_LOCATION:	// location
-			strcpy(_vm->_location._name, u->_string);
+			strcpy(_location._name, u->_string);
 			_engineFlags |= kEngineChangeLocation;
 			break;
 
@@ -324,13 +324,13 @@
 			break;
 
 		case CMD_MOVE: {	// move
-			if ((_vm->_char._ani._flags & kFlagsRemove) || (_vm->_char._ani._flags & kFlagsActive) == 0) {
+			if ((_char._ani._flags & kFlagsRemove) || (_char._ani._flags & kFlagsActive) == 0) {
 				continue;
 			}
 
 			WalkNode *vC = buildWalkPath(u->_move._x, u->_move._y);
 
-			_vm->addJob(&jobWalk, vC, kPriority19 );
+			addJob(&jobWalk, vC, kPriority19 );
 			_engineFlags |= kEngineWalking;
 			}
 			break;

Modified: scummvm/trunk/engines/parallaction/dialogue.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/dialogue.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/dialogue.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -193,7 +193,7 @@
 	return vCC;
 }
 
-uint16 askDialoguePassword(Dialogue *q, StaticCnv *face) {
+uint16 Parallaction::askDialoguePassword(Dialogue *q, StaticCnv *face) {
 	debugC(1, kDebugDialogue, "checkDialoguePassword()");
 
 	char password[100];
@@ -201,15 +201,15 @@
 
 	while (true) {
 		strcpy(password, ".......");
-		_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+		_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 		Common::Rect r(_answerBalloonW[0], _answerBalloonH[0]);
 		r.moveTo(_answerBalloonX[0], _answerBalloonY[0]);
 
-		_vm->_gfx->drawBalloon(r, 1);
-		_vm->_gfx->displayWrappedString(q->_answers[0]->_text, _answerBalloonX[0], _answerBalloonY[0], MAX_BALLOON_WIDTH, 3);
-		_vm->_gfx->flatBlitCnv(face, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y,	Gfx::kBitFront);
-		_vm->_gfx->displayBalloonString(_answerBalloonX[0] + 5,	_answerBalloonY[0] + _answerBalloonH[0] - 15, "> ", 0);
+		_gfx->drawBalloon(r, 1);
+		_gfx->displayWrappedString(q->_answers[0]->_text, _answerBalloonX[0], _answerBalloonY[0], MAX_BALLOON_WIDTH, 3);
+		_gfx->flatBlitCnv(face, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y,	Gfx::kBitFront);
+		_gfx->displayBalloonString(_answerBalloonX[0] + 5,	_answerBalloonY[0] + _answerBalloonH[0] - 15, "> ", 0);
 
 		Common::Event e;
 		while (e.kbd.ascii != 0xD && passwordLen < MAX_PASSWORD_LENGTH) {
@@ -224,14 +224,14 @@
 			passwordLen++;
 			password[passwordLen] = '\0';
 
-			_vm->_gfx->displayBalloonString(_answerBalloonX[0] + 5, _answerBalloonY[0] + _answerBalloonH[0] - 15, password, 0);
+			_gfx->displayBalloonString(_answerBalloonX[0] + 5, _answerBalloonY[0] + _answerBalloonH[0] - 15, password, 0);
 
 			g_system->delayMillis(20);
 		}
 
-		if ((!scumm_stricmp(_vm->_characterName, _doughName) && !scumm_strnicmp(password, "1732461", 7)) ||
-			(!scumm_stricmp(_vm->_characterName, _donnaName) && !scumm_strnicmp(password, "1622", 4)) ||
-			(!scumm_stricmp(_vm->_characterName, _dinoName) && !scumm_strnicmp(password, "179", 3))) {
+		if ((!scumm_stricmp(_characterName, _doughName) && !scumm_strnicmp(password, "1732461", 7)) ||
+			(!scumm_stricmp(_characterName, _donnaName) && !scumm_strnicmp(password, "1622", 4)) ||
+			(!scumm_stricmp(_characterName, _dinoName) && !scumm_strnicmp(password, "179", 3))) {
 
 			break;
 
@@ -245,24 +245,24 @@
 
 bool _askPassword;
 
-bool displayAnswer(Dialogue *q, uint16 i) {
+bool Parallaction::displayAnswer(Dialogue *q, uint16 i) {
 
-	uint32 v28 = _localFlags[_vm->_currentLocationIndex];
+	uint32 v28 = _localFlags[_currentLocationIndex];
 	if (q->_answers[i]->_yesFlags & kFlagsGlobal)
 		v28 = _commandFlags | kFlagsGlobal;
 
 	// display suitable answers
 	if (((q->_answers[i]->_yesFlags & v28) == q->_answers[i]->_yesFlags) && ((q->_answers[i]->_noFlags & ~v28) == q->_answers[i]->_noFlags)) {
 
-		_vm->_gfx->getStringExtent(q->_answers[i]->_text, MAX_BALLOON_WIDTH, &_answerBalloonW[i], &_answerBalloonH[i]);
+		_gfx->getStringExtent(q->_answers[i]->_text, MAX_BALLOON_WIDTH, &_answerBalloonW[i], &_answerBalloonH[i]);
 
 		Common::Rect r(_answerBalloonW[i], _answerBalloonH[i]);
 		r.moveTo(_answerBalloonX[i], _answerBalloonY[i]);
 
-		_vm->_gfx->drawBalloon(r, 1);
+		_gfx->drawBalloon(r, 1);
 
 		_answerBalloonY[i+1] = 10 + _answerBalloonY[i] + _answerBalloonH[i];
-		_askPassword = _vm->_gfx->displayWrappedString(q->_answers[i]->_text, _answerBalloonX[i], _answerBalloonY[i], MAX_BALLOON_WIDTH, 3);
+		_askPassword = _gfx->displayWrappedString(q->_answers[i]->_text, _answerBalloonX[i], _answerBalloonY[i], MAX_BALLOON_WIDTH, 3);
 
 		return true;
 	}
@@ -271,7 +271,7 @@
 
 }
 
-bool displayAnswers(Dialogue *q) {
+bool Parallaction::displayAnswers(Dialogue *q) {
 
 	bool displayed = false;
 
@@ -290,7 +290,7 @@
 	return displayed;
 }
 
-void displayQuestion(Dialogue *q, Cnv *cnv) {
+void Parallaction::displayQuestion(Dialogue *q, Cnv *cnv) {
 
 	int16 w = 0, h = 0;
 
@@ -302,23 +302,23 @@
 	face._data0 = cnv->getFramePtr(q->_mood & 0xF);
 	face._data1 = NULL; // cnv->field_8[v60->_mood & 0xF];
 
-	_vm->_gfx->flatBlitCnv(&face, QUESTION_CHARACTER_X, QUESTION_CHARACTER_Y, Gfx::kBitFront);
-	_vm->_gfx->getStringExtent(q->_text, MAX_BALLOON_WIDTH, &w, &h);
+	_gfx->flatBlitCnv(&face, QUESTION_CHARACTER_X, QUESTION_CHARACTER_Y, Gfx::kBitFront);
+	_gfx->getStringExtent(q->_text, MAX_BALLOON_WIDTH, &w, &h);
 
 	Common::Rect r(w, h);
 	r.moveTo(QUESTION_BALLOON_X, QUESTION_BALLOON_Y);
 
-	_vm->_gfx->drawBalloon(r, q->_mood & 0x10);
-	_vm->_gfx->displayWrappedString(q->_text, QUESTION_BALLOON_X, QUESTION_BALLOON_Y, MAX_BALLOON_WIDTH, 0);
+	_gfx->drawBalloon(r, q->_mood & 0x10);
+	_gfx->displayWrappedString(q->_text, QUESTION_BALLOON_X, QUESTION_BALLOON_Y, MAX_BALLOON_WIDTH, 0);
 
 	waitUntilLeftClick();
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 	return;
 }
 
-uint16 getDialogueAnswer(Dialogue *q, Cnv *cnv) {
+uint16 Parallaction::getDialogueAnswer(Dialogue *q, Cnv *cnv) {
 
 	uint16 answer = 0;
 
@@ -328,7 +328,7 @@
 	face._data0 = cnv->getFramePtr(0);
 	face._data1 = NULL; // cnv->field_8[0];
 
-	_vm->_gfx->flatBlitCnv(&face, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y, Gfx::kBitFront);
+	_gfx->flatBlitCnv(&face, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y, Gfx::kBitFront);
 
 	if (_askPassword == false) {
 		answer = selectAnswer(q, &face);
@@ -336,7 +336,7 @@
 		answer = askDialoguePassword(q, &face);
 	}
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);	// erase answer screen
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);	// erase answer screen
 
 	debugC(1, kDebugDialogue, "runDialogue: user selected answer #%i", answer);
 
@@ -348,10 +348,10 @@
 
 	enterDialogue();
 
-	_vm->_gfx->setFont("comic");
+	_gfx->setFont("comic");
 
 	bool isNpc = scumm_stricmp(data->_name, "yourself") && data->_name[0] != '\0';
-	Cnv *face = isNpc ? _vm->_disk->loadTalk(data->_name) : _vm->_char._talk;
+	Cnv *face = isNpc ? _disk->loadTalk(data->_name) : _char._talk;
 
 	_askPassword = false;
 	uint16 answer = 0;
@@ -368,7 +368,7 @@
 		if (scumm_stricmp(q->_answers[0]->_text, "NULL")) {
 
 			if (!displayAnswers(q)) break;
-			answer = getDialogueAnswer(q, _vm->_char._talk);
+			answer = getDialogueAnswer(q, _char._talk);
 			cmdlist = &q->_answers[answer]->_commands;
 		}
 
@@ -377,7 +377,7 @@
 
 	debugC(1, kDebugDialogue, "runDialogue: out of dialogue loop");
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 	if (isNpc) {
 		delete face;
@@ -391,7 +391,7 @@
 
 }
 
-int16 selectAnswer(Question *q, StaticCnv *cnv) {
+int16 Parallaction::selectAnswer(Question *q, StaticCnv *cnv) {
 
 	int16 numAvailableAnswers = 0;
 	int16 _si = 0;
@@ -407,10 +407,10 @@
 	_answerBalloonY[i] = 2000;
 
 	if (numAvailableAnswers == 1) {
-		_vm->_gfx->displayWrappedString(q->_answers[_di]->_text, _answerBalloonX[_di], _answerBalloonY[_di], MAX_BALLOON_WIDTH, 0);
-		cnv->_data0 = _vm->_char._talk->getFramePtr(q->_answers[_di]->_mood & 0xF);
-//		cnv->_data1 = _vm->_char._talk->field_8[q->_answers[_di]->_mood & 0xF];
-		_vm->_gfx->flatBlitCnv(cnv, ANSWER_CHARACTER_X,	ANSWER_CHARACTER_Y, Gfx::kBitFront);
+		_gfx->displayWrappedString(q->_answers[_di]->_text, _answerBalloonX[_di], _answerBalloonY[_di], MAX_BALLOON_WIDTH, 0);
+		cnv->_data0 = _char._talk->getFramePtr(q->_answers[_di]->_mood & 0xF);
+//		cnv->_data1 = _char._talk->field_8[q->_answers[_di]->_mood & 0xF];
+		_gfx->flatBlitCnv(cnv, ANSWER_CHARACTER_X,	ANSWER_CHARACTER_Y, Gfx::kBitFront);
 		waitUntilLeftClick();
 		return _di;
 	}
@@ -420,17 +420,17 @@
 	_mouseButtons = kMouseNone;
 	while (_mouseButtons != kMouseLeftUp) {
 
-		_vm->updateInput();
-		_si = getHoverAnswer(_vm->_mousePos.x, _vm->_mousePos.y, q);
+		updateInput();
+		_si = getHoverAnswer(_mousePos.x, _mousePos.y, q);
 
 		if (_si != v2) {
 			if (v2 != -1)
-				_vm->_gfx->displayWrappedString(q->_answers[v2]->_text, _answerBalloonX[v2], _answerBalloonY[v2], MAX_BALLOON_WIDTH, 3);
+				_gfx->displayWrappedString(q->_answers[v2]->_text, _answerBalloonX[v2], _answerBalloonY[v2], MAX_BALLOON_WIDTH, 3);
 
-			_vm->_gfx->displayWrappedString(q->_answers[_si]->_text, _answerBalloonX[_si],	_answerBalloonY[_si], MAX_BALLOON_WIDTH, 0);
-			cnv->_data0 = _vm->_char._talk->getFramePtr(q->_answers[_si]->_mood & 0xF);
-//			cnv->_data1 = _vm->_char._talk->field_8[q->_answers[_si]->_mood & 0xF];
-			_vm->_gfx->flatBlitCnv(cnv, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y, Gfx::kBitFront);
+			_gfx->displayWrappedString(q->_answers[_si]->_text, _answerBalloonX[_si],	_answerBalloonY[_si], MAX_BALLOON_WIDTH, 0);
+			cnv->_data0 = _char._talk->getFramePtr(q->_answers[_si]->_mood & 0xF);
+//			cnv->_data1 = _char._talk->field_8[q->_answers[_si]->_mood & 0xF];
+			_gfx->flatBlitCnv(cnv, ANSWER_CHARACTER_X, ANSWER_CHARACTER_Y, Gfx::kBitFront);
 		}
 
 		g_system->delayMillis(30);
@@ -471,16 +471,16 @@
 }
 
 
-void enterDialogue() {
+void Parallaction::enterDialogue() {
 
 	return;
 }
 
 //	rebuilds inventory
 //
-void exitDialogue() {
+void Parallaction::exitDialogue() {
 
-	refreshInventory(_vm->_characterName);
+	refreshInventory(_characterName);
 
 	return;
 }

Modified: scummvm/trunk/engines/parallaction/graphics.h
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.h	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/graphics.h	2007-04-07 16:40:27 UTC (rev 26409)
@@ -110,7 +110,7 @@
 };
 
 
-#define NUM_BUFFERS 6
+#define NUM_BUFFERS 4
 
 class Parallaction;
 
@@ -194,37 +194,23 @@
 public:
 	Common::Point		_labelPosition[2];
 	static bool 		_proportionalFont;
-
 	uint16				_bgLayers[4];
 	PaletteFxRange		_palettefx[6];
 	Palette				_palette;
 
 protected:
 	Parallaction*		_vm;
-
 	static byte *		_buffers[NUM_BUFFERS];
-
 	static byte			_mouseArrow[256];
 	StaticCnv			*_mouseComposedArrow;
-
 	Cnv					*_font;
 
-
 protected:
-
-	//
-	//	maps a character for representation
-	//
 	byte mapChar(byte c);
-
 	void flatBlit(const Common::Rect& r, byte *data, Gfx::Buffers buffer);
 	void blit(const Common::Rect& r, uint16 z, byte *data, Gfx::Buffers buffer);
-
-
 	void initBuffers();
 	void initMouse(uint16 arg_0);
-
-
 };
 
 

Modified: scummvm/trunk/engines/parallaction/inventory.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/inventory.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/inventory.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -115,7 +115,7 @@
 }
 
 
-int16 pickupItem(Zone *z) {
+int16 Parallaction::pickupItem(Zone *z) {
 
 	uint16 _si;
 	for (_si = 0; _inventory[_si]._id != 0; _si++) ;
@@ -125,17 +125,17 @@
 	_inventory[_si]._id = MAKE_INVENTORY_ID(z->u.get->_icon);
 	_inventory[_si]._index = z->u.get->_icon;
 
-	_vm->addJob(&jobRemovePickedItem, z, kPriority17 );
+	addJob(&jobRemovePickedItem, z, kPriority17 );
 
 	if (_inventory[_si]._id == 0) return 0;
 
-	refreshInventoryItem(_vm->_characterName, _si);
+	refreshInventoryItem(_characterName, _si);
 
 	return 0;
 }
 
 
-void addInventoryItem(uint16 item) {
+void Parallaction::addInventoryItem(uint16 item) {
 
 	uint16 _si = 0;
 	while (_inventory[_si]._id != 0) _si++;
@@ -143,13 +143,13 @@
 	_inventory[_si]._id = MAKE_INVENTORY_ID(item);
 	_inventory[_si]._index = item;
 
-	refreshInventoryItem(_vm->_characterName, _si);
+	refreshInventoryItem(_characterName, _si);
 
 	return;
 }
 
 
-void dropItem(uint16 v) {
+void Parallaction::dropItem(uint16 v) {
 
 	uint16 _di = 0;
 	for (uint16 _si = 0; _si < INVENTORY_MAX_ITEMS - 1; _si++) {
@@ -163,13 +163,13 @@
 		memcpy(&_inventory[_si], &_inventory[_si+1], sizeof(InventoryItem));
 	}
 
-	refreshInventory(_vm->_characterName);
+	refreshInventory(_characterName);
 
 	return;
 }
 
 
-int16 isItemInInventory(int32 v) {
+int16 Parallaction::isItemInInventory(int32 v) {
 
 	for (uint16 _si = 0; _si < INVENTORY_MAX_ITEMS; _si++) {
 		if (_inventory[_si]._id == (uint)v)

Modified: scummvm/trunk/engines/parallaction/location.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/location.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/location.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -43,10 +43,10 @@
     debugC(1, kDebugLocation, "parseLocation('%s')", filename);
 
 	uint16 _si = 1;
-	_vm->_gfx->_proportionalFont = false;
-	_vm->_gfx->setFont("topaz");
+	_gfx->_proportionalFont = false;
+	_gfx->setFont("topaz");
 
-	_locationScript = _disk->loadLocation(filename);
+	Script *_locationScript = _disk->loadLocation(filename);
 
 	fillBuffers(*_locationScript, true);
 	while (scumm_stricmp(_tokens[0], "ENDLOCATION")) {
@@ -93,12 +93,12 @@
 			switchBackground(_location._name, mask);
 
 			if (_tokens[2][0] != '\0') {
-				_vm->_char._ani._left = atoi(_tokens[2]);
-				_vm->_char._ani._top = atoi(_tokens[3]);
+				_char._ani._left = atoi(_tokens[2]);
+				_char._ani._top = atoi(_tokens[3]);
 			}
 
 			if (_tokens[4][0] != '\0') {
-				_vm->_char._ani._frame = atoi(_tokens[4]);
+				_char._ani._frame = atoi(_tokens[4]);
 			}
 		}
 		if (!scumm_stricmp(_tokens[0], "DISK")) {
@@ -112,7 +112,7 @@
 			}
 		}
 		if (!scumm_stricmp(_tokens[0], "COMMANDS")) {
-			 parseCommands(*_locationScript, _location._commands);
+			parseCommands(*_locationScript, _location._commands);
 		}
 		if (!scumm_stricmp(_tokens[0], "ACOMMANDS")) {
 			parseCommands(*_locationScript, _location._aCommands);
@@ -157,17 +157,16 @@
 	resolveLocationForwards();
 
 	delete _locationScript;
-	_locationScript = NULL;
 
 	return;
 }
 
-void resolveLocationForwards() {
+void Parallaction::resolveLocationForwards() {
 //	printf("resolveLocationForwards()");
 //	printf("# forwards: %i", _numForwards);
 
 	for (uint16 _si = 0; _forwardedCommands[_si]; _si++) {
-		_forwardedCommands[_si]->u._animation = _vm->findAnimation(_forwardedAnimationNames[_si]);
+		_forwardedCommands[_si]->u._animation = findAnimation(_forwardedAnimationNames[_si]);
 		_forwardedCommands[_si] = NULL;
 	}
 
@@ -187,15 +186,15 @@
 	debugC(7, kDebugLocation, "freeLocation: localflags names freed");
 
 	// TODO (LIST): this should be replaced by a call to _location._walkNodes.clear()
-	freeNodeList(_vm->_location._walkNodes._next);
-	_vm->_location._walkNodes._next = NULL;
+	freeNodeList(_location._walkNodes._next);
+	_location._walkNodes._next = NULL;
 	debugC(7, kDebugLocation, "freeLocation: walk nodes freed");
 
 	// TODO (LIST): helperNode should be rendered useless by the use of a Common::List<>
 	// to store Zones and Animations. Right now, it holds a list of Zones to be preserved
 	// but that'll pretty meaningless with a single list approach.
 	helperNode._prev = helperNode._next = NULL;
-	_vm->freeZones(_zones._next);
+	freeZones(_zones._next);
 	freeNodeList(_zones._next);
 	_zones._next = helperNode._next;
 	_zones._prev = helperNode._prev;
@@ -206,25 +205,25 @@
 	// to store Zones and Animations. Right now, it holds a list of Zones to be preserved
 	// but that'll pretty meaningless with a single list approach.
 	helperNode._prev = helperNode._next = NULL;
-	_vm->freeZones(_animations._next);
-	_vm->freeAnimations();
+	freeZones(_animations._next);
+	freeAnimations();
 	freeNodeList(_animations._next);
 	_animations._next = helperNode._next;
 	_animations._prev = helperNode._prev;
 //	memcpy(&_animations, &helperNode, sizeof(Node));
 	debugC(7, kDebugLocation, "freeLocation: animations freed");
 
-	if (_vm->_location._comment) {
-		free(_vm->_location._comment);
+	if (_location._comment) {
+		free(_location._comment);
 	}
-	_vm->_location._comment = NULL;
+	_location._comment = NULL;
 	debugC(7, kDebugLocation, "freeLocation: comments freed");
 
 	// TODO (LIST): this should be _location._commands.clear();
-	freeCommands(_vm->_location._commands);
+	freeCommands(_location._commands);
 	debugC(7, kDebugLocation, "freeLocation: commands freed");
 
-	freeCommands(_vm->_location._aCommands);
+	freeCommands(_location._aCommands);
 	debugC(7, kDebugLocation, "freeLocation: acommands freed");
 
 	return;
@@ -232,7 +231,7 @@
 
 
 
-void parseWalkNodes(Script& script, Node *list) {
+void Parallaction::parseWalkNodes(Script& script, Node *list) {
 
 	fillBuffers(script, true);
 	while (scumm_stricmp(_tokens[0], "ENDNODES")) {
@@ -240,8 +239,8 @@
 		if (!scumm_stricmp(_tokens[0], "COORD")) {
 
 			WalkNode *v4 = new WalkNode(
-				atoi(_tokens[1]) - _vm->_char._ani.width()/2,
-				atoi(_tokens[2]) - _vm->_char._ani.height()
+				atoi(_tokens[1]) - _char._ani.width()/2,
+				atoi(_tokens[2]) - _char._ani.height()
 			);
 
 			addNode(list, v4);
@@ -255,14 +254,14 @@
 
 }
 
-void switchBackground(const char* background, const char* mask) {
+void Parallaction::switchBackground(const char* background, const char* mask) {
 //	printf("switchBackground(%s)", name);
 
 	Gfx::Palette pal;
 
 	uint16 v2 = 0;
 	if (!scumm_stricmp(background, "final")) {
-		_vm->_gfx->clearScreen(Gfx::kBitBack);
+		_gfx->clearScreen(Gfx::kBitBack);
 		for (uint16 _si = 0; _si <= 93; ) {
 			pal[_si] = v2;
 			pal[_si+1] = v2;
@@ -271,10 +270,10 @@
 			_si += 3;
 		}
 
-		_vm->_gfx->extendPalette(pal);
+		_gfx->extendPalette(pal);
 	}
 
-	_vm->_disk->loadScenery(background, mask);
+	_disk->loadScenery(background, mask);
 
 	return;
 }
@@ -286,7 +285,7 @@
 void Parallaction::showSlide(const char *name) {
 
 	_disk->loadSlide(name);
-	_gfx->extendPalette(_vm->_gfx->_palette);
+	_gfx->extendPalette(_gfx->_palette);
 	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 	debugC(1, kDebugLocation, "changeLocation: new background set");
@@ -346,7 +345,7 @@
 		debugC(2, kDebugLocation, "changeLocation: changed cursor");
 	}
 
-	removeNode(&_vm->_char._ani);
+	removeNode(&_char._ani);
 	debugC(2, kDebugLocation, "changeLocation: removed character from the animation list");
 
 	freeLocation();
@@ -379,7 +378,7 @@
 		}
 	}
 
-	addNode(&_animations, &_vm->_char._ani);
+	addNode(&_animations, &_char._ani);
 	debugC(2, kDebugLocation, "changeLocation: new character added to the animation list");
 
 	strcpy(_saveData1, list[0].c_str());
@@ -388,14 +387,14 @@
 	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
 	debugC(1, kDebugLocation, "changeLocation: new location '%s' parsed", _saveData1);
 
-	_vm->_char._ani._oldPos.x = -1000;
-	_vm->_char._ani._oldPos.y = -1000;
+	_char._ani._oldPos.x = -1000;
+	_char._ani._oldPos.y = -1000;
 
-	_vm->_char._ani.field_50 = 0;
+	_char._ani.field_50 = 0;
 	if (_location._startPosition.x != -1000) {
-		_vm->_char._ani._left = _location._startPosition.x;
-		_vm->_char._ani._top = _location._startPosition.y;
-		_vm->_char._ani._frame = _location._startFrame;
+		_char._ani._left = _location._startPosition.x;
+		_char._ani._top = _location._startPosition.y;
+		_char._ani._frame = _location._startFrame;
 		_location._startPosition.y = -1000;
 		_location._startPosition.x = -1000;
 
@@ -423,7 +422,7 @@
 	runJobs();
 	_gfx->swapBuffers();
 
-	_gfx->extendPalette(_vm->_gfx->_palette);
+	_gfx->extendPalette(_gfx->_palette);
 	if (_location._aCommands.size() > 0) {
 		runCommands(_location._aCommands);
 		debugC(1, kDebugLocation, "changeLocation: location acommands run");
@@ -450,26 +449,26 @@
 	if (_localFlags[_currentLocationIndex] & kFlagsVisited) return; // visited
 
 	byte pal[PALETTE_SIZE];
-	_vm->_gfx->buildBWPalette(pal);
-	_vm->_gfx->setPalette(pal, FIRST_BASE_COLOR, BASE_PALETTE_COLORS);
+	_gfx->buildBWPalette(pal);
+	_gfx->setPalette(pal, FIRST_BASE_COLOR, BASE_PALETTE_COLORS);
 
 	jobRunScripts(NULL, NULL);
 	jobEraseAnimations(NULL, NULL);
 	jobDisplayAnimations(NULL, NULL);
 
-	_vm->_gfx->setFont("comic");
-	_vm->_gfx->swapBuffers();
-	_vm->_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack);
+	_gfx->setFont("comic");
+	_gfx->swapBuffers();
+	_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack);
 
 	int16 v7C, v7A;
-	_vm->_gfx->getStringExtent(_vm->_location._comment, 130, &v7C, &v7A);
+	_gfx->getStringExtent(_location._comment, 130, &v7C, &v7A);
 
 	Common::Rect r(10 + v7C, 5 + v7A);
 	r.moveTo(5, 5);
-	_vm->_gfx->floodFill(Gfx::kBitFront, r, 0);
+	_gfx->floodFill(Gfx::kBitFront, r, 0);
 	r.grow(-1);
-	_vm->_gfx->floodFill(Gfx::kBitFront, r, 1);
-	_vm->_gfx->displayWrappedString(_vm->_location._comment, 3, 5, 130, 0);
+	_gfx->floodFill(Gfx::kBitFront, r, 1);
+	_gfx->displayWrappedString(_location._comment, 3, 5, 130, 0);
 
 	// FIXME: ???
 #if 0
@@ -480,13 +479,13 @@
 
 	waitUntilLeftClick();
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront );
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront );
 
 	// fades maximum intensity palette towards approximation of main palette
 	for (uint16 _si = 0; _si<6; _si++) {
 		waitTime( 1 );
-		_vm->_gfx->quickFadePalette(pal);
-		_vm->_gfx->setPalette(pal);
+		_gfx->quickFadePalette(pal);
+		_gfx->setPalette(pal);
 	}
 
 	debugC(1, kDebugLocation, "doLocationEnterTransition completed");

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -163,8 +163,6 @@
 	_activeItem._id = 0;
 	_procCurrentHoverItem = -1;
 
-	_locationScript = NULL;
-
 	_musicData1 = 0;
 	strcpy(_characterName1, "null");
 

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2007-04-07 16:40:27 UTC (rev 26409)
@@ -91,7 +91,35 @@
 	kMouseRightDown 	= 4
 };
 
+enum EngineFlags {
+	kEngineQuit 			= (1 << 0),
+	kEnginePauseJobs		= (1 << 1),
+	kEngineInventory		= (1 << 2),
+	kEngineWalking			= (1 << 3),
+	kEngineChangeLocation	= (1 << 4),
+	kEngineMouse			= (1 << 5),
+	kEngineDragging 		= (1 << 6),
+	kEngineTransformedDonna		= (1 << 7)
+};
 
+enum {
+	kEvNone 			= 0,
+	kEvEnterZone   		= 1,
+	kEvExitZone    		= 2,
+	kEvAction	  		= 3,
+	kEvOpenInventory	= 4,
+	kEvCloseInventory	= 5,
+	kEvHoverInventory	= 6,
+	kEvWalk 	  		= 7,
+	kEvQuitGame 		= 1000,
+	kEvSaveGame 		= 2000,
+	kEvLoadGame 		= 4000
+};
+
+enum {
+	kCursorArrow = -1
+};
+
 enum ParallactionGameType {
 	GType_Nippon = 1,
 	GType_BRA
@@ -99,6 +127,8 @@
 
 struct PARALLACTIONGameDescription;
 
+
+
 struct Job;
 typedef void (*JobFn)(void*, Job*);
 
@@ -121,41 +151,34 @@
 
 typedef void (*callable)(void*);
 
-extern uint16 _mouseButtons;
+extern uint16 		_mouseButtons;
+extern uint16 		_score;
+extern uint16 		_language;
+extern Zone 		*_activeZone;
+extern uint32 		_engineFlags;
+extern callable 	_callables[];
+extern uint32 		_localFlags[];
+extern Command 		*_forwardedCommands[];
+extern char 		_forwardedAnimationNames[][20];
+extern uint16 		_numForwards;
+extern char 		_soundFile[];
+extern char 		_slideText[][40];
+extern uint16 		_introSarcData3;		 // sarcophagus stuff to be saved
+extern uint16 		_introSarcData2;		 // sarcophagus stuff to be saved
+extern char 		_saveData1[];
+extern byte 		_mouseHidden;
+extern uint32 		_commandFlags;
+extern const char 	*_instructionNamesRes[];
+extern const char 	*_commandsNamesRes[];
+extern const char 	*_dinoName;
+extern const char 	*_donnaName;
+extern const char 	*_doughName;
+extern const char 	*_drkiName;
+extern const char 	*_minidinoName;
+extern const char 	*_minidonnaName;
+extern const char 	*_minidoughName;
+extern const char 	*_minidrkiName;
 
-extern uint16 _score;
-extern uint16 _language;
-extern Zone *_activeZone;
-extern uint32 _engineFlags;
-extern callable _callables[];
-
-extern Node _zones;
-extern Node _animations;
-extern uint32 _localFlags[];
-extern Command *_forwardedCommands[];
-extern char _forwardedAnimationNames[][20];
-extern uint16 _numForwards;
-extern char _soundFile[];
-extern char _slideText[][40];
-extern uint16 _introSarcData3;		 // sarcophagus stuff to be saved
-extern uint16 _introSarcData2;		 // sarcophagus stuff to be saved
-
-extern char _saveData1[];
-extern byte _mouseHidden;
-extern uint32 _commandFlags;
-
-extern const char *_instructionNamesRes[];
-extern const char *_commandsNamesRes[];
-
-extern const char *_dinoName;
-extern const char *_donnaName;
-extern const char *_doughName;
-extern const char *_drkiName;
-extern const char *_minidinoName;
-extern const char *_minidonnaName;
-extern const char *_minidoughName;
-extern const char *_minidrkiName;
-
 // Various ways of detecting character modes used to exist
 // inside the engine, so they have been unified in the two
 // following macros.
@@ -191,37 +214,7 @@
 void jobEraseLabel(void *parm, Job *j);
 
 
-enum EngineFlags {
-	kEngineQuit 			= (1 << 0),
-	kEnginePauseJobs		= (1 << 1),
-	kEngineInventory		= (1 << 2),
-	kEngineWalking			= (1 << 3),
-	kEngineChangeLocation	= (1 << 4),
-	kEngineMouse			= (1 << 5),
-	kEngineDragging 		= (1 << 6),
-	kEngineTransformedDonna		= (1 << 7)
-};
 
-enum {
-	kEvNone 			= 0,
-	kEvEnterZone   		= 1,
-	kEvExitZone    		= 2,
-	kEvAction	  		= 3,
-	kEvOpenInventory	= 4,
-	kEvCloseInventory	= 5,
-	kEvHoverInventory	= 6,
-	kEvWalk 	  		= 7,
-	kEvQuitGame 		= 1000,
-	kEvSaveGame 		= 2000,
-	kEvLoadGame 		= 4000
-};
-
-enum {
-	kCursorArrow = -1
-};
-
-
-
 class Gfx;
 class Menu;
 class MidiPlayer;
@@ -250,18 +243,8 @@
 
 	Character() {
 		_talk = NULL;
-//		._width = 0;
-//		_talk._height = 0;
-//		_talk._count = 0;
-
 		_head = NULL;
-//		_head._width = 0;
-//		_head._height = 0;
-//		_head._data0 = NULL;
-//		_head._data1 = NULL;
-
 		_objs = NULL;
-//		_objs._count = 0;
 
 		_ani._left = 150;
 		_ani._top = 100;
@@ -305,36 +288,43 @@
 	~Parallaction();
 
 	int init();
-
 	int go();
 
-
 	void loadGame();
 	void saveGame();
 
-	uint16 updateInput();
+	uint16 		updateInput();
 
-	void waitTime(uint32 t);
+	void 		waitTime(uint32 t);
 
-//	static void initTable(const char *path, char **table);
-//	static void freeTable(char** table);
-//	static int16 searchTable(const char *s, const char **table);
-	void 		freeCommands(CommandList& list);
+	void 		parseLocation(const char *filename);
+	void 		changeCursor(int32 index);
+	void 		changeCharacter(const char *name);
 
-	void parseLocation(const char *filename);
-	void changeCursor(int32 index);
-	void changeCharacter(const char *name);
+	char   		*parseComment(Script &script);
+	char   		*parseDialogueString(Script &script);
+	Dialogue	*parseDialogue(Script &script);
 
-	char   *parseComment(Script &script);
-	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();
 
-	Job *addJob(JobFn fn, void *parm, uint16 tag);
-	void removeJob(Job *j);
-	void pauseJobs();
-	void resumeJobs();
-	void runJobs();
+	Zone 		*findZone(const char *name);
+	Zone   		*hitZone(uint32 type, uint16 x, uint16 y);
+	uint16		runZone(Zone*);
+	void 		freeZones(Node *list);
 
+	void 		runDialogue(SpeakData*);
+
+	void 		runCommands(CommandList& list, Zone *z = NULL);
+	void 		freeCommands(CommandList& list);		// to be phased out soon
+
+	Animation  	*findAnimation(const char *name);
+	void		sortAnimations();
+	void 		freeAnimations();
+
 	Table		*_globalTable;
 	Table		*_objectsNames;
 	Table		*_zoneTypeNames;
@@ -344,17 +334,7 @@
 	Table		*_instructionNames;
 	Table		*_localFlagNames;
 
-	void 		freeZones(Node *list);
-	Animation  	*findAnimation(const char *name);
-	Zone 		*findZone(const char *name);
-	Zone   		*hitZone(uint32 type, uint16 x, uint16 y);
-	void 		freeAnimations();
-	void		sortAnimations();
-	void 		freeLocation();
 
-	uint16		runZone(Zone*);
-	void 		runDialogue(SpeakData*);
-	void 		runCommands(CommandList& list, Zone *z = NULL);
 
 public:
 	int getGameType() const;
@@ -369,22 +349,20 @@
 
 	MidiPlayer *_midiPlayer;
 
-	Gfx*	_gfx;
-	Menu*	_menu;
-	char	_characterName[30];
-	Disk*	_disk;
+	Gfx*			_gfx;
+	Menu*			_menu;
+	Disk*			_disk;
 
-	char	_locationNames[120][32];
-	int16	_currentLocationIndex;
-	uint16	_numLocations;
+	Character		_char;
+	char			_characterName[30];
 
-	Character	_char;
-	Location	_location;
+	char			_locationNames[120][32];
+	int16			_currentLocationIndex;
+	uint16			_numLocations;
+	Location		_location;
 
 	InventoryItem	_activeItem;
 
-	Script	*_locationScript;
-
 	Common::Point	_mousePos;
 
 	Node 	_zones;
@@ -393,12 +371,11 @@
 protected:		// data
 
 	struct InputData {
-		uint16		_event;
-		Common::Point		_mousePos;
-
-		int16       _inventoryIndex;
-		Zone*       _zone;
-		Label*  _label;
+		uint16			_event;
+		Common::Point	_mousePos;
+		int16       	_inventoryIndex;
+		Zone*       	_zone;
+		Label*  		_label;
 	};
 
 	bool		_skipMenu;
@@ -414,14 +391,14 @@
 
 	uint32		_baseTime;
 
-	uint16		_musicData1;	  // only used in changeLocation
+	uint16		_musicData1;	  		// only used in changeLocation
 	char		_characterName1[50]; 	// only used in changeCharacter
 
 	int16 _keyDown;
 
 	Job			_jobs;
 
-	Node helperNode;			// used for freeZones
+	Node 		helperNode;			// used for freeZones: to be removed
 
 protected:		// members
 	bool detectGame(void);
@@ -436,7 +413,8 @@
 	void		doSaveGame(uint16 slot, const char* name);
 
 	void		runGame();
-	InputData * translateInput();
+
+	InputData 	*translateInput();
 	void		processInput(InputData*);
 
 	int16		getHoverInventoryItem(int16 x, int16 y);
@@ -445,23 +423,45 @@
 	void		resetTimer();
 
 	void		doLocationEnterTransition();
+	void		changeLocation(char *location);
+	void 		showSlide(const char *name);
+	void 		resolveLocationForwards();
+	void 		switchBackground(const char* background, const char* mask);
+	void 		freeLocation();
+
 	void		parseZone(Script &script, Node *list, char *name);
+	void		parseZoneTypeBlock(Script &script, Zone *z);
+	void 		parseWalkNodes(Script& script, Node *list);
+	void 		displayCharacterComment(ExamineData *data);
+	void 		displayItemComment(ExamineData *data);
+
 	Animation * parseAnimation(Script &script, Node *list, char *name);
 	void		parseScriptLine(Instruction *inst, Animation *a, LocalVariable *locals);
-	void		parseZoneTypeBlock(Script &script, Zone *z);
 	void		loadProgram(Animation *a, char *filename);
-	void		changeLocation(char *location);
-	void 		showSlide(const char *name);
+	LValue		getLValue(Instruction *inst, char *str, LocalVariable *locals, Animation *a);
 
+	void		parseCommands(Script &script, CommandList&);
+
 	void 		pickMusic(const char *location);
 	void		selectCharacterMusic(const char *name);
 
-	void		parseCommands(Script &script, CommandList&);
 	void 		freeCharacter();
 
-
 	void 		initResources();
 
+	uint16 		askDialoguePassword(Dialogue *q, StaticCnv *face);
+	bool 		displayAnswer(Dialogue *q, uint16 i);
+	bool 		displayAnswers(Dialogue *q);
+	void 		displayQuestion(Dialogue *q, Cnv *cnv);
+	uint16 		getDialogueAnswer(Dialogue *q, Cnv *cnv);
+	int16 		selectAnswer(Question *q, StaticCnv *cnv);
+	void 		enterDialogue();
+	void 		exitDialogue();
+
+	void 		addInventoryItem(uint16 item);
+	void 		dropItem(uint16 item);
+	int16 		pickupItem(Zone *z);
+	int16 		isItemInInventory(int32 v);
 };
 
 // FIXME: remove global

Modified: scummvm/trunk/engines/parallaction/saveload.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/saveload.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/saveload.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -62,10 +62,10 @@
 
 	f->readLine(s, 29);
 
-	f->readLine(_vm->_characterName, 15);
-	f->readLine(_vm->_location._name, 15);
+	f->readLine(_characterName, 15);
+	f->readLine(_location._name, 15);
 
-	strcat(_vm->_location._name, ".");
+	strcat(_location._name, ".");
 
 	f->readLine(s, 15);
 	_location._startPosition.x = atoi(s);
@@ -116,19 +116,19 @@
 	delete f;
 
 	_engineFlags &= ~kEngineTransformedDonna;
-	if (!scumm_stricmp(_vm->_characterName, "donnatras")) {
+	if (!scumm_stricmp(_characterName, "donnatras")) {
 		_engineFlags |= kEngineTransformedDonna;
-		strcpy(_vm->_characterName, "donna");
+		strcpy(_characterName, "donna");
 	}
-	if (!scumm_stricmp(_vm->_characterName, "minidonnatras")) {
+	if (!scumm_stricmp(_characterName, "minidonnatras")) {
 		_engineFlags |= kEngineTransformedDonna;
-		strcpy(_vm->_characterName, _minidonnaName);
+		strcpy(_characterName, _minidonnaName);
 	}
 
-	if (IS_MINI_CHARACTER(_vm->_characterName)) {
-		strcpy(filename, _vm->_characterName+4);
+	if (IS_MINI_CHARACTER(_characterName)) {
+		strcpy(filename, _characterName+4);
 	} else {
-		strcpy(filename, _vm->_characterName);
+		strcpy(filename, _characterName);
 	}
 //	strcat(filename, ".tab");
 //	freeTable(_objectsNames);
@@ -142,7 +142,7 @@
 	// bugs, but it's a good maneuver anyway
 	strcpy(_characterName1, "null");
 
-	strcat(_vm->_location._name, _vm->_characterName);
+	strcat(_location._name, _characterName);
 	_engineFlags |= kEngineChangeLocation;
 
 	return;
@@ -175,17 +175,17 @@
 	f->writeString("\n");
 
 	if (_engineFlags & kEngineTransformedDonna) {
-		sprintf(s, "%stras\n", _vm->_characterName);
+		sprintf(s, "%stras\n", _characterName);
 	} else {
-		sprintf(s, "%s\n", _vm->_characterName);
+		sprintf(s, "%s\n", _characterName);
 	}
 	f->writeString(s);
 
 	sprintf(s, "%s\n", _saveData1);
 	f->writeString(s);
-	sprintf(s, "%d\n", _vm->_char._ani._left);
+	sprintf(s, "%d\n", _char._ani._left);
 	f->writeString(s);
-	sprintf(s, "%d\n", _vm->_char._ani._top);
+	sprintf(s, "%d\n", _char._ani._top);
 	f->writeString(s);
 	sprintf(s, "%d\n", _score);
 	f->writeString(s);
@@ -206,7 +206,7 @@
 
 	delete f;
 
-	refreshInventory(_vm->_characterName);
+	refreshInventory(_characterName);
 
 	return;
 
@@ -343,7 +343,7 @@
 
 int Parallaction::selectSaveFile(uint16 arg_0, const char* caption, const char* button) {
 
-	SaveLoadChooser* slc = new SaveLoadChooser(caption, button, _vm);
+	SaveLoadChooser* slc = new SaveLoadChooser(caption, button, this);
 
 	Common::StringList l;
 
@@ -382,7 +382,7 @@
 
 void Parallaction::saveGame() {
 
-	if (!scumm_stricmp(_vm->_location._name, "caveau"))
+	if (!scumm_stricmp(_location._name, "caveau"))
 		return;
 
 	int slot = selectSaveFile( 1, "Save file", "Save" );

Modified: scummvm/trunk/engines/parallaction/zone.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/zone.cpp	2007-04-07 15:47:42 UTC (rev 26408)
+++ scummvm/trunk/engines/parallaction/zone.cpp	2007-04-07 16:40:27 UTC (rev 26409)
@@ -94,7 +94,7 @@
 		}
 		if (!scumm_stricmp(_tokens[0], "label")) {
 //			printf("label: %s", _tokens[1]);
-			_vm->_gfx->makeCnvFromString(&z->_label._cnv, _tokens[1]);
+			_gfx->makeCnvFromString(&z->_label._cnv, _tokens[1]);
 		}
 		if (!scumm_stricmp(_tokens[0], "flags")) {
 			uint16 _si = 1;
@@ -302,28 +302,28 @@
 //
 //	works on the frontbuffer
 //
-void displayCharacterComment(ExamineData *data) {
+void Parallaction::displayCharacterComment(ExamineData *data) {
 	if (data->_description == NULL) return;
 
 	StaticCnv v3C;
-	v3C._width = _vm->_char._talk->_width;
-	v3C._height = _vm->_char._talk->_height;
-	v3C._data0 = _vm->_char._talk->getFramePtr(0);
+	v3C._width = _char._talk->_width;
+	v3C._height = _char._talk->_height;
+	v3C._data0 = _char._talk->getFramePtr(0);
 	v3C._data1 = NULL; //_talk->field_8[0];
 
-	_vm->_gfx->setFont("comic");
-	_vm->_gfx->flatBlitCnv(&v3C, 190, 80, Gfx::kBitFront);
+	_gfx->setFont("comic");
+	_gfx->flatBlitCnv(&v3C, 190, 80, Gfx::kBitFront);
 
 	int16 v26, v28;
-	_vm->_gfx->getStringExtent(data->_description, 130, &v28, &v26);
+	_gfx->getStringExtent(data->_description, 130, &v28, &v26);
 	Common::Rect r(v28, v26);
 	r.moveTo(140, 10);
-	_vm->_gfx->drawBalloon(r, 0);
-	_vm->_gfx->displayWrappedString(data->_description, 140, 10, 130, 0);
+	_gfx->drawBalloon(r, 0);
+	_gfx->displayWrappedString(data->_description, 140, 10, 130, 0);
 
 	waitUntilLeftClick();
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 	return;
 }
@@ -337,32 +337,32 @@
 //	works on the frontbuffer
 //
 
-void displayItemComment(ExamineData *data) {
+void Parallaction::displayItemComment(ExamineData *data) {
 
 	if (data->_description == NULL) return;
 
 	char v68[PATH_LEN];
 	strcpy(v68, data->_filename);
-	data->_cnv = _vm->_disk->loadStatic(v68);
-	_vm->_gfx->flatBlitCnv(data->_cnv, 140, (SCREEN_HEIGHT - data->_cnv->_height)/2, Gfx::kBitFront);
-	_vm->_gfx->freeStaticCnv(data->_cnv);
+	data->_cnv = _disk->loadStatic(v68);
+	_gfx->flatBlitCnv(data->_cnv, 140, (SCREEN_HEIGHT - data->_cnv->_height)/2, Gfx::kBitFront);
+	_gfx->freeStaticCnv(data->_cnv);
 	delete data->_cnv;
 
 	int16 v6A = 0, v6C = 0;
 
-	_vm->_gfx->setFont("comic");
-	_vm->_gfx->getStringExtent(data->_description, 130, &v6C, &v6A);
+	_gfx->setFont("comic");
+	_gfx->getStringExtent(data->_description, 130, &v6C, &v6A);
 	Common::Rect r(v6C, v6A);
 	r.moveTo(0, 90);
-	_vm->_gfx->drawBalloon(r, 0);
-	_vm->_gfx->flatBlitCnv(_vm->_char._head, 100, 152, Gfx::kBitFront);
-	_vm->_gfx->displayWrappedString(data->_description, 0, 90, 130, 0);
+	_gfx->drawBalloon(r, 0);
+	_gfx->flatBlitCnv(_vm->_char._head, 100, 152, Gfx::kBitFront);
+	_gfx->displayWrappedString(data->_description, 0, 90, 130, 0);
 
 	jobEraseAnimations((void*)1, NULL);
 
 	waitUntilLeftClick();
 
-	_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+	_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
 
 	return;
 }
@@ -397,7 +397,7 @@
 		if (z->_flags & kFlagsLocked) break;
 		z->_flags ^= kFlagsClosed;
 		if (z->u.door->_cnv == NULL) break;
-		_vm->addJob(&jobToggleDoor, z, kPriority18 );
+		addJob(&jobToggleDoor, z, kPriority18 );
 		break;
 
 	case kZoneHear:
@@ -552,13 +552,13 @@
 
 			if (z->_left != -1)
 				continue;
-			if (_si < _vm->_char._ani._left)
+			if (_si < _char._ani._left)
 				continue;
-			if (_si > (_vm->_char._ani._left + _vm->_char._ani.width()))
+			if (_si > (_char._ani._left + _char._ani.width()))
 				continue;
-			if (_di < _vm->_char._ani._top)
+			if (_di < _char._ani._top)
 				continue;
-			if (_di > (_vm->_char._ani._top + _vm->_char._ani.height()))
+			if (_di > (_char._ani._top + _char._ani.height()))
 				continue;
 
 		}


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