diff options
-rw-r--r-- | simon/simon.cpp | 11 | ||||
-rw-r--r-- | simon/simon.h | 1 | ||||
-rw-r--r-- | simon/vga.cpp | 21 |
3 files changed, 9 insertions, 24 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp index 465fff7a69..b80f6bf869 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -362,7 +362,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) _vga_var5 = 0; _vga_var7 = 0; _vga_var8 = 0; - _keep_arrows = 0; _script_cond_a = 0; _script_cond_b = 0; @@ -1765,8 +1764,6 @@ void SimonEngine::setup_hit_areas(FillOrCopyStruct *fcs, uint fcs_index) { ha->unk3 = 1; // Simon1 specific - if (!(_game & GF_WIN)) - _keep_arrows = 1; o_kill_sprite_simon1(0x80); start_vga_code(0, 1, 0x80, 0, 0, 0xE); } else { @@ -3001,9 +2998,6 @@ void SimonEngine::timer_vga_sprites() { if (_video_var_9 == 2) _video_var_9 = 1; - if (_continous_vgascript) - fprintf(_dump_file, "***\n"); - if (_game & GF_SIMON2 && _vga_var3) { timer_vga_sprites_helper(); } @@ -3109,8 +3103,6 @@ void SimonEngine::timer_vga_sprites_2() { vsp++; } - fprintf(_dump_file, "***\n"); - _video_var_8++; _vc_ptr = vc_ptr_org; } @@ -3385,8 +3377,7 @@ void SimonEngine::fcs_unk1(uint fcs_index) { // ok void SimonEngine::fcs_unk_5(FillOrCopyStruct *fcs, uint fcs_index) { - if (_game & GF_WIN) - o_kill_sprite_simon1(0x80); + o_kill_sprite_simon1(0x80); } void SimonEngine::delete_hitarea_by_index(uint index) { diff --git a/simon/simon.h b/simon/simon.h index e7582aa7b3..adfceeef33 100644 --- a/simon/simon.h +++ b/simon/simon.h @@ -266,7 +266,6 @@ protected: bool _exit_cutscene; bool _skip_speech; byte _video_var_9; - bool _keep_arrows; uint _sound_file_id; int16 _last_music_played; diff --git a/simon/vga.cpp b/simon/vga.cpp index c1b7888187..2cde65f487 100644 --- a/simon/vga.cpp +++ b/simon/vga.cpp @@ -1009,6 +1009,7 @@ void SimonEngine::vc_11_clear_pathfind_array() { } void SimonEngine::vc_12_delay() { + VgaSprite *vsp = find_cur_sprite(); uint num; if (!(_game & GF_SIMON2)) { @@ -1017,10 +1018,14 @@ void SimonEngine::vc_12_delay() { num = vc_read_next_byte() * _vga_base_delay; } - if (_continous_vgascript) - fprintf(_dump_file, "; sleep_ex = %d\n", num + VGA_DELAY_BASE); + // Work around to allow inventory arrows to be + // shown in some versions of Simon the Sorcerer 1 + if (!(_game & GF_SIMON2) && !(_game & GF_WIN) && vsp->id == 0x80) + num = 0; + else + num += VGA_DELAY_BASE; - add_vga_timer(num + VGA_DELAY_BASE, _vc_ptr, _vga_cur_sprite_id, _vga_cur_file_id); + add_vga_timer(num, _vc_ptr, _vga_cur_sprite_id, _vga_cur_file_id); _vc_ptr = (byte *)&vc_get_out_of_code; } @@ -1202,13 +1207,6 @@ void SimonEngine::vc_24_set_sprite_xy() { void SimonEngine::vc_25_halt_sprite() { VgaSprite *vsp = find_cur_sprite(); - // Work around to allow inventory arrows to be - // showned in some versions of Simon the Sorcerer 1 - if (vsp->id == 0x80 && _keep_arrows) { - _keep_arrows = 0; - return; - } - while (vsp->id != 0) { memcpy(vsp, vsp + 1, sizeof(VgaSprite)); vsp++; @@ -1597,9 +1595,6 @@ void SimonEngine::vc_56_delay() { if (_game & GF_SIMON2) { uint num = vc_read_var_or_word() * _vga_base_delay; - if (_continous_vgascript) - fprintf(_dump_file, "; sleep_ex = %d\n", num + VGA_DELAY_BASE); - add_vga_timer(num + VGA_DELAY_BASE, _vc_ptr, _vga_cur_sprite_id, _vga_cur_file_id); _vc_ptr = (byte *)&vc_get_out_of_code; } |