aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-11-11 20:26:45 +0100
committerStrangerke2012-11-11 20:26:45 +0100
commit29d54519156912a8692f88e4e3bf802718465d02 (patch)
tree9b9efa32d9b102e5c3f5a91f74cfe66b74322418
parent678f13397752e93494b2d1ca069beadf0d688c64 (diff)
downloadscummvm-rg350-29d54519156912a8692f88e4e3bf802718465d02.tar.gz
scummvm-rg350-29d54519156912a8692f88e4e3bf802718465d02.tar.bz2
scummvm-rg350-29d54519156912a8692f88e4e3bf802718465d02.zip
HOPKINS: Implement BASE()
-rw-r--r--engines/hopkins/hopkins.cpp89
1 files changed, 88 insertions, 1 deletions
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index a95d7b3523..5fd8164bf8 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -1927,7 +1927,94 @@ void HopkinsEngine::INCENDIE() {
}
void HopkinsEngine::BASE() {
- warning("STUB - BASE()");
+ warning("BASE()");
+
+ _globals.iRegul = 1;
+ _graphicsManager.nbrligne = 640;
+ _graphicsManager.DD_Lock();
+ _graphicsManager.Cls_Video();
+ _graphicsManager.DD_Unlock();
+ _graphicsManager.Cls_Pal();
+ _animationManager.CLS_ANM = true;
+ _soundManager.WSOUND(25);
+ if (_globals.SVGA == 1) {
+ _animationManager.PLAY_ANM("base00.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base05.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base10.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base20.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base30.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base40.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("base50.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("OC00.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("OC05.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("OC10.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _animationManager.PLAY_ANM("OC20.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY)
+ goto LABEL_27;
+ _graphicsManager.FADE_LINUX = 2;
+ _animationManager.PLAY_ANM("OC30.anm", 10, 18, 18);
+ }
+ if (_globals.SVGA == 2) {
+ _animationManager.PLAY_ANM("base00a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base05a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base10a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base20a.anm", 10, 18, 18);
+ if (_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base30a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base40a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("base50a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("OC00a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("OC05a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("OC10a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _animationManager.PLAY_ANM("OC20a.anm", 10, 18, 18);
+ if (!_eventsManager.ESC_KEY) {
+ _graphicsManager.FADE_LINUX = 2;
+ _animationManager.PLAY_ANM("OC30a.anm", 10, 18, 18);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+LABEL_27:
+ _eventsManager.ESC_KEY = false;
+ _animationManager.CLS_ANM = false;
+ _globals.SORTIE = 85;
}
void HopkinsEngine::BASED() {