From 798ce43e19f1f4ee5b95f4de291217bf25a342f9 Mon Sep 17 00:00:00 2001 From: Gregory Montoir Date: Sun, 25 Nov 2007 23:27:51 +0000 Subject: - enabled speech sounds - added end of demo check for demo 1.10 - simplified parts loop - populated strings table in IGOR.TBL - updated and packed charset data svn-id: r29641 --- engines/igor/parts/part_main.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'engines/igor/parts/part_main.cpp') diff --git a/engines/igor/parts/part_main.cpp b/engines/igor/parts/part_main.cpp index f3c99b8de1..9d3abe429d 100644 --- a/engines/igor/parts/part_main.cpp +++ b/engines/igor/parts/part_main.cpp @@ -29,11 +29,12 @@ namespace Igor { -void IgorEngine::ADD_DIALOGUE_TEXT(int num, int count) { +void IgorEngine::ADD_DIALOGUE_TEXT(int num, int count, int sound) { assert(_dialogueTextsCount < MAX_DIALOGUE_TEXTS); DialogueText *dt = &_dialogueTextsTable[_dialogueTextsCount]; dt->num = num; dt->count = count; + dt->sound = sound; ++_dialogueTextsCount; } @@ -461,7 +462,6 @@ void IgorEngine::EXEC_MAIN_ACTION_38() { loadData(IMG_NewsPaper, _screenVGA); loadData(PAL_NewsPaper, _paletteBuffer); fadeInPalette(624); -// mov _dialogueColor+3, 0 WalkData *wd = &_walkData[_walkDataLastIndex - 1]; int _walkDataCurrentPosX2 = wd->x; int _walkDataCurrentPosY2 = wd->y; @@ -494,7 +494,6 @@ void IgorEngine::EXEC_MAIN_ACTION_38() { } fadeInPalette(624); _objectsState[2] = 1; -// mov _dialogueColor+3, 63 } void IgorEngine::EXEC_MAIN_ACTION_43() { @@ -508,7 +507,6 @@ void IgorEngine::EXEC_MAIN_ACTION_43() { loadData(IMG_PhotoHarrisonMargaret, _screenVGA); loadData(PAL_PhotoHarrisonMargaret, _paletteBuffer); fadeInPalette(624); -// mov _dialogueColor+3, 0 WalkData *wd = &_walkData[_walkDataLastIndex - 1]; int _walkDataCurrentPosX2 = wd->x; int _walkDataCurrentPosY2 = wd->y; @@ -531,7 +529,6 @@ void IgorEngine::EXEC_MAIN_ACTION_43() { free(tmp); } fadeInPalette(624); -// mov _dialogueColor+3, 63 } void IgorEngine::EXEC_MAIN_ACTION_54() { @@ -573,6 +570,15 @@ void IgorEngine::EXEC_MAIN_ACTION_54() { fadeInPalette(624); } +void IgorEngine::CHECK_FOR_END_OF_DEMO() { + if (_demoActionsCounter >= 10) { + ADD_DIALOGUE_TEXT(104, 2); + ADD_DIALOGUE_TEXT(106, 2); + SET_DIALOGUE_TEXT(1, 2); + startIgorDialogue(); + } +} + void IgorEngine::SET_PAL_208_96_1() { memcpy(_paletteBuffer + 208 * 3, PAL_96_1, 96); } @@ -966,7 +972,7 @@ void IgorEngine::PART_MAIN() { _gameState.nextMusicCounter = 0; } } while (_currentPart != kInvalidPart && !_eventQuitGame); - if (_gameVersion == kIdEngDemo100 || _gameVersion == kIdEngDemo110) { + if (_gameFlags & kFlagDemo) { for (_currentPart = kSharewarePart; !_eventQuitGame && _currentPart <= kSharewarePart + 6; ++_currentPart) { PART_95(); } -- cgit v1.2.3