mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-10 12:55:24 +00:00
TRECISION: Initial support for the demo version of Nightlong
This commit is contained in:
parent
d0041dfcc5
commit
59d854e30b
@ -86,6 +86,16 @@ static const ADGameDescription gameDescriptions[] = {
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO0()
|
||||
},
|
||||
{
|
||||
"nl",
|
||||
0,
|
||||
AD_ENTRY1s("data.nl", "7665db13ad2a1ceb576531be3e1efb30", 392950),
|
||||
Common::EN_ANY,
|
||||
Common::kPlatformWindows,
|
||||
ADGF_DEMO,
|
||||
GUIO0()
|
||||
},
|
||||
|
||||
AD_TABLE_END_MARKER
|
||||
};
|
||||
|
||||
|
@ -36,7 +36,7 @@ class TrecisionMetaEngine : public AdvancedMetaEngine {
|
||||
};
|
||||
|
||||
Common::Error TrecisionMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
|
||||
*engine = new Trecision::TrecisionEngine(syst);
|
||||
*engine = new Trecision::TrecisionEngine(syst, desc);
|
||||
return Common::kNoError;
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ namespace Trecision {
|
||||
|
||||
TrecisionEngine *g_vm;
|
||||
|
||||
TrecisionEngine::TrecisionEngine(OSystem *syst) : Engine(syst) {
|
||||
TrecisionEngine::TrecisionEngine(OSystem *syst, const ADGameDescription *desc) : Engine(syst), _gameDescription(desc) {
|
||||
const Common::FSNode gameDataDir(ConfMan.get("path"));
|
||||
SearchMan.addSubDirectoryMatching(gameDataDir, "AUTORUN");
|
||||
SearchMan.addSubDirectoryMatching(gameDataDir, "DATA");
|
||||
@ -245,6 +245,10 @@ Common::Error TrecisionEngine::run() {
|
||||
return Common::kNoError;
|
||||
}
|
||||
|
||||
bool TrecisionEngine::isDemo() const {
|
||||
return _gameDescription->flags & ADGF_DEMO;
|
||||
}
|
||||
|
||||
void TrecisionEngine::eventLoop() {
|
||||
Common::Event event;
|
||||
while (g_system->getEventManager()->pollEvent(event)) {
|
||||
@ -419,11 +423,12 @@ void TrecisionEngine::openDataFiles() {
|
||||
if (!_dataFile.open("nldata.cd0"))
|
||||
error("openDataFiles() - Error opening nldata.cd0");
|
||||
|
||||
if (!isDemo()) {
|
||||
if (!Common::File::exists("nlanim.cd1") ||
|
||||
!Common::File::exists("nlanim.cd2") ||
|
||||
!Common::File::exists("nlanim.cd3")
|
||||
)
|
||||
!Common::File::exists("nlanim.cd3"))
|
||||
error("openDataFiles() - nlanim.cd1 or nlanim.cd2 or nlanim.cd3 is missing");
|
||||
}
|
||||
|
||||
_font = readData("nlfont.fnt");
|
||||
int size;
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "common/str-array.h"
|
||||
#include "common/keyboard.h"
|
||||
#include "common/str.h"
|
||||
#include "engines/advancedDetector.h"
|
||||
#include "engines/engine.h"
|
||||
#include "graphics/surface.h"
|
||||
|
||||
@ -118,11 +119,12 @@ class TrecisionEngine : public Engine {
|
||||
SCamera FCamera;
|
||||
|
||||
public:
|
||||
TrecisionEngine(OSystem *syst);
|
||||
TrecisionEngine(OSystem *syst, const ADGameDescription *desc);
|
||||
~TrecisionEngine() override;
|
||||
|
||||
// ScummVM
|
||||
Common::Error run() override;
|
||||
bool isDemo() const;
|
||||
void eventLoop();
|
||||
bool hasFeature(EngineFeature f) const override;
|
||||
bool canLoadGameStateCurrently() override { return canPlayerInteract(); }
|
||||
@ -212,6 +214,8 @@ public:
|
||||
bool isObjectVisible(uint16 objectId) const;
|
||||
void setObjectAnim(uint16 objectId, uint16 animId);
|
||||
|
||||
const ADGameDescription *_gameDescription;
|
||||
|
||||
Graphics::Surface _thumbnail;
|
||||
|
||||
uint16 _curRoom;
|
||||
|
Loading…
x
Reference in New Issue
Block a user