aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/tattoo/tattoo_darts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/tattoo/tattoo_darts.cpp')
-rw-r--r--engines/sherlock/tattoo/tattoo_darts.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/sherlock/tattoo/tattoo_darts.cpp b/engines/sherlock/tattoo/tattoo_darts.cpp
index 732a97689b..e2fa4f6de8 100644
--- a/engines/sherlock/tattoo/tattoo_darts.cpp
+++ b/engines/sherlock/tattoo/tattoo_darts.cpp
@@ -72,6 +72,7 @@ Darts::Darts(SherlockEngine *vm) : _vm(vm) {
void Darts::playDarts(GameType gameType) {
Events &events = *_vm->_events;
+ Scene &scene = *_vm->_scene;
Screen &screen = *_vm->_screen;
int oldFontType = screen.fontNumber();
int playerNum = 0;
@@ -89,7 +90,7 @@ void Darts::playDarts(GameType gameType) {
loadDarts();
initDarts();
- while (!_vm->shouldQuit()) {
+ while (!done && !_vm->shouldQuit()) {
roundStart = score = (playerNum == 0) ? _score1 : _score2;
showNames(playerNum);
@@ -237,6 +238,9 @@ void Darts::playDarts(GameType gameType) {
closeDarts();
screen.fadeToBlack();
screen.setFont(oldFontType);
+
+ // Flag to return to the Billard's Academy scene
+ scene._goToScene = 26;
}
void Darts::initDarts() {
@@ -390,7 +394,7 @@ void Darts::erasePowerBars() {
Screen &screen = *_vm->_screen;
// Erase the old power bars and replace them with empty ones
- screen.fillRect(Common::Rect(DART_BAR_VX, DART_HEIGHT_Y, DART_BAR_VX + 9, DART_HEIGHT_Y + DART_BAR_SIZE), 0);
+ screen._backBuffer1.fillRect(Common::Rect(DART_BAR_VX, DART_HEIGHT_Y, DART_BAR_VX + 9, DART_HEIGHT_Y + DART_BAR_SIZE), 0);
screen._backBuffer1.transBlitFrom((*_dartGraphics)[0], Common::Point(DART_BAR_VX - 1, DART_HEIGHT_Y - 1));
screen.slamArea(DART_BAR_VX - 1, DART_HEIGHT_Y - 1, 10, DART_BAR_SIZE + 2);
}