aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra2.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra2.h')
-rw-r--r--engines/kyra/kyra2.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/engines/kyra/kyra2.h b/engines/kyra/kyra2.h
index 3f0122cd67..f7c894039c 100644
--- a/engines/kyra/kyra2.h
+++ b/engines/kyra/kyra2.h
@@ -29,7 +29,8 @@ enum kSequences {
kSequenceVirgin = 0,
kSequenceWestwood = 1,
kSequenceTitle = 2,
- kSequenceOverview = 3
+ kSequenceOverview = 3,
+ kSequenceLibrary = 4
};
class WSAMovieV2;
@@ -40,6 +41,17 @@ struct ActiveWSA {
uint16 endFrame;
uint16 frameDelay;
uint32 nextFrame;
+ void (KyraEngine_v2::*callback)(int);
+};
+
+struct ActiveChat {
+ uint16 strIndex;
+ uint16 x;
+ uint16 y;
+ int duration;
+ uint16 field_8;
+ uint16 startTime;
+ uint16 field_E;
};
struct Sequence {
@@ -67,14 +79,24 @@ private:
int seq_introWestwood(int seqNum);
int seq_introTitle(int seqNum);
int seq_introOverview(int seqNum);
- void seq_loadWSA(int wsaNum, const char *filename, int frameDelay);
+ int seq_introLibrary(int seqNum);
+ void seq_introOverviewOver1(int currentFrame);
+ void seq_introOverviewForest(int currentFrame);
+ void seq_introOverviewDragon(int currentFrame);
+ void seq_loadWSA(int wsaNum, const char *filename, int frameDelay, void (KyraEngine_v2::*callback)(int) = 0 );
void seq_unloadWSA(int wsaNum);
void seq_playWSAs();
-
+ void seq_showChats();
+ void seq_playIntroChat(uint8 chatNum);
+ void seq_resetAllChatEntries();
+ void seq_waitForChatsToFinish();
+ void seq_setChatEntry(uint16 strIndex, uint16 posX, uint16 posY, int duration, uint16 unk1);
+
void mainMenu();
int init();
ActiveWSA *_activeWSA;
+ ActiveChat *_activeChat;
uint8 *_gameShapes[50];
uint8 *_mouseSHPBuf;
@@ -83,6 +105,8 @@ private:
static const char *_introStrings[];
static const int _introStringsSize;
+ int _introStringsDuration[21];
+
};
} // end of namespace Kyra