svn-id: r5751
This commit is contained in:
Travis Howell 2002-11-29 16:50:15 +00:00
parent 7dd2bd4dc6
commit 50e2752ba1
3 changed files with 27 additions and 22 deletions

View File

@ -2513,10 +2513,15 @@ void SimonState::o_wait_for_vga(uint a)
delay(10); delay(10);
// if (_timer_1 >= 500) { if (_game & GAME_SIMON2) {
// warning("wait timed out"); if (_timer_1 >= 1000) {
// break; warning("wait timed out");
// } break;
}
} else if (_timer_1 >= 500) {
warning("wait timed out");
break;
}
} }
// warning("waiting on %d done", a); // warning("waiting on %d done", a);

View File

@ -616,7 +616,7 @@ public:
void vc_34_force_lock(); void vc_34_force_lock();
void vc_35(); void vc_35();
void vc_36_saveload_thing(); 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_38_skip_if_var_zero();
void vc_39_set_var(); void vc_39_set_var();
void vc_40_var_add(); void vc_40_var_add();
@ -646,15 +646,15 @@ public:
// Simon2 specific Video Script Opcodes // Simon2 specific Video Script Opcodes
void vc_64(); void vc_64();
void vc_65(); void vc_65();
void vc_66(); void vc_66_nz();
void vc_67(); void vc_67_ge();
void vc_68(); void vc_68_le();
void vc_69(); void vc_69();
void vc_70(); void vc_70();
void vc_71(); void vc_71();
void vc_72(); void vc_72();
void vc_73(); void vc_73_set_op189_flag();
void vc_74(); void vc_74_clear_op189_flag();
void delete_vga_timer(VgaTimerEntry * vte); void delete_vga_timer(VgaTimerEntry * vte);
void vc_resume_thread(byte *code_ptr, uint16 cur_file, uint16 cur_sprite); void vc_resume_thread(byte *code_ptr, uint16 cur_file, uint16 cur_sprite);

View File

@ -67,7 +67,7 @@ static const VgaOpcodeProc vga_opcode_table[] = {
&SimonState::vc_34_force_lock, &SimonState::vc_34_force_lock,
&SimonState::vc_35, &SimonState::vc_35,
&SimonState::vc_36_saveload_thing, &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_38_skip_if_var_zero,
&SimonState::vc_39_set_var, &SimonState::vc_39_set_var,
&SimonState::vc_40_var_add, &SimonState::vc_40_var_add,
@ -96,15 +96,15 @@ static const VgaOpcodeProc vga_opcode_table[] = {
&SimonState::vc_63_palette_thing_2, &SimonState::vc_63_palette_thing_2,
&SimonState::vc_64, &SimonState::vc_64,
&SimonState::vc_65, &SimonState::vc_65,
&SimonState::vc_66, &SimonState::vc_66_nz,
&SimonState::vc_67, &SimonState::vc_67_ge,
&SimonState::vc_68, &SimonState::vc_68_le,
&SimonState::vc_69, &SimonState::vc_69,
&SimonState::vc_70, &SimonState::vc_70,
&SimonState::vc_71, &SimonState::vc_71,
&SimonState::vc_72, &SimonState::vc_72,
&SimonState::vc_73, &SimonState::vc_73_set_op189_flag,
&SimonState::vc_74, &SimonState::vc_74_clear_op189_flag,
}; };
// Script parser // 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(); VgaSprite *vsp = find_cur_sprite();
vsp->y += vc_read_var(vc_read_next_word()); vsp->y += vc_read_var(vc_read_next_word());
@ -1865,7 +1865,7 @@ void SimonState::vc_65()
_video_var_3 = false; _video_var_3 = false;
} }
void SimonState::vc_66() void SimonState::vc_66_nz()
{ // Simon2 { // Simon2
uint a = vc_read_next_word(); uint a = vc_read_next_word();
uint b = vc_read_next_word(); uint b = vc_read_next_word();
@ -1874,7 +1874,7 @@ void SimonState::vc_66()
vc_skip_next_instruction(); vc_skip_next_instruction();
} }
void SimonState::vc_67() void SimonState::vc_67_ge()
{ // Simon2 { // Simon2
uint a = vc_read_next_word(); uint a = vc_read_next_word();
uint b = vc_read_next_word(); uint b = vc_read_next_word();
@ -1883,7 +1883,7 @@ void SimonState::vc_67()
vc_skip_next_instruction(); vc_skip_next_instruction();
} }
void SimonState::vc_68() void SimonState::vc_68_le()
{ // Simon2 { // Simon2
uint a = vc_read_next_word(); uint a = vc_read_next_word();
uint b = 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 { // Simon2
vc_read_next_byte(); vc_read_next_byte();
_op_189_flags |= 1 << vc_read_next_byte(); _op_189_flags |= 1 << vc_read_next_byte();
} }
void SimonState::vc_74() void SimonState::vc_74_clear_op189_flag()
{ // Simon2 { // Simon2
vc_read_next_byte(); vc_read_next_byte();
_op_189_flags &= ~(1 << vc_read_next_byte()); _op_189_flags &= ~(1 << vc_read_next_byte());