diff options
Diffstat (limited to 'engines/avalanche/help.cpp')
-rw-r--r-- | engines/avalanche/help.cpp | 301 |
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 |