aboutsummaryrefslogtreecommitdiff
path: root/simon/simon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simon/simon.cpp')
-rw-r--r--simon/simon.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 10766d2d88..3c6462d26e 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -3631,10 +3631,10 @@ void SimonState::draw_icon_c(FillOrCopyStruct *fcs, uint icon, uint x, uint y) {
byte *dst;
byte *src;
- if (!(_game & GF_SIMON2)) {
- _lock_word |= 0x8000;
+ _lock_word |= 0x8000;
+ dst = dx_lock_2();
- dst = dx_lock_2();
+ if (!(_game & GF_SIMON2)) {
dst += (x + fcs->x) * 8;
dst += (y * 25 + fcs->y) * _dx_surface_pitch;
@@ -3642,13 +3642,7 @@ void SimonState::draw_icon_c(FillOrCopyStruct *fcs, uint icon, uint x, uint y) {
src += READ_LE_UINT16(&((uint16 *)src)[icon]);
decompress_icon(dst, src, 24, 12, 0xE0, _dx_surface_pitch);
-
- dx_unlock_2();
- _lock_word &= ~0x8000;
} else {
- _lock_word |= 0x8000;
- dst = dx_lock_2();
-
dst += 110;
dst += x;
dst += (y + fcs->y) * _dx_surface_pitch;
@@ -3660,10 +3654,10 @@ void SimonState::draw_icon_c(FillOrCopyStruct *fcs, uint icon, uint x, uint y) {
src = _icon_file_ptr;
src += READ_LE_UINT16(&((uint16 *)src)[icon * 2 + 1]);
decompress_icon(dst, src, 20, 10, 0xD0, _dx_surface_pitch);
-
- dx_unlock_2();
- _lock_word &= ~0x8000;
}
+
+ dx_unlock_2();
+ _lock_word &= ~0x8000;
}
void SimonState::video_toggle_colors(HitArea * ha, byte a, byte b, byte c, byte d) {