[Scummvm-cvs-logs] scummvm master -> d9564d4cb2a0275698119b22e6ef3df32472d1da
bluegr
bluegr at gmail.com
Wed Mar 4 11:46:11 CET 2015
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8778603d34 DRASCULA: fix crash/graphic glitch at castle towers
43a0992538 DRASCULA: comment "actors.cpp"
0abf6d72b0 DRASCULA: comment "talk.cpp"
bcf2e8204c DRASCULA: comment "talk.cpp"
d9564d4cb2 Merge pull request #589 from norbertbajko/drascula_crash
Commit: 8778603d342da33957cf995dd3547231795b14ba
https://github.com/scummvm/scummvm/commit/8778603d342da33957cf995dd3547231795b14ba
Author: Norbert Bajkó (norbert.bajko94 at gmail.com)
Date: 2015-03-01T14:48:34+01:00
Commit Message:
DRASCULA: fix crash/graphic glitch at castle towers
Fix bug #5903 DRASCULA-IT: Crash/graphic glitch at castle towers
Changed paths:
engines/drascula/actors.cpp
engines/drascula/talk.cpp
diff --git a/engines/drascula/actors.cpp b/engines/drascula/actors.cpp
index 51148bb..0c18f51 100644
--- a/engines/drascula/actors.cpp
+++ b/engines/drascula/actors.cpp
@@ -396,6 +396,13 @@ void DrasculaEngine::increaseFrameNum() {
curHeight = (int)newHeight;
curWidth = (int)newWidth;
}
+
+ if ((currentChapter == 5) && (_roomNumber == 45)) {
+ curY = 0;
+ curX = 0;
+ curHeight = 0;
+ curWidth = 0;
+ }
}
void DrasculaEngine::walkDown() {
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index ed29dc5..9773cec 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -379,6 +379,7 @@ void DrasculaEngine::talk(const char *said, const char *filename) {
int y_mask_talk = 170;
int face;
+ bool notTowers = !((currentChapter == 5) && (_roomNumber == 45));
if (currentChapter == 6) {
if (flags[0] == 0 && _roomNumber == 102) {
@@ -434,44 +435,54 @@ void DrasculaEngine::talk(const char *said, const char *filename) {
if (currentChapter == 2)
copyRect(x_talk_izq[face], y_mask_talk, curX + 8, curY - 1, TALK_WIDTH, TALK_HEIGHT,
extraSurface, screenSurface);
- else
+ else if (notTowers) {
reduce_hare_chico(x_talk_izq[face], y_mask_talk, curX + (int)((8.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
- curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
- extraSurface, screenSurface);
-
+ curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
+ extraSurface, screenSurface);
+ }
updateRefresh();
} else if (trackProtagonist == 1) {
if (currentChapter == 2)
copyRect(x_talk_dch[face], y_mask_talk, curX + 12, curY, TALK_WIDTH, TALK_HEIGHT,
extraSurface, screenSurface);
- else
+ else if (notTowers) {
reduce_hare_chico(x_talk_dch[face], y_mask_talk, curX + (int)((12.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)], extraSurface, screenSurface);
+ }
updateRefresh();
} else if (trackProtagonist == 2) {
if (currentChapter == 2)
copyRect(x_talk_izq[face], y_mask_talk, curX + 12, curY, TALK_WIDTH, TALK_HEIGHT,
frontSurface, screenSurface);
- else
+ else if (notTowers) {
reduce_hare_chico(x_talk_izq[face], y_mask_talk,
- talkOffset + curX + (int)((12.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
- curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
- frontSurface, screenSurface);
+ talkOffset + curX + (int)((12.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
+ curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
+ frontSurface, screenSurface);
+ }
updateRefresh();
} else if (trackProtagonist == 3) {
if (currentChapter == 2)
copyRect(x_talk_dch[face], y_mask_talk, curX + 8, curY, TALK_WIDTH, TALK_HEIGHT,
frontSurface, screenSurface);
- else
+ else if (notTowers) {
reduce_hare_chico(x_talk_dch[face], y_mask_talk,
- talkOffset + curX + (int)((8.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
- curY, TALK_WIDTH,TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
- frontSurface, screenSurface);
+ talkOffset + curX + (int)((8.0f / 100) * factor_red[MIN(201, curY + curHeight)]),
+ curY, TALK_WIDTH, TALK_HEIGHT, factor_red[MIN(201, curY + curHeight)],
+ frontSurface, screenSurface);
+ }
updateRefresh();
}
- if (!_subtitlesDisabled)
- centerText(said, curX, curY);
+ if (!_subtitlesDisabled) {
+ if (notTowers) {
+ centerText(said, curX, curY);
+ }
+ else {
+ centerText(said, 160, 25);
+ }
+ }
+
updateScreen();
updateEvents();
Commit: 43a09925381838efbcd36dadba465cb5cae3eb11
https://github.com/scummvm/scummvm/commit/43a09925381838efbcd36dadba465cb5cae3eb11
Author: norbertbajko (norbert.bajko94 at gmail.com)
Date: 2015-03-01T17:06:20+01:00
Commit Message:
DRASCULA: comment "actors.cpp"
Explain #5903 DRASCULA-IT bug fix
Changed paths:
engines/drascula/actors.cpp
diff --git a/engines/drascula/actors.cpp b/engines/drascula/actors.cpp
index 0c18f51..849e2cc 100644
--- a/engines/drascula/actors.cpp
+++ b/engines/drascula/actors.cpp
@@ -396,7 +396,10 @@ void DrasculaEngine::increaseFrameNum() {
curHeight = (int)newHeight;
curWidth = (int)newWidth;
}
-
+
+ // Fix bug #5903 DRASCULA-IT: Crash/graphic glitch at castle towers
+ // Chapter 5 Room 45 is the castle tower part
+ // Fixing the character's coordinate(0,0) in the tower section to prevent out of window coordinates and crash
if ((currentChapter == 5) && (_roomNumber == 45)) {
curY = 0;
curX = 0;
Commit: 0abf6d72b0ca15a81518190cb2040eb798754ebd
https://github.com/scummvm/scummvm/commit/0abf6d72b0ca15a81518190cb2040eb798754ebd
Author: norbertbajko (norbert.bajko94 at gmail.com)
Date: 2015-03-01T17:16:54+01:00
Commit Message:
DRASCULA: comment "talk.cpp"
Explain #5903 DRASCULA-IT bug fix
Changed paths:
engines/drascula/talk.cpp
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index 9773cec..6e0dd2a 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -379,6 +379,10 @@ void DrasculaEngine::talk(const char *said, const char *filename) {
int y_mask_talk = 170;
int face;
+
+ // Fix bug #5903 DRASCULA-IT: Crash/graphic glitch at castle towers
+ // Chapter 5 Room 45 is the castle tower part
+ // We use this variable as a condition below because at the castle towers we don't want to draw out the head
bool notTowers = !((currentChapter == 5) && (_roomNumber == 45));
if (currentChapter == 6) {
Commit: bcf2e8204c481d9c4df17786e16591c100eb6c82
https://github.com/scummvm/scummvm/commit/bcf2e8204c481d9c4df17786e16591c100eb6c82
Author: norbertbajko (norbert.bajko94 at gmail.com)
Date: 2015-03-01T17:23:28+01:00
Commit Message:
DRASCULA: comment "talk.cpp"
Explain #5903 DRASCULA-IT bug fix
Changed paths:
engines/drascula/talk.cpp
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index 6e0dd2a..e9fec86 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -478,6 +478,8 @@ void DrasculaEngine::talk(const char *said, const char *filename) {
updateRefresh();
}
+ // Fix bug #5903 DRASCULA-IT: Crash/graphic glitch at castle towers
+ // Without the head we have to fix the subtitle's coordinates(upper-center) at the tower section
if (!_subtitlesDisabled) {
if (notTowers) {
centerText(said, curX, curY);
Commit: d9564d4cb2a0275698119b22e6ef3df32472d1da
https://github.com/scummvm/scummvm/commit/d9564d4cb2a0275698119b22e6ef3df32472d1da
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2015-03-04T12:45:07+02:00
Commit Message:
Merge pull request #589 from norbertbajko/drascula_crash
DRASCULA: fix crash/graphic glitch at castle towers
Changed paths:
engines/drascula/actors.cpp
engines/drascula/talk.cpp
More information about the Scummvm-git-logs
mailing list