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:
Strangerke 2013-06-30 14:14:31 +02:00
commit 63737c3878
26 changed files with 1895 additions and 66 deletions

1625
engines/avalanche/acci2.cpp Normal file

File diff suppressed because it is too large Load Diff

219
engines/avalanche/acci2.h Normal file
View 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

View File

@ -60,6 +60,7 @@ namespace Avalanche {
_sequence.setParent(this);
_timeout.setParent(this);
_trip.setParent(this);
_acci.setParent(this);
}
AvalancheEngine::~AvalancheEngine() {

View File

@ -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();

View File

@ -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 {

View File

@ -30,8 +30,6 @@
#ifndef CELER2_H
#define CELER2_H
#include "common/scummsys.h"
#include "common/str.h"

View File

@ -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 {

View File

@ -32,7 +32,7 @@
#ifndef ENHANCED2_H
#define ENHANCED2_H
#include "common/system.h"
#include "common/scummsys.h"
namespace Avalanche {
class AvalancheEngine;

View File

@ -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"

View File

@ -32,7 +32,6 @@
#include "common/scummsys.h"
#include "avalanche/gyro2.h"
namespace Avalanche {
class AvalancheEngine;

View File

@ -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";

View File

@ -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];

View File

@ -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 {

View File

@ -33,7 +33,6 @@
#include "common/scummsys.h"
#include "common/str.h"
namespace Avalanche {
class AvalancheEngine;

View File

@ -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"

View File

@ -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);

View File

@ -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"

View File

@ -33,9 +33,6 @@
#include "common/scummsys.h"
#include "common/str.h"
namespace Avalanche {
class AvalancheEngine;

View File

@ -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;

View File

@ -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;

View File

@ -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) {

View File

@ -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;
}

View File

@ -32,9 +32,6 @@
#include "common/scummsys.h"
#include "avalanche/gyro2.h"
#include "avalanche/celer2.h"
namespace Avalanche {
class AvalancheEngine;

View File

@ -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()");

View File

@ -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;

View File

@ -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 {