mirror of
https://github.com/libretro/scummvm.git
synced 2025-05-13 09:36:21 +00:00
Merge branch 'avalanche' of https://github.com/urukgit/scummvm into avalanche
Conflicts: engines/avalanche/timeout2.cpp engines/avalanche/trip6.cpp
This commit is contained in:
commit
63737c3878
1625
engines/avalanche/acci2.cpp
Normal file
1625
engines/avalanche/acci2.cpp
Normal file
File diff suppressed because it is too large
Load Diff
219
engines/avalanche/acci2.h
Normal file
219
engines/avalanche/acci2.h
Normal file
@ -0,0 +1,219 @@
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* ACCIDENCE II The parser. */
|
||||
|
||||
#ifndef ACCI2_H
|
||||
#define ACCI2_H
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
class Acci {
|
||||
public:
|
||||
/* verb codes */
|
||||
static const char vb_exam = 1;
|
||||
static const char vb_open = 2;
|
||||
static const char vb_pause = 3;
|
||||
static const char vb_get = 4;
|
||||
static const char vb_drop = 5;
|
||||
static const char vb_inv = 6;
|
||||
static const char vb_talk = 7;
|
||||
static const char vb_give = 8;
|
||||
static const char vb_drink = 9;
|
||||
static const char vb_load = 10;
|
||||
static const char vb_save = 11;
|
||||
static const char vb_pay = 12;
|
||||
static const char vb_look = 13;
|
||||
static const char vb_break = 14;
|
||||
static const char vb_quit = 15;
|
||||
static const char vb_sit = 16;
|
||||
static const char vb_stand = 17;
|
||||
static const char vb_go = 18;
|
||||
static const char vb_info = 19;
|
||||
static const char vb_undress = 20;
|
||||
static const char vb_wear = 21;
|
||||
static const char vb_play = 22;
|
||||
static const char vb_ring = 23;
|
||||
static const char vb_help = 24;
|
||||
static const char vb_larrypass = 25;
|
||||
static const char vb_phaon = 26;
|
||||
static const char vb_boss = 27;
|
||||
static const char vb_pee = 28;
|
||||
static const char vb_cheat = 29;
|
||||
static const char vb_magic = 30;
|
||||
static const char vb_restart = 31;
|
||||
static const char vb_eat = 32;
|
||||
static const char vb_listen = 33;
|
||||
static const char vb_buy = 34;
|
||||
static const char vb_attack = 35;
|
||||
static const char vb_password = 36;
|
||||
static const char vb_dir = 37;
|
||||
static const char vb_die = 38;
|
||||
static const char vb_score = 39;
|
||||
static const char vb_put = 40;
|
||||
static const char vb_kiss = 41;
|
||||
static const char vb_climb = 42;
|
||||
static const char vb_jump = 43;
|
||||
static const char vb_highscores = 44;
|
||||
static const char vb_wake = 45;
|
||||
static const char vb_hello = 46;
|
||||
static const char vb_thanks = 47;
|
||||
|
||||
static const char vb_smartalec = 249;
|
||||
static const char vb_expletive = 253;
|
||||
|
||||
static const char pardon = 254; /* =didn't understand / wasn't given. */
|
||||
|
||||
static const int16 nowords = 277; /* how many words does the parser know? */
|
||||
static const char nowt = 372;
|
||||
static const char moved = 0; /* This word was moved. (Usually because it was the subject of
|
||||
conversation.) */
|
||||
|
||||
static const int16 first_password = 89; /* Words[first_password] should equal "TIROS". */
|
||||
|
||||
|
||||
|
||||
struct vocab {
|
||||
byte n;
|
||||
Common::String w;
|
||||
};
|
||||
|
||||
static const vocab words[nowords];
|
||||
|
||||
static const char what[];
|
||||
|
||||
|
||||
|
||||
struct ranktype {
|
||||
uint16 score;
|
||||
Common::String title;
|
||||
};
|
||||
|
||||
static const ranktype ranks[9];
|
||||
|
||||
|
||||
|
||||
Common::String thats;
|
||||
Common::String unknown;
|
||||
Common::String realwords[11];
|
||||
char verb, person, thing, thing2;
|
||||
bool polite;
|
||||
|
||||
|
||||
|
||||
|
||||
void setParent(AvalancheEngine *vm);
|
||||
|
||||
void init();
|
||||
|
||||
void clearwords();
|
||||
void parse();
|
||||
void lookaround();
|
||||
void opendoor();
|
||||
void do_that();
|
||||
void verbopt(char n, Common::String &answer, char &anskey);
|
||||
void have_a_drink();
|
||||
|
||||
private:
|
||||
AvalancheEngine *_vm;
|
||||
|
||||
byte fv;
|
||||
|
||||
void checkword(Common::String &x);
|
||||
Common::String wordnum(Common::String x);
|
||||
|
||||
void replace(Common::String old1, Common::String new1);
|
||||
|
||||
Common::String rank();
|
||||
|
||||
Common::String totaltime();
|
||||
|
||||
void number(Common::String &codes);
|
||||
void cheatparse(Common::String codes);
|
||||
|
||||
void punctustrip(Common::String &x);
|
||||
|
||||
void displaywhat(char ch, bool animate, bool &ambigous);
|
||||
bool do_pronouns();
|
||||
|
||||
void lowercase();
|
||||
void propernouns();
|
||||
void sayit();
|
||||
void store_interrogation(byte interrogation);
|
||||
|
||||
void clearuint16s();
|
||||
|
||||
void examobj();
|
||||
|
||||
bool personshere();
|
||||
|
||||
void exampers();
|
||||
|
||||
bool holding();
|
||||
|
||||
void special(bool before);
|
||||
void examine();
|
||||
|
||||
void inv();
|
||||
|
||||
void swallow();
|
||||
|
||||
void others();
|
||||
|
||||
void silly();
|
||||
void putproc();
|
||||
|
||||
void not_in_order();
|
||||
void go_to_cauldron();
|
||||
bool give2spludwick();
|
||||
|
||||
void cardiff_climbing();
|
||||
|
||||
void already();
|
||||
void stand_up();
|
||||
|
||||
void getproc(char thing);
|
||||
|
||||
void give_geida_the_lute();
|
||||
|
||||
void play_harp();
|
||||
|
||||
void winsequence();
|
||||
|
||||
void person_speaks();
|
||||
|
||||
void heythanks();
|
||||
|
||||
};
|
||||
|
||||
} // End of namespace Avalanche.
|
||||
|
||||
#endif // ACCI2_H
|
@ -60,6 +60,7 @@ namespace Avalanche {
|
||||
_sequence.setParent(this);
|
||||
_timeout.setParent(this);
|
||||
_trip.setParent(this);
|
||||
_acci.setParent(this);
|
||||
}
|
||||
|
||||
AvalancheEngine::~AvalancheEngine() {
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include "avalanche/sequence2.h"
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
#include "avalanche/acci2.h"
|
||||
|
||||
#include "engines/engine.h"
|
||||
#include "engines/advancedDetector.h"
|
||||
@ -72,6 +73,7 @@ public:
|
||||
Sequence _sequence;
|
||||
Timeout _timeout;
|
||||
Trip _trip;
|
||||
Acci _acci;
|
||||
|
||||
AvalancheEngine(OSystem *syst, const AvalancheGameDescription *gd);
|
||||
~AvalancheEngine();
|
||||
|
@ -27,13 +27,15 @@
|
||||
|
||||
/* CELER The unit for updating the screen pics. */
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/celer2.h"
|
||||
#include "common/textconsole.h"
|
||||
#include "avalanche/trip6.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/roomnums.h"
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
|
@ -30,8 +30,6 @@
|
||||
#ifndef CELER2_H
|
||||
#define CELER2_H
|
||||
|
||||
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
|
@ -25,8 +25,10 @@
|
||||
* Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
|
||||
*/
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/enhanced2.h"
|
||||
#include "common/system.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
namespace Avalanche {
|
||||
|
@ -32,7 +32,7 @@
|
||||
#ifndef ENHANCED2_H
|
||||
#define ENHANCED2_H
|
||||
|
||||
#include "common/system.h"
|
||||
#include "common/scummsys.h"
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
@ -27,9 +27,6 @@
|
||||
|
||||
/* ENID Edna's manager. */
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/enid2.h"
|
||||
@ -39,6 +36,9 @@
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/celer2.h"
|
||||
#include "avalanche/sequence2.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
//#include "fileunit.h"
|
||||
//#include "basher.h"
|
||||
|
||||
|
@ -32,7 +32,6 @@
|
||||
|
||||
#include "common/scummsys.h"
|
||||
|
||||
#include "avalanche/gyro2.h"
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
@ -27,20 +27,21 @@
|
||||
|
||||
/* GYRO It all revolves around this bit! */
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/pingo2.h"
|
||||
#include "avalanche/scrolls2.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/visa2.h"
|
||||
#include "avalanche/acci2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
//#include "pingo.h"
|
||||
//#include "scrolls.h"
|
||||
//#include "lucerna.h"
|
||||
//#include "visa.h"
|
||||
//#include "acci.h"
|
||||
//#include "trip5.h"
|
||||
//#include "dropdown.h"
|
||||
//#include "basher.h"
|
||||
|
||||
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
const char *Gyro::vernum = "1.30";
|
||||
|
@ -30,7 +30,6 @@
|
||||
#ifndef GYRO2_H
|
||||
#define GYRO2_H
|
||||
|
||||
#include "common/system.h"
|
||||
#include "common/str.h"
|
||||
#include "common/scummsys.h"
|
||||
|
||||
@ -498,7 +497,7 @@ public:
|
||||
Common::String mousetext;
|
||||
/* which:array[0..5] of byte;*/
|
||||
void *p;
|
||||
bool weirduint16;
|
||||
bool weirdword;
|
||||
byte to_do;
|
||||
bool lmo, mousemade;
|
||||
Common::String scroll[15];
|
||||
|
@ -27,12 +27,12 @@
|
||||
|
||||
/* LOGGER Handles the logging. */
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/logger2.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/avalanche.h"
|
||||
//#include "avalanche/trip6.h"
|
||||
#include "avalanche/trip6.h"
|
||||
|
||||
#include "common/system.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
namespace Avalanche {
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
|
@ -29,14 +29,11 @@
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "common/system.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/scrolls2.h"
|
||||
#include "avalanche/logger2.h"
|
||||
#include "avalanche/enhanced2.h"
|
||||
|
||||
|
||||
#include "avalanche/visa2.h"
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
@ -46,6 +43,7 @@
|
||||
#include "avalanche/sequence2.h"
|
||||
#include "avalanche/acci2.h"
|
||||
|
||||
#include "common/system.h"
|
||||
|
||||
//#include "dropdown.h"
|
||||
//#include "basher.h"
|
||||
|
@ -37,8 +37,6 @@ class AvalancheEngine;
|
||||
|
||||
class Lucerna {
|
||||
public:
|
||||
// Call it where Lucerna is first used.
|
||||
// Procuded to replace the initizalization part of the original Pascal unit.
|
||||
Lucerna();
|
||||
|
||||
void setParent(AvalancheEngine *vm);
|
||||
|
@ -30,11 +30,10 @@
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/pingo2.h"
|
||||
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
//#include "avalanche/scrolls2.h"
|
||||
#include "avalanche/scrolls2.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
|
@ -33,9 +33,6 @@
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
|
@ -31,16 +31,17 @@
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/logger2.h"
|
||||
#include "avalanche/enhanced2.h"
|
||||
|
||||
//#include "lucerna.h"
|
||||
//#include "trip5.h"
|
||||
//#include "Acci.h"
|
||||
//#include "basher.h"
|
||||
//#include "visa.h"
|
||||
//#include "timeout.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
#include "avalanche/acci2.h"
|
||||
#include "avalanche/visa2.h"
|
||||
#include "avalanche/timeout2.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
//#include "basher.h"
|
||||
//#include "avalanche/joystick2.h" - Will be implemented later, if it will be implemented at all...
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
const int16 Scrolls::roman = 0;
|
||||
|
@ -30,9 +30,6 @@
|
||||
|
||||
#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 {
|
||||
class AvalancheEngine;
|
||||
|
||||
|
@ -30,12 +30,13 @@
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/sequence2.h"
|
||||
#include "common/scummsys.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/celer2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
|
||||
#include "common/scummsys.h"
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
void Sequence::setParent(AvalancheEngine *vm) {
|
||||
|
@ -29,12 +29,10 @@
|
||||
|
||||
// DON'T FORGET ABOUT THE ARRAY INDEXES, THEY MAY'LL CAUSE TROUBLES!!!
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
#include "avalanche/timeout2.h"
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/visa2.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
@ -44,6 +42,8 @@
|
||||
#include "avalanche/enid2.h"
|
||||
#include "avalanche/pingo2.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
Timeout::Timeout() {
|
||||
@ -496,7 +496,7 @@ void Timeout::buydrinks() {
|
||||
_vm->_visa.dixi('D', 1); /* That'll be thruppence. */
|
||||
if (_vm->_gyro.pennycheck(3)) /* Pay 3d. */
|
||||
_vm->_visa.dixi('D', 3); /* Tell 'em you paid up. */
|
||||
Acci::have_a_drink();
|
||||
_vm->_acci.have_a_drink();
|
||||
}
|
||||
|
||||
void Timeout::buywine() {
|
||||
@ -621,8 +621,7 @@ void Timeout::winning() {
|
||||
do {
|
||||
_vm->_lucerna.checkclick();
|
||||
} while (!(_vm->_gyro.mrelease == 0));
|
||||
|
||||
_vm->_lucerna.callverb(Acci::vb_score);
|
||||
_vm->_lucerna.callverb(_vm->_acci.vb_score);
|
||||
_vm->_scrolls.display(" T H E E N D ");
|
||||
_vm->_gyro.lmo = true;
|
||||
}
|
||||
|
@ -32,9 +32,6 @@
|
||||
|
||||
#include "common/scummsys.h"
|
||||
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/celer2.h"
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
|
@ -27,12 +27,9 @@
|
||||
|
||||
/* TRIP5 Trippancy V */
|
||||
|
||||
#include "avalanche/trip6.h"
|
||||
#include "common/scummsys.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
#include "avalanche/avalanche.h"
|
||||
|
||||
#include "avalanche/trip6.h"
|
||||
#include "avalanche/scrolls2.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/visa2.h"
|
||||
@ -42,6 +39,9 @@
|
||||
#include "avalanche/timeout2.h"
|
||||
#include "avalanche/enid2.h"
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
/*#include "Dropdown.h"*/
|
||||
|
||||
|
||||
@ -356,11 +356,10 @@ byte Trip::geida_ped(byte which) {
|
||||
return geida_ped_result;
|
||||
}
|
||||
|
||||
void Trip::catamove(byte ped)
|
||||
void Trip::catamove(byte ped) {
|
||||
/* When you enter a new position in the catacombs, this procedure should
|
||||
be called. It changes the Also codes so that they may match the picture
|
||||
on the screen. (Coming soon: It draws up the screen, too.) */
|
||||
{
|
||||
|
||||
warning("Repair array indexes in Trip::catamove()");
|
||||
|
||||
|
@ -31,13 +31,9 @@
|
||||
#ifndef TRIP6_H
|
||||
#define TRIP6_H
|
||||
|
||||
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
#include "avalanche/gyro2.h"
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
|
@ -32,12 +32,12 @@
|
||||
#include "avalanche/visa2.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/scrolls2.h"
|
||||
//#include "avalanche/acci2.h"
|
||||
#include "avalanche/acci2.h"
|
||||
#include "avalanche/lucerna2.h"
|
||||
#include "avalanche/trip6.h"
|
||||
|
||||
#include "common/textconsole.h"
|
||||
|
||||
/*#include "Trip5.h"*/
|
||||
|
||||
namespace Avalanche {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user