diff options
author | uruk | 2013-06-21 14:08:10 +0200 |
---|---|---|
committer | uruk | 2013-06-21 14:08:10 +0200 |
commit | aeff42074ade0ab29e8130a6b92ffe73f94070b7 (patch) | |
tree | 5b1375688b87a8bab54047d121bb3bfc1fc88c6c /engines/avalanche/gyro.h | |
parent | 1ce5e3bc3ff9082e057475bb5cfbc15a212f43eb (diff) | |
download | scummvm-rg350-aeff42074ade0ab29e8130a6b92ffe73f94070b7.tar.gz scummvm-rg350-aeff42074ade0ab29e8130a6b92ffe73f94070b7.tar.bz2 scummvm-rg350-aeff42074ade0ab29e8130a6b92ffe73f94070b7.zip |
AVALANCHE: Reorganise source files.
Diffstat (limited to 'engines/avalanche/gyro.h')
-rw-r--r-- | engines/avalanche/gyro.h | 839 |
1 files changed, 0 insertions, 839 deletions
diff --git a/engines/avalanche/gyro.h b/engines/avalanche/gyro.h deleted file mode 100644 index 7a7e2aa3ae..0000000000 --- a/engines/avalanche/gyro.h +++ /dev/null @@ -1,839 +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. - */ - -#ifndef __gyro_h__ -#define __gyro_h__ - - -#include "graph.h" -/*#include "Dos.h"*/ -/*#include "Crt.h"*/ - -namespace Avalanche { - -const char numobjs = '\22'; /* always preface with a # */ -const integer maxobjs = 12; /* carry limit */ -const byte howlong = 1/*8*/; /* 18 ticks. */ - -const boolean oncandopageswap = true; /* Variable constant for overriding the - ability of On to switch pages. You may know better than On which page - to switch to. */ - -const integer num = 32; /* Code for Num Lock */ - -const integer mouse_size = 134; - -typedef void(*proc)(); - -struct postype { - word x, y, datapos; - byte length; -}; - -struct mp { /* mouse-pointer */ - matrix<0, 1, 0, 15, word> mask; - integer horzhotspot, verthotspot; -}; - -struct dnatype { - /* here goes... */ /* Ux, uy, & ww now all belong to Trip5 */ - byte rw; /* Realway- just for convenience! */ - byte carrying; /* how many objects you're carrying... */ - array < '\1', numobjs, boolean > obj; /* ...and which ones they are. */ - integer score; /* your score, of course */ - longint pence; /* your current amount of dosh */ - byte room; /* your current room */ - char wearing; /* what you're wearing */ - byte swore; /* number of times you've sworn */ - byte saves; /* number of times this game has been saved */ - array<1, 100, byte> rooms; /* Add one to each every time - you enter a room */ - byte alcohol; /* Your blood alcohol level. */ - byte playednim; /* How many times you've played Nim. */ - boolean wonnim; /* Have you *won* Nim? (That's harder.) */ - byte winestate; /* 0=good (Notts), 1=passable(Argent) ... 3=vinegar.*/ - boolean cwytalot_gone; /* Has Cwytalot rushed off to Jerusalem yet?*/ - - byte pass_num; /* Number of the password for this game. */ - boolean ayles_is_awake; /* pretty obvious! */ - byte drawbridge_open; /* Between 0 (shut) and 4 (open). */ - byte avaricius_talk; /* How much Avaricius has said to you. */ - boolean bought_onion; /* Have you bought an onion yet? */ - boolean rotten_onion; /* And has it rotted? */ - boolean onion_in_vinegar; /* Is the onion in the vinegar? */ - - byte given2spludwick; /* 0 = nothing given, 1 = onion... */ - byte brummie_stairs; /* Progression through the stairs trick. */ - byte cardiff_things; /* Things you get asked in Cardiff. */ - - boolean cwytalot_in_herts; /* Have you passed Cwytalot in Herts?*/ - - boolean avvy_is_awake; /* Well? Is Avvy awake? (Screen 1 only.) */ - boolean avvy_in_bed; /* True if Avvy's in bed, but awake. */ - - boolean user_moves_avvy; /* If this is false, the user has no - control over Avvy's movements. */ - - byte dogfoodpos; /* Which way Dogfood's looking in the pub. */ - - boolean givenbadgetoiby; /* Have you given the badge to Iby yet? */ - - boolean friar_will_tie_you_up; /* If you're going to get tied up. */ - boolean tied_up; /* You ARE tied up! */ - - char box_contents; /* 0 = money (sixpence), 254 = empty, any - other number implies the contents of the box. */ - - boolean talked_to_crapulus; /* Pretty self-explanatory. */ - - byte jacques_awake; /* 0=asleep, 1=awake, 2=gets up, 3=gone. */ - - boolean ringing_bells; /* Is Jacques ringing the bells? */ - - boolean standing_on_dais; /* In room 71, inside Cardiff Castle. */ - boolean taken_pen; /* Have you taken the pen (in Cardiff?) */ - boolean arrow_triggered; /* And has the arrow been triggered? */ - boolean arrow_in_the_door; /* Did the arrow hit the wall? */ - - varying_string<77> like2drink, - favourite_song, - worst_place_on_earth, - spare_evening; /* Personalisation str's */ - - longint total_time; /* Your total time playing this game, in ticks.*/ - - byte jumpstatus; /* Fixes how high you're jumping. */ - - boolean mushroom_growing; /* Is the mushroom growing in 42? */ - - boolean spludwicks_here; /* Is Spludwick at home? */ - - byte last_room; - byte last_room_not_map; - - boolean crapulus_will_tell; /* Will Crapulus tell you about - Spludwick being away? */ - - boolean enter_catacombs_from_lusties_room; - boolean teetotal; /* Are we touching any more drinks? */ - byte malagauche; /* Position of Malagauche. See Celer for more info. */ - char drinking; /* What's he getting you? */ - - boolean entered_lusties_room_as_monk; - - byte cat_x, cat_y; /* XY coords in the catacombs. */ - - boolean avvys_in_the_cupboard; /* On screen 22. */ - - boolean geida_follows; /* Is Geida following you? */ - - byte geida_spin, geida_time; /* For the making "Geida dizzy" joke. */ - - byte nextbell; /* For the ringing. */ - - boolean geida_given_potion; /* Does Geida have the potion? */ - boolean lustie_is_asleep; /* Is BDL asleep? */ - - byte flip_to_where, flip_to_ped; /* For the sequencer. */ - - boolean been_tied_up; /* In r__Robins. */ - - boolean sitting_in_pub; /* Are you sitting down in the pub? */ - byte spurge_talk; /* Count for talking to Spurge. */ - - boolean met_avaroid; - - boolean taken_mushroom, - given_pen_to_ayles, - asked_dogfood_about_nim; -}; - -struct pedtype { - integer x, y; - byte dir; -}; - -struct magictype { - byte op; /* one of the operations */ - word data; /* data for them */ -}; - -class fieldtype { -public: - integer x1, y1, x2, y2; -}; - -struct bytefield { - byte x1, y1, x2, y2; -}; - -class linetype : public fieldtype { -public: - byte col; -}; - -struct adxtype { - varying_string<12> name; /* name of character */ - byte num; /* number of pictures */ - byte xl, yl; /* x & y lengths of pictures */ - byte seq; /* how many in one stride */ - word size; /* the size of one picture */ - byte fgc, bgc; /* foreground & background bubble colours */ -}; - -typedef matrix < '\0', '\377', 0, 15, byte > raw; /* raw_font_type */ - -enum controllers {cjoy, ckey, last_controllers}; - -typedef array<1, 20, varying_string<77> > previoustype; - -struct corridor_type { /* Decarations for the corridors. */ - word doors; /* Door styles are calc'ed from this word. - Assign a different number to each one! */ -}; - -struct demo_type { - word delay; - char key, extd; -}; - -struct quasiped_type { - byte whichped, fgc, room, bgc; - char who; -}; -/* A quasiped defines how people who aren't sprites talk. For example, - quasiped "A" is Dogfood. The rooms aren't stored because I'm leaving - that to context. */ - -typedef array<1, 31, byte> tunetype; - -struct vmctype { /* Virtual Mouse Cursor */ - pointer andpic, xorpic; - array<0, 1, pointer> backpic; - array<0, 1, pointtype> wherewas; - byte picnumber; - shortint ofsx, ofsy; -}; - -struct sundry { - /* Things which must be saved over a backtobootstrap, - outside DNA. */ - pathstr qenid_filename; - boolean qsoundfx; - char qthinks; - boolean qthinkthing; -}; - -struct joysetup { - word xmid, ymid, xmin, ymin, xmax, ymax; - byte centre; /* Size of centre in tenths */ -}; - -struct ednahead { /* Edna header */ - /* This header starts at byte offset 177 in the .ASG file. */ - array<1, 9, char> id; /* signature */ - word revision; /* EDNA revision, here 2 (1=dna256) */ - varying_string<50> game; /* Long name, eg Lord Avalot D'Argent */ - varying_string<15> shortname; /* Short name, eg Avalot */ - word number; /* Game's code number, here 2 */ - word ver; /* Version number as integer (eg 1.00 = 100) */ - varying_string<5> verstr; /* Vernum as string (eg 1.00 = "1.00" */ - varying_string<12> filename; /* Filename, eg AVALOT.EXE */ - byte osbyte; /* Saving OS (here 1=DOS. See below for others.*/ - varying_string<5> os; /* Saving OS in text format. */ - - /* Info on this particular game */ - - varying_string<8> fn; /* Filename (not extension ('cos that's .ASG)) */ - byte d, m; /* D, M, Y are the Day, Month & Year this game was... */ - word y; /* ...saved on. */ - varying_string<40> desc; /* Description of game (same as in Avaricius!) */ - word len; /* Length of DNA (it's not going to be above 65535!) */ - - /* Quick reference & miscellaneous */ - - word saves; /* no. of times this game has been saved */ - integer cash; /* contents of your wallet in numerical form */ - varying_string<20> money; /* ditto in string form (eg 5/-, or 1 denarius)*/ - word points; /* your score */ - - /* DNA values follow, then footer (which is ignored) */ -}; - -/* Possible values of edhead.os: - 1 = DOS 4 = Mac - 2 = Windows 5 = Amiga - 3 = OS/2 6 = ST - 7 = Archimedes */ - -const char vernum[] = "1.30"; -const char copyright[] = "1995"; -const integer thisvercode = 130; -/* as "vernum", but numerically & without the ".". */ -const integer thisgamecode = 2; /* Avalot's code number */ - -/* Objects you can hold: */ -const char wine = '\1'; -const char money = '\2'; -const char bodkin = '\3'; -const char potion = '\4'; -const char chastity = '\5'; -const char bolt = '\6'; -const char crossbow = '\7'; -const char lute = '\10'; -const char badge = '\11'; -const char mushroom = '\12'; -const char key = '\13'; -const char bell = '\14'; -const char prescription = '\15'; -const char pen = '\16'; -const char ink = '\17'; -const char clothes = '\20'; -const char habit = '\21'; -const char onion = '\22'; - -/* People who hang around this game. */ - -/* Boys: */ -const char pavalot = '\226'; -const char pspludwick = '\227'; -const char pcrapulus = '\230'; -const char pdrduck = '\231'; -const char pmalagauche = '\232'; -const char pfriartuck = '\233'; -const char probinhood = '\234'; -const char pcwytalot = '\235'; -const char pdulustie = '\236'; -const char pduke = '\237'; -const char pdogfood = '\240'; -const char ptrader = '\241'; -const char pibythneth = '\242'; -const char payles = '\243'; -const char pport = '\244'; -const char pspurge = '\245'; -const char pjacques = '\246'; - -/* Girls: */ -const char parkata = '\257'; -const char pgeida = '\260'; -const char pwisewoman = '\262'; - -const integer xw = 30; -const integer yw = 36; /* x width & y whatsit */ - -const integer margin = 5; - -const array<1, 9, mp> mps = { - { { - /* 1 - up-arrow */ - { { {{65151, 64575, 64575, 63519, 63519, 61455, 61455, 57351, 57351, 49155, 49155, 64575, 64575, 64575, 64575, 64575}}, - {{0, 384, 384, 960, 960, 2016, 2016, 4080, 4080, 8184, 384, 384, 384, 384, 384, 0}} - } - }, - 8, - 0 - }, - - { - /* 2 - screwdriver */ - { { {{8191, 4095, 2047, 34815, 50175, 61951, 63743, 64543, 65039, 65031, 65027, 65281, 65408, 65472, 65505, 65523}}, - {{0, 24576, 28672, 12288, 2048, 1024, 512, 256, 224, 176, 216, 96, 38, 10, 12, 0}} - } - }, - 0, - 0 - }, - - { - /* 3 - right-arrow */ - { { {{65535, 65535, 64639, 64543, 7, 1, 0, 1, 7, 64543, 64639, 65535, 65535, 65535, 65535, 65535}}, - {{0, 0, 0, 384, 480, 32760, 32766, 32760, 480, 384, 0, 0, 0, 0, 0, 0}} - } - }, - 15, - 6 - }, - - { - /* 4 - fletch */ - { { {{255, 511, 1023, 2047, 1023, 4607, 14591, 31871, 65031, 65283, 65281, 65280, 65280, 65409, 65473, 65511}}, - {{0, 10240, 20480, 24576, 26624, 17408, 512, 256, 128, 88, 32, 86, 72, 20, 16, 0}} - } - }, - 0, - 0 - }, - - { - /* 5 - hourglass */ - { { {{0, 0, 0, 34785, 50115, 61455, 61455, 63519, 63519, 61839, 61455, 49155, 32769, 0, 0, 0}}, - {{0, 32766, 16386, 12300, 2064, 1440, 1440, 576, 576, 1056, 1440, 3024, 14316, 16386, 32766, 0}} - } - }, - 8, - 7 - }, - - { - /* 6 - TTHand */ - { { {{62463, 57855, 57855, 57855, 57471, 49167, 32769, 0, 0, 0, 0, 32768, 49152, 57344, 61441, 61443}}, - {{3072, 4608, 4608, 4608, 4992, 12912, 21070, 36937, 36873, 36865, 32769, 16385, 8193, 4097, 2050, 4092}} - } - }, - 4, - 0 - }, - - { - /* 7- Mark's crosshairs */ - { { {{65535, 65151, 65151, 65151, 65151, 0, 65151, 65151, 65151, 65151, 65535, 65535, 65535, 65535, 65535, 65535}}, - {{0, 384, 384, 384, 384, 65535, 384, 384, 384, 384, 0, 0, 0, 0, 0, 0}} - } - }, - 8, - 5 - }, - - { - /* 8- I-beam. */ - { { {{65535, 65535, 63631, 63503, 63503, 65087, 65087, 65087, 65087, 65087, 63503, 63503, 63631, 65535, 65535, 65535}}, - {{0, 0, 0, 864, 128, 128, 128, 128, 128, 128, 128, 864, 0, 0, 0, 0}} - } - }, - 8, - 7 - }, - - { - /* 9- Question mark. */ - { { {{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 < '\226', '\246', varying_string<19> > lads = { - { - "Avalot", "Spludwick", "Crapulus", "Dr. Duck", "Malagauche", "Friar Tuck", - "Robin Hood", "Cwytalot", "du Lustie", "the Duke of Cardiff", "Dogfood", - "A trader", "Ibythneth", "Ayles", "Port", "Spurge", "Jacques" - } -}; - -const array < '\257', '\262', varying_string<14> > lasses = -{{"Arkata", "Geida", '±', "the Wise Woman"}}; - -const array < '\226', '\245', char > ladchar = "ASCDMTRwLfgeIyPu"; - -const array < '\257', '\262', char > lasschar = "kG±o"; - -const integer numtr = 2; /* current max no. of sprites */ - -const boolean a_thing = true; -const boolean a_person = false; /* for Thinkabout */ - -/* Magic/portal commands are */ - -/*N*/ const integer nix = 0; /* ignore it if this line is touched */ -/*B*/ const integer bounces = 1; /* bounce off this line. Not valid for portals. */ -/*E*/ const integer exclaim = 2; /* put up a chain of scrolls */ -/*T*/ const integer transport = 3; /* enter new room */ -/*U*/ const integer unfinished = 4; /* unfinished connection */ -/*S*/ const integer special = 5; /* special function. */ -/*O*/ const integer mopendoor = 6; /* opening door. */ - -/* These following constants should be included in CFG when it's written. */ - -const boolean slow_computer = false; /* stops walking when mouse touches toolbar */ - -/* --- */ - -const integer border = 1; /* size of border on shadowboxes */ - -const integer pagetop = 81920; - -const integer up = 0; -const integer right = 1; -const integer down = 2; -const integer left = 3; -const integer ur = 4; -const integer dr = 5; -const integer dl = 6; -const integer ul = 7; -const integer stopped = 8; - -const integer walk = 3; -const integer run = 5; - -/*$I ROOMNUMS.INC - Room number constants (r__xxx) */ - -const array < '\226', '\262', byte > whereis = - /* The Lads */ -{ { - r__yours, /* Avvy */ - r__spludwicks, /* Spludwick */ - r__outsideyours, /* Crapulus */ - r__ducks, /* Duck - r__DucksRoom's not defined yet. */ - r__argentpub, /* Malagauche */ - r__robins, /* Friar Tuck. */ - 177, /* Robin Hood - can't meet him at the start. */ - r__brummieroad, /* Cwytalot */ - r__lustiesroom, /* Baron du Lustie. */ - r__outsidecardiffcastle, /* The Duke of Cardiff. */ - r__argentpub, /* Dogfood */ - r__outsideducks, /* Trader */ - r__argentpub, /* Ibythneth */ - r__aylesoffice, /* Ayles */ - r__nottspub, /* Port */ - r__nottspub, /* Spurge */ - r__musicroom, /* Jacques */ - 0, 0, 0, 0, 0, 0, 0, 0, - /* The Lasses */ - r__yours, /* Arkata */ - r__geidas, /* Geida */ - 177, /* nobody allocated here! */ - r__wisewomans - } -}; /* The Wise Woman. */ - -/* Art gallery at 2,1; notice about this at 2,2. */ - -const matrix<1, 8, 1, 8, longint> catamap = - /* Geida's room */ - /* 1 2 3 | 4 5 6 7 8*/ -{ { {{0x204, 0x200, 0xd0f0, 0xf0ff, 0xff, 0xd20f, 0xd200, 0x200}}, - {{0x50f1, 0x20ff, 0x2ff, 0xff, 0xe0ff, 0x20ff, 0x200f, 0x7210}}, - {{0xe3f0, 0xe10f, 0x72f0, 0xff, 0xe0ff, 0xff, 0xff, 0x800f}}, - {{0x2201, 0x2030, 0x800f, 0x220, 0x20f, 0x30, 0xff, 0x23f}}, /* >> Oubliette */ - {{0x5024, 0xf3, 0xff, 0x200f, 0x22f0, 0x20f, 0x200, 0x7260}}, - {{0xf0, 0x2ff, 0xe2ff, 0xff, 0x200f, 0x50f0, 0x72ff, 0x201f}}, - {{0xf6, 0x220f, 0x22f0, 0x30f, 0xf0, 0x20f, 0x8200, 0x2f0}}, /* <<< In here */ - {{0x34, 0x200f, 0x51f0, 0x201f, 0xf1, 0x50ff, 0x902f, 0x2062}} - } -}; -/* vv Stairs trap. */ - -/* Explanation: $NSEW. - Nibble N: North. - 0 = no connection, - 2 = (left,) middle(, right) door with left-hand handle, - 5 = (left,) middle(, right) door with right-hand handle, - 7 = arch, - 8 = arch and 1 north of it, - 9 = arch and 2 north of it, - D = no connection + WINDOW, - E = no connection + TORCH, - F = recessed door (to Geida's room.) - - Nibble S: South. - 0 = no connection, - 1,2,3 = left, middle, right door. - - Nibble E: East. - 0 = no connection (wall), - 1 = no connection (wall + window), - 2 = wall with door, - 3 = wall with door and window, - 6 = wall with candles, - 7 = wall with door and candles, - F = straight-through corridor. - - Nibble W: West. - 0 = no connection (wall), - 1 = no connection (wall + shield), - 2 = wall with door, - 3 = wall with door and shield, - 4 = no connection (window), - 5 = wall with door and window, - 6 = wall with candles, - 7 = wall with door and candles, - F = straight-through corridor. */ - -const byte interrogation = 0; -/* If this is greater than zero, the next line you type is stored in - the DNA in a position dictated by the value. If a scroll comes up, - or you leave the room, it's automatically set to zero. */ - -const boolean demo = false; /* If this is true, we're in a demo of the game. */ - -const array<0, 2, char> spludwick_order = {{onion, ink, mushroom}}; - -const array<10, 25, quasiped_type> quasipeds = { - { {2, lightgray, 19, brown, pdogfood}, /* A: Dogfood (screen 19). */ - {3, green, 19, white, pibythneth}, /* B: Ibythneth (screen 19). */ - {3, white, 1, magenta, parkata}, /* C: Arkata (screen 1). */ - {3, black, 23, red, '\261'}, /* D: Hawk (screen 23). */ - {3, lightgreen, 50, brown, ptrader}, /* E: Trader (screen 50). */ - {6, yellow, 42, red, pavalot}, /* F: Avvy, tied up (scr.42) */ - {2, blue, 16, white, payles}, /* G: Ayles (screen 16). */ - {2, brown, 7, white, pjacques}, /* H: Jacques (screen 7). */ - {2, lightgreen, 47, green, pspurge}, /* I: Spurge (screen 47). */ - {3, yellow, 47, red, pavalot}, /* J: Avalot (screen 47). */ - {2, lightgray, 23, black, pdulustie}, /* K: du Lustie (screen 23). */ - {2, yellow, 27, red, pavalot}, /* L: Avalot (screen 27). */ - {3, white, 27, red, '\261'}, /* M: Avaroid (screen 27). */ - {4, lightgray, 19, darkgray, pmalagauche}, /*N: Malagauche (screen 19). */ - {5, lightmagenta, 47, red, pport}, /* O: Port (screen 47). */ - {2, lightgreen, 51, darkgray, pdrduck} - } -}; /*P: Duck (screen 51). */ - -const integer lower = 0; -const integer same = 1; -const integer higher = 2; - -const array<1, 12, char> keys = "QWERTYUIOP[]"; -const array<1, 12, word> notes = -{{196, 220, 247, 262, 294, 330, 350, 392, 440, 494, 523, 587}}; - -const tunetype tune = { - { - higher, higher, lower, same, higher, higher, lower, higher, higher, higher, - lower, higher, higher, - same, higher, lower, lower, lower, lower, higher, higher, lower, lower, lower, - lower, same, lower, higher, same, lower, higher - } -}; - -/* special run-time errors */ - -const integer runerr_getset_overflow = 50; - - -#ifdef __gyro_implementation__ -#undef EXTERN -#define EXTERN -#endif - -EXTERN varying_string<77> current; -EXTERN byte curpos; -EXTERN boolean cursoron; -/* previous:^previoustype;*/ -EXTERN varying_string<77> last; -EXTERN dnatype dna; -EXTERN array<1, 50, linetype> lines; /* For Also. */ -EXTERN integer c; -EXTERN registers r; -EXTERN enum { m_no , m_yes , m_virtual } visible; -EXTERN boolean dropsok, screturn, soundfx, cheat; -EXTERN word mx, my; /* mouse x & y now */ -EXTERN word mpx, mpy; /* mouse x & y when pressed */ -EXTERN word mrx, mry; /* mouse x & y when released */ -EXTERN byte mpress, mrelease; /* times left mouse button has been pressed/released */ -EXTERN byte keystatus; /* Mouse key status */ -EXTERN array<1, 10, varying_string<20> > un; -EXTERN byte unn; -EXTERN string mousetext; -/* which:array[0..5] of byte;*/ -EXTERN pointer p; -EXTERN boolean weirdword; -EXTERN byte to_do; -EXTERN boolean lmo, mousemade; -EXTERN array<1, 15, varying_string<50> > scroll; -EXTERN byte scrolln, score, whichwas; -EXTERN char thinks; -EXTERN boolean thinkthing; - -/* pp:array[1..1000] of postype; - bb:array[1..9000] of byte;*/ -EXTERN word pptr, bptr; -EXTERN matrix<0, 0, 0, 1, integer> ppos; -EXTERN array<1, 24, word> pozzes; -EXTERN byte anim; -EXTERN pointer copier; -EXTERN integer talkx, talky; -EXTERN byte talkb, talkf; -EXTERN byte scrollbells; /* no. of times to ring the bell */ -EXTERN boolean ontoolbar, seescroll; - -EXTERN array<1, 10, char> objlist; -EXTERN array < '0', '9', pointer > digit; -EXTERN array<0, 8, pointer> rwlite; -EXTERN byte oldrw; -EXTERN varying_string<3> lastscore; -EXTERN byte cmp; /* current mouse-pointer */ -EXTERN varying_string<10> verbstr; /* what you can do with your object. :-) */ - -EXTERN matrix<0, 30, 0, 1, string *> also; -EXTERN array<1, 15, pedtype> peds; -EXTERN array<1, 15, magictype> magics; -EXTERN array<9, 15, magictype> portals; -EXTERN array<1, 30, fieldtype> fields; -EXTERN byte numfields; -EXTERN varying_string<26> flags; -EXTERN string listen; - -EXTERN word oh, onh, om, h, m, s, s1; - -EXTERN varying_string<4> atkey; /* For XTs, set to "alt-". For ATs, set to "f1". */ - -EXTERN byte cp, ledstatus, defaultled; -EXTERN raw little; -EXTERN boolean quote; /* 66 or 99 next? */ -EXTERN boolean alive; -EXTERN array<1, 2000, char> buffer; -EXTERN word bufsize; - -EXTERN byte oldjw; /* Old joystick-way */ -EXTERN controllers ctrl; - -EXTERN integer underscroll; /* Y-coord of just under the scroll text. */ - -/* TSkellern is only temporary, and I'll replace it - with a local version when it's all fixed up. */ - -/* tskellern:longint absolute $0:244; { Over int $61 }*/ - -EXTERN boolean ddmnow; /* Kludge so we don't have to keep referring to Dropdown */ -EXTERN varying_string<40> roomname; /* Name of this room */ - -EXTERN text logfile; -EXTERN boolean logging, log_epson; - -EXTERN boolean cl_override; - -EXTERN byte locks; /*ABSOLUTE $40:$17;*/ - -EXTERN varying_string<20> subject; /* What you're talking to them about. */ -EXTERN byte subjnumber; /* The same thing. */ - -EXTERN boolean keyboardclick; /* Is a keyboard click noise wanted? */ - -EXTERN char him, her, it; -EXTERN longint roomtime; /* Set to 0 when you enter a room, added to in every loop.*/ - -EXTERN boolean after_the_scroll; - -/* For the demo: */ -EXTERN demo_type demo_rec; -EXTERN file<demo_type> demofile; - -EXTERN char last_person; /* Last person to have been selected using the People - menu. */ - -EXTERN boolean doing_sprite_run; /* Only set to True if we're doing a sprite_run - at this moment. This stops the trippancy system from moving any of the - sprites. */ - -EXTERN vmctype vmc; -EXTERN string filetoload; - -EXTERN boolean holdthedawn; /* If this is true, calling Dawn will do nothing. - It's used, for example, at the start, to stop Load from dawning. */ - -EXTERN word storage_seg, storage_ofs; /* Seg and ofs of the Storage area. */ -EXTERN word skellern; /* Offset of the timer variable - 1 more than storage_OFS */ -EXTERN boolean reloaded; /* Is this NOT the primary loading? */ - -EXTERN boolean super_was_virtual, super_was_off; /* Used by Super_Off and Super_On */ - -EXTERN pathstr enid_filename; - -EXTERN joysetup js; -EXTERN word cxmin, cxmax, cymin, cymax; -EXTERN boolean use_joy_a; -#undef EXTERN -#define EXTERN extern - - -void newpointer(byte m); - -void wait(); /* makes hourglass */ - -void on(); - -void off(); - -void on_virtual(); - -void off_virtual(); - -void xycheck(); - -void hopto(integer x, integer y); /* Moves mouse pointer to x,y */ - -void check(); - -void note(word hertz); - -void blip(); - -string strf(longint x); - -void shbox(integer x1, integer y1, integer x2, integer y2, string t); - -void newgame(); - -void click(); - -void slowdown(); - -boolean flagset(char x); - -void force_numlock(); - -boolean pennycheck(word howmuchby); - -string getname(char whose); - -char getnamechar(char whose); - -string get_thing(char which); - -char get_thingchar(char which); - -string get_better(char which); - -string f5_does(); - -void plot_vmc(integer xx, integer yy, byte page_); - -void wipe_vmc(byte page_); - -void setup_vmc(); - -void clear_vmc(); - -void load_a_mouse(byte which); - -void background(byte x); - -void hang_around_for_a_while(); - -void super_off(); - -void super_on(); - -boolean mouse_near_text(); - -} // End of namespace Avalanche. - -#endif
\ No newline at end of file |