Ticket #8798: seqPlayerTextOptions.patch
File seqPlayerTextOptions.patch, 1.8 KB (added by , 17 years ago) |
---|
-
sequences_v2.cpp
1964 1964 1965 1965 assert(chatNum < _sequenceSoundListSize); 1966 1966 1967 if (chatNum < 12 && !_flags.isDemo )1967 if (chatNum < 12 && !_flags.isDemo && textEnabled()) 1968 1968 seq_setTextEntry(chatNum, 160, 168, _sequenceStringsDuration[chatNum], 160); 1969 1969 1970 1970 _sound->voicePlay(_sequenceSoundList[chatNum]); … … 1975 1975 1976 1976 uint32 longest = seq_activeTextsTimeLeft() + _system->getMillis(); 1977 1977 uint32 now = _system->getMillis(); 1978 if (longest > now)1979 delay(longest - now);1980 1978 1979 if (textEnabled()) { 1980 if (longest > now) 1981 delay(longest - now); 1982 } else if (speechEnabled()) { 1983 while (snd_voiceIsPlaying()) 1984 delay(_tickLength); 1985 } 1986 1981 1987 seq_resetAllTextEntries(); 1982 1988 } 1983 1989 … … 2300 2306 2301 2307 void KyraEngine_v2::seq_playWsaSyncDialogue(uint16 strIndex, uint16 vocIndex, int textColor, int x, int y, int width, WSAMovieV2 *wsa, int firstframe, int lastframe, int wsaXpos, int wsaYpos) { 2302 2308 int dur = int(strlen(_sequenceStrings[strIndex])) * (_flags.isTalkie ? 7 : 15); 2303 int entry = seq_setTextEntry(strIndex, x, y, dur, width);2309 int entry = textEnabled() ? seq_setTextEntry(strIndex, x, y, dur, width) : strIndex; 2304 2310 _activeText[entry].textcolor = textColor; 2305 2311 uint32 chatTimeout = _system->getMillis() + dur * _tickLength; 2306 2312 int curframe = firstframe; 2307 2313 2308 if (vocIndex )2314 if (vocIndex && speechEnabled()) 2309 2315 seq_playTalkText(vocIndex); 2310 2316 2311 2317 while (_system->getMillis() < chatTimeout) { … … 2334 2340 if (frameTimeout > tm && chatTimeout > tm) 2335 2341 delay(MIN(frameTimeout - tm, chatTimeout - tm)); 2336 2342 2343 if (speechEnabled() && !textEnabled() && !snd_voiceIsPlaying()) 2344 break; 2345 2337 2346 _screen->copyPage(2, 0); 2338 2347 _screen->updateScreen(); 2339 2348 curframe++;