aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/script_c64.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/script_c64.cpp')
-rw-r--r--engines/scumm/script_c64.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/engines/scumm/script_c64.cpp b/engines/scumm/script_c64.cpp
index b610fafbcc..02d9a2d206 100644
--- a/engines/scumm/script_c64.cpp
+++ b/engines/scumm/script_c64.cpp
@@ -439,23 +439,19 @@ void ScummEngine_c64::clearStateCommon(byte type) {
void ScummEngine_c64::ifStateCommon(byte type) {
int obj = getObjectFlag();
- if ((getState(obj) & type) == 0) {
+ if ((getState(obj) & type) != 0)
+ ScummEngine::fetchScriptWord();
+ else
o_jumpRelative();
- } else {
- fetchScriptByte();
- fetchScriptByte();
- }
}
void ScummEngine_c64::ifNotStateCommon(byte type) {
int obj = getObjectFlag();
- if ((getState(obj) & type) != 0) {
+ if ((getState(obj) & type) == 0)
+ ScummEngine::fetchScriptWord();
+ else
o_jumpRelative();
- } else {
- fetchScriptByte();
- fetchScriptByte();
- }
}
void ScummEngine_c64::drawSentence() {
@@ -563,14 +559,14 @@ void ScummEngine_c64::drawSentence() {
void ScummEngine_c64::o_setState08() {
int obj = getObjectFlag();
- putState(obj, getState(obj) | 0x08);
+ putState(obj, getState(obj) | kObjectState_08);
markObjectRectAsDirty(obj);
clearDrawObjectQueue();
}
void ScummEngine_c64::o_clearState08() {
int obj = getObjectFlag();
- putState(obj, getState(obj) & ~0x08);
+ putState(obj, getState(obj) & ~kObjectState_08);
markObjectRectAsDirty(obj);
clearDrawObjectQueue();
}
@@ -775,7 +771,7 @@ void ScummEngine_c64::o_pickupObject() {
addObjectToInventory(obj, _roomResource);
markObjectRectAsDirty(obj);
putOwner(obj, VAR(VAR_EGO));
- putState(obj, getState(obj) | 0xA);
+ putState(obj, getState(obj) | kObjectState_08 | kObjectStateUntouchable);
clearDrawObjectQueue();
runInventoryScript(1);