[Scummvm-cvs-logs] CVS: scummvm/queen walk.h,1.13,1.14 walk.cpp,1.24,1.25 logic.cpp,1.104,1.105 command.cpp,1.23,1.24 cutaway.cpp,1.71,1.72 journal.cpp,1.1,1.2 xref.txt,1.39,1.40

Gregory Montoir cyx at users.sourceforge.net
Wed Nov 26 12:41:09 CET 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv26726

Modified Files:
	walk.h walk.cpp logic.cpp command.cpp cutaway.cpp journal.cpp 
	xref.txt 
Log Message:
rename some methods (purely cosmetic) and fix some walking problems when closing Journal screen

Index: walk.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/walk.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- walk.h	16 Nov 2003 10:47:31 -0000	1.13
+++ walk.h	26 Nov 2003 20:40:43 -0000	1.14
@@ -71,18 +71,20 @@
 
 	Walk(Logic *logic, Graphics *graphics);
 
-	int16 joeMove(int direction, int16 endx, int16 endy, bool inCutaway);
-	
-	int16 personMove(const Person *pp, int16 endx, int16 endy, uint16 curImage, int direction);
+	int16 moveJoe(int direction, int16 endx, int16 endy, bool inCutaway);
+	int16 movePerson(const Person *pp, int16 endx, int16 endy, uint16 curImage, int direction);
+
+	void stopJoe();
 
 	enum {
 		MAX_WALK_DATA = 16
 	};
 
+
 private:
 
 	void animateJoePrepare();
-	bool animateJoe();
+	void animateJoe();
 
 	void animatePersonPrepare(const MovePersonData *mpd, int direction);
 	void animatePerson(const MovePersonData *mpd, uint16 image, uint16 bobNum, uint16 bankNum, int direction);
@@ -120,6 +122,8 @@
 
 	uint16 _areaList[MAX_WALK_DATA];
 	uint16 _areaListCount;
+
+	bool _joeInterrupted;
 
 	//! set if customMoveJoe() is called in joeAnimate()
 	bool _joeMoveBlock;

Index: walk.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/walk.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- walk.cpp	16 Nov 2003 10:47:31 -0000	1.24
+++ walk.cpp	26 Nov 2003 20:40:43 -0000	1.25
@@ -101,7 +101,7 @@
 }
 
 
-bool Walk::animateJoe() {
+void Walk::animateJoe() {
 	// queen.c l.2789-2835
 	uint16 lastDirection = 0;
 	uint16 i;
@@ -109,8 +109,7 @@
 	_logic->joeFacing(_walkData[1].anim.facing);
 	_logic->joeScale(_walkData[1].area->calcScale(pbs->y));
 	_logic->joeFace();
-	bool interrupted = false;
-	for (i = 1; i <= _walkDataCount && !interrupted; ++i) {
+	for (i = 1; i <= _walkDataCount && !_joeInterrupted; ++i) {
 
 		WalkData *pwd = &_walkData[i];
 
@@ -119,7 +118,7 @@
 			// queen.c l.2838-2911
 			_logic->customMoveJoe(pwd->anim.facing, pwd->areaNum, i);
 			_joeMoveBlock = true;
-			return interrupted;
+			return;
 		}
 		if (lastDirection != pwd->anim.facing) {
 			_graphics->bobAnimNormal(0, pwd->anim.firstFrame, pwd->anim.lastFrame, 1, false, false);
@@ -142,16 +141,17 @@
 				pbs->speed = 1;
 			}
 			_logic->checkPlayer();
+			// FIXME it would nice to be able to get rid of these 3 lines
+			// as stopJoe() should be do the same...
 			if (_logic->joeWalk() == JWM_EXECUTE) { // XXX || cutQuit 
 				// we are about to do something else, so stop walking
-				interrupted = true;
+				_joeInterrupted = true;
 				pbs->moving = false;
 			}
 		}
 		lastDirection = pwd->anim.facing;
 	}
 	_logic->joeFacing(lastDirection);
-	return interrupted;
 }
 
 
@@ -290,12 +290,14 @@
 }
 
 
