diff options
author | Travis Howell | 2002-11-29 16:50:15 +0000 |
---|---|---|
committer | Travis Howell | 2002-11-29 16:50:15 +0000 |
commit | 50e2752ba183a5d77a92d5949404079eda63e253 (patch) | |
tree | 2131313ca22933e086efd94fb4e778f58317f528 /simon | |
parent | 7dd2bd4dc626e740d3fc86ca1d5c5665c6a69b7f (diff) | |
download | scummvm-rg350-50e2752ba183a5d77a92d5949404079eda63e253.tar.gz scummvm-rg350-50e2752ba183a5d77a92d5949404079eda63e253.tar.bz2 scummvm-rg350-50e2752ba183a5d77a92d5949404079eda63e253.zip |
phase 3
svn-id: r5751
Diffstat (limited to 'simon')
-rw-r--r-- | simon/simon.cpp | 13 | ||||
-rw-r--r-- | simon/simon.h | 12 | ||||
-rw-r--r-- | simon/vga.cpp | 24 |
3 files changed, 27 insertions, 22 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp index c83fe70f89..fd9a09319b 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -2513,10 +2513,15 @@ void SimonState::o_wait_for_vga(uint a) delay(10); -// if (_timer_1 >= 500) { -// warning("wait timed out"); -// break; -// } + if (_game & GAME_SIMON2) { + if (_timer_1 >= 1000) { + warning("wait timed out"); + break; + } + } else if (_timer_1 >= 500) { + warning("wait timed out"); + break; + } } // warning("waiting on %d done", a); diff --git a/simon/simon.h b/simon/simon.h index 4ad6fabb32..fbaceed2c6 100644 --- a/simon/simon.h +++ b/simon/simon.h @@ -616,7 +616,7 @@ public: void vc_34_force_lock(); void vc_35(); void vc_36_saveload_thing(); - void vc_37_sprite_unk3_add(); + void vc_37_offset_y_f(); void vc_38_skip_if_var_zero(); void vc_39_set_var(); void vc_40_var_add(); @@ -646,15 +646,15 @@ public: // Simon2 specific Video Script Opcodes void vc_64(); void vc_65(); - void vc_66(); - void vc_67(); - void vc_68(); + void vc_66_nz(); + void vc_67_ge(); + void vc_68_le(); void vc_69(); void vc_70(); void vc_71(); void vc_72(); - void vc_73(); - void vc_74(); + void vc_73_set_op189_flag(); + void vc_74_clear_op189_flag(); void delete_vga_timer(VgaTimerEntry * vte); void vc_resume_thread(byte *code_ptr, uint16 cur_file, uint16 cur_sprite); diff --git a/simon/vga.cpp b/simon/vga.cpp index dbf43c1df3..790960e5a5 100644 --- a/simon/vga.cpp +++ b/simon/vga.cpp @@ -67,7 +67,7 @@ static const VgaOpcodeProc vga_opcode_table[] = { &SimonState::vc_34_force_lock, &SimonState::vc_35, &SimonState::vc_36_saveload_thing, - &SimonState::vc_37_sprite_unk3_add, + &SimonState::vc_37_offset_y_f, &SimonState::vc_38_skip_if_var_zero, &SimonState::vc_39_set_var, &SimonState::vc_40_var_add, @@ -96,15 +96,15 @@ static const VgaOpcodeProc vga_opcode_table[] = { &SimonState::vc_63_palette_thing_2, &SimonState::vc_64, &SimonState::vc_65, - &SimonState::vc_66, - &SimonState::vc_67, - &SimonState::vc_68, + &SimonState::vc_66_nz, + &SimonState::vc_67_ge, + &SimonState::vc_68_le, &SimonState::vc_69, &SimonState::vc_70, &SimonState::vc_71, &SimonState::vc_72, - &SimonState::vc_73, - &SimonState::vc_74, + &SimonState::vc_73_set_op189_flag, + &SimonState::vc_74_clear_op189_flag, }; // Script parser @@ -1406,7 +1406,7 @@ void SimonState::vc_36_saveload_thing() } } -void SimonState::vc_37_sprite_unk3_add() +void SimonState::vc_37_offset_y_f() //vc_37_sprite_unk3_add { VgaSprite *vsp = find_cur_sprite(); vsp->y += vc_read_var(vc_read_next_word()); @@ -1865,7 +1865,7 @@ void SimonState::vc_65() _video_var_3 = false; } -void SimonState::vc_66() +void SimonState::vc_66_nz() { // Simon2 uint a = vc_read_next_word(); uint b = vc_read_next_word(); @@ -1874,7 +1874,7 @@ void SimonState::vc_66() vc_skip_next_instruction(); } -void SimonState::vc_67() +void SimonState::vc_67_ge() { // Simon2 uint a = vc_read_next_word(); uint b = vc_read_next_word(); @@ -1883,7 +1883,7 @@ void SimonState::vc_67() vc_skip_next_instruction(); } -void SimonState::vc_68() +void SimonState::vc_68_le() { // Simon2 uint a = vc_read_next_word(); uint b = vc_read_next_word(); @@ -1926,13 +1926,13 @@ void SimonState::vc_72() } } -void SimonState::vc_73() +void SimonState::vc_73_set_op189_flag() { // Simon2 vc_read_next_byte(); _op_189_flags |= 1 << vc_read_next_byte(); } -void SimonState::vc_74() +void SimonState::vc_74_clear_op189_flag() { // Simon2 vc_read_next_byte(); _op_189_flags &= ~(1 << vc_read_next_byte()); |