RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.80
diff -u -r1.80 items.cpp
|
|
|
995 | 995 | if (_game & GF_TALKIE) |
996 | 996 | d = _array_4[a]; |
997 | 997 | |
998 | | if (d != 0 && !_subtitles) { |
| 998 | if (d != 0) |
999 | 999 | talk_with_speech(d, b); |
1000 | | } else if (s != NULL) { |
| 1000 | if (s != NULL && (d == 0 || _subtitles)) |
1001 | 1001 | talk_with_text(b, c, s, tv->a, tv->b, tv->c); |
1002 | | } |
1003 | 1002 | } |
1004 | 1003 | break; |
1005 | 1004 | |
… |
… |
|
1234 | 1233 | if (_game == GAME_SIMON1CD32 || _game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) { |
1235 | 1234 | if (child != NULL && child->avail_props & 0x200) { |
1236 | 1235 | uint offs = getOffsetOfChild2Param(child, 0x200); |
1237 | | if (!_subtitles) |
1238 | | talk_with_speech(child->array[offs], a); |
| 1236 | talk_with_speech(child->array[offs], a); |
1239 | 1237 | } else if (child != NULL && child->avail_props & 0x100) { |
1240 | 1238 | uint offs = getOffsetOfChild2Param(child, 0x100); |
1241 | | if (!_subtitles) |
1242 | | talk_with_speech(child->array[offs] + 3550, a); |
| 1239 | talk_with_speech(child->array[offs] + 3550, a); |
1243 | 1240 | } |
1244 | 1241 | } else if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) { |
1245 | 1242 | if (child != NULL && child->avail_props & 0x200) { |
… |
… |
|
1289 | 1286 | } |
1290 | 1287 | } |
1291 | 1288 | |
1292 | | if (!_subtitles) |
1293 | | talk_with_speech(var200, a); |
| 1289 | talk_with_speech(var200, a); |
1294 | 1290 | } |
1295 | 1291 | |
1296 | 1292 | } |
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.231
diff -u -r1.231 simon.cpp
|
|
|
2037 | 2037 | case GAME_SIMON1TALKIE: |
2038 | 2038 | case GAME_SIMON1WIN: |
2039 | 2039 | case GAME_SIMON1CD32: |
2040 | | if (speech_id != 0 && !_subtitles) { |
| 2040 | if (speech_id != 0) |
2041 | 2041 | talk_with_speech(speech_id, num_1); |
2042 | | } else if (string_ptr != NULL) { |
| 2042 | if (string_ptr != NULL && _subtitles) |
2043 | 2043 | talk_with_text(num_1, num_2, (const char *)string_ptr, tv->a, tv->b, tv->c); |
2044 | | } |
2045 | 2044 | break; |
2046 | 2045 | |
2047 | 2046 | case GAME_SIMON1DEMO: |
… |
… |
|
2054 | 2053 | case GAME_SIMON2TALKIE: |
2055 | 2054 | case GAME_SIMON2WIN: |
2056 | 2055 | case GAME_SIMON2MAC: |
2057 | | if (speech_id != 0 && num_1 == 1 && !_subtitles) |
| 2056 | if (speech_id != 0 && num_1 == 1) |
2058 | 2057 | talk_with_speech(speech_id, num_1); |
2059 | 2058 | |
2060 | 2059 | if (speech_id != 0 && !_subtitles) |
… |
… |
|
2729 | 2728 | _exit_cutscene = false; |
2730 | 2729 | _skip_speech = false; |
2731 | 2730 | while (_vga_wait_for != 0) { |
2732 | | if (_skip_speech) { |
2733 | | if (_game & GF_SIMON2) { |
2734 | | if (_vga_wait_for == 200 && !vc_get_bit(14)) { |
2735 | | skip_speech(); |
2736 | | break; |
2737 | | } |
| 2731 | if (_skip_speech && _game & GF_SIMON2) { |
| 2732 | if (_vga_wait_for == 200 && !vc_get_bit(14)) { |
| 2733 | skip_speech(); |
| 2734 | break; |
2738 | 2735 | } |
2739 | 2736 | } else if (_exit_cutscene) { |
2740 | 2737 | if (vc_get_bit(9)) { |
… |
… |
|
3742 | 3739 | void SimonEngine::talk_with_speech(uint speech_id, uint num_1) { |
3743 | 3740 | if (!(_game & GF_SIMON2)) { |
3744 | 3741 | if (speech_id == 9999) { |
| 3742 | if (_subtitles) |
| 3743 | return; |
3745 | 3744 | if (!(_bit_array[0] & 0x4000) && !(_bit_array[1] & 0x1000)) { |
3746 | 3745 | _bit_array[0] |= 0x4000; |
3747 | 3746 | _variableArray[100] = 0xF; |
… |
… |
|
3749 | 3748 | o_wait_for_vga(0x82); |
3750 | 3749 | } |
3751 | 3750 | _skip_vga_wait = true; |
3752 | | return; |
3753 | | } |
3754 | | if (num_1 < 100) { |
| 3751 | } else { |
| 3752 | if (_subtitles && _scriptvar_2) { |
| 3753 | start_vga_code(4, 2, 204, 0, 0, 0); |
| 3754 | o_wait_for_vga(204); |
| 3755 | o_kill_sprite_simon1(204); |
| 3756 | } |
3755 | 3757 | o_kill_sprite_simon1(num_1 + 201); |
3756 | | } |
3757 | | |
3758 | | _sound->playVoice(speech_id); |
3759 | | |
3760 | | if (num_1 < 100) { |
| 3758 | _sound->playVoice(speech_id); |
3761 | 3759 | start_vga_code(4, 2, num_1 + 201, 0, 0, 0); |
3762 | 3760 | } |
3763 | 3761 | } else { |
… |
… |
|
3779 | 3777 | } |
3780 | 3778 | o_kill_sprite_simon2(2, num_1 + 2); |
3781 | 3779 | _sound->playVoice(speech_id); |
3782 | | |
3783 | 3780 | start_vga_code(4, 2, num_1 + 2, 0, 0, 0); |
3784 | 3781 | } |
3785 | 3782 | } |
… |
… |
|
4482 | 4479 | |
4483 | 4480 | case OSystem::EVENT_RBUTTONDOWN: |
4484 | 4481 | if (_game & GF_SIMON2) |
4485 | | _skip_speech = true; |
| 4482 | _skip_speech = true; |
4486 | 4483 | else |
4487 | | _exit_cutscene = true; |
4488 | | break; |
| 4484 | _exit_cutscene = true; |
| 4485 | break; |
4489 | 4486 | |
4490 | 4487 | default: |
4491 | 4488 | break; |