aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-09-29 06:16:28 +0000
committerTravis Howell2006-09-29 06:16:28 +0000
commit3e6c4d8582f3bcef87eb72d4926c45b0dedd3914 (patch)
treee9fd37498c4a54d922ad08d24a5fdeb414dfc345
parent98e761a7201cfc1de20570dad5c872d725896818 (diff)
downloadscummvm-rg350-3e6c4d8582f3bcef87eb72d4926c45b0dedd3914.tar.gz
scummvm-rg350-3e6c4d8582f3bcef87eb72d4926c45b0dedd3914.tar.bz2
scummvm-rg350-3e6c4d8582f3bcef87eb72d4926c45b0dedd3914.zip
Fix input in PP
svn-id: r24005
-rw-r--r--engines/simon/simon.cpp8
-rw-r--r--engines/simon/vga.cpp6
2 files changed, 9 insertions, 5 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp
index d238b7e269..1dd0a45882 100644
--- a/engines/simon/simon.cpp
+++ b/engines/simon/simon.cpp
@@ -1096,7 +1096,9 @@ void SimonEngine::setup_cond_c_helper() {
_hitAreaObjectItem = _lastHitArea->item_ptr;
id = 0xFFFF;
if (_lastHitArea->flags & kBFTextBox) {
- if (getGameType() == GType_FF && (_lastHitArea->flags & kBFHyperBox))
+ if (getGameType() == GType_PP)
+ id = _lastHitArea->id;
+ else if (getGameType() == GType_FF && (_lastHitArea->flags & kBFHyperBox))
id = _lastHitArea->data;
else
id = _lastHitArea->flags / 256;
@@ -1192,7 +1194,9 @@ startOver:
_hitAreaSubjectItem = ha->item_ptr;
id = 0xFFFF;
if (ha->flags & kBFTextBox) {
- if (getGameType() == GType_FF && (ha->flags & kBFHyperBox))
+ if (getGameType() == GType_PP)
+ id = _lastHitArea->id;
+ else if (getGameType() == GType_FF && (ha->flags & kBFHyperBox))
id = ha->data;
else
id = ha->flags / 256;
diff --git a/engines/simon/vga.cpp b/engines/simon/vga.cpp
index 6b0ef9a704..50b2d550fe 100644
--- a/engines/simon/vga.cpp
+++ b/engines/simon/vga.cpp
@@ -946,7 +946,7 @@ bool SimonEngine::drawImages_clip(VC10_state *state) {
}
state->x = cur;
- maxWidth = (getGameType() == GType_FF || getGameType() == GType_PP) ? 640 : (vlut[2] * 2);
+ maxWidth = (getGameType() == GType_FF || getGameType() == GType_PP) ? _screenWidth : (vlut[2] * 2);
cur += state->draw_width - maxWidth;
if (cur > 0) {
do {
@@ -965,7 +965,7 @@ bool SimonEngine::drawImages_clip(VC10_state *state) {
}
state->y = cur;
- maxHeight = (getGameType() == GType_FF || getGameType() == GType_PP) ? 480 : vlut[3];
+ maxHeight = (getGameType() == GType_FF || getGameType() == GType_PP) ? _screenHeight : vlut[3];
cur += state->draw_height - maxHeight;
if (cur > 0) {
do {
@@ -1067,7 +1067,7 @@ void SimonEngine::drawImages_Feeble(VC10_state *state) {
if (state->flags & kDFMasked) {
- if (!getBitFlag(81)) {
+ if (getGameType() == GType_FF && !getBitFlag(81)) {
if (state->x > _feebleRect.right)
return;
if (state->y > _feebleRect.bottom)