aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--script_v2.cpp2
-rw-r--r--simon/simon.cpp4
-rw-r--r--simon/simonitems.cpp2
3 files changed, 5 insertions, 3 deletions
diff --git a/script_v2.cpp b/script_v2.cpp
index aeb91dd26b..9730afb2ee 100644
--- a/script_v2.cpp
+++ b/script_v2.cpp
@@ -1503,7 +1503,7 @@ void Scumm::o6_loadRoomWithEgo()
/* startScene maybe modifies VAR_EGO, i hope not */
if (!(_features & GF_AFTER_V7)) {
- camera._dest.x = camera._cur.x = a->x;
+ setCameraAt(a->x, a->y);
setCameraFollows(a);
}
_fullRedraw = 1;
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 39f8c7030e..645aec9092 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -3432,8 +3432,10 @@ void SimonState::start_vga_code(uint b, uint vga_res, uint vga_struct_id, uint c
_lock_word |= 0x40;
- if (has_vgastruct_with_id(vga_struct_id, vga_res))
+ if (has_vgastruct_with_id(vga_struct_id, vga_res)) {
+ _lock_word &= ~0x40;
return;
+ }
vsp = _vga_sprites;
while (vsp->id != 0)
diff --git a/simon/simonitems.cpp b/simon/simonitems.cpp
index 82e76cf56a..90c0c7b0ee 100644
--- a/simon/simonitems.cpp
+++ b/simon/simonitems.cpp
@@ -1601,7 +1601,7 @@ void SimonState::o_unk_99_simon2(uint a, uint b)
uint16 items[2];
items[0] = TO_BE_16(a);
- items[1] = TO_BE_16(a);
+ items[1] = TO_BE_16(b);
_lock_word |= 0x4000;
_vc_ptr = (byte *)&items;