scummvm/engines/sword25/sword25.h
David Turner 7ad677afc8 SWORD25: Added basic debugging console to engine (Command Key Disabled)
Since SWORD25 uses Debug Channels, this allows for the interactive setting of debugflags as well as providing a base for adding further debugging commands.

However, this is not currently usable as the command key code is commented out.
This is due to the event loop which reads keyboard input being buried 2 object layers below the Engine VM object and I am unsure how the engine development team would want this exposed / interfaced.

svn-id: r54184
2010-11-10 04:30:24 +00:00

102 lines
2.5 KiB
C++

/* 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 SWORD25_H
#define SWORD25_H
#include "common/scummsys.h"
#include "common/str-array.h"
#include "common/util.h"
#include "engines/engine.h"
#include "sword25/kernel/log.h"
#include "sword25/console.h"
struct ADGameDescription;
/**
* This is the namespace of the Sword25 engine.
*
* Status of this engine: ???
*
* Games using this engine:
* - Broken Sword 2.5
*/
namespace Sword25 {
enum {
kFileTypeHash = 0
};
enum {
kDebugScript = 1 << 0,
kDebugSound = 1 << 1
};
enum GameFlags {
GF_EXTRACTED = 1 << 0
};
#define MESSAGE_BASIC 1
#define MESSAGE_INTERMEDIATE 2
#define MESSAGE_DETAILED 3
class Sword25Engine : public Engine {
private:
Common::Error appStart();
bool appMain();
bool appEnd();
bool loadPackages();
Sword25Console *_console;
protected:
virtual Common::Error run();
bool hasFeature(EngineFeature f) const;
// void pauseEngineIntern(bool pause); // TODO: Implement this!!!
// void syncSoundSettings(); // TODO: Implement this!!!
// Common::Error loadGameState(int slot); // TODO: Implement this?
// Common::Error saveGameState(int slot, const char *desc); // TODO: Implement this?
// bool canLoadGameStateCurrently(); // TODO: Implement this?
// bool canSaveGameStateCurrently(); // TODO: Implement this?
GUI::Debugger *getDebugger() { return _console; }
void shutdown();
public:
Sword25Engine(OSystem *syst, const ADGameDescription *gameDesc);
virtual ~Sword25Engine();
uint32 getGameFlags() const;
const ADGameDescription *_gameDescription;
};
} // End of namespace Sword25
#endif