[Scummvm-git-logs] scummvm master -> 319c5b1c80f1d8580b4af01e3ef34be874e76461
sev-
noreply at scummvm.org
Mon Nov 14 19:55:20 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
319c5b1c80 SAGA: Move the LoadSceneParams structures out of the detection code
Commit: 319c5b1c80f1d8580b4af01e3ef34be874e76461
https://github.com/scummvm/scummvm/commit/319c5b1c80f1d8580b4af01e3ef34be874e76461
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-11-14T20:55:16+01:00
Commit Message:
SAGA: Move the LoadSceneParams structures out of the detection code
Changed paths:
engines/saga/detection.h
engines/saga/detection_tables.h
engines/saga/introproc_ite.cpp
engines/saga/saga.h
engines/saga/scene.h
engines/saga/shared_detection_defines.h
diff --git a/engines/saga/detection.h b/engines/saga/detection.h
index 89d6b3013f3..b810068a47b 100644
--- a/engines/saga/detection.h
+++ b/engines/saga/detection.h
@@ -88,7 +88,18 @@ enum GameFileTypes {
GAME_PATCHFILE = 1 << 10 // IHNM patch file (patch.re_/patch.res)
};
-struct LoadSceneParams;
+// Make sure to up
+enum GameIntroList : uint8 {
+ INTROLIST_NONE = 0,
+ INTROLIST_ITE_DEFAULT,
+ INTROLIST_ITE_AMIGA_ENGLISH_AGA_CD,
+ INTROLIST_ITE_AMIGA_ENGLISH_ECS_CD,
+ INTROLIST_ITE_AMIGA_GERMAN_AGA,
+ INTROLIST_ITE_AMIGA_GERMAN_ECS,
+ INTROLIST_ITE_DOS_DEMO,
+ INTROLIST_MAX
+};
+
struct SAGAGameDescription {
ADGameDescription desc;
@@ -99,11 +110,9 @@ struct SAGAGameDescription {
int fontsCount;
const GameFontDescription *fontDescriptions;
const GamePatchDescription *patchDescriptions;
- const LoadSceneParams *introScenes;
+ GameIntroList introList;
};
-extern LoadSceneParams ITE_IntroListDefault[];
-
} // End of namespace Saga
#endif // SAGA_DETECTION_H
diff --git a/engines/saga/detection_tables.h b/engines/saga/detection_tables.h
index 76643f99be0..287056c815a 100644
--- a/engines/saga/detection_tables.h
+++ b/engines/saga/detection_tables.h
@@ -171,81 +171,6 @@ static const GameFontDescription IHNMDEMO_GameFonts[] = { {2}, {3}, {4} };
// Font 6 is kIHNMFont8, font 8 is kIHNMMainFont
static const GameFontDescription IHNMCD_GameFonts[] = { {2}, {3}, {4}, {5}, {6}, {7}, {8} };
-// Intro scenes
-#define RID_ITE_INTRO_ANIM_SCENE 1538
-#define RID_ITE_CAVE_SCENE_1 1542
-#define RID_ITE_CAVE_SCENE_2 1545
-#define RID_ITE_CAVE_SCENE_3 1548
-#define RID_ITE_CAVE_SCENE_4 1551
-#define RID_ITE_VALLEY_SCENE 1556
-#define RID_ITE_TREEHOUSE_SCENE 1560
-#define RID_ITE_FAIREPATH_SCENE 1564
-#define RID_ITE_FAIRETENT_SCENE 1567
-
-// Intro scenes - DOS demo
-#define RID_ITE_INTRO_ANIM_SCENE_DOS_DEMO 298
-#define RID_ITE_CAVE_SCENE_DOS_DEMO 302
-#define RID_ITE_VALLEY_SCENE_DOS_DEMO 310
-
-LoadSceneParams ITE_IntroListDefault[] = {
- {RID_ITE_INTRO_ANIM_SCENE, kLoadByResourceId, SceneHandlers::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_CAVE_SCENE_1, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_CAVE_SCENE_2, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_CAVE_SCENE_3, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_CAVE_SCENE_4, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_VALLEY_SCENE, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), SceneHandlers::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_TREEHOUSE_SCENE, kLoadByResourceId, SceneHandlers::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_FAIREPATH_SCENE, kLoadByResourceId, SceneHandlers::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_FAIRETENT_SCENE, kLoadByResourceId, SceneHandlers::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
-};
-
-static const LoadSceneParams ITE_AmigaEnglishECSCD_IntroList[] = {
-// {1544, kLoadByResourceId, SceneHandlers::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE}, // Crashes, skip for now
- {1548, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1551, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1554, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1557, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1562, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), SceneHandlers::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1566, kLoadByResourceId, SceneHandlers::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1570, kLoadByResourceId, SceneHandlers::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1573, kLoadByResourceId, SceneHandlers::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
-};
-
-static const LoadSceneParams ITE_AmigaGermanAGA_IntroList[] = {
- {1538, kLoadByResourceId, SceneHandlers::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1543, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1547, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1551, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1555, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1560, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), SceneHandlers::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1564, kLoadByResourceId, SceneHandlers::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1568, kLoadByResourceId, SceneHandlers::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1571, kLoadByResourceId, SceneHandlers::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
-};
-
-static const LoadSceneParams ITE_AmigaGermanECS_IntroList[] = {
- {1544, kLoadByResourceId, SceneHandlers::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1549, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1553, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1557, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1561, kLoadByResourceId, SceneHandlers::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1566, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), SceneHandlers::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {1570, kLoadByResourceId, SceneHandlers::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1574, kLoadByResourceId, SceneHandlers::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {1577, kLoadByResourceId, SceneHandlers::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
-};
-
-static const LoadSceneParams ITE_DOS_Demo_IntroList[] = {
- {RID_ITE_INTRO_ANIM_SCENE_DOS_DEMO, kLoadByResourceId, SceneHandlers::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_CAVE_SCENE_DOS_DEMO, kLoadByResourceId, SceneHandlers::SC_ITEIntroCaveDemoProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {RID_ITE_VALLEY_SCENE_DOS_DEMO, kLoadByResourceId, SceneHandlers::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
- {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
-};
-
// Patch files. Files not found will be ignored
static const GamePatchDescription ITEPatch_Files[] = {
{ "cave.mid", GAME_RESOURCEFILE, 9},
@@ -335,7 +260,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEDEMO_GameFonts),
ITEDEMO_GameFonts,
NULL,
- ITE_DOS_Demo_IntroList,
+ INTROLIST_ITE_DOS_DEMO,
},
// Inherit the earth - MAC Demo version
@@ -360,7 +285,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
ITEMacPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
@@ -387,7 +312,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
ITEMacPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
@@ -414,7 +339,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
@@ -441,7 +366,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
@@ -475,7 +400,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - MAC CD First edition
@@ -503,7 +428,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - MAC CD Wyrmkeep version
@@ -528,7 +453,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITEWINDEMO_GameFonts),
ITEWINDEMO_GameFonts,
ITEMacPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - MAC CD GOG version 1.1
@@ -553,7 +478,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
@@ -586,7 +511,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - German Wyrmkeep combined Windows/Mac/Linux CD
@@ -614,7 +539,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Italian Wyrmkeep combined Windows/Mac/Linux CD (fan translation)
@@ -646,7 +571,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep Windows CD version
@@ -673,7 +598,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep Linux CD version
@@ -700,7 +625,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - DOS CD version - 17-06-1994
@@ -726,7 +651,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep Italian Windows CD version (fan translation)
@@ -752,7 +677,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep Italian Linux CD version (fan translation)
@@ -778,7 +703,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Italian DOS CD version (fan translation)
@@ -803,7 +728,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep French Windows CD version (fan translation)
@@ -829,7 +754,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Wyrmkeep French Linux CD version (fan translation)
@@ -855,7 +780,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - French DOS CD version (fan translation)
@@ -880,7 +805,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - DOS CD version - 30-06-1994
@@ -905,7 +830,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Hebrew fan translation
@@ -930,7 +855,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - DOS CD German version
@@ -956,7 +881,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Windows Trial
@@ -984,7 +909,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - macOS Trial
@@ -1011,7 +936,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Pocket PC Trial
@@ -1038,7 +963,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the Earth - Japanese PC-98 CD version
@@ -1063,7 +988,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Russian CD version (fan translation)
@@ -1088,7 +1013,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// ITE floppy versions ////////////////////////////////////////////////////////////////////////////////////
@@ -1115,7 +1040,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
NULL,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Disk version
@@ -1140,7 +1065,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Italian Disk version (fan translation)
@@ -1165,7 +1090,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Chinese Disk version
@@ -1190,7 +1115,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// Inherit the earth - Russian Disk version (fan translation)
@@ -1215,7 +1140,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault,
+ INTROLIST_ITE_DEFAULT,
},
// ITE Amiga versions /////////////////////////////////////////////////////////////////////////////////////
@@ -1241,7 +1166,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_AmigaGermanAGA_IntroList,
+ INTROLIST_ITE_AMIGA_GERMAN_AGA,
},
// This is on the same disk as previous but it's for ECS systems
{
@@ -1264,7 +1189,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_AmigaGermanECS_IntroList,
+ INTROLIST_ITE_AMIGA_GERMAN_ECS,
},
// Amiga Future coverdisk/Wyrmkeep English edition
{
@@ -1287,7 +1212,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_IntroListDefault + 1, // Skip first (logo) scene until we figure it out
+ INTROLIST_ITE_AMIGA_ENGLISH_AGA_CD,
},
// This is on the same disk as previous but it's for ECS systems
{
@@ -1310,7 +1235,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(ITE_GameFonts),
ITE_GameFonts,
ITEPatch_Files,
- ITE_AmigaEnglishECSCD_IntroList,
+ INTROLIST_ITE_AMIGA_ENGLISH_ECS_CD,
},
// TODO: Add Amiga floppy versions
@@ -1341,7 +1266,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMDEMO_GameFonts),
IHNMDEMO_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - English CD version
@@ -1374,7 +1299,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - De CD version
@@ -1405,7 +1330,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - German fan CD translation
@@ -1436,7 +1361,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Hungarian fan CD translation
@@ -1467,7 +1392,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Sp CD version
@@ -1496,7 +1421,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Korean CD version
@@ -1526,7 +1451,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Fr CD version
@@ -1556,7 +1481,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Chinese CD
@@ -1586,7 +1511,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Italian fan CD translation
@@ -1615,7 +1540,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Russian fan translaction v1.0 (by jack7277 et al)
@@ -1648,7 +1573,7 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
// I Have No Mouth And I Must Scream - Mac English CD
@@ -1675,10 +1600,10 @@ static const SAGAGameDescription gameDescriptions[] = {
ARRAYSIZE(IHNMCD_GameFonts),
IHNMCD_GameFonts,
NULL,
- NULL,
+ INTROLIST_NONE,
},
- { AD_TABLE_END_MARKER, 0, 0, 0, NULL, 0, NULL, NULL, NULL }
+ { AD_TABLE_END_MARKER, 0, 0, 0, NULL, 0, NULL, NULL, INTROLIST_NONE }
};
} // End of namespace Saga
diff --git a/engines/saga/introproc_ite.cpp b/engines/saga/introproc_ite.cpp
index aaefb0942d3..666e58ebc83 100644
--- a/engines/saga/introproc_ite.cpp
+++ b/engines/saga/introproc_ite.cpp
@@ -49,21 +49,112 @@ namespace Saga {
#define DISSOLVE_DURATION 3000
#define LOGO_DISSOLVE_DURATION 1000
+// Intro scenes
+#define RID_ITE_INTRO_ANIM_SCENE 1538
+#define RID_ITE_CAVE_SCENE_1 1542
+#define RID_ITE_CAVE_SCENE_2 1545
+#define RID_ITE_CAVE_SCENE_3 1548
+#define RID_ITE_CAVE_SCENE_4 1551
+#define RID_ITE_VALLEY_SCENE 1556
+#define RID_ITE_TREEHOUSE_SCENE 1560
+#define RID_ITE_FAIREPATH_SCENE 1564
+#define RID_ITE_FAIRETENT_SCENE 1567
+
+// Intro scenes - DOS demo
+#define RID_ITE_INTRO_ANIM_SCENE_DOS_DEMO 298
+#define RID_ITE_CAVE_SCENE_DOS_DEMO 302
+#define RID_ITE_VALLEY_SCENE_DOS_DEMO 310
+
// ITE intro music
#define MUSIC_INTRO 9
#define MUSIC_TITLE_THEME 10
+static LoadSceneParams ITE_IntroListDefault[] = {
+ {RID_ITE_INTRO_ANIM_SCENE, kLoadByResourceId, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_CAVE_SCENE_1, kLoadByResourceId, Scene::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_CAVE_SCENE_2, kLoadByResourceId, Scene::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_CAVE_SCENE_3, kLoadByResourceId, Scene::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_CAVE_SCENE_4, kLoadByResourceId, Scene::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_VALLEY_SCENE, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_TREEHOUSE_SCENE, kLoadByResourceId, Scene::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_FAIREPATH_SCENE, kLoadByResourceId, Scene::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_FAIRETENT_SCENE, kLoadByResourceId, Scene::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
+};
+
+static const LoadSceneParams ITE_AmigaEnglishECSCD_IntroList[] = {
+// {1544, kLoadByResourceId, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE}, // Crashes, skip for now
+ {1548, kLoadByResourceId, Scene::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1551, kLoadByResourceId, Scene::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1554, kLoadByResourceId, Scene::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1557, kLoadByResourceId, Scene::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1562, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1566, kLoadByResourceId, Scene::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1570, kLoadByResourceId, Scene::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1573, kLoadByResourceId, Scene::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
+};
+
+static const LoadSceneParams ITE_AmigaGermanAGA_IntroList[] = {
+ {1538, kLoadByResourceId, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1543, kLoadByResourceId, Scene::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1547, kLoadByResourceId, Scene::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1551, kLoadByResourceId, Scene::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1555, kLoadByResourceId, Scene::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1560, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1564, kLoadByResourceId, Scene::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1568, kLoadByResourceId, Scene::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1571, kLoadByResourceId, Scene::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
+};
+
+static const LoadSceneParams ITE_AmigaGermanECS_IntroList[] = {
+ {1544, kLoadByResourceId, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1549, kLoadByResourceId, Scene::SC_ITEIntroCave1Proc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1553, kLoadByResourceId, Scene::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1557, kLoadByResourceId, Scene::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1561, kLoadByResourceId, Scene::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1566, (Saga::SceneLoadFlags) (kLoadByResourceId | kLoadBgMaskIsImage), Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {1570, kLoadByResourceId, Scene::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1574, kLoadByResourceId, Scene::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {1577, kLoadByResourceId, Scene::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
+};
+
+static const LoadSceneParams ITE_DOS_Demo_IntroList[] = {
+ {RID_ITE_INTRO_ANIM_SCENE_DOS_DEMO, kLoadByResourceId, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_CAVE_SCENE_DOS_DEMO, kLoadByResourceId, Scene::SC_ITEIntroCaveDemoProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {RID_ITE_VALLEY_SCENE_DOS_DEMO, kLoadByResourceId, Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0, NO_CHAPTER_CHANGE},
+ {0, kLoadByResourceId, nullptr, false, kTransitionNoFade, 0, 0}
+};
+
+static const LoadSceneParams *ITE_IntroLists[INTROLIST_MAX] = {
+ /* INTROLIST_ITE_NONE */ nullptr,
+ /* INTROLIST_ITE_DEFAULT */ ITE_IntroListDefault,
+ /* INTROLIST_ITE_AMIGA_ENGLISH_AGA_CD */ ITE_IntroListDefault + 1, // Skip first (logo) scene until we figure it out
+ /* INTROLIST_ITE_AMIGA_ENGLISH_ECS_CD */ ITE_AmigaEnglishECSCD_IntroList,
+ /* INTROLIST_ITE_AMIGA_GERMAN_AGA */ ITE_AmigaGermanAGA_IntroList,
+ /* INTROLIST_ITE_AMIGA_GERMAN_ECS */ ITE_AmigaGermanECS_IntroList,
+ /* INTROLIST_ITE_DOS_DEMO */ ITE_DOS_Demo_IntroList
+};
+
int Scene::ITEStartProc() {
LoadSceneParams firstScene;
LoadSceneParams tempScene;
- const LoadSceneParams *scenes;
+ const LoadSceneParams *scenes = nullptr;
- scenes = _vm->getIntroScenes();
+ GameIntroList index = _vm->getIntroList();
+ if (index < INTROLIST_MAX && index > INTROLIST_NONE)
+ scenes = ITE_IntroLists[index];
- for (int i = 0; scenes[i].sceneDescriptor; i++) {
- tempScene = scenes[i];
- tempScene.sceneDescriptor = _vm->_resource->convertResourceId(tempScene.sceneDescriptor);
- _vm->_scene->queueScene(tempScene);
+ if (scenes) {
+ for (int i = 0; scenes[i].sceneDescriptor; i++) {
+ tempScene = scenes[i];
+ tempScene.sceneDescriptor = _vm->_resource->convertResourceId(tempScene.sceneDescriptor);
+ _vm->_scene->queueScene(tempScene);
+ }
+ } else {
+ warning("Missing intro list");
}
firstScene.loadFlag = kLoadBySceneNumber;
@@ -290,7 +381,7 @@ EventColumns *Scene::queueCredits(int delta_time, int duration, int n_credits, c
return eventColumns;
}
-int SceneHandlers::SC_ITEIntroAnimProc(int param, void *refCon) {
+int Scene::SC_ITEIntroAnimProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroAnimProc(param);
}
@@ -470,31 +561,31 @@ int Scene::ITEIntroCaveDemoProc(int param) {
return 0;
}
-int SceneHandlers::SC_ITEIntroCaveDemoProc(int param, void *refCon) {
+int Scene::SC_ITEIntroCaveDemoProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroCaveDemoProc(param);
}
// Handles first introductory cave painting scene
-int SceneHandlers::SC_ITEIntroCave1Proc(int param, void *refCon) {
+int Scene::SC_ITEIntroCave1Proc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroCaveCommonProc(param, 1);
}
// Handles second introductory cave painting scene
-int SceneHandlers::SC_ITEIntroCave2Proc(int param, void *refCon) {
+int Scene::SC_ITEIntroCave2Proc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroCaveCommonProc(param, 2);
}
// Handles third introductory cave painting scene
-int SceneHandlers::SC_ITEIntroCave3Proc(int param, void *refCon) {
+int Scene::SC_ITEIntroCave3Proc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroCaveCommonProc(param, 3);
}
// Handles fourth introductory cave painting scene
-int SceneHandlers::SC_ITEIntroCave4Proc(int param, void *refCon) {
+int Scene::SC_ITEIntroCave4Proc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroCaveCommonProc(param, 4);
}
-int SceneHandlers::SC_ITEIntroValleyProc(int param, void *refCon) {
+int Scene::SC_ITEIntroValleyProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroValleyProc(param);
}
@@ -575,7 +666,7 @@ int Scene::ITEIntroValleyProc(int param) {
return 0;
}
-int SceneHandlers::SC_ITEIntroTreeHouseProc(int param, void *refCon) {
+int Scene::SC_ITEIntroTreeHouseProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroTreeHouseProc(param);
}
@@ -631,7 +722,7 @@ int Scene::ITEIntroTreeHouseProc(int param) {
return 0;
}
-int SceneHandlers::SC_ITEIntroFairePathProc(int param, void *refCon) {
+int Scene::SC_ITEIntroFairePathProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroFairePathProc(param);
}
@@ -685,7 +776,7 @@ int Scene::ITEIntroFairePathProc(int param) {
return 0;
}
-int SceneHandlers::SC_ITEIntroFaireTentProc(int param, void *refCon) {
+int Scene::SC_ITEIntroFaireTentProc(int param, void *refCon) {
return ((Scene *)refCon)->ITEIntroFaireTentProc(param);
}
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index 89cdcf1f7f9..a01c0babdd0 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -424,7 +424,7 @@ public:
bool isAGA() const { return _gameDescription->features & GF_AGA_GRAPHICS; }
bool isECS() const { return _gameDescription->features & GF_ECS_GRAPHICS; }
unsigned getPalNumEntries() const { return isECS() ? 32 : 256; }
- const LoadSceneParams *getIntroScenes() const { return _gameDescription->introScenes; }
+ GameIntroList getIntroList() const { return _gameDescription->introList; }
int16 _framesEsc;
diff --git a/engines/saga/scene.h b/engines/saga/scene.h
index e30f68887d7..a2da9efefd0 100644
--- a/engines/saga/scene.h
+++ b/engines/saga/scene.h
@@ -38,6 +38,7 @@ namespace Saga {
//#define SCENE_DEBUG // for scene debugging
#define SCENE_DOORS_MAX 16
+#define NO_CHAPTER_CHANGE -2
// Scenes
#define ITE_SCENE_INV -1
@@ -58,6 +59,9 @@ struct BGInfo {
byte *buffer;
};
+typedef int (SceneProc) (int, void *);
+
+
enum SCENE_PROC_PARAMS {
SCENE_BEGIN = 0,
SCENE_END
@@ -136,6 +140,28 @@ struct SceneImage {
};
+enum SceneTransitionType {
+ kTransitionNoFade,
+ kTransitionFade
+};
+
+enum SceneLoadFlags {
+ kLoadByResourceId = 0,
+ kLoadBySceneNumber = 1,
+ kLoadIdTypeMask = 1,
+ kLoadBgMaskIsImage = 1 << 16,
+};
+
+struct LoadSceneParams {
+ int32 sceneDescriptor;
+ SceneLoadFlags loadFlag;
+ SceneProc *sceneProc;
+ bool sceneSkipTarget;
+ SceneTransitionType transitionType;
+ int actorsEntrance;
+ int chapter;
+};
+
typedef Common::List<LoadSceneParams> SceneQueueList;
///// IHNM-specific stuff
@@ -338,6 +364,18 @@ class Scene {
bool playTitle(int title, int time, int mode = kPanelVideo);
bool playLoopingTitle(int title, int seconds);
+ public:
+ static int SC_ITEIntroAnimProc(int param, void *refCon);
+ static int SC_ITEIntroCave1Proc(int param, void *refCon);
+ static int SC_ITEIntroCave2Proc(int param, void *refCon);
+ static int SC_ITEIntroCave3Proc(int param, void *refCon);
+ static int SC_ITEIntroCave4Proc(int param, void *refCon);
+ static int SC_ITEIntroValleyProc(int param, void *refCon);
+ static int SC_ITEIntroTreeHouseProc(int param, void *refCon);
+ static int SC_ITEIntroFairePathProc(int param, void *refCon);
+ static int SC_ITEIntroFaireTentProc(int param, void *refCon);
+ static int SC_ITEIntroCaveDemoProc(int param, void *refCon);
+
private:
EventColumns *queueIntroDialogue(EventColumns *eventColumns, int n_dialogues, const IntroDialogue dialogue[]);
EventColumns *queueCredits(int delta_time, int duration, int n_credits, const IntroCredit credits[]);
@@ -348,8 +386,6 @@ class Scene {
int ITEIntroTreeHouseProc(int param);
int ITEIntroFairePathProc(int param);
int ITEIntroFaireTentProc(int param);
-
- friend SceneHandlers;
};
} // End of namespace Saga
diff --git a/engines/saga/shared_detection_defines.h b/engines/saga/shared_detection_defines.h
index 0d03a0c5e98..fed4e2d9e19 100644
--- a/engines/saga/shared_detection_defines.h
+++ b/engines/saga/shared_detection_defines.h
@@ -24,45 +24,3 @@
#define IHNM_DEFAULT_SCENE 151
#define ITEDEMO_DEFAULT_SCENE 68
#define IHNMDEMO_DEFAULT_SCENE 144
-
-namespace Saga {
-typedef int (SceneProc) (int, void *);
-
-class SceneHandlers {
-public:
- static int SC_ITEIntroAnimProc(int param, void *refCon);
- static int SC_ITEIntroCave1Proc(int param, void *refCon);
- static int SC_ITEIntroCave2Proc(int param, void *refCon);
- static int SC_ITEIntroCave3Proc(int param, void *refCon);
- static int SC_ITEIntroCave4Proc(int param, void *refCon);
- static int SC_ITEIntroValleyProc(int param, void *refCon);
- static int SC_ITEIntroTreeHouseProc(int param, void *refCon);
- static int SC_ITEIntroFairePathProc(int param, void *refCon);
- static int SC_ITEIntroFaireTentProc(int param, void *refCon);
- static int SC_ITEIntroCaveDemoProc(int param, void *refCon);
-};
-
-enum SceneTransitionType {
- kTransitionNoFade,
- kTransitionFade
-};
-
-enum SceneLoadFlags {
- kLoadByResourceId = 0,
- kLoadBySceneNumber = 1,
- kLoadIdTypeMask = 1,
- kLoadBgMaskIsImage = 1 << 16,
-};
-
-struct LoadSceneParams {
- int32 sceneDescriptor;
- SceneLoadFlags loadFlag;
- SceneProc *sceneProc;
- bool sceneSkipTarget;
- SceneTransitionType transitionType;
- int actorsEntrance;
- int chapter;
-};
-
-#define NO_CHAPTER_CHANGE -2
-}
More information about the Scummvm-git-logs
mailing list