diff options
-rw-r--r-- | engines/avalanche/avalot.cpp | 1 | ||||
-rw-r--r-- | engines/avalanche/gyro2.h | 2 | ||||
-rw-r--r-- | engines/avalanche/scrolls2.cpp | 135 | ||||
-rw-r--r-- | engines/avalanche/scrolls2.h | 72 |
4 files changed, 209 insertions, 1 deletions
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 09c3ddbc95..341efcadfd 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -42,6 +42,7 @@ namespace Avalanche { Gyro::lmo = false; // resetscroll(); Needs scrolls "unit" to make it work. + warning("STUB: Avalot::Avalot()"); } diff --git a/engines/avalanche/gyro2.h b/engines/avalanche/gyro2.h index c9d8669f17..4c29b1f2d4 100644 --- a/engines/avalanche/gyro2.h +++ b/engines/avalanche/gyro2.h @@ -56,7 +56,7 @@ namespace Avalanche { ///////////////////////////// TYPEDEFS ///////////////////////////// - typedef void(*proc)(); + typedef void (*proc)(); struct postype { uint16 x, y, datapos; diff --git a/engines/avalanche/scrolls2.cpp b/engines/avalanche/scrolls2.cpp new file mode 100644 index 0000000000..f265276686 --- /dev/null +++ b/engines/avalanche/scrolls2.cpp @@ -0,0 +1,135 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +/* + * This code is based on the original source code of Lord Avalot d'Argent version 1.3. + * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman. + */ + +#include "avalanche/scrolls2.h" +#include "avalanche/gyro2.h" +//#include "lucerna.h" +//#include "trip5.h" +//#include "enhanced.h" +//#include "logger.h" +//#include "Acci.h" +//#include "basher.h" +//#include "visa.h" +//#include "timeout.h" + +#include "common/textconsole.h" + +namespace Avalanche { + + namespace Scrolls { + + const int16 roman = 0; + const int16 italic = 1; + + const int16 halficonwidth = 19; /* Half the width of an icon. */ + + int16 dix, diy; + Gyro::raw ch[2]; + byte cfont; /* Current font */ + + int16 dodgex, dodgey; + byte param; /* For using arguments code */ + + byte use_icon; + + void state(byte x) { /* Sets "Ready" light to whatever */ + byte page_; + + if (Gyro::ledstatus == x) return; /* Already like that! */ + + warning("STUB: Scrolls::state(). Calls of Pascal units need to be removed."); + //switch (x) { + //case 0: + // setfillstyle(1, black); + // break; /* Off */ + //case 1: + // setfillstyle(9, green); + // break; /* Half-on (menus) */ + //case 2: + // setfillstyle(1, green); + // break; /* On (kbd) */ + //case 3: + // setfillstyle(6, green); + // break; /* Hit a key */ + //} + + Gyro::super_off(); + + /* for (page_ = 0; page_ <= 1; page_ ++) { + setactivepage(page_); + bar(419, 195, 438, 197); + }*/ + + Gyro::super_on(); + Gyro::ledstatus = x; + } + + void easteregg() { + uint16 fv, ff; + + warning("STUB: Scrolls::easteregg(). Calls of Pascal units need to be removed."); + + /* background(15); + for (fv = 4; fv <= 100; fv ++) + for (ff = 0; ff <= 70; ff ++) { + sound(fv * 100 + ff * 10); + delay(1); + } + nosound; + setcolor(10); + settextstyle(0, 0, 3); + settextjustify(1, 1); + outtextxy(320, 100, "GIED"); + settextstyle(0, 0, 1); + settextjustify(0, 2);*/ + + Gyro::background(0); + } + + void say(int16 x, int16 y, Common::String z) { /* Fancy FAST screenwriting */ + const int16 locol = 2; + byte xx, yy, ox, bit, lz, t; + int16 yp; + bool offset; + byte itw[12][80]; + + offset = x % 8 == 4; + x = x / 8; + lz = z.size(); + ox = 0; + // log_scrollline(); Needs Logger to work. + + warning("STUB: Scrolls::say()."); + + } + + + + + } // End of namespace Scrolls + +} // End of namespace Avalanche diff --git a/engines/avalanche/scrolls2.h b/engines/avalanche/scrolls2.h new file mode 100644 index 0000000000..07038335bd --- /dev/null +++ b/engines/avalanche/scrolls2.h @@ -0,0 +1,72 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +/* + * This code is based on the original source code of Lord Avalot d'Argent version 1.3. + * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman. + */ + +#ifndef SCROLLS2_H +#define SCROLLS2_H + +#include "common/system.h" + +#include "avalanche/gyro2.h" +// #include "avalanche/joystick2.h" - Will be implemented later, if it will be implemented at all... + +namespace Avalanche { + + namespace Scrolls { + + // Call it where Scrolls are first used. + // Procuded to replace the initizalization part of the original Pascal unit. + void initialize_scrolls(); + + const bool aboutscroll = false; /* Is this the about box? */ + + void state(byte x); /* Sets "Ready" light to whatever */ + + void drawscroll(Gyro::proc gotoit); /* This is one of the oldest procs in the game. */ + + void bubble(Gyro::proc gotoit); + + void resetscroll(); + + void calldrivers(); + + void display(Common::String z); + + bool ask(Common::String question); + + void natural(); + + Common::String lsd(); + + void okay(); /* Says "Okay!" */ + + void musical_scroll(); + + } // End of namespace Scrolls + +} // End of namespace Avalanche + +#endif // SCROLLS2_H |