diff options
author | Travis Howell | 2009-03-16 14:35:18 +0000 |
---|---|---|
committer | Travis Howell | 2009-03-16 14:35:18 +0000 |
commit | 5aaa9870b19d055d7124f70c88f366e3660a6f1f (patch) | |
tree | 448ddc0f9ceed7a54f4c30eb02bae424012b31f3 /engines/parallaction | |
parent | 34d3d7c74dcdd36acf6172c02ca3874c75073852 (diff) | |
download | scummvm-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/parallaction')
-rw-r--r-- | engines/parallaction/disk_br.cpp | 14 |
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) { |