-int16 Walk::joeMove(int direction, int16 endx, int16 endy, bool inCutaway) {
+int16 Walk::moveJoe(int direction, int16 endx, int16 endy, bool inCutaway) {
 
 	_joeMoveBlock = false;
 	int16 can = 0;
 	initWalkData();
 
+	_joeInterrupted = false;
+
 	uint16 oldx = _graphics->bob(0)->x;
 	uint16 oldy = _graphics->bob(0)->y;
 
@@ -304,7 +306,7 @@
 	uint16 oldPos = _logic->zoneInArea(ZONE_ROOM, oldx, oldy);
 	uint16 newPos = _logic->zoneInArea(ZONE_ROOM, endx, endy);
 
-	debug(9, "Walk::joeMove(%d, %d, %d, %d, %d) - old = %d, new = %d", direction, oldx, oldy, endx, endy, oldPos, newPos);
+	debug(9, "Walk::moveJoe(%d, %d, %d, %d, %d) - old = %d, new = %d", direction, oldx, oldy, endx, endy, oldPos, newPos);
 
 	// if in cutaway, allow Joe to walk anywhere
 	if(newPos == 0 && inCutaway) {
@@ -314,7 +316,8 @@
 		if (calc(oldPos, newPos, oldx, oldy, endx, endy)) {
 			if (_walkDataCount > 0) {
 				animateJoePrepare();
-				if(animateJoe()) {
+				animateJoe(); 
+				if (_joeInterrupted) {
 					can = -1;
 				}
 			}
@@ -343,14 +346,10 @@
 }
 
 
-int16 Walk::personMove(const Person *pp, int16 endx, int16 endy, uint16 curImage, int direction) {
-
-	if (curImage > MAX_FRAMES_NUMBER) {
-		error("[Walk::personMove] curImage is invalid: %i", curImage);
-	}
+int16 Walk::movePerson(const Person *pp, int16 endx, int16 endy, uint16 curImage, int direction) {
 
 	if (endx == 0 && endy == 0) {
-		warning("Walk::personMove() - endx == 0 && endy == 0");
+		warning("Walk::movePerson() - endx == 0 && endy == 0");
 		return 0;
 	}
 
@@ -373,7 +372,7 @@
 	uint16 oldPos = _logic->zoneInArea(ZONE_ROOM, oldx, oldy);
 	uint16 newPos = _logic->zoneInArea(ZONE_ROOM, endx, endy);
 
-	debug(9, "Walk::personMove(%d, %d, %d, %d, %d) - old = %d, new = %d", direction, oldx, oldy, endx, endy, oldPos, newPos);
+	debug(9, "Walk::movePerson(%d, %d, %d, %d, %d) - old = %d, new = %d", direction, oldx, oldy, endx, endy, oldPos, newPos);
 
 	// find MovePersonData associated to Person
 	const MovePersonData *mpd = _moveData;
@@ -399,7 +398,7 @@
 		standingFrame = 29 + FRAMES_JOE_XTRA + bobNum;
 	}
 	else {
-		warning("Walk::personMove() - Wrong bob number : %d", bobNum);
+		warning("Walk::movePerson() - Wrong bob number : %d", bobNum);
 	}
 	// make other person face the right direction
 	BobSlot *pbs = _graphics->bob(bobNum);
@@ -424,6 +423,14 @@
 	}
 	pbs->frameNum = standingFrame;
 	return can;
+}
+
+
+void Walk::stopJoe() {
+
+	_graphics->bob(0)->moving = false;
+	_joeInterrupted = true;
+
 }
 
 

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- logic.cpp	26 Nov 2003 13:53:17 -0000	1.104
+++ logic.cpp	26 Nov 2003 20:40:43 -0000	1.105
@@ -1244,7 +1244,7 @@
 		}
 //	}
 	if (pod != NULL) {
-		_walk->joeMove(0, pod->x, pod->y, inCutaway);
+		_walk->moveJoe(0, pod->x, pod->y, inCutaway);
 	}
 }
 
@@ -2556,15 +2556,26 @@
 		Talk::speak("This is a demo, so I can't load or save games*14", NULL, "", _graphics, _input, this, _resource, _sound);
 	}
 	else {
-		// XXX (execute.c l.428-437 & queen.c l.350-365)
+
 		// XXX save some vars
+		// 
+		// XXX tmpbamflag=bamflag;
+		// XXX bamflag=0;
+		// XXX in_journal=1;
+
+		_cmd->clear(false);
+
 		Journal j(this, _graphics, _display, _sound, &_settings);
 		j.use();
+
+		_walk->stopJoe();
+
 		// XXX restore vars
+		// 
+		// XXX in_journal=0;
+		// XXX bamflag=tmpbamflag;
+		// XXX TALKQUIT=CUTQUIT=0; Make sure that we turn off cut stuff in case we use Journal during cutaways
 
-		// _graphics->bob(0)->moving = false;
-		// joeWalk(JWM_EXECUTE); // make sure we exit Move_Joe()
-		// XXX _walk->stopJoe();
 	}
 }
 

