From e3ceff83f43942e7052eee8339b6d733a47e9734 Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Fri, 4 Feb 2011 15:55:54 +0000 Subject: GOB: Add the "envir" directory to the search path for Adibou svn-id: r55770 --- engines/gob/gob.cpp | 2 +- engines/gob/init.h | 10 ++++++++++ engines/gob/init_v7.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ engines/gob/module.mk | 1 + 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 engines/gob/init_v7.cpp diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp index d1443ad3f9..4d36933fef 100644 --- a/engines/gob/gob.cpp +++ b/engines/gob/gob.cpp @@ -548,7 +548,7 @@ bool GobEngine::initGameParts() { case kGameTypeAdibou2: case kGameTypeAdi2: case kGameTypeAdi4: - _init = new Init_v2(this); + _init = new Init_v7(this); _video = new Video_v6(this); _inter = new Inter_v7(this); _mult = new Mult_v2(this); diff --git a/engines/gob/init.h b/engines/gob/init.h index 8fc301d7a6..ba4b1f979d 100644 --- a/engines/gob/init.h +++ b/engines/gob/init.h @@ -26,6 +26,7 @@ #ifndef GOB_INIT_H #define GOB_INIT_H +#include "gob/gob.h" #include "gob/video.h" namespace Gob { @@ -99,6 +100,15 @@ public: void updateConfig(); void initGame(); }; + +class Init_v7 : public Init_v2 { +public: + Init_v7(GobEngine *vm); + ~Init_v7(); + + void initGame(); +}; + } // End of namespace Gob #endif // GOB_INIT_H diff --git a/engines/gob/init_v7.cpp b/engines/gob/init_v7.cpp new file mode 100644 index 0000000000..709cefb69d --- /dev/null +++ b/engines/gob/init_v7.cpp @@ -0,0 +1,48 @@ +/* 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$ + * + */ + +#include "common/fs.h" +#include "common/config-manager.h" + +#include "gob/init.h" + +namespace Gob { + +Init_v7::Init_v7(GobEngine *vm) : Init_v2(vm) { +} + +Init_v7::~Init_v7() { +} + +void Init_v7::initGame() { + const Common::FSNode gameDataDir(ConfMan.get("path")); + + // Add the environment directory + SearchMan.addSubDirectoryMatching(gameDataDir, "envir"); + + Init::initGame(); +} + +} // End of namespace Gob diff --git a/engines/gob/module.mk b/engines/gob/module.mk index 752e8554e3..cdad1e6c46 100644 --- a/engines/gob/module.mk +++ b/engines/gob/module.mk @@ -30,6 +30,7 @@ MODULE_OBJS := \ init_v3.o \ init_v4.o \ init_v6.o \ + init_v7.o \ inter.o \ inter_v1.o \ inter_v2.o \ -- cgit v1.2.3