DRASCULA: Rename gotoObject() to walkToPoint() and simplify it

This commit is contained in:
Filippos Karapetis
2017-11-11 17:14:38 +02:00
parent 2bf05c2a74
commit 1e1b6f7ca4
5 changed files with 39 additions and 39 deletions
+19 -19
View File
@@ -362,7 +362,7 @@ void DrasculaEngine::animation_2_1() {
int l;
gotoObject(231, 91);
walkToPoint(Common::Point(231, 91));
_characterVisible = false;
term_int = 0;
@@ -439,7 +439,7 @@ void DrasculaEngine::animation_2_1() {
if (animate("lev.bin", 15))
break;
gotoObject(100 + curWidth / 2, 99 + curHeight);
walkToPoint(Common::Point(100 + curWidth / 2, 99 + curHeight));
if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackProtagonist = 1;
@@ -484,7 +484,7 @@ void DrasculaEngine::animation_2_1() {
pause(118);
if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
gotoObject(132, 97 + curHeight);
walkToPoint(Common::Point(132, 97 + curHeight));
pause(60);
if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
@@ -492,7 +492,7 @@ void DrasculaEngine::animation_2_1() {
if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_bj(12);
gotoObject(157, 98 + curHeight);
walkToPoint(Common::Point(157, 98 + curHeight));
if (animate("bes.bin", 16))
break;
playMusic(11);
@@ -880,8 +880,8 @@ void DrasculaEngine::animation_23_2() {
trackVonBraun = 1;
talk_vonBraun(16, kVonBraunNormal);
trackVonBraun = 2;
gotoObject(157, 147);
gotoObject(131, 149);
walkToPoint(Common::Point(157, 147));
walkToPoint(Common::Point(131, 149));
trackProtagonist = 0;
animation_14_2();
if (flags[25] == 0)
@@ -1024,7 +1024,7 @@ void DrasculaEngine::animation_31_2() {
talk_vonBraun(44, kVonBraunNormal);
placeVonBraun(-50);
pause(15);
gotoObject(159, 140);
walkToPoint(Common::Point(159, 140));
loadPic(99, backSurface);
playTalkSequence(31); // sequence 31, chapter 2
@@ -1041,8 +1041,8 @@ void DrasculaEngine::animation_31_2() {
void DrasculaEngine::animation_35_2() {
debug(4, "animation_35_2()");
gotoObject(96, 165);
gotoObject(79, 165);
walkToPoint(Common::Point(96, 165));
walkToPoint(Common::Point(79, 165));
updateRoom();
updateScreen();
@@ -1130,7 +1130,7 @@ void DrasculaEngine::animation_2_3() {
loadPic(97, extraSurface);
loadPic(99, backSurface);
gotoObject(332, 127);
walkToPoint(Common::Point(332, 127));
}
void DrasculaEngine::animation_6_3() {
@@ -1221,7 +1221,7 @@ void DrasculaEngine::animation_1_5() {
talk_bj(19);
talk(229);
pause(5);
gotoObject(114, 170);
walkToPoint(Common::Point(114, 170));
trackProtagonist = 3;
talk(431);
talk_bj(20);
@@ -1265,7 +1265,7 @@ void DrasculaEngine::animation_5_5(){
selectVerb(kVerbNone);
removeObject(8);
gotoObject(curX - 19, curY + curHeight);
walkToPoint(Common::Point(curX - 19, curY + curHeight));
trackProtagonist = 1;
updateRoom();
updateScreen();
@@ -1429,8 +1429,8 @@ void DrasculaEngine::animation_12_5() {
loadPic(99, backSurface);
gotoObject(40, 169);
gotoObject(-14, 175);
walkToPoint(Common::Point(40, 169));
walkToPoint(Common::Point(-14, 175));
doBreak = 1;
previousMusic = roomMusic;
@@ -1487,7 +1487,7 @@ void DrasculaEngine::animation_14_5() {
pause(17);
trackProtagonist = 3;
talk(246);
gotoObject(89, 160);
walkToPoint(Common::Point(89, 160));
flags[10] = 1;
playSound(7);
updateRoom();
@@ -1659,7 +1659,7 @@ void DrasculaEngine::animation_9_6() {
updateScreen();
fadeFromBlack(0);
pause(96);
gotoObject(116, 178);
walkToPoint(Common::Point(116, 178));
trackProtagonist = 2;
updateRoom();
updateScreen();
@@ -1844,7 +1844,7 @@ void DrasculaEngine::animation_24_2() {
debug(4, "animation_24_2()");
if (curX < 178)
gotoObject(208, 136);
walkToPoint(Common::Point(208, 136));
trackProtagonist = 3;
updateRoom();
pause(3);
@@ -2139,8 +2139,8 @@ void DrasculaEngine::animation_5_4(){
trackProtagonist = 3;
loadPic("anh_dr.alg", backSurface);
gotoObject(99, 160);
gotoObject(38, 177);
walkToPoint(Common::Point(99, 160));
walkToPoint(Common::Point(38, 177));
_characterVisible = false;
updateRoom();
updateScreen();
+6 -6
View File
@@ -444,7 +444,7 @@ bool DrasculaEngine::runCurrentChapter() {
enterRoom(62);
curX = -20;
curY = 56;
gotoObject(65, 145);
walkToPoint(Common::Point(65, 145));
}
// REMINDER: This is a good place to debug animations
@@ -550,14 +550,14 @@ bool DrasculaEngine::runCurrentChapter() {
// made the character start walking off screen, as his actual position was
// different than the displayed one
if (_roomNumber == 3 && (curX == 279) && (curY + curHeight == 101)) {
gotoObject(178, 121);
gotoObject(169, 135);
walkToPoint(Common::Point(178, 121));
walkToPoint(Common::Point(169, 135));
} else if (_roomNumber == 14 && (curX == 214) && (curY + curHeight == 121)) {
_walkToObject = true;
gotoObject(190, 130);
walkToPoint(Common::Point(190, 130));
} else if (_roomNumber == 14 && (curX == 246) && (curY + curHeight == 112)) {
_walkToObject = true;
gotoObject(190, 130);
walkToPoint(Common::Point(190, 130));
}
}
@@ -793,7 +793,7 @@ bool DrasculaEngine::verify2() {
if (_objectRect[l].contains(Common::Point(_mouseX, _mouseY)) && visible[l] == 1) {
trackFinal = trackObj[l];
_walkToObject = true;
gotoObject(_roomObject[l].x, _roomObject[l].y);
walkToPoint(_roomObject[l]);
if (checkAction(objectNum[l]))
return true;
if (currentChapter == 4)
+1 -1
View File
@@ -487,7 +487,7 @@ public:
void enterRoom(int);
void clearRoom();
void gotoObject(int, int);
void walkToPoint(Common::Point pos);
void moveCursor();
void checkObjects();
void selectVerbFromBar();
+3 -3
View File
@@ -57,7 +57,7 @@ void DrasculaEngine::chooseObject(int object) {
pickedObject = object;
}
void DrasculaEngine::gotoObject(int pointX, int pointY) {
void DrasculaEngine::walkToPoint(Common::Point pos) {
bool cursorVisible = isCursorVisible();
hideCursor();
@@ -70,8 +70,8 @@ void DrasculaEngine::gotoObject(int pointX, int pointY) {
return;
}
}
roomX = pointX;
roomY = pointY;
roomX = pos.x;
roomY = pos.y;
startWalking();
while (!shouldQuit()) {
+10 -10
View File
@@ -690,7 +690,7 @@ bool DrasculaEngine::room_26(int fl) {
else if (pickedObject == 16 && fl == 50 && flags[18] == 1 && flags[12] == 1)
animation_5_4();
else if (pickedObject == kVerbPick && fl == 143 && flags[18] == 1) {
gotoObject(260, 180);
walkToPoint(Common::Point(260, 180));
pickObject(10);
visible[1] = 0;
flags[12] = 1;
@@ -699,14 +699,14 @@ bool DrasculaEngine::room_26(int fl) {
talk_igor(27, kIgorDoor);
flags[30] = 1;
talk_igor(28, kIgorDoor);
gotoObject(153, 180);
walkToPoint(Common::Point(153, 180));
} else if (pickedObject == kVerbPick && fl == 143 && flags[18] == 0) {
gotoObject(260, 180);
walkToPoint(Common::Point(260, 180));
copyBackground(80, 78, 199, 94, 38, 27, drawSurface3, screenSurface);
updateScreen(199, 94, 199, 94, 38, 27, screenSurface);
pause(3);
talk_igor(25, kIgorWig);
gotoObject(153, 180);
walkToPoint(Common::Point(153, 180));
} else if (pickedObject == kVerbTalk && fl == 51)
animation_1_4();
else
@@ -927,7 +927,7 @@ bool DrasculaEngine::room_55(int fl) {
playSound(11);
animate("det.bin", 17);
finishSound();
gotoObject(curX - 3, curY + curHeight + 6);
walkToPoint(Common::Point(curX - 3, curY + curHeight + 6));
} else
hasAnswer = 0;
@@ -972,7 +972,7 @@ bool DrasculaEngine::room_59(int fl) {
delay(40);
finishSound();
delay(10);
gotoObject(174, 168);
walkToPoint(Common::Point(174, 168));
trackProtagonist = 2;
updateRoom();
updateScreen();
@@ -1920,7 +1920,7 @@ bool DrasculaEngine::exitRoom(int doorNumber) {
((currentChapter != 3 && currentChapter != 5) || visible[doorNumber] == 1)) {
hideCursor();
gotoObject(_roomObject[doorNumber].x, _roomObject[doorNumber].y);
walkToPoint(_roomObject[doorNumber]);
if (currentChapter != 2) {
trackProtagonist = trackObj[doorNumber];
updateRoom();
@@ -1940,8 +1940,8 @@ bool DrasculaEngine::exitRoom(int doorNumber) {
if (objectNum[doorNumber] == 136)
animation_2_2();
if (objectNum[doorNumber] == 124) {
gotoObject(163, 106);
gotoObject(287, 101);
walkToPoint(Common::Point(163, 106));
walkToPoint(Common::Point(287, 101));
trackProtagonist = 0;
}
if (objectNum[doorNumber] == 173) {
@@ -1958,7 +1958,7 @@ bool DrasculaEngine::exitRoom(int doorNumber) {
addObject(kItemEarplugs);
}
} else if (currentChapter == 4 && objectNum[doorNumber] == 108) {
gotoObject(171, 78);
walkToPoint(Common::Point(171, 78));
}
if (currentChapter == 5)