diff options
author | Filippos Karapetis | 2008-09-11 09:31:45 +0000 |
---|---|---|
committer | Filippos Karapetis | 2008-09-11 09:31:45 +0000 |
commit | fa3d3e36436770ca8ecc7fc9ddadaf515e0c7861 (patch) | |
tree | 7ba2043f5b46024e047e6c360fd38bb68a1de015 /engines/drascula/drascula.cpp | |
parent | 19dd03dfa8fbc48d4cfb511033e8c2930607a01b (diff) | |
download | scummvm-rg350-fa3d3e36436770ca8ecc7fc9ddadaf515e0c7861.tar.gz scummvm-rg350-fa3d3e36436770ca8ecc7fc9ddadaf515e0c7861.tar.bz2 scummvm-rg350-fa3d3e36436770ca8ecc7fc9ddadaf515e0c7861.zip |
- The game's cursor is now handled via ScummVM's cursor manager, instead of the game itself (this means that there might be regressions where the cursor is visible when it shouldn't be)
- Removed the textSurface pointer, which was used in the Spanish version. Non-Spanish versions of the game hold the font data in the tableSurface buffer (which contains picture 96). The font data for Spanish versions is in picture 974. Now both versions load their font data from the tableSurface buffer
- hay_que_load -> loadedDifferentChapter
- Merged withoutVerb() and selectVerb()
This is a big change, it might lead to regressions!
svn-id: r34488
Diffstat (limited to 'engines/drascula/drascula.cpp')
-rw-r--r-- | engines/drascula/drascula.cpp | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index fd16f783ac..42eb66288f 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -180,7 +180,7 @@ int DrasculaEngine::init() { int DrasculaEngine::go() { currentChapter = 1; // values from 1 to 6 will start each part of game - hay_que_load = 0; + loadedDifferentChapter = 0; checkCD(); @@ -223,9 +223,6 @@ int DrasculaEngine::go() { withVoices = 0; selectionMade = 0; - if (currentChapter != 6) - loadPic(95, tableSurface); - if (currentChapter != 3) loadPic(96, frontSurface, COMPLETE_PAL); @@ -236,7 +233,7 @@ int DrasculaEngine::go() { loadPic("aux13.alg", bgSurface, COMPLETE_PAL); loadPic(96, frontSurface); } else if (currentChapter == 4) { - if (hay_que_load == 0) + if (loadedDifferentChapter == 0) animation_ray(); loadPic(96, frontSurface); clearRoom(); @@ -246,10 +243,15 @@ int DrasculaEngine::go() { drasculaX = 62, drasculaY = 99, trackDrascula = 1; actorFrames[kFramePendulum] = 0; flag_tv = 0; - - loadPic(95, tableSurface); } + loadPic(95, tableSurface); + for (i = 0; i < 25; i++) + memcpy(crosshairCursor + i * 40, tableSurface + 225 + (56 + i) * 320, 40); + + if (_lang == kSpanish) + loadPic(974, tableSurface); + if (currentChapter != 2) { loadPic(99, backSurface); loadPic(97, extraSurface); @@ -290,11 +292,6 @@ bool DrasculaEngine::runCurrentChapter() { rightMouseButton = 0; - if (_lang == kSpanish) - textSurface = extraSurface; - else - textSurface = tableSurface; - previousMusic = -1; if (currentChapter != 2) { @@ -323,14 +320,14 @@ bool DrasculaEngine::runCurrentChapter() { if (currentChapter == 1) { pickObject(28); - if (hay_que_load == 0) + if (loadedDifferentChapter == 0) animation_1_1(); - withoutVerb(); + selectVerb(0); loadPic("2aux62.alg", drawSurface2); trackProtagonist = 1; objExit = 104; - if (hay_que_load != 0) { + if (loadedDifferentChapter != 0) { if (!loadGame(saveName)) { return true; } @@ -344,7 +341,7 @@ bool DrasculaEngine::runCurrentChapter() { addObject(kItemPhone); trackProtagonist = 3; objExit = 162; - if (hay_que_load == 0) + if (loadedDifferentChapter == 0) enterRoom(14); else { if (!loadGame(saveName)) { @@ -362,7 +359,7 @@ bool DrasculaEngine::runCurrentChapter() { flags[1] = 1; trackProtagonist = 1; objExit = 99; - if (hay_que_load == 0) + if (loadedDifferentChapter == 0) enterRoom(20); else { if (!loadGame(saveName)) { @@ -376,7 +373,7 @@ bool DrasculaEngine::runCurrentChapter() { addObject(kItemReefer2); addObject(kItemOneCoin2); objExit = 100; - if (hay_que_load == 0) { + if (loadedDifferentChapter == 0) { enterRoom(21); trackProtagonist = 0; curX = 235; @@ -398,7 +395,7 @@ bool DrasculaEngine::runCurrentChapter() { addObject(20); trackProtagonist = 1; objExit = 100; - if (hay_que_load == 0) { + if (loadedDifferentChapter == 0) { enterRoom(45); } else { if (!loadGame(saveName)) { @@ -411,7 +408,7 @@ bool DrasculaEngine::runCurrentChapter() { trackProtagonist = 1; objExit = 104; - if (hay_que_load == 0) { + if (loadedDifferentChapter == 0) { enterRoom(58); animation_1_6(); } else { @@ -422,6 +419,8 @@ bool DrasculaEngine::runCurrentChapter() { } } + showCursor(); + while (1) { if (characterMoved == 0) { stepX = STEP_X; @@ -523,7 +522,7 @@ bool DrasculaEngine::runCurrentChapter() { #ifndef _WIN32_WCE updateEvents(); #endif - withoutVerb(); + selectVerb(0); } if (leftMouseButton == 1 && menuBar == 1) { @@ -559,7 +558,7 @@ bool DrasculaEngine::runCurrentChapter() { if (!saveLoadScreen()) return true; } else if (key == Common::KEYCODE_F8) { - withoutVerb(); + selectVerb(0); } else if (key == Common::KEYCODE_v) { withVoices = 1; print_abc(_textsys[2], 96, 86); |