aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra.h')
-rw-r--r--engines/kyra/kyra.h268
1 files changed, 0 insertions, 268 deletions
diff --git a/engines/kyra/kyra.h b/engines/kyra/kyra.h
deleted file mode 100644
index 18a4a52fe2..0000000000
--- a/engines/kyra/kyra.h
+++ /dev/null
@@ -1,268 +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.
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef KYRA_KYRA_H
-#define KYRA_KYRA_H
-
-#include "engines/engine.h"
-
-#include "common/array.h"
-#include "common/events.h"
-
-#include "kyra/script.h"
-
-namespace Common {
-class InSaveFile;
-class OutSaveFile;
-} // end of namespace Common
-
-class KyraMetaEngine;
-
-namespace Kyra {
-
-struct GameFlags {
- Common::Language lang;
- Common::Platform platform;
-
- bool isDemo : 1;
- bool useAltShapeHeader : 1; // alternative shape header (uses 2 bytes more, those are unused though)
- bool isTalkie : 1;
- bool useHiResOverlay : 1;
- bool useDigSound : 1;
-
- byte gameID;
-};
-
-enum {
- GI_KYRA1 = 0,
- GI_KYRA2 = 1,
- GI_KYRA3 = 2
-};
-
-struct AudioDataStruct {
- const char * const *_fileList;
- const int _fileListLen;
- const void * const _cdaTracks;
- const int _cdaNumTracks;
-};
-
-// TODO: this is just the start of makeing the debug output of the kyra engine a bit more useable
-// in the future we maybe merge some flags and/or create new ones
-enum kDebugLevels {
- kDebugLevelScriptFuncs = 1 << 0, // prints debug output of o#_* functions
- kDebugLevelScript = 1 << 1, // prints debug output of "EMCInterpreter" functions
- kDebugLevelSprites = 1 << 2, // prints debug output of "Sprites" functions
- kDebugLevelScreen = 1 << 3, // prints debug output of "Screen" functions
- kDebugLevelSound = 1 << 4, // prints debug output of "Sound" functions
- kDebugLevelAnimator = 1 << 5, // prints debug output of "ScreenAnimator" functions
- kDebugLevelMain = 1 << 6, // prints debug output of common "KyraEngine(_v#)" functions && "TextDisplayer" functions
- kDebugLevelGUI = 1 << 7, // prints debug output of "KyraEngine*" gui functions
- kDebugLevelSequence = 1 << 8, // prints debug output of "SeqPlayer" functions
- kDebugLevelMovie = 1 << 9, // prints debug output of movie specific funtions
- kDebugLevelTimer = 1 << 10 // prints debug output of "TimerManager" functions
-};
-
-enum kMusicDataID {
- kMusicIntro = 0,
- kMusicIngame,
- kMusicFinale
-};
-
-class Screen;
-class Resource;
-class Sound;
-class Movie;
-class TextDisplayer;
-class StaticResource;
-class TimerManager;
-
-class KyraEngine : public Engine {
-friend class Debugger;
-friend class ::KyraMetaEngine;
-friend class GUI;
-public:
- KyraEngine(OSystem *system, const GameFlags &flags);
- virtual ~KyraEngine();
-
- bool quit() const { return _quitFlag; }
-
- uint8 game() const { return _flags.gameID; }
- const GameFlags &gameFlags() const { return _flags; }
-
- // access to Kyra specific functionallity
- Resource *resource() { return _res; }
- virtual Screen *screen() = 0;
- virtual TextDisplayer *text() { return _text; }
- Sound *sound() { return _sound; }
- StaticResource *staticres() { return _staticres; }
- TimerManager *timer() { return _timer; }
-
- uint32 tickLength() const { return _tickLength; }
-
- Common::RandomSource _rnd;
-
- // input
- void setMousePos(int x, int y);
- Common::Point getMousePos() const;
-
- // config specific
- bool speechEnabled();
- bool textEnabled();
-
- enum kVolumeEntry {
- kVolumeMusic = 0,
- kVolumeSfx = 1,
- kVolumeSpeech = 2
- };
-
- // volume reaches from 2 to 97
- void setVolume(kVolumeEntry vol, uint8 value);
- uint8 getVolume(kVolumeEntry vol);
-
- // quit handling
- virtual void quitGame();
-
- // game flag handling
- int setGameFlag(int flag);
- int queryGameFlag(int flag) const;
- int resetGameFlag(int flag);
-
- // sound
- virtual void snd_playTheme(int file, int track);
- virtual void snd_playSoundEffect(int id, int volume=0xFF);
- virtual void snd_playWanderScoreViaMap(int command, int restart);
- virtual void snd_playVoiceFile(int id) = 0;
- virtual bool snd_voiceIsPlaying();
- virtual void snd_stopVoice();
-
- // delay functionallity
- virtual void delayUntil(uint32 timestamp, bool updateGameTimers = false, bool update = false, bool isMainLoop = false);
- virtual void delay(uint32 millis, bool update = false, bool isMainLoop = false);
- virtual void delayWithTicks(int ticks);
-
-protected:
- virtual int go() = 0;
- virtual int init();
-
- // quit Handling
- bool _quitFlag;
-
- // intern
- Resource *_res;
- Sound *_sound;
- TextDisplayer *_text;
- StaticResource *_staticres;
- TimerManager *_timer;
- EMCInterpreter *_emc;
-
- // config specific
- virtual void registerDefaultSettings();
- virtual void readSettings();
- virtual void writeSettings();
-
- uint8 _configWalkspeed;
-
- int _configMusic;
- bool _configSounds;
- uint8 _configVoice;
-
- // game speed
- virtual bool skipFlag() const = 0;
- virtual void resetSkipFlag(bool removeEvent = true) = 0;
-
- uint16 _tickLength;
- uint16 _gameSpeed;
-
- // timer
- virtual void setupTimers() = 0;
-
- virtual void setWalkspeed(uint8 speed) = 0;
-
- // detection
- GameFlags _flags;
- int _lang;
-
- // opcode
- virtual void setupOpcodeTable() = 0;
- Common::Array<const Opcode*> _opcodes;
-
- // game flags
- uint8 _flagsTable[100]; // TODO: check this value
-
- // sound
- Common::String _speechFile;
-
- int _curMusicTheme;
- int _curSfxFile;
- int16 _lastMusicCommand;
-
- const int8 *_trackMap;
- int _trackMapSize;
-
- // pathfinder
- virtual int findWay(int x, int y, int toX, int toY, int *moveTable, int moveTableSize);
- int findSubPath(int x, int y, int toX, int toY, int *moveTable, int start, int end);
- int getFacingFromPointToPoint(int x, int y, int toX, int toY);
- int getOppositeFacingDirection(int dir);
- void changePosTowardsFacing(int &x, int &y, int facing);
- int getMoveTableSize(int *moveTable);
- virtual bool lineIsPassable(int x, int y) = 0;
-
- static const int8 _addXPosTable[];
- static const int8 _addYPosTable[];
-
- // save/load
- int _gameToLoad;
-
- const char *getSavegameFilename(int num);
- bool saveFileLoadable(int slot);
-
- struct SaveHeader {
- Common::String description;
- uint32 version;
- byte gameID;
- uint32 flags;
-
- bool originalSave; // savegame from original interpreter
- bool oldHeader; // old scummvm save header
- };
-
- enum kReadSaveHeaderError {
- kRSHENoError = 0,
- kRSHEInvalidType = 1,
- kRSHEInvalidVersion = 2,
- kRSHEIoError = 3
- };
-
- static kReadSaveHeaderError readSaveHeader(Common::InSaveFile *file, SaveHeader &header);
-
- Common::InSaveFile *openSaveForReading(const char *filename, SaveHeader &header);
- Common::OutSaveFile *openSaveForWriting(const char *filename, const char *saveName) const;
-};
-
-} // End of namespace Kyra
-
-#endif
-