diff options
author | Florian Kagerer | 2009-10-10 18:45:33 +0000 |
---|---|---|
committer | Florian Kagerer | 2009-10-10 18:45:33 +0000 |
commit | 7c065c84cb3fce9c86f93956cd0bfdda24bd6388 (patch) | |
tree | 822c1ca54f1a59aede193eb5acf4c3ad4f1fbb5b /engines/kyra/screen.cpp | |
parent | 7f2259d2801285eac9d56e01231c250d889069f7 (diff) | |
download | scummvm-rg350-7c065c84cb3fce9c86f93956cd0bfdda24bd6388.tar.gz scummvm-rg350-7c065c84cb3fce9c86f93956cd0bfdda24bd6388.tar.bz2 scummvm-rg350-7c065c84cb3fce9c86f93956cd0bfdda24bd6388.zip |
LOL/PC-98: implemented drawing code for teleporters
svn-id: r44883
Diffstat (limited to 'engines/kyra/screen.cpp')
-rw-r--r-- | engines/kyra/screen.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp index 69ebcbb649..1e568c2236 100644 --- a/engines/kyra/screen.cpp +++ b/engines/kyra/screen.cpp @@ -1395,7 +1395,8 @@ void Screen::drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int &Screen::drawShapePlotType13, // used by Kyra 1 &Screen::drawShapePlotType14, // used by Kyra 1 (invisibility) &Screen::drawShapePlotType11_15, // used by Kyra 1 (invisibility) - 0, 0, 0, 0, + &Screen::drawShapePlotType16, // used by LoL PC-98/16 Colors (teleporters), + 0, 0, 0, &Screen::drawShapePlotType20, // used by LoL (heal spell effect) &Screen::drawShapePlotType21, // used by LoL (white tower spirits) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1969,6 +1970,13 @@ void Screen::drawShapePlotType14(uint8 *dst, uint8 cmd) { *dst = cmd; } +void Screen::drawShapePlotType16(uint8 *dst, uint8 cmd) { + uint8 tOffs = _dsTable3[cmd]; + if (!(tOffs & 0x80)) + cmd = _dsTable4[tOffs << 8 | *dst]; + *dst = cmd; +} + void Screen::drawShapePlotType20(uint8 *dst, uint8 cmd) { cmd = _dsTable2[cmd]; uint8 tOffs = _dsTable3[cmd]; |