diff options
author | Nicola Mettifogo | 2007-08-12 13:21:45 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-08-12 13:21:45 +0000 |
commit | de3065147698c58a99c40c86b0868acdd5fafeba (patch) | |
tree | ac0c4896ede39f3d1111ea6d46c4969e36e2eb5c /engines/parallaction/disk_br.cpp | |
parent | 6bbeb8c6d1dfa29f7d4bf27d5b11b64e21e55459 (diff) | |
download | scummvm-rg350-de3065147698c58a99c40c86b0868acdd5fafeba.tar.gz scummvm-rg350-de3065147698c58a99c40c86b0868acdd5fafeba.tar.bz2 scummvm-rg350-de3065147698c58a99c40c86b0868acdd5fafeba.zip |
Disk can now load tables for BRA.
svn-id: r28561
Diffstat (limited to 'engines/parallaction/disk_br.cpp')
-rw-r--r-- | engines/parallaction/disk_br.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp index a889e9c298..f9ba2c2295 100644 --- a/engines/parallaction/disk_br.cpp +++ b/engines/parallaction/disk_br.cpp @@ -36,7 +36,11 @@ void DosDisk_br::errorFileNotFound(const char *s) { Common::String DosDisk_br::selectArchive(const Common::String& name) { debugC(5, kDebugDisk, "DosDisk_br::selectArchive"); - return ""; + + Common::String oldPath(_partPath); + strcpy(_partPath, name.c_str()); + + return oldPath; } void DosDisk_br::setLanguage(uint16 language) { @@ -175,6 +179,24 @@ BackgroundInfo* DosDisk_br::loadScenery(const char *name, const char *mask, cons Table* DosDisk_br::loadTable(const char* name) { debugC(5, kDebugDisk, "DosDisk_br::loadTable"); + + char path[PATH_LEN]; + sprintf(path, "%s/%s.tab", _partPath, name); + + Common::File stream; + if (!stream.open(path)) + errorFileNotFound(path); + + Table *t = new Table(100); + + fillBuffers(stream); + while (scumm_stricmp(_tokens[0], "ENDTABLE")) { + t->addData(_tokens[0]); + fillBuffers(stream); + } + + stream.close(); + return 0; } |