Index: command.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/command.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- command.cpp	26 Nov 2003 13:53:17 -0000	1.23
+++ command.cpp	26 Nov 2003 20:40:43 -0000	1.24
@@ -563,7 +563,7 @@
 			_logic->joeFace();
 		}
 		else {
-			p = _walk->joeMove(facing, x, y, false); // XXX inCutaway parameter
+			p = _walk->moveJoe(facing, x, y, false); // XXX inCutaway parameter
 			// XXX if(P != 0) P = FIND_VERB
 		}
 	}
@@ -843,7 +843,8 @@
 	if (strlen(description) > 4 && 
 		scumm_stricmp(description + strlen(description) - 4, ".cut") == 0) {
 
-		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
+//		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
+		clear(true);
 
 		char nextCutaway[20];
 		memset(nextCutaway, 0, sizeof(nextCutaway));
@@ -863,7 +864,8 @@
 			scumm_stricmp(description + strlen(description) - 4, ".dog") == 0) {
 		char cutaway[20];
 
-		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
+//		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
+		clear(true);
 
 		_logic->dialogue(description, _selCmd.noun, cutaway);
 
@@ -891,7 +893,8 @@
 		if (_selCmd.action.isNone()) {
 			_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
 		}
-		_walk->joeMove(0, _selPosX, _selPosY, false); // XXX inCutaway parameter
+debug(0, "_walk->moveJoe(%d, %d)", _selPosX, _selPosY);
+		_walk->moveJoe(0, _selPosX, _selPosY, false); // XXX inCutaway parameter
 		return true;
 	}
 	// check to see if one of the objects is hidden

Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- cutaway.cpp	17 Nov 2003 19:55:17 -0000	1.71
+++ cutaway.cpp	26 Nov 2003 20:40:43 -0000	1.72
@@ -1129,7 +1129,7 @@
 
 	if (object.objectNumber == OBJECT_JOE) {
 		if (object.moveToX || object.moveToY) {
-			_walk->joeMove(0, object.moveToX, object.moveToY, true);
+			_walk->moveJoe(0, object.moveToX, object.moveToY, true);
 		} 
 	}
 	else {
@@ -1145,7 +1145,7 @@
 		}
 
 		if (object.moveToX || object.moveToY)
-			_walk->personMove(
+			_walk->movePerson(
 					&p, 
 					object.moveToX, object.moveToY,
 					_currentImage + 1, 		// XXX CI+1
@@ -1181,6 +1181,7 @@
 
 			char voiceFilePrefix[MAX_STRING_SIZE];
 			findCdCut(_basename, index, voiceFilePrefix);
+			
 			Talk::speak(sentence, (object.objectNumber == OBJECT_JOE) ? NULL : &p, voiceFilePrefix,
 				_graphics, _input, _logic, _resource, _sound);
 		}

Index: journal.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/journal.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- journal.cpp	26 Nov 2003 13:53:17 -0000	1.1
+++ journal.cpp	26 Nov 2003 20:40:43 -0000	1.2
@@ -32,7 +32,6 @@
 // - misc
 //   * better Journal integration in Logic
 //   * get rid of g_engine global
-//   * walking issues (try to get rid of walkgameload)
 // - save/load code related
 //   * new format (SCVM [ver]32 [flags]32) all BE
 //   * move code from Resource to Journal
@@ -92,6 +91,8 @@
 		g_system->delay_msecs(20);
 	}
 
+	_graphics->textClear(0, GAME_SCREEN_HEIGHT - 1);
+	_graphics->cameraBob(0);
 	if (_quitCleanly) {
 		restore();
 	}
@@ -145,12 +146,7 @@
 
 void Journal::restore() {
 
-	_graphics->textClear(0, GAME_SCREEN_HEIGHT - 1);
-
-    // XXX in_journal=0;
-
 	_display->fullscreen(false);
-	_graphics->cameraBob(0);
 
 	_logic->joeX(_prevJoeX);
 	_logic->joeY(_prevJoeY);

Index: xref.txt
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/xref.txt,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- xref.txt	24 Nov 2003 14:18:49 -0000	1.39
+++ xref.txt	26 Nov 2003 20:40:43 -0000	1.40
@@ -74,13 +74,12 @@
 
 CUTAWAY
 =======
-action_special_move			Cutaway::actionSpecialMove
+action_special_move()		Cutaway::actionSpecialMove
 CUTAWAY()					Cutaway::run
 MAKE_COMPLEX_ANIM()			Cutaway::makeComplexAnimation
 SCENE_START()				Logic::sceneStart
 SCENE_END()					Logic::sceneStop
 -
-CUTJOEF
 CUTON						Input::_cutawayRunning
 CUTQUIT						Input::_cutawayQuit
 FINAL_ROOM					Cutaway::_finalRoom
@@ -130,7 +129,7 @@
 invbob()					Graphics::bobDrawInventoryItem
 loadbackdrop()				Graphics::loadBackdrop
 loadpanel()					Graphics::loadPanel
-MAKE_SPEAK_BOB				Graphics::bobSetText
+MAKE_SPEAK_BOB()			Graphics::bobSetText
 makeanim()					Graphics::bobAnimNormal
 movebob()					Graphics::bobMove
 pastebob()					Graphics::bobPaste
@@ -181,9 +180,10 @@
 USE_CLOTHES()				Logic::joeUseClothes
 USE_DRESS()					Logic::joeUseDress
 -
+CUTJOEF
 JOE_RESPstr 				Logic::_joeResponse
 JOEF,JX,JY,JDIR				Logic::_joe.*
-JOEWALK						Logic::_joe.walk (legal values = 0,1,2,3)
+JOEWALK						Logic::_joe.walk
 
 
 JOURNAL
@@ -199,9 +199,9 @@
 -
 choice						Journal::_currentSaveSlot
 decbase						Journal::_currentSavePage
-in_journal					*not needed ?*
+in_journal					*not needed* (the hack in puttext() seems useless and CHECK_PARALLAX() is never called)
 save_descriptions			Journal::_saveDescriptions
-walkgameload
+walkgameload				*not needed ?*
 
 
 LOGIC
@@ -270,11 +270,11 @@
 
 PERSONS
 =======
-ALLOCATE_PERSON				Logic::personAllocate
+ALLOCATE_PERSON()			Logic::personAllocate
 CREATE_ANIM()				Logic::animCreate
-SET_PERSON_DATA				Logic::personSetData
-SETUP_PERSON				Logic::personSetup
-OBJ_PERSON					Logic::objectForPerson
+SET_PERSON_DATA()			Logic::personSetData
+SETUP_PERSON()				Logic::personSetup
+OBJ_PERSON()				Logic::objectForPerson
 -
 PERSON_FACE
 PERSON_FACE_MAX
@@ -358,11 +358,11 @@
 TALK
 ====
 FIND_SACTION()				Talk::findSpeechParameters
-MOVE_SPEAK
-SPEAK						Talk::speak
-SPEAK_SUB					Talk::speakSegment
-talk						Talk::talk
-TALK_PROC					Talk::talk
+MOVE_SPEAK()
+SPEAK()						Talk::speak
+SPEAK_SUB()					Talk::speakSegment
+talk()						Talk::talk
+TALK_PROC()					Talk::talk
 -
 A1,A12
 actiondata					Talk::_speechParameters
@@ -405,8 +405,8 @@
 FIND_FREE_AREA				Walk::findFreeArea
 FIND_NEWP()					Walk::findAreaPosition
 FIND_OLDP()					Walk::findAreaPosition
-MOVE_JOE()					Walk::joeMove
-MOVE_OTHER()				Walk::personMove
+MOVE_JOE()					Walk::moveJoe
+MOVE_OTHER()				Walk::movePerson
 -
 AREALIST					Walk::_areaList
 AREASTRIKE					Walk::_areaStrike
@@ -430,7 +430,7 @@
 ==========
 in()						defs.h InRange() macro
 find_cd_cut()				findCdCut
-find_cd_desc()				*not needed, see Logic::joeSpeak()*
+find_cd_desc()				*not needed* (see Logic::joeSpeak())
 -
 Kstr				
 bank9





More information about the Scummvm-git-logs mailing list