aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2009-03-16 14:35:18 +0000
committerTravis Howell2009-03-16 14:35:18 +0000
commit5aaa9870b19d055d7124f70c88f366e3660a6f1f (patch)
tree448ddc0f9ceed7a54f4c30eb02bae424012b31f3 /engines
parent34d3d7c74dcdd36acf6172c02ca3874c75073852 (diff)
downloadscummvm-rg350-5aaa9870b19d055d7124f70c88f366e3660a6f1f.tar.gz
scummvm-rg350-5aaa9870b19d055d7124f70c88f366e3660a6f1f.tar.bz2
scummvm-rg350-5aaa9870b19d055d7124f70c88f366e3660a6f1f.zip
Add talk position adjustment to loadTalk for Amiga version of BRA too.
svn-id: r39446
Diffstat (limited to 'engines')
-rw-r--r--engines/parallaction/disk_br.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp
index 9fa3e7a701..21e73a8f09 100644
--- a/engines/parallaction/disk_br.cpp
+++ b/engines/parallaction/disk_br.cpp
@@ -602,10 +602,20 @@ Frames* AmigaDisk_br::loadFrames(const char* name) {
GfxObj* AmigaDisk_br::loadTalk(const char *name) {
debugC(1, kDebugDisk, "AmigaDisk_br::loadTalk '%s'", name);
+
Common::SeekableReadStream *stream = openFile("talks/" + Common::String(name), ".tal");
- GfxObj* obj = new GfxObj(0, createSprites(*stream));
+
+ // talk position is set to (0,0), because talks are always displayed at
+ // absolute coordinates, set in the dialogue manager. The original used
+ // to null out coordinates every time they were needed. We do it better!
+ Sprites *spr = createSprites(*stream);
+ for (int i = 0; i < spr->getNum(); i++) {
+ spr->_sprites[i].x = 0;
+ spr->_sprites[i].y = 0;
+ }
+
delete stream;
- return obj;
+ return new GfxObj(0, spr, name);
}
Font* AmigaDisk_br::loadFont(const char* name) {