aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sky/compact.cpp8
-rw-r--r--engines/sky/intro.cpp180
-rw-r--r--engines/sky/logic.cpp2
-rw-r--r--engines/sky/music/gmchannel.cpp1
-rw-r--r--engines/sky/screen.cpp4
5 files changed, 102 insertions, 93 deletions
diff --git a/engines/sky/compact.cpp b/engines/sky/compact.cpp
index 9db5808fa1..c431e1b37f 100644
--- a/engines/sky/compact.cpp
+++ b/engines/sky/compact.cpp
@@ -272,8 +272,12 @@ Compact *SkyCompact::fetchCptInfo(uint16 cptId, uint16 *elems, uint16 *type, cha
*elems = _cptSizes[cptId >> 12][cptId & 0xFFF];
if (type)
*type = _cptTypes[cptId >> 12][cptId & 0xFFF];
- if (name)
- strcpy(name, _cptNames[cptId >> 12][cptId & 0xFFF]);
+ if (name) {
+ if (_cptNames[cptId >> 12][cptId & 0xFFF] != NULL)
+ strcpy(name, _cptNames[cptId >> 12][cptId & 0xFFF]);
+ else
+ strcpy(name, "(null)");
+ }
return fetchCpt(cptId);
}
diff --git a/engines/sky/intro.cpp b/engines/sky/intro.cpp
index 2ac05d2555..42e0e92f5a 100644
--- a/engines/sky/intro.cpp
+++ b/engines/sky/intro.cpp
@@ -256,76 +256,79 @@ uint16 Intro::_mainIntroSeq[] = {
};
uint16 Intro::_cdIntroSeq[] = {
- PLAYVOICE, 59500,
- LOADBG, 59499,
+ /* black screen */
+ PLAYVOICE, CDV_00, // Foster: "The old man was trying to tell the future. Looking for pictures in the campfire..."
+ LOADBG, 59499, // Fire crackle
LOOPBG,
WAITVOICE,
- PLAYVOICE, 59504,
+ PLAYVOICE, CDV_01, // Shaman: "ohhh, I see evil..."
+ /* Fade up shaman image while he says his line... */
SHOWSCREEN, CD_1_LOG,
FADEUP, CD_PAL,
+ /* And then play the animation showing the shadows of the fire on his face */
BGFLIRT, CD_1,
WAITVOICE,
- PLAYVOICE, CDV_02,
+ PLAYVOICE, CDV_02, // Shaman: "Evil born deep beneath the city... far from the light of day."
WAITVOICE,
STOPFLIRT,
BGFLIRT, CD_2,
- PLAYVOICE, CDV_03,
+ PLAYVOICE, CDV_03, // Shaman: "I see it growing, safe beneath a sky of steel..."
WAITVOICE,
- PLAYVOICE, CDV_04,
+ PLAYVOICE, CDV_04, // Shaman: "Scheming in the dark... gathering strength."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_05,
+ PLAYVOICE, CDV_05, // Shaman: "And now... ohhh.... now the evil spreads..."
DELAY, 2000,
BGFLIRT, CD_3,
WAITVOICE,
- PLAYVOICE, CDV_06,
+ PLAYVOICE, CDV_06, // Shaman: "It sends deadly feelers over the land above..."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_07,
+ PLAYVOICE, CDV_07, // Shaman: "Across the gap... reaching towards this very place!"
BGFLIRT, CD_5,
WAITVOICE,
- PLAYVOICE, CDV_08,
+ PLAYVOICE, CDV_08, // Foster: "I'd seen him do this a hundred times, but I humoured him."
WAITVOICE,
- PLAYVOICE, CDV_09,
+ PLAYVOICE, CDV_09, // Foster: "After all, he'd been like a father to me."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_10,
+ PLAYVOICE, CDV_10, // Foster: "And what does this evil want here?"
BGFLIRT, CD_7,
WAITVOICE,
- PLAYVOICE, CDV_11,
+ PLAYVOICE, CDV_11, // Shaman: "Oh, my son. I fear..."
WAITFLIRT,
FADEDOWN,
SHOWSCREEN, CD_11_LOG,
FADEUP, CD_11_PAL,
WAITVOICE,
- PLAYVOICE, CDV_12,
+ PLAYVOICE, CDV_12, // Shaman: "I fear the evil wants you!"
DELAY, 1600,
BGFLIRT, CD_11,
WAITVOICE,
- PLAYVOICE, CDV_13,
+ PLAYVOICE, CDV_13, // Foster: "That was when Joey piped up..."
WAITVOICE,
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_14,
- LOADBG, 59498, // fade-in heli
+ PLAYVOICE, CDV_14, // Joey: "Foster! Sensors detect incoming audio source!"
+ LOADBG, 59498, // fire crackle to heli start
PLAYBG,
DOFLIRT, CD_13,
WAITVOICE,
- PLAYVOICE, CDV_15,
+ PLAYVOICE, CDV_15, // Shaman: "The evil! The evil is nearly here...!"
FADEDOWN,
SHOWSCREEN, CD_15_LOG,
FADEUP, CD_15_PAL,
WAITVOICE,
LOADBG, 59496, // quiet heli
LOOPBG,
- PLAYVOICE, CDV_16,
+ PLAYVOICE, CDV_16, // Foster: "It sounded more like a 'copter than a demon."
WAITVOICE,
- PLAYVOICE, CDV_17,
+ PLAYVOICE, CDV_17, // Foster: "But next thing, all hell let loose anyway..."
DELAY, 2000,
SHOWSCREEN, CD_17_LOG,
WAITVOICE,
BGFLIRT, CD_17,
- PLAYVOICE, CDV_18,
+ PLAYVOICE, CDV_18, // Shaman: "Run, Foster! Run! Hide from the evil!"
LOADBG, 59497, // loud heli
LOOPBG,
WAITFLIRT,
@@ -333,225 +336,226 @@ uint16 Intro::_cdIntroSeq[] = {
FADEDOWN,
SHOWSCREEN, CD_19_LOG,
FADEUP, CD_19_PAL,
- PLAYVOICE, CDV_19,
+ PLAYVOICE, CDV_19, // Joey: "Foster! (zzzt) H-Help!"
WAITVOICE,
- PLAYVOICE, CDV_20,
+ PLAYVOICE, CDV_20, // Joey: "Better make my next body move faster, Foster..."
FADEDOWN,
SHOWSCREEN, CD_20_LOG,
FADEUP, CD_19_PAL,
WAITVOICE,
LOADBG, 59496, // quiet heli
LOOPBG,
- PLAYVOICE, CDV_21,
+ PLAYVOICE, CDV_21, // Foster: "He was only a robot, but, well, I loved the little guy."
FADEDOWN,
SHOWSCREEN, CD_21_LOG,
FADEUP, CD_19_PAL,
WAITVOICE,
- PLAYVOICE, CDV_22,
+ PLAYVOICE, CDV_22, // Foster: "Then, as suddenly as it started, the shooting stopped."
LOADBG, 59494, // heli whine
PLAYBG,
WAITVOICE,
- PLAYVOICE, CDV_23,
+ PLAYVOICE, CDV_23, // Foster: "There was a moment's silence as the copter cut its rotors, then..."
+ /* fade down while Foster's saying his line */
FADEDOWN,
WAITVOICE,
SHOWSCREEN, CD_24_LOG,
FADEUP, CD_23_PAL,
- PLAYVOICE, CDV_24,
+ PLAYVOICE, CDV_24, // Reich: "Whoever is in charge here, come forward..."
WAITVOICE,
- PLAYVOICE, CDV_25,
+ PLAYVOICE, CDV_25, // Reich: "Now!!"
WAITVOICE,
- PLAYVOICE, CDV_26,
+ PLAYVOICE, CDV_26, // Foster: "Only a fool would have argued with that firepower."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_27_LOG,
FADEUP, CD_27_PAL,
- PLAYVOICE, CDV_27,
+ PLAYVOICE, CDV_27, // Shaman: "... I am the leader of these people... We are peaceful..."
WAITVOICE,
- PLAYVOICE, CDV_29,
+ PLAYVOICE, CDV_29, // Reich: "Bring him here."
WAITVOICE,
- PLAYVOICE, CDV_30,
+ PLAYVOICE, CDV_30, // Guard: "At once, Commander Reich."
WAITVOICE,
BGFLIRT, CD_27,
- PLAYVOICE, CDV_31,
+ PLAYVOICE, CDV_31, // Reich: "We're looking for someone..."
WAITVOICE,
- PLAYVOICE, CDV_32,
+ PLAYVOICE, CDV_32, // Reich: "Someone who doesn't belong here..."
WAITVOICE,
- PLAYVOICE, CDV_33,
+ PLAYVOICE, CDV_33, // Reich: "Who wasn't born in this garbage dump..."
WAITVOICE,
- PLAYVOICE, CDV_34,
+ PLAYVOICE, CDV_34, // Reich: "Who came from the city as a child..."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_35,
+ PLAYVOICE, CDV_35, // Reich: "We want to take him home again."
WAITVOICE,
- PLAYVOICE, CDV_36,
+ PLAYVOICE, CDV_36, // Foster: "My mind racing, I remembered where I'd seen that symbol before..."
FADEDOWN,
SHOWSCREEN, CD_35_LOG,
FADEUP, CD_35_PAL,
WAITVOICE,
- PLAYVOICE, CDV_37,
+ PLAYVOICE, CDV_37, // Foster: "It was the day the tribe found me..."
DOFLIRT, CD_35,
WAITVOICE,
- PLAYVOICE, CDV_38,
+ PLAYVOICE, CDV_38, // Foster: "The day of the crash..."
DOFLIRT, CD_37,
WAITVOICE,
- PLAYVOICE, CDV_39,
+ PLAYVOICE, CDV_39, // Foster: "The day my mother died."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_40_LOG,
FADEUP, CD_40_PAL,
- PLAYVOICE, CDV_40,
+ PLAYVOICE, CDV_40, // Shaman: "You alright, city boy?"
WAITVOICE,
- PLAYVOICE, CDV_41,
+ PLAYVOICE, CDV_41, // Shaman: "Got a name, son?"
WAITVOICE,
- PLAYVOICE, CDV_42,
+ PLAYVOICE, CDV_42, // Foster: "R-Robert."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_43_LOG,
FADEUP, CD_43_PAL,
- PLAYVOICE, CDV_43,
+ PLAYVOICE, CDV_43, // Shaman: "Hah! Welcome to the Gap, Robert!"
WAITVOICE,
DOFLIRT, CD_43,
- PLAYVOICE, CDV_45,
+ PLAYVOICE, CDV_45, // Foster: "As he patched me up, the old man had gently explained that there was no way back into the City..."
FADEDOWN,
SHOWSCREEN, CD_45_LOG,
FADEUP, CD_45_PAL,
WAITVOICE,
- PLAYVOICE, CDV_46,
+ PLAYVOICE, CDV_46, // Foster: "And I already knew there was nothing he could do for mother."
DOFLIRT, CD_45,
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_47_LOG,
FADEUP, CD_47_PAL,
- PLAYVOICE, CDV_47,
+ PLAYVOICE, CDV_47, // Foster: "His tribe was poor, but they treated me like one of their own..."
WAITVOICE,
- PLAYVOICE, CDV_48,
+ PLAYVOICE, CDV_48, // Foster: "I learned how to survive in the wasteland they called the Gap..."
FADEDOWN,
SHOWSCREEN, CD_48_LOG,
FADEUP, CD_48_PAL,
WAITVOICE,
BGFLIRT, CD_48,
- PLAYVOICE, CDV_49,
+ PLAYVOICE, CDV_49, // Foster: "And scavenging from the City dumps."
WAITVOICE,
- PLAYVOICE, CDV_50,
+ PLAYVOICE, CDV_50, // Foster: "As the years passed, I forgot my life in the City."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_51,
+ PLAYVOICE, CDV_51, // Foster: "Discovered new talents..."
BGFLIRT, CD_49,
WAITVOICE,
- PLAYVOICE, CDV_52,
+ PLAYVOICE, CDV_52, // Foster: "Hah!"
WAITVOICE,
- PLAYVOICE, CDV_53,
+ PLAYVOICE, CDV_53, // Joey: "I'm your (zzzt) friend... call me (zzzt) Joey."
WAITVOICE,
WAITFLIRT,
- PLAYVOICE, CDV_54,
+ PLAYVOICE, CDV_54, // Foster: "And got a second name."
DOFLIRT, CD_50,
WAITVOICE,
- PLAYVOICE, CDV_55,
+ PLAYVOICE, CDV_55, // Shaman: "This is what we'll call you now you've come of age, son."
WAITVOICE,
- PLAYVOICE, CDV_56,
+ PLAYVOICE, CDV_56, // Shaman: "We found you... we fostered you..."
FADEDOWN,
SHOWSCREEN, CD_55_LOG,
FADEUP, CD_55_PAL,
WAITVOICE,
- PLAYVOICE, CDV_57,
+ PLAYVOICE, CDV_57, // Shaman: "So that makes you Robert Foster."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_58_LOG,
FADEUP, CD_58_PAL,
- PLAYVOICE, CDV_58,
+ PLAYVOICE, CDV_58, // Reich: "...Wasted enough time!"
WAITVOICE,
- PLAYVOICE, CDV_59,
+ PLAYVOICE, CDV_59, // Reich: "Give us the runaway or we'll shoot everyone..."
WAITVOICE,
- PLAYVOICE, CDV_60,
+ PLAYVOICE, CDV_60, // Reich: "Starting with you, grandad!"
WAITVOICE,
- PLAYVOICE, CDV_61,
+ PLAYVOICE, CDV_61, // Foster: "The old man had been right, for once..."
WAITVOICE,
- PLAYVOICE, CDV_62,
+ PLAYVOICE, CDV_62, // Foster: "It was me they wanted."
BGFLIRT, CD_58,
WAITVOICE,
- PLAYVOICE, CDV_63,
+ PLAYVOICE, CDV_63, // Shaman: "No, my son! Don't let the evil take you! Run!"
WAITVOICE,
- PLAYVOICE, CDV_64,
+ PLAYVOICE, CDV_64, // Guard: "DNA scan confirms it's him, sir."
WAITFLIRT,
WAITVOICE,
- PLAYVOICE, CDV_65,
+ PLAYVOICE, CDV_65, // Foster: "Evil had come to the Gap, just as he said."
FADEDOWN,
WAITVOICE,
SHOWSCREEN, CD_66_LOG,
FADEUP, CD_66_PAL,
- PLAYVOICE, CDV_66,
+ PLAYVOICE, CDV_66, // Reich: "Take him."
WAITVOICE,
- PLAYVOICE, CDV_67,
+ PLAYVOICE, CDV_67, // Foster: "But had the old man seen why it wanted me?"
FADEDOWN,
SHOWSCREEN, CD_67_LOG,
FADEUP, CD_67_PAL,
WAITVOICE,
- PLAYVOICE, CDV_68,
+ PLAYVOICE, CDV_68, // Foster: "Or what it would do next?"
WAITVOICE,
- PLAYVOICE, CDV_69,
+ PLAYVOICE, CDV_69, // Foster: "It was too late to ask him now."
FADEDOWN,
SHOWSCREEN, CD_69_LOG,
FADEUP, CD_69_PAL,
WAITVOICE,
- PLAYVOICE, CDV_70,
+ PLAYVOICE, CDV_70, // Guard: "Leaving destruction zone, Commander Reich."
DOFLIRT, CD_69,
WAITVOICE,
FADEDOWN,
- PLAYVOICE, CDV_71,
+ PLAYVOICE, CDV_71, // Reich: "Good. Detonate."
WAITVOICE,
SHOWSCREEN, CD_72_LOG,
FADEUP, CD_72_PAL,
- PLAYVOICE, CDV_72,
+ PLAYVOICE, CDV_72, // Foster: "Much too late."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_73_LOG,
FADEUP, CD_73_PAL,
- PLAYVOICE, CDV_73,
+ PLAYVOICE, CDV_73, // Foster: "Why, you murdering..."
WAITVOICE,
- PLAYVOICE, CDV_74,
+ PLAYVOICE, CDV_74, // Reich: "Keep him quiet."
WAITVOICE,
- PLAYVOICE, CDV_75,
+ PLAYVOICE, CDV_75, // Foster: "All I could do was wait."
FADEDOWN,
SHOWSCREEN, CD_76_LOG,
FADEUP, CD_76_PAL,
WAITVOICE,
- PLAYVOICE, CDV_76,
+ PLAYVOICE, CDV_76, // Foster: "Just like on a hunt. Just like the old man taught me."
WAITVOICE,
- PLAYVOICE, CDV_77,
+ PLAYVOICE, CDV_77, // Foster: "Wait... and be ready."
WAITVOICE,
FADEDOWN,
SHOWSCREEN, CD_78_LOG,
FADEUP, CD_78_PAL,
- PLAYVOICE, CDV_78,
+ PLAYVOICE, CDV_78, // Foster: "It was dawn when we reached the City."
WAITVOICE,
- PLAYVOICE, CDV_79,
+ PLAYVOICE, CDV_79, // Reich: "Land in the central Security compound."
WAITVOICE,
- PLAYVOICE, CDV_80,
+ PLAYVOICE, CDV_80, // Foster: "A dawn my tribe would never see."
BGFLIRT, CD_100,
WAITVOICE,
- PLAYVOICE, CDV_81,
+ PLAYVOICE, CDV_81, // Foster: "They were no more than a note in Reich's book now."
WAITVOICE,
- PLAYVOICE, CDV_82,
+ PLAYVOICE, CDV_82, // Guard: "Yes, sir. Locking on automatic landing beacon."
WAITVOICE,
WAITFLIRT,
SHOWSCREEN, CD_101_LOG,
BGFLIRT, CD_101,
- PLAYVOICE, CDV_83,
+ PLAYVOICE, CDV_83, // Foster: "But what was I? Why did..."
WAITVOICE,
- PLAYVOICE, CDV_84,
+ PLAYVOICE, CDV_84, // Guard: "Sir! The guidance system! It's gone crazy!"
WAITVOICE,
- PLAYVOICE, CDV_85,
+ PLAYVOICE, CDV_85, // Guard: "We're going to HIT!"
WAITVOICE,
WAITFLIRT,
SHOWSCREEN, CD_102_LOG,
- PLAYVOICE, CDV_86,
+ PLAYVOICE, CDV_86, // Foster: "Maybe I'd get some answers now."
DOFLIRT, CD_102,
FADEDOWN,
SHOWSCREEN, CD_103_LOG,
FADEUP, CD_103_PAL,
BGFLIRT, CD_103,
WAITVOICE,
- PLAYVOICE, CDV_87,
+ PLAYVOICE, CDV_87, // Foster: "If I survived another 'copter crash."
WAITFLIRT,
WAITVOICE,
STARTMUSIC, 2,
diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp
index bbe01a5576..0d54380edb 100644
--- a/engines/sky/logic.cpp
+++ b/engines/sky/logic.cpp
@@ -224,7 +224,7 @@ void Logic::arAnim() {
// On character boundary. Have we been told to wait?
// if not - are WE colliding?
- if (_compact->waitingFor == 0xffff) { // 1st cycle of re-route does
+ if (_compact->waitingFor == 0xffff) { // 1st cycle of re-route does not require collision checks
mainAnim();
return;
}
diff --git a/engines/sky/music/gmchannel.cpp b/engines/sky/music/gmchannel.cpp
index 460cea545e..766bd2ff66 100644
--- a/engines/sky/music/gmchannel.cpp
+++ b/engines/sky/music/gmchannel.cpp
@@ -83,7 +83,6 @@ int32 GmChannel::getNextEventTime(void) {
return -1;
} else
return retV;
-
}
uint8 GmChannel::process(uint16 aktTime) {
diff --git a/engines/sky/screen.cpp b/engines/sky/screen.cpp
index 071dab2585..eae0417d09 100644
--- a/engines/sky/screen.cpp
+++ b/engines/sky/screen.cpp
@@ -155,10 +155,12 @@ void Screen::setPalette(uint16 fileNum) {
}
void Screen::showScreen(uint16 fileNum) {
-
+ // This is only used for static images in the floppy and cd intro
if (_currentScreen)
free(_currentScreen);
_currentScreen = _skyDisk->loadFile(fileNum);
+ // make sure the last 8 lines are forced to black.
+ memset(_currentScreen + GAME_SCREEN_HEIGHT * GAME_SCREEN_WIDTH, 0, (FULL_SCREEN_HEIGHT - GAME_SCREEN_HEIGHT) * GAME_SCREEN_WIDTH);
if (_currentScreen)
showScreen(_currentScreen);