[Scummvm-cvs-logs] SF.net SVN: scummvm: [26094] scummvm/trunk/engines/parallaction
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sun Mar 11 17:53:21 CET 2007
Revision: 26094
http://scummvm.svn.sourceforge.net/scummvm/?rev=26094&view=rev
Author: peres001
Date: 2007-03-11 09:53:20 -0700 (Sun, 11 Mar 2007)
Log Message:
-----------
Disk is now completely responsible for retrieving localized location scripts
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/disk.cpp
scummvm/trunk/engines/parallaction/disk.h
scummvm/trunk/engines/parallaction/menu.cpp
scummvm/trunk/engines/parallaction/parallaction.h
Modified: scummvm/trunk/engines/parallaction/disk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk.cpp 2007-03-11 16:00:38 UTC (rev 26093)
+++ scummvm/trunk/engines/parallaction/disk.cpp 2007-03-11 16:53:20 UTC (rev 26094)
@@ -34,7 +34,33 @@
Disk::~Disk() {
}
+void Disk::setLanguage(uint16 language) {
+ switch (language) {
+ case 0:
+ strcpy(_languageDir, "it/");
+ break;
+
+ case 1:
+ strcpy(_languageDir, "fr/");
+ break;
+
+ case 2:
+ strcpy(_languageDir, "en/");
+ break;
+
+ case 3:
+ strcpy(_languageDir, "ge/");
+ break;
+
+ default:
+ error("unknown language");
+
+ }
+
+ return;
+}
+
//
// decompress a graphics block
//
@@ -208,22 +234,22 @@
char archivefile[PATH_LEN];
if (IS_MINI_CHARACTER(_vm->_characterName)) {
- sprintf(archivefile, "%s%s", _vm->_characterName+4, _vm->_languageDir);
+ sprintf(archivefile, "%s%s", _vm->_characterName+4, _languageDir);
} else {
- if (IS_DUMMY_CHARACTER(_vm->_characterName)) strcpy(archivefile, _vm->_languageDir);
+ if (IS_DUMMY_CHARACTER(_vm->_characterName)) strcpy(archivefile, _languageDir);
else {
- sprintf(archivefile, "%s%s", _vm->_characterName, _vm->_languageDir);
+ sprintf(archivefile, "%s%s", _vm->_characterName, _languageDir);
}
}
strcat(archivefile, name);
strcat(archivefile, ".loc");
- _vm->_languageDir[2] = '\0';
- _archive.open(_vm->_languageDir);
- _vm->_languageDir[2] = '/';
+ _languageDir[2] = '\0';
+ _archive.open(_languageDir);
+ _languageDir[2] = '/';
if (!_archive.openArchivedFile(archivefile)) {
- sprintf(archivefile, "%s%s.loc", _vm->_languageDir, name);
+ sprintf(archivefile, "%s%s.loc", _languageDir, name);
if (!_archive.openArchivedFile(archivefile))
error("can't find location file '%s'", name);
}
Modified: scummvm/trunk/engines/parallaction/disk.h
===================================================================
--- scummvm/trunk/engines/parallaction/disk.h 2007-03-11 16:00:38 UTC (rev 26093)
+++ scummvm/trunk/engines/parallaction/disk.h 2007-03-11 16:53:20 UTC (rev 26094)
@@ -88,16 +88,18 @@
void loadMaskAndPath(const char *name);
protected:
- Archive _archive;
+ Archive _archive;
+ char _languageDir[3];
- Parallaction *_vm;
- Graphics *_gfx;
+ Parallaction *_vm;
+ Graphics *_gfx;
public:
Disk(Parallaction *vm);
virtual ~Disk();
void selectArchive(const char *name);
+ void setLanguage(uint16 language);
Script* loadLocation(const char *name);
Script* loadScript(const char* name);
Modified: scummvm/trunk/engines/parallaction/menu.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/menu.cpp 2007-03-11 16:00:38 UTC (rev 26093)
+++ scummvm/trunk/engines/parallaction/menu.cpp 2007-03-11 16:53:20 UTC (rev 26094)
@@ -128,24 +128,8 @@
_vm->_graphics->copyScreen(Graphics::kBitBack, Graphics::kBit2);
_language = chooseLanguage();
- switch (_language) {
- case 0:
- strcpy(_engine->_languageDir, "it/");
- break;
+ _vm->_disk->setLanguage(_language);
- case 1:
- strcpy(_engine->_languageDir, "fr/");
- break;
-
- case 2:
- strcpy(_engine->_languageDir, "en/");
- break;
-
- case 3:
- strcpy(_engine->_languageDir, "ge/");
- break;
- }
-
_vm->_disk->loadSlide("restore");
_vm->_graphics->palUnk0(_palette);
_vm->_graphics->copyScreen(Graphics::kBitBack, Graphics::kBitFront);
Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h 2007-03-11 16:00:38 UTC (rev 26093)
+++ scummvm/trunk/engines/parallaction/parallaction.h 2007-03-11 16:53:20 UTC (rev 26094)
@@ -299,7 +299,6 @@
Graphics* _graphics;
Menu* _menu;
char _characterName[30];
- char _languageDir[6];
Disk* _disk;
char _locationNames[120][32];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list