aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorTravis Howell2002-11-29 16:50:15 +0000
committerTravis Howell2002-11-29 16:50:15 +0000
commit50e2752ba183a5d77a92d5949404079eda63e253 (patch)
tree2131313ca22933e086efd94fb4e778f58317f528 /simon
parent7dd2bd4dc626e740d3fc86ca1d5c5665c6a69b7f (diff)
downloadscummvm-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.cpp13
-rw-r--r--simon/simon.h12
-rw-r--r--simon/vga.cpp24
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());