aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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() {