diff options
author | Travis Howell | 2004-09-14 07:59:40 +0000 |
---|---|---|
committer | Travis Howell | 2004-09-14 07:59:40 +0000 |
commit | b14a21970c343495ded778eb5c719df819eb6cae (patch) | |
tree | 3254fc398b46f37bdcdff16d5986f3036d051fe3 /scumm | |
parent | b42731afabd4d7b229b4de241f8b24b2fb1b1cf8 (diff) | |
download | scummvm-rg350-b14a21970c343495ded778eb5c719df819eb6cae.tar.gz scummvm-rg350-b14a21970c343495ded778eb5c719df819eb6cae.tar.bz2 scummvm-rg350-b14a21970c343495ded778eb5c719df819eb6cae.zip |
Report when polyogn Wiz image is used.
svn-id: r15108
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 1 | ||||
-rw-r--r-- | scumm/script_v7he.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v80he.cpp | 19 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 2 |
5 files changed, 23 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 6dad8c7d47..e165e6987d 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -800,6 +800,7 @@ protected: void o80_writeConfigFile(); void o80_cursorCommand(); void o80_setState(); + void o80_drawWizPolygon(); }; class ScummEngine_v90he : public ScummEngine_v80he { diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 68f69c135b..f9eed2a822 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1392,6 +1392,7 @@ void ScummEngine_v72he::o72_drawWizImage() { int y1 = pop(); int x1 = pop(); int resnum = pop(); + if (_fullRedraw) { assert(_wizImagesNum < ARRAYSIZE(_wizImages)); WizImage *pwi = &_wizImages[_wizImagesNum]; diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp index cd4420c799..403ab2198d 100644 --- a/scumm/script_v7he.cpp +++ b/scumm/script_v7he.cpp @@ -1130,6 +1130,8 @@ void ScummEngine_v7he::o7_polygonHit() { } int ScummEngine_v7he::polygonHit(int id, int x, int y) { + debug(1, "polygonHit(%d, %d, %d)", id, x, y); + for (int i = 0; i < _WizNumPolygons; i++) { if ((!id || id == i) && _WizPolygons[i].bound.contains(x, y)) { if (polygonContains(_WizPolygons[i], x, y)) { diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp index 7f1bb8965f..0a0f31ece6 100644 --- a/scumm/script_v80he.cpp +++ b/scumm/script_v80he.cpp @@ -260,7 +260,7 @@ void ScummEngine_v80he::setupOpcodes() { OPCODE(o6_getActorScaleX), OPCODE(o6_getActorAnimCounter1), /* AC */ - OPCODE(o6_invalid), + OPCODE(o80_drawWizPolygon), OPCODE(o6_isAnyOf), OPCODE(o7_quitPauseRestart), OPCODE(o6_isActorInBox), @@ -581,4 +581,21 @@ void ScummEngine_v80he::o80_setState() { removeObjectFromDrawQue(obj); } +void ScummEngine_v80he::o80_drawWizPolygon() { + int xy1 = pop(); + int resnum = pop(); + + if (_fullRedraw) { + assert(_wizImagesNum < ARRAYSIZE(_wizImages)); + WizImage *pwi = &_wizImages[_wizImagesNum]; + pwi->resnum = resnum; + pwi->x1 = xy1; + pwi->y1 = xy1; + pwi->flags = 64; + ++_wizImagesNum; + } else { + drawWizImage(rtImage, resnum, 0, xy1, xy1, 64); + } +} + } // End of namespace Scumm diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index f1fe987854..c1f6ae8f93 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -260,7 +260,7 @@ void ScummEngine_v90he::setupOpcodes() { OPCODE(o6_getActorScaleX), OPCODE(o6_getActorAnimCounter1), /* AC */ - OPCODE(o6_invalid), + OPCODE(o80_drawWizPolygon), OPCODE(o6_isAnyOf), OPCODE(o7_quitPauseRestart), OPCODE(o6_isActorInBox), |