aboutsummaryrefslogtreecommitdiff
path: root/engines/igor/parts/part_main.cpp
diff options
context:
space:
mode:
authorGregory Montoir2007-11-25 23:27:51 +0000
committerGregory Montoir2007-11-25 23:27:51 +0000
commit798ce43e19f1f4ee5b95f4de291217bf25a342f9 (patch)
treeb4641214f0b39923c249eaec3ce1a62982cebaf2 /engines/igor/parts/part_main.cpp
parent3d59f805202bd1d2161baa69902d377fa01ee7c6 (diff)
downloadscummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.tar.gz
scummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.tar.bz2
scummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.zip
- 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
Diffstat (limited to 'engines/igor/parts/part_main.cpp')
-rw-r--r--engines/igor/parts/part_main.cpp18
1 files changed, 12 insertions, 6 deletions
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();
}