Removed junk code from update_1_pre, update_4 and update_6_pre

pon_hare -> moveCharacters
hare_oscuro -> setDarkPalette
hare_claro -> setBrightPalette
funde_hare -> setPaletteBase
conta_blind_vez -> savedTime
paleta_hare -> assignDefaultPalette
paleta_hare_claro -> assignBrightPalette
paleta_hare_oscuro -> assignDarkPalette
distance_x/distance_y -> distanceX/distanceY
palHare -> defaultPalette
palHareClaro -> brightPalette
palHareOscuro -> darkPalette
pos_murci -> batPos
murci_x/murci_y -> batX/batY
blind_x/blind_y -> blindX/blindY

svn-id: r32526
This commit is contained in:
Filippos Karapetis 2008-06-04 07:58:34 +00:00
parent 52fbdd51eb
commit db0c37d054
5 changed files with 204 additions and 215 deletions

View file

@ -643,7 +643,7 @@ void DrasculaEngine::animation_4_1() {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface); copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
@ -675,7 +675,7 @@ void DrasculaEngine::animation_1_2() {
void DrasculaEngine::animation_2_2() { void DrasculaEngine::animation_2_2() {
trackProtagonist = 0; trackProtagonist = 0;
copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
updateScreen(); updateScreen();
loadPic("an2_1.alg", frontSurface, 1); loadPic("an2_1.alg", frontSurface, 1);
@ -825,7 +825,7 @@ void DrasculaEngine::animation_14_2() {
for (n = -160; n <= 0; n = n + 5 + l) { for (n = -160; n <= 0; n = n + 5 + l) {
copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
updateRefresh_pre(); updateRefresh_pre();
pon_hare(); moveCharacters();
moveVB(); moveVB();
pos_cabina[3] = n; pos_cabina[3] = n;
copyRectClip(pos_cabina, backSurface, screenSurface); copyRectClip(pos_cabina, backSurface, screenSurface);
@ -1167,7 +1167,7 @@ void DrasculaEngine::animation_25_2() {
copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
updateRefresh_pre(); updateRefresh_pre();
pon_hare(); moveCharacters();
moveVB(); moveVB();
pos_cabina[3] = n; pos_cabina[3] = n;
@ -1699,7 +1699,7 @@ void DrasculaEngine::animation_12_5() {
updateRoom(); updateRoom();
updateScreen(); updateScreen();
hare_oscuro(); setDarkPalette();
for (color = 0; color < 255; color++) for (color = 0; color < 255; color++)
for (component = 0; component < 3; component++) { for (component = 0; component < 3; component++) {
@ -1761,7 +1761,7 @@ void DrasculaEngine::animation_12_5() {
animate("frel.bin", 16); animate("frel.bin", 16);
clearRoom(); clearRoom();
hare_claro(); setBrightPalette();
updatePalette(); updatePalette();
flags[1] = 1; flags[1] = 1;
@ -2139,7 +2139,7 @@ void DrasculaEngine::animation_19_6() {
copyBackground(140, 23, 161, 69, 35, 80, drawSurface3, screenSurface); copyBackground(140, 23, 161, 69, 35, 80, drawSurface3, screenSurface);
updateRefresh_pre(); updateRefresh_pre();
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
pause(6); pause(6);
updateRoom(); updateRoom();
@ -2167,7 +2167,7 @@ void DrasculaEngine::animation_12_2() {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface); copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
@ -2203,7 +2203,7 @@ void DrasculaEngine::animation_26_2() {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface); copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
@ -2622,7 +2622,7 @@ void DrasculaEngine::animation_1_4() {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface); copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
@ -2646,7 +2646,7 @@ void DrasculaEngine::animation_1_4() {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface); copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateScreen(); updateScreen();

View file

@ -126,7 +126,7 @@ int DrasculaEngine::go() {
curHeight = CHARACTER_HEIGHT; curWidth = CHARACTER_WIDTH; feetHeight = FEET_HEIGHT; curHeight = CHARACTER_HEIGHT; curWidth = CHARACTER_WIDTH; feetHeight = FEET_HEIGHT;
talkHeight = TALK_HEIGHT; talkWidth = TALK_WIDTH; talkHeight = TALK_HEIGHT; talkWidth = TALK_WIDTH;
hasAnswer = 0; hasAnswer = 0;
conta_blind_vez = 0; savedTime = 0;
changeColor = 0; changeColor = 0;
breakOut = 0; breakOut = 0;
vbX = 120; trackVB = 1; vbHasMoved = 0; frame_vb = 1; vbX = 120; trackVB = 1; vbHasMoved = 0; frame_vb = 1;
@ -197,7 +197,7 @@ int DrasculaEngine::go() {
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
strcpy(iconName[i + 1], _textverbs[_lang][i]); strcpy(iconName[i + 1], _textverbs[_lang][i]);
paleta_hare(); assignDefaultPalette();
if (!escoba()) { if (!escoba()) {
releaseGame(); releaseGame();
break; break;
@ -293,24 +293,6 @@ void DrasculaEngine::decompressPic(byte *targetSurface, int colorCount) {
setRGB((byte *)cPal, colorCount); setRGB((byte *)cPal, colorCount);
} }
void DrasculaEngine::paleta_hare() {
int color, component;
for (color = 235; color < 253; color++)
for (component = 0; component < 3; component++)
palHare[color][component] = gamePalette[color][component];
}
void DrasculaEngine::hare_oscuro() {
int color, component;
for (color = 235; color < 253; color++ )
for (component = 0; component < 3; component++)
gamePalette[color][component] = palHareOscuro[color][component];
updatePalette();
}
void DrasculaEngine::setRGB(byte *dir_lectura, int plt) { void DrasculaEngine::setRGB(byte *dir_lectura, int plt) {
int x, cnt = 0; int x, cnt = 0;
@ -943,15 +925,15 @@ void DrasculaEngine::carga_escoba(const char *fileName) {
copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3); copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3);
color_hare(); setDefaultPalette();
if (nivel_osc != 0) if (nivel_osc != 0)
funde_hare(nivel_osc); setPaletteBase(nivel_osc);
paleta_hare_claro(); assignBrightPalette();
color_hare(); setDefaultPalette();
funde_hare(nivel_osc + 2); setPaletteBase(nivel_osc + 2);
paleta_hare_oscuro(); assignDarkPalette();
hare_claro(); setBrightPalette();
changeColor = -1; changeColor = -1;
if (currentChapter == 2) if (currentChapter == 2)
@ -1035,11 +1017,11 @@ void DrasculaEngine::carga_escoba(const char *fileName) {
if (currentChapter == 2) { if (currentChapter == 2) {
if (roomNumber == 9 || roomNumber == 2 || roomNumber == 14 || roomNumber == 18) if (roomNumber == 9 || roomNumber == 2 || roomNumber == 14 || roomNumber == 18)
conta_blind_vez = getTime(); savedTime = getTime();
} }
if (currentChapter == 4) { if (currentChapter == 4) {
if (roomNumber == 26) if (roomNumber == 26)
conta_blind_vez = getTime(); savedTime = getTime();
} }
if (currentChapter == 4 && roomNumber == 24 && flags[29] == 1) if (currentChapter == 4 && roomNumber == 24 && flags[29] == 1)
@ -1096,7 +1078,7 @@ void DrasculaEngine::moveCursor() {
copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
updateRefresh_pre(); updateRefresh_pre();
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (!strcmp(textName, "hacker") && hasName == 1) { if (!strcmp(textName, "hacker") && hasName == 1) {
@ -2041,11 +2023,11 @@ void DrasculaEngine::updateRoom() {
updateRefresh_pre(); updateRefresh_pre();
if (currentChapter == 3) { if (currentChapter == 3) {
if (flags[0] == 0) if (flags[0] == 0)
pon_hare(); moveCharacters();
else else
copyRect(113, 54, curX - 20, curY - 1, 77, 89, drawSurface3, screenSurface); copyRect(113, 54, curX - 20, curY - 1, 77, 89, drawSurface3, screenSurface);
} else { } else {
pon_hare(); moveCharacters();
} }
updateRefresh(); updateRefresh();
} }
@ -2137,22 +2119,69 @@ void DrasculaEngine::updateDoor(int doorNum) {
} }
} }
void DrasculaEngine::color_hare() { void DrasculaEngine::assignDefaultPalette() {
int color, component;
for (color = 235; color < 253; color++)
for (component = 0; component < 3; component++)
defaultPalette[color][component] = gamePalette[color][component];
}
void DrasculaEngine::assignBrightPalette() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
brightPalette[color][component] = gamePalette[color][component];
}
}
void DrasculaEngine::assignDarkPalette() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
darkPalette[color][component] = gamePalette[color][component];
}
}
void DrasculaEngine::setDefaultPalette() {
int color, component; int color, component;
for (color = 235; color < 253; color++) { for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++) { for (component = 0; component < 3; component++) {
gamePalette[color][component] = palHare[color][component]; gamePalette[color][component] = defaultPalette[color][component];
} }
} }
updatePalette(); updatePalette();
} }
void DrasculaEngine::funde_hare(int oscuridad) { void DrasculaEngine::setBrightPalette() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
gamePalette[color][component] = brightPalette[color][component];
}
updatePalette();
}
void DrasculaEngine::setDarkPalette() {
int color, component;
for (color = 235; color < 253; color++ )
for (component = 0; component < 3; component++)
gamePalette[color][component] = darkPalette[color][component];
updatePalette();
}
void DrasculaEngine::setPaletteBase(int darkness) {
char fade; char fade;
unsigned int color, component; unsigned int color, component;
for (fade = oscuridad; fade >= 0; fade--) { for (fade = darkness; fade >= 0; fade--) {
for (color = 235; color < 253; color++) { for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++) for (component = 0; component < 3; component++)
gamePalette[color][component] = adjustToVGA(gamePalette[color][component] - 8 + fade); gamePalette[color][component] = adjustToVGA(gamePalette[color][component] - 8 + fade);
@ -2162,35 +2191,6 @@ void DrasculaEngine::funde_hare(int oscuridad) {
updatePalette(); updatePalette();
} }
void DrasculaEngine::paleta_hare_claro() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
palHareClaro[color][component] = gamePalette[color][component];
}
}
void DrasculaEngine::paleta_hare_oscuro() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
palHareOscuro[color][component] = gamePalette[color][component];
}
}
void DrasculaEngine::hare_claro() {
int color, component;
for (color = 235; color < 253; color++) {
for (component = 0; component < 3; component++)
gamePalette[color][component] = palHareClaro[color][component];
}
updatePalette();
}
void DrasculaEngine::startWalking() { void DrasculaEngine::startWalking() {
characterMoved = 1; characterMoved = 1;
@ -2225,7 +2225,7 @@ void DrasculaEngine::startWalking() {
startTime = getTime(); startTime = getTime();
} }
void DrasculaEngine::pon_hare() { void DrasculaEngine::moveCharacters() {
int curPos[6]; int curPos[6];
int r; int r;
@ -2920,86 +2920,86 @@ void DrasculaEngine::reduce_hare_chico(int xx1, int yy1, int xx2, int yy2, int w
} }
void DrasculaEngine::quadrant_1() { void DrasculaEngine::quadrant_1() {
float distance_x, distance_y; float distanceX, distanceY;
if (currentChapter == 2) if (currentChapter == 2)
distance_x = curX - roomX; distanceX = curX - roomX;
else else
distance_x = curX + curWidth / 2 - roomX; distanceX = curX + curWidth / 2 - roomX;
distance_y = (curY + curHeight) - roomY; distanceY = (curY + curHeight) - roomY;
if (distance_x < distance_y) { if (distanceX < distanceY) {
curDirection = 0; curDirection = 0;
trackProtagonist = 2; trackProtagonist = 2;
stepX = (int)(distance_x / (distance_y / STEP_Y)); stepX = (int)(distanceX / (distanceY / STEP_Y));
} else { } else {
curDirection = 7; curDirection = 7;
trackProtagonist = 0; trackProtagonist = 0;
stepY = (int)(distance_y / (distance_x / STEP_X)); stepY = (int)(distanceY / (distanceX / STEP_X));
} }
} }
void DrasculaEngine::quadrant_2() { void DrasculaEngine::quadrant_2() {
float distance_x, distance_y; float distanceX, distanceY;
if (currentChapter == 2) if (currentChapter == 2)
distance_x = abs(curX + curWidth - roomX); distanceX = abs(curX + curWidth - roomX);
else else
distance_x = abs(curX + curWidth / 2 - roomX); distanceX = abs(curX + curWidth / 2 - roomX);
distance_y = (curY + curHeight) - roomY; distanceY = (curY + curHeight) - roomY;
if (distance_x < distance_y) { if (distanceX < distanceY) {
curDirection = 1; curDirection = 1;
trackProtagonist = 2; trackProtagonist = 2;
stepX = (int)(distance_x / (distance_y / STEP_Y)); stepX = (int)(distanceX / (distanceY / STEP_Y));
} else { } else {
curDirection = 2; curDirection = 2;
trackProtagonist = 1; trackProtagonist = 1;
stepY = (int)(distance_y / (distance_x / STEP_X)); stepY = (int)(distanceY / (distanceX / STEP_X));
} }
} }
void DrasculaEngine::quadrant_3() { void DrasculaEngine::quadrant_3() {
float distance_x, distance_y; float distanceX, distanceY;
if (currentChapter == 2) if (currentChapter == 2)
distance_x = curX - roomX; distanceX = curX - roomX;
else else
distance_x = curX + curWidth / 2 - roomX; distanceX = curX + curWidth / 2 - roomX;
distance_y = roomY - (curY + curHeight); distanceY = roomY - (curY + curHeight);
if (distance_x < distance_y) { if (distanceX < distanceY) {
curDirection = 5; curDirection = 5;
trackProtagonist = 3; trackProtagonist = 3;
stepX = (int)(distance_x / (distance_y / STEP_Y)); stepX = (int)(distanceX / (distanceY / STEP_Y));
} else { } else {
curDirection = 6; curDirection = 6;
trackProtagonist = 0; trackProtagonist = 0;
stepY = (int)(distance_y / (distance_x / STEP_X)); stepY = (int)(distanceY / (distanceX / STEP_X));
} }
} }
void DrasculaEngine::quadrant_4() { void DrasculaEngine::quadrant_4() {
float distance_x, distance_y; float distanceX, distanceY;
if (currentChapter == 2) if (currentChapter == 2)
distance_x = abs(curX + curWidth - roomX); distanceX = abs(curX + curWidth - roomX);
else else
distance_x = abs(curX + curWidth / 2 - roomX); distanceX = abs(curX + curWidth / 2 - roomX);
distance_y = roomY - (curY + curHeight); distanceY = roomY - (curY + curHeight);
if (distance_x < distance_y) { if (distanceX < distanceY) {
curDirection = 4; curDirection = 4;
trackProtagonist = 3; trackProtagonist = 3;
stepX = (int)(distance_x / (distance_y / STEP_Y)); stepX = (int)(distanceX / (distanceY / STEP_Y));
} else { } else {
curDirection = 3; curDirection = 3;
trackProtagonist = 1; trackProtagonist = 1;
stepY = (int)(distance_y / (distance_x / STEP_X)); stepY = (int)(distanceY / (distanceX / STEP_X));
} }
} }
@ -3677,7 +3677,7 @@ void DrasculaEngine::activatePendulum() {
copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3); copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3);
conta_blind_vez = getTime(); savedTime = getTime();
} }
void DrasculaEngine::closeDoor(int nflag, int doorNum) { void DrasculaEngine::closeDoor(int nflag, int doorNum) {

View file

@ -122,32 +122,32 @@ struct CharInfo {
int charType; // 0 - letters, 1 - signs, 2 - accented int charType; // 0 - letters, 1 - signs, 2 - accented
}; };
#define CHARMAP_SIZE 93 #define CHARMAP_SIZE 93
#define NUM_SAVES 10 #define NUM_SAVES 10
#define NUM_FLAGS 50 #define NUM_FLAGS 50
#define DIF_MASK 55 #define DIF_MASK 55
#define OBJWIDTH 40 #define OBJWIDTH 40
#define OBJHEIGHT 25 #define OBJHEIGHT 25
#define DIF_MASK_HARE 72 #define DIF_MASK_HARE 72
#define DIF_MASK_ABC 22 #define DIF_MASK_ABC 22
#define CHAR_WIDTH 8 #define CHAR_WIDTH 8
#define CHAR_HEIGHT 6 #define CHAR_HEIGHT 6
#define TALK_HEIGHT 25 #define TALK_HEIGHT 25
#define TALK_WIDTH 23 #define TALK_WIDTH 23
#define STEP_X 8 #define STEP_X 8
#define STEP_Y 3 #define STEP_Y 3
#define CHARACTER_HEIGHT 70 #define CHARACTER_HEIGHT 70
#define CHARACTER_WIDTH 43 #define CHARACTER_WIDTH 43
#define FEET_HEIGHT 12 #define FEET_HEIGHT 12
#define CHAR_WIDTH_OPC 6 #define CHAR_WIDTH_OPC 6
#define CHAR_HEIGHT_OPC 5 #define CHAR_HEIGHT_OPC 5
#define NO_DOOR 99 #define NO_DOOR 99
#define COMPLETE_PAL 256 #define COMPLETE_PAL 256
#define HALF_PAL 128 #define HALF_PAL 128
static const int interf_x[] ={ 1, 65, 129, 193, 1, 65, 129 }; static const int interf_x[] ={ 1, 65, 129, 193, 1, 65, 129 };
static const int interf_y[] ={ 51, 51, 51, 51, 83, 83, 83 }; static const int interf_y[] ={ 51, 51, 51, 51, 83, 83, 83 };
@ -184,7 +184,7 @@ public:
typedef char DacPalette256[256][3]; typedef char DacPalette256[256][3];
void setRGB(byte *dir_lectura, int plt); void setRGB(byte *dir_lectura, int plt);
void paleta_hare(); void assignDefaultPalette();
void updatePalette(); void updatePalette();
void setPalette(byte *PalBuf); void setPalette(byte *PalBuf);
void copyBackground(int xorg, int yorg, int xdes, int ydes, int width, void copyBackground(int xorg, int yorg, int xdes, int ydes, int width,
@ -208,9 +208,9 @@ public:
} }
DacPalette256 gamePalette; DacPalette256 gamePalette;
DacPalette256 palHare; DacPalette256 defaultPalette;
DacPalette256 palHareClaro; DacPalette256 brightPalette;
DacPalette256 palHareOscuro; DacPalette256 darkPalette;
byte *VGA; byte *VGA;
@ -272,7 +272,7 @@ public:
int objExit; int objExit;
int timeDiff, startTime; int timeDiff, startTime;
int hasAnswer; int hasAnswer;
int conta_blind_vez; int savedTime;
int changeColor; int changeColor;
int breakOut; int breakOut;
int vbX, trackVB, vbHasMoved, frame_vb; int vbX, trackVB, vbHasMoved, frame_vb;
@ -312,7 +312,7 @@ public:
void openDoor(int nflag, int doorNum); void openDoor(int nflag, int doorNum);
void showMap(); void showMap();
void hare_oscuro(); void setDarkPalette();
void withoutVerb(); void withoutVerb();
bool para_cargar(char[]); bool para_cargar(char[]);
@ -382,16 +382,16 @@ public:
void updateRoom(); void updateRoom();
bool loadGame(const char *); bool loadGame(const char *);
void updateDoor(int); void updateDoor(int);
void color_hare(); void setDefaultPalette();
void funde_hare(int oscuridad); void setPaletteBase(int darkness);
void paleta_hare_claro(); void assignBrightPalette();
void paleta_hare_oscuro(); void assignDarkPalette();
void hare_claro(); void setBrightPalette();
void updateVisible(); void updateVisible();
void startWalking(); void startWalking();
void updateRefresh(); void updateRefresh();
void updateRefresh_pre(); void updateRefresh_pre();
void pon_hare(); void moveCharacters();
void showMenu(); void showMenu();
void clearMenu(); void clearMenu();
void removeObject(); void removeObject();

View file

@ -1170,26 +1170,22 @@ void DrasculaEngine::updateRefresh_pre() {
} }
void DrasculaEngine::update_1_pre() { void DrasculaEngine::update_1_pre() {
int cambio_col_antes = changeColor; if (curX > 98 && curX < 153) {
if (curX > 98 && curX < 153)
changeColor = 1; changeColor = 1;
else setDarkPalette();
} else {
changeColor = 0; changeColor = 0;
setBrightPalette();
if (cambio_col_antes != changeColor && changeColor == 1) }
hare_oscuro();
if (cambio_col_antes != changeColor && changeColor == 0)
hare_claro();
if (flags[8] == 0) if (flags[8] == 0)
copyBackground(2, 158, 208, 67, 27, 40, drawSurface3, screenSurface); copyBackground(2, 158, 208, 67, 27, 40, drawSurface3, screenSurface);
} }
void DrasculaEngine::update_2(){ void DrasculaEngine::update_2(){
int pos_murci[6]; int batPos[6];
int difference; int difference;
int murci_x[] = {0, 38, 76, 114, 152, 190, 228, 266, int batX[] = {0, 38, 76, 114, 152, 190, 228, 266,
0, 38, 76, 114, 152, 190, 228, 266, 0, 38, 76, 114, 152, 190, 228, 266,
0, 38, 76, 114, 152, 190, 0, 38, 76, 114, 152, 190,
0, 48, 96, 144, 192, 240, 0, 48, 96, 144, 192, 240,
@ -1197,7 +1193,7 @@ void DrasculaEngine::update_2(){
88, 146, 204, 262, 88, 146, 204, 262,
88, 146, 204, 262}; 88, 146, 204, 262};
int murci_y[] = {179, 179, 179, 179, 179, 179, 179, 179, int batY[] = {179, 179, 179, 179, 179, 179, 179, 179,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
@ -1208,28 +1204,28 @@ void DrasculaEngine::update_2(){
if (frame_bat == 41) if (frame_bat == 41)
frame_bat = 0; frame_bat = 0;
pos_murci[0] = murci_x[frame_bat]; batPos[0] = batX[frame_bat];
pos_murci[1] = murci_y[frame_bat]; batPos[1] = batY[frame_bat];
if (frame_bat < 22) { if (frame_bat < 22) {
pos_murci[4] = 37; batPos[4] = 37;
pos_murci[5] = 21; batPos[5] = 21;
} else if (frame_bat > 27) { } else if (frame_bat > 27) {
pos_murci[4] = 57; batPos[4] = 57;
pos_murci[5] = 36; batPos[5] = 36;
} else { } else {
pos_murci[4] = 47; batPos[4] = 47;
pos_murci[5] = 22; batPos[5] = 22;
} }
pos_murci[2] = 239; batPos[2] = 239;
pos_murci[3] = 19; batPos[3] = 19;
copyRectClip(pos_murci, drawSurface3, screenSurface); copyRectClip(batPos, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference >= 6) { if (difference >= 6) {
frame_bat++; frame_bat++;
conta_blind_vez = getTime(); savedTime = getTime();
} }
copyRect(29, 37, 58, 114, 57, 39, drawSurface3, screenSurface); copyRect(29, 37, 58, 114, 57, 39, drawSurface3, screenSurface);
@ -1248,16 +1244,13 @@ void DrasculaEngine::update_3() {
} }
void DrasculaEngine::update_4() { void DrasculaEngine::update_4() {
int cambio_col_antes = changeColor; if (curX > 190) {
if (curX > 190)
changeColor = 1; changeColor = 1;
else setDarkPalette();
} else {
changeColor = 0; changeColor = 0;
setBrightPalette();
if (cambio_col_antes != changeColor && changeColor == 1) }
hare_oscuro();
if (cambio_col_antes != changeColor && changeColor == 0)
hare_claro();
} }
void DrasculaEngine::update_5_pre(){ void DrasculaEngine::update_5_pre(){
@ -1270,23 +1263,19 @@ void DrasculaEngine::update_5() {
} }
void DrasculaEngine::update_6_pre() { void DrasculaEngine::update_6_pre() {
int cambio_col_antes = changeColor;
if ((curX > 149 && curY + curHeight > 160 && curX < 220 && curY + curHeight < 188) || if ((curX > 149 && curY + curHeight > 160 && curX < 220 && curY + curHeight < 188) ||
(curX > 75 && curY + curHeight > 183 && curX < 145)) (curX > 75 && curY + curHeight > 183 && curX < 145)) {
changeColor = 0; changeColor = 0;
else setBrightPalette();
} else {
changeColor = 1; changeColor = 1;
setDarkPalette();
}
if (cambio_col_antes != changeColor && changeColor == 1)
hare_oscuro();
if (cambio_col_antes != changeColor && changeColor == 0)
hare_claro();
if (flags[1] == 0)
copyBackground(97, 117, 34, 148, 36, 31, drawSurface3, screenSurface);
if (flags[0] == 0) if (flags[0] == 0)
copyBackground(3, 103, 185, 69, 23, 76, drawSurface3, screenSurface); copyBackground(3, 103, 185, 69, 23, 76, drawSurface3, screenSurface);
if (flags[1] == 0)
copyBackground(97, 117, 34, 148, 36, 31, drawSurface3, screenSurface);
if (flags[2] == 0) if (flags[2] == 0)
copyBackground(28, 100, 219, 72, 64, 97, drawSurface3, screenSurface); copyBackground(28, 100, 219, 72, 64, 97, drawSurface3, screenSurface);
} }
@ -1297,16 +1286,16 @@ void DrasculaEngine::update_7_pre() {
} }
void DrasculaEngine::update_9_pre() { void DrasculaEngine::update_9_pre() {
int blind_x[] = {26, 68, 110, 152, 194, 236, 278, 26, 68}; int blindX[] = {26, 68, 110, 152, 194, 236, 278, 26, 68};
int blind_y[] = {51, 51, 51, 51, 51, 51, 51, 127, 127}; int blindY[] = {51, 51, 51, 51, 51, 51, 51, 127, 127};
int difference; int difference;
copyRect(blind_x[frame_blind], blind_y[frame_blind], 122, 57, 41, 72, drawSurface3, screenSurface); copyRect(blindX[frame_blind], blindY[frame_blind], 122, 57, 41, 72, drawSurface3, screenSurface);
if (flags[9] == 0) { if (flags[9] == 0) {
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference >= 11) { if (difference >= 11) {
frame_blind++; frame_blind++;
conta_blind_vez = getTime(); savedTime = getTime();
} }
if (frame_blind == 9) if (frame_blind == 9)
frame_blind = 0; frame_blind = 0;
@ -1352,7 +1341,7 @@ void DrasculaEngine::update_14_pre() {
if (flags[12] == 1) if (flags[12] == 1)
copyBackground(drunkX[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface); copyBackground(drunkX[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference > 6) { if (difference > 6) {
if (flags[12] == 1) { if (flags[12] == 1) {
frame_drunk++; frame_drunk++;
@ -1370,7 +1359,7 @@ void DrasculaEngine::update_14_pre() {
if (frame_piano == 9) if (frame_piano == 9)
frame_piano = 0; frame_piano = 0;
blinking = _rnd->getRandomNumber(10); blinking = _rnd->getRandomNumber(10);
conta_blind_vez = getTime(); savedTime = getTime();
} }
} }
@ -1405,12 +1394,12 @@ void DrasculaEngine::update_18_pre() {
} else } else
moveVB(); moveVB();
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference > 9) { if (difference > 9) {
frame_snore++; frame_snore++;
if (frame_snore == 16) if (frame_snore == 16)
frame_snore = 0; frame_snore = 0;
conta_blind_vez = getTime(); savedTime = getTime();
} }
} }
@ -1479,10 +1468,10 @@ void DrasculaEngine::update_26_pre() {
if (blinking == 5 && flags[18] == 0) if (blinking == 5 && flags[18] == 0)
copyBackground(52, 172, 226, 106, 3, 4, drawSurface3, screenSurface); copyBackground(52, 172, 226, 106, 3, 4, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference >= 10) { if (difference >= 10) {
blinking = _rnd->getRandomNumber(10); blinking = _rnd->getRandomNumber(10);
conta_blind_vez = getTime(); savedTime = getTime();
} }
if (flags[20] == 1) if (flags[20] == 1)
@ -1645,7 +1634,7 @@ void DrasculaEngine::update_60_pre() {
if (flag_tv == 1) if (flag_tv == 1)
copyBackground(114, 158, 8, 30, 8, 23, drawSurface3, screenSurface); copyBackground(114, 158, 8, 30, 8, 23, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
blinking = _rnd->getRandomNumber(7); blinking = _rnd->getRandomNumber(7);
if (blinking == 5 && flag_tv == 0) if (blinking == 5 && flag_tv == 0)
flag_tv = 1; flag_tv = 1;
@ -1655,7 +1644,7 @@ void DrasculaEngine::update_60_pre() {
frame_candles++; frame_candles++;
if (frame_candles == 3) if (frame_candles == 3)
frame_candles = 0; frame_candles = 0;
conta_blind_vez = getTime(); savedTime = getTime();
} }
} }
@ -1694,7 +1683,7 @@ void DrasculaEngine::update_62_pre() {
if (flags[12] == 1) if (flags[12] == 1)
copyBackground(drunkX[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface); copyBackground(drunkX[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference > 6) { if (difference > 6) {
if (flags[12] == 1) { if (flags[12] == 1) {
frame_drunk++; frame_drunk++;
@ -1712,7 +1701,7 @@ void DrasculaEngine::update_62_pre() {
if (frame_piano == 9) if (frame_piano == 9)
frame_piano = 0; frame_piano = 0;
blinking = _rnd->getRandomNumber(10); blinking = _rnd->getRandomNumber(10);
conta_blind_vez = getTime(); savedTime = getTime();
} }
} }
@ -1750,12 +1739,12 @@ void DrasculaEngine::update_pendulum() {
if (flags[1] == 0) if (flags[1] == 0)
copyRect(44, 145, 145, 105, 25, 29, drawSurface3, screenSurface); copyRect(44, 145, 145, 105, 25, 29, drawSurface3, screenSurface);
difference = getTime() - conta_blind_vez; difference = getTime() - savedTime;
if (difference > 8) { if (difference > 8) {
frame_pen++; frame_pen++;
if (frame_pen == 17) if (frame_pen == 17)
frame_pen = 0; frame_pen = 0;
conta_blind_vez = getTime(); savedTime = getTime();
} }
} }

View file

@ -115,7 +115,7 @@ void DrasculaEngine::talk_igor(int index, int talkerType) {
updateScreen(); updateScreen();
} else if (talkerType == 3) { } else if (talkerType == 3) {
copyBackground(x_talk3[face], 109, 207, 92, 21, 23, drawSurface3, screenSurface); copyBackground(x_talk3[face], 109, 207, 92, 21, 23, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
centerText(said, 221, 102); centerText(said, 221, 102);
@ -124,7 +124,7 @@ void DrasculaEngine::talk_igor(int index, int talkerType) {
pause(3); pause(3);
} else if (talkerType == 4) { } else if (talkerType == 4) {
copyBackground(x_talk4[face], 78, 199, 94, 38, 27, drawSurface3, screenSurface); copyBackground(x_talk4[face], 78, 199, 94, 38, 27, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
centerText(said, 221, 102); centerText(said, 221, 102);
@ -172,7 +172,7 @@ void DrasculaEngine::talk_drascula(int index, int talkerType) {
placeIgor(); placeIgor();
placeDrascula(); placeDrascula();
if (currentChapter == 6) if (currentChapter == 6)
pon_hare(); moveCharacters();
copyBackground(x_dr, y_dr, x_dr, y_dr, 38 + offset, 31, drawSurface1, screenSurface); copyBackground(x_dr, y_dr, x_dr, y_dr, 38 + offset, 31, drawSurface1, screenSurface);
if (currentChapter == 6) if (currentChapter == 6)
@ -201,7 +201,7 @@ void DrasculaEngine::talk_drascula(int index, int talkerType) {
placeDrascula(); placeDrascula();
if (talkerType == 1 && currentChapter == 6) if (talkerType == 1 && currentChapter == 6)
pon_hare(); moveCharacters();
updateScreen(); updateScreen();
} }
@ -281,7 +281,7 @@ void DrasculaEngine::talk_bartender(int index, int talkerType) {
copyBackground(x_talk[face], 2, 121, 44, 21, 24, extraSurface, screenSurface); copyBackground(x_talk[face], 2, 121, 44, 21, 24, extraSurface, screenSurface);
else else
copyBackground(x_talk[face], 130, 151, 43, 21, 24, drawSurface3, screenSurface); copyBackground(x_talk[face], 130, 151, 43, 21, 24, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -321,7 +321,7 @@ void DrasculaEngine::talk_bj(int index) {
copyRect(x_talk[face], 99, x_bj + 2, y_bj - 1, 27, 40, copyRect(x_talk[face], 99, x_bj + 2, y_bj - 1, 27, 40,
drawSurface3, screenSurface); drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -398,7 +398,7 @@ void DrasculaEngine::talk(const char *said, const char *filename) {
(int)(((float)(talkHeight - 1) / 100) * factor_red[curY + curHeight]), (int)(((float)(talkHeight - 1) / 100) * factor_red[curY + curHeight]),
screenSurface, drawSurface3); screenSurface, drawSurface3);
pon_hare(); moveCharacters();
if (currentChapter == 2) { if (currentChapter == 2) {
if (!strcmp(menuBackground, "99.alg") || !strcmp(menuBackground, "994.alg")) if (!strcmp(menuBackground, "99.alg") || !strcmp(menuBackground, "994.alg"))
@ -487,7 +487,7 @@ void DrasculaEngine::talk_pianist(int index) {
copyBackground(x_talk[face], 139, 228, 112, 47, 60, copyBackground(x_talk[face], 139, 228, 112, 47, 60,
extraSurface, screenSurface); extraSurface, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -533,7 +533,7 @@ void DrasculaEngine::talk_drunk(int index) {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(x_talk[face], 29, 177, 50, 19, 19, frontSurface, screenSurface); copyBackground(x_talk[face], 29, 177, 50, 19, 19, frontSurface, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -580,7 +580,7 @@ void DrasculaEngine::talk_vb(int index) {
face = _rnd->getRandomNumber(5); face = _rnd->getRandomNumber(5);
copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
pon_hare(); moveCharacters();
moveVB(); moveVB();
copyBackground(OBJWIDTH + 1, 0, vbX + 5, 64, 25, 27, drawSurface3, screenSurface); copyBackground(OBJWIDTH + 1, 0, vbX + 5, 64, 25, 27, drawSurface3, screenSurface);
@ -723,7 +723,7 @@ void DrasculaEngine::talk_wolf(int index) {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(x_talk[face], 136, 198, 81, 26, 24, drawSurface3, screenSurface); copyBackground(x_talk[face], 136, 198, 81, 26, 24, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -758,7 +758,7 @@ void DrasculaEngine::talk_mus(int index) {
updateRefresh_pre(); updateRefresh_pre();
copyBackground(x_talk[face], 156, 190, 64, 18, 24, drawSurface3, screenSurface); copyBackground(x_talk[face], 156, 190, 64, 18, 24, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -847,7 +847,7 @@ void DrasculaEngine::talk_bj_bed(int index) {
copyBackground(65, 103, 65, 103, 49, 38, drawSurface1, screenSurface); copyBackground(65, 103, 65, 103, 49, 38, drawSurface1, screenSurface);
copyRect(x_talk[face], 105, 65, 103, 49, 38, drawSurface3, screenSurface); copyRect(x_talk[face], 105, 65, 103, 49, 38, drawSurface3, screenSurface);
pon_hare(); moveCharacters();
updateRefresh(); updateRefresh();
if (withVoices == 0) if (withVoices == 0)
@ -929,7 +929,7 @@ void DrasculaEngine::talk_sinc(const char *said, const char *filename, const cha
else else
copyBackground(curX, curY, OBJWIDTH + 1, 0, (int)(((float)curWidth / 100) * factor_red[curY + curHeight]), copyBackground(curX, curY, OBJWIDTH + 1, 0, (int)(((float)curWidth / 100) * factor_red[curY + curHeight]),
(int)(((float)(talkHeight - 1) / 100) * factor_red[curY + curHeight]), screenSurface, drawSurface3); (int)(((float)(talkHeight - 1) / 100) * factor_red[curY + curHeight]), screenSurface, drawSurface3);
pon_hare(); moveCharacters();
if (currentChapter == 2) { if (currentChapter == 2) {
if (curHeight != 56) if (curHeight != 56)
copyBackground(OBJWIDTH + 1, 0, curX, curY, curWidth, talkHeight - 1, drawSurface3, screenSurface); copyBackground(OBJWIDTH + 1, 0, curX, curY, curWidth, talkHeight - 1, drawSurface3, screenSurface);