CHAMBER: Implement getLanguage()

This commit is contained in:
Eugene Sandulenko 2021-10-06 17:34:13 +03:00
parent 977341c8a5
commit 12ca250553
3 changed files with 19 additions and 3 deletions

View File

@ -38,9 +38,10 @@ namespace Chamber {
ChamberEngine *g_vm;
ChamberEngine::ChamberEngine(OSystem *syst)
ChamberEngine::ChamberEngine(OSystem *syst, const ADGameDescription *desc)
: Engine(syst) {
g_vm = this;
_gameDescription = desc;
const Common::FSNode gameDataDir(ConfMan.get("path"));

View File

@ -35,6 +35,8 @@ class SoundHandle;
class PCSpeaker;
}
struct ADGameDescription;
namespace Chamber {
class ChamberEngine : public Engine {
@ -43,9 +45,11 @@ private:
Common::RandomSource *_rnd;
public:
ChamberEngine(OSystem *syst);
ChamberEngine(OSystem *syst, const ADGameDescription *desc);
~ChamberEngine();
Common::Language getLanguage() const;
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
bool canLoadGameStateCurrently() override { return true; }
@ -66,6 +70,9 @@ public:
Audio::PCSpeaker *_speakerStream;
Audio::SoundHandle *_speakerHandle;
private:
const ADGameDescription *_gameDescription;
};
void init(void);

View File

@ -23,6 +23,14 @@
#include "chamber/chamber.h"
#include "engines/advancedDetector.h"
namespace Chamber {
Common::Language ChamberEngine::getLanguage() const {
return _gameDescription->language;
}
} // end of namespace Chamber
class ChamberMetaEngine : public AdvancedMetaEngine {
public:
const char *getName() const override {
@ -33,7 +41,7 @@ public:
};
Common::Error ChamberMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
*engine = new Chamber::ChamberEngine(syst);
*engine = new Chamber::ChamberEngine(syst, desc);
return Common::kNoError;
}