aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/help.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/avalanche/help.cpp')
-rw-r--r--engines/avalanche/help.cpp301
1 files changed, 0 insertions, 301 deletions
diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp
deleted file mode 100644
index 23ee06819a..0000000000
--- a/engines/avalanche/help.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/* 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 "graph.h"
-/*#include "Rodent.h"*/
-/*#include "Crt.h"*/
-
-namespace Avalanche {
-
-typedef graphcursmasktype cursor;
-const char vernum[] = "v1ù00";
-const char copyright[] = "1992";
-const cursor questionmark = {
- ((511, 1023, 2047, 31, 15, 8199, 32647, 65415, 63503, 61471, 61503, 61695, 63999, 63999, 61695, 61695),
- (65024, 33792, 34816, 34784, 40976, 57224, 32840, 72, 1936, 2080, 2496, 2304, 1536, 1536, 2304, 3840)),
- 0,
- 0
-};
-
-const array<1, 7, varying_string<12> > topics = {
- {
- "Front page", "Background", "Toolbar", "Menus",
- "Keyboard", "Shareware", "Exit Help"
- }
-};
-
-const array<1, 6, char> keys = "FBTMKS";
-
-byte page_;
-palettetype dp, dark;
-char r;
-boolean lmo;
-
-void hilight(integer x, integer y, byte c1, byte c2, string z) {
- string w;
- w = z;
- w[1] = '\40';
- setcolor(c1);
- outtextxy(x, y, w);
- w = z;
- fillchar(w[2], length(z) - 1, '\40');
- setcolor(c2);
- outtextxy(x, y, w);
- outtextxy(x - 1, y, w);
-}
-
-void showpage(byte x) {
- if (x == page_) return; /* twit */
- if (x == 7) {
- lmo = true;
- return;
- }
- setallpalette(dark);
- hidemousecursor;
- settextjustify(1, 1);
- if (page_ != 177) {
- setfillstyle(1, 1);
- bar(507, page_ * 25 + 2, 607, page_ * 25 + 22);
- setfillstyle(1, 9);
- bar(500, page_ * 25, 600, page_ * 25 + 20);
- /* setcolor(11); outtextxy(550,page*25+10,topics[page]);*/
- hilight(550, page_ * 25 + 10, 11, 14, topics[page_]);
- }
- page_ = x;
- setfillstyle(1, 4);
- bar(507, page_ * 25 + 2, 607, page_ * 25 + 22);
- setfillstyle(1, 12);
- bar(500, page_ * 25, 600, page_ * 25 + 20);
- /* setcolor(14); outtextxy(550,page*25+10,topics[page]); */
- hilight(550, page_ * 25 + 10, 14, 15, topics[page_]);
- setfillstyle(1, 7);
- bar(0, 27, 470, 189);
- settextjustify(0, 2);
- setcolor(1);
- switch (page_) {
- case 1: {
- ; /* Front page */
- setcolor(black);
- outtextxy(10, 40, "Thorsoft of Letchworth presents");
- outtextxy(300, 80, vernum);
- outtextxy(10, 90, string("(c) ") + copyright + ", Mike, Mark and Thomas Thurman.");
- setcolor(red);
- outtextxy(100, 129, "Finding your way around it...");
- setcolor(blue);
- outtextxy(10, 120, "You are now using the Help System.");
- outtextxy(10, 138, "Press the first letter of the topic that you want to");
- outtextxy(10, 147, "read (eg T for (T)oolbar), or click on its button (on");
- outtextxy(10, 156, "the right) using the mouse. Use \"Exit Help\" to quit.");
- outtextxy(10, 174, "(Fastest exit- just hit Esc!)");
- }
- break;
- case 2: {
- ; /* Background */
- setcolor(red);
- outtextxy(300, 30, "Remember this chap?");
- setcolor(blue);
- outtextxy(10, 55, "Back in good old A.D. 79, there lived a Roman");
- outtextxy(10, 64, "whose name was Denarius Avaricius Sextus, known");
- outtextxy(10, 73, "to his friends as Avvy. His wife was called Arkata,");
- outtextxy(10, 82, "and he had a slave named Crapulus. His grandson");
- outtextxy(10, 91, "joined the army, was posted to Gaul, and liked it");
- outtextxy(10, 100, "so much that he stayed there, telling everyone the");
- outtextxy(10, 109, "one about the centurion and the Turkish bath. His");
- outtextxy(10, 118, "thirty-sixth male-line descendant accidentally");
- outtextxy(10, 127, "poisoned an old enemy of William of Normandy, and");
- outtextxy(10, 136, "to his great surprise came so much into Bill's favour");
- outtextxy(10, 145, "that, after the Battle of Hastings a few years");
- outtextxy(10, 154, "later, he was made the lord of a small town in");
- outtextxy(10, 163, "Hertfordshire called Argent. It is his great-grandson");
- outtextxy(10, 172, "who stars in this game, back in good old A.D. 1189.");
- }
- break;
- case 3: {
- ; /* ? */
- outtextxy(15, 30, "The Toolbar is there so that (along with the menus)");
- outtextxy(15, 39, "you can perform a lot of the functions contained in");
- outtextxy(15, 48, "the game, using the mouse.");
- setcolor(red);
- outtextxy(15, 66, "COMPASS:");
- setcolor(blue);
- outtextxy(90, 66, "Used to point Avvy in the right direction.");
- setcolor(red);
- outtextxy(15, 75, "THINKS:");
- setcolor(blue);
- outtextxy(90, 75, "Shows the person/object you're thinking of.");
- setcolor(red);
- outtextxy(15, 84, "SCORE:");
- setcolor(blue);
- outtextxy(90, 84, "Shows how many points you've got.");
- setcolor(red);
- outtextxy(15, 93, "SPEED:");
- setcolor(blue);
- outtextxy(90, 93, "Adjusts the speed of the game.");
- setcolor(red);
- outtextxy(15, 102, "L.E.D.s:");
- setcolor(blue);
- outtextxy(90, 102, "Shows whether sound is on (toggle with <F2>),");
- outtextxy(90, 111, "the computer is ready, or there is an error.");
- setcolor(red);
- outtextxy(15, 120, "CLOCK:");
- setcolor(blue);
- outtextxy(90, 120, "Shows the time.");
- setcolor(red);
- outtextxy(15, 129, "'OK' box:");
- setcolor(blue);
- outtextxy(90, 129, "Works the same as pressing <ENTER>.");
- setcolor(0);
- outtextxy(15, 147, "N.B. The game action is suspended while you are");
- outtextxy(15, 156, "using the toolbar.");
- }
- break;
- case 4: {
- ; /* menus */
- outtextxy(15, 60, "To use the drop-down menus, either click on the bar");
- outtextxy(15, 69, "at the top with the mouse, or press Alt and the first");
- outtextxy(15, 78, string("letter of the menu's name (eg alt-A = (A)ction.) The ") + '\3');
- outtextxy(15, 87, "menu is alt-H, for (H)eart.");
- outtextxy(15, 105, "When you have a menu, either click on the option you");
- outtextxy(15, 114, "want, or press its initial letter (eg O for \"OS Shell\").");
- outtextxy(15, 132, "To do something to, or with, an object or person, first");
- outtextxy(15, 141, "select them (or it) from the People or Things menu. Then");
- outtextxy(15, 150, "select whatever you wanted to do from the Use menu.");
- setcolor(red);
- outtextxy(15, 177, "(OK, so it sounds complicated, but then it's intuitive!)");
- }
- break;
- case 5: {
- ; /* Keyboard */
- outtextxy(15, 60, "The keyboard interface is even simpler than the mouse");
- outtextxy(15, 70, "interface! Just type what you want Avvy to do.");
- outtextxy(15, 80, "For example, to open a door, type in:");
- setcolor(red);
- outtextxy(100, 95, "open door");
- setcolor(blue);
- outtextxy(15, 110, "And to look at Crapulus, type:");
- setcolor(red);
- outtextxy(100, 125, "look at Crapulus");
- setcolor(blue);
- outtextxy(15, 140, "(Don't forget to press Enter after each command!)");
- outtextxy(15, 160, "This is a traditional command-line parser interface,");
- outtextxy(15, 170, "similar to the one in \"Avaricius\", only more advanced.");
- }
- break;
- case 6: {
- ; /* ? */
- outtextxy(15, 30, "This game is Shareware. Most programs are sold through");
- outtextxy(15, 40, "shops, and the authors prevent you from copying them.");
- outtextxy(15, 50, "Shareware is different. You may copy it and give it to");
- outtextxy(15, 60, "ANYBODY at all. You may post it on any BBS, give it to");
- outtextxy(15, 70, "friends, etc. If you like it, we ask you to pay us for");
- outtextxy(15, 80, "the software directly through the post. We're relying");
- outtextxy(15, 90, "on you to register!");
- outtextxy(99, 177, "{ ETC }");
- }
- break;
- }
- setallpalette(dp);
- showmousecursor;
-}
-
-void helpsetup() {
- integer gd, gm;
- gd = 3;
- gm = 0;
- initgraph(gd, gm, "c:\\bp\\bgi");
- settextstyle(1, 0, 0);
- setcolor(11);
- getpalette(dp);
- dark.size = dp.size;
- fillchar(dark.colors, dark.size, '\0');
- setallpalette(dark);
- setusercharsize(3, 1, 8, 10);
- for (gm = 1; gm <= 3; gm ++) outtextxy(gm, 0, "Avalot- HELP!");
- resetmouse;
- setgraphicscursor(questionmark);
- showmousecursor;
- settextstyle(0, 0, 1);
- settextjustify(1, 1);
- for (gd = 2; gd <= 7; gd ++) {
- setfillstyle(1, 1);
- bar(507, gd * 25 + 2, 607, gd * 25 + 22);
- setfillstyle(1, 9);
- bar(500, gd * 25, 600, gd * 25 + 20);
- /* setcolor(11); outtextxy(550,gd*25+10,topics[gd]); */
- hilight(550, gd * 25 + 10, 11, 14, topics[gd]);
- }
- showmousecursor;
- page_ = 177;
- showpage(1);
- lmo = false;
- setfillstyle(1, 7);
- for (gd = 1; gd <= 3; gd ++) {
- bar(10 - gd * 3, 200 - gd * 3, 490 - gd * 6, 200 - gd * 3);
- bar(490 - gd * 6, 37 - gd * 3, 491 - gd * 6, 200 - gd * 3);
- }
-}
-
-int main(int argc, const char *argv[]) {
- pio_initialize(argc, argv);
- helpsetup();
- do {
- do {
- getbuttonstatus;
- } while (!((mkey == left) || keypressed()));
- if (keypressed()) {
- ; /* keyboard choice */
- r = upcase(readkey());
- if (pos(r, keys) > 0) showpage(pos(r, keys));
- else if (r == '\0')
- switch (readkey()) { /* grab extd keystroke */
- case 'H':
- if (page_ > 1) showpage(page_ - 1);
- break;
- case 'P':
- if (page_ < 6) showpage(page_ + 1);
- break;
- case 'G':
- case 'I':
- showpage(1);
- break;
- case 'O':
- case 'Q':
- showpage(6);
- break;
- }
- else if (set::of('\33', 'Q', 'X', 'E', 'H', eos).has(r)) lmo = true; /* quit */
- } else {
- ; /* mouse choice */
- if ((mousex > 400) && (mousey > 25)) {
- showpage(mousey / 25);
- }
- }
- } while (!lmo);
- return EXIT_SUCCESS;
-}
-
-} // End of namespace Avalanche. \ No newline at end of file