diff options
-rw-r--r-- | simon/game.cpp | 95 | ||||
-rw-r--r-- | simon/intern.h | 1 | ||||
-rw-r--r-- | simon/simon.cpp | 20 |
3 files changed, 64 insertions, 52 deletions
diff --git a/simon/game.cpp b/simon/game.cpp index ba3e4e8589..21d6c73ff8 100644 --- a/simon/game.cpp +++ b/simon/game.cpp @@ -49,32 +49,38 @@ struct GameMD5 { #define FILE_MD5_BYTES 5000 static GameMD5 gameMD5[] = { - { GID_SIMON1ACORN, "64958b3a38afdcb85da1eeed85169806", "data", false }, - { GID_SIMON1ACORN, "28261b99cd9da1242189b4f6f2841bd6", "gamebase", false }, - { GID_SIMON1ACORN, "22107c24dfb31b66ac503c28a6e20b19", "icondata", false}, - { GID_SIMON1ACORN, "f3b27a3fbb45dcd323a48159496e45e8", "stripped", false}, - { GID_SIMON1ACORN, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, - - { GID_SIMON1CD32, "bab7f19237cf7d7619b6c73631da1854", "gameamiga", true }, - { GID_SIMON1CD32, "565ef7a98dcc21ef526a2bb10b6f42ed", "icon.pkd", true }, - { GID_SIMON1CD32, "59be788020441e21861e284236fd08c1", "stripped.txt", true}, - { GID_SIMON1CD32, "f9d5bf2ce09f82289c791c3ca26e1e4b", "tbllist", true}, - - { GID_SIMON1DOS, "9f93d27432ce44a787eef10adb640870", "gamepc", false }, - { GID_SIMON1DOS, "22107c24dfb31b66ac503c28a6e20b19", "icon.dat", false}, - { GID_SIMON1DOS, "2af9affc5981eec44b90d4c556145cb8", "stripped.txt", false}, - { GID_SIMON1DOS, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, - - { GID_SIMON1DEMO, "2be4a21bc76e2fdc071867c130651439", "gdemo", false }, - { GID_SIMON1DEMO, "55af3b4d93972bc58bfee38a86b76c3f", "icon.dat", false}, - { GID_SIMON1DEMO, "33a2e329b97b2a349858d6a093159eb7", "stripped.txt", false}, - { GID_SIMON1DEMO, "1247e024e1f13ca54c1e354120c7519c", "tbllist", false}, - - { GID_SIMON1TALKIE, "28261b99cd9da1242189b4f6f2841bd6", "gamepc", false }, - { GID_SIMON1TALKIE, "22107c24dfb31b66ac503c28a6e20b19", "icon.dat", false}, - { GID_SIMON1TALKIE, "64958b3a38afdcb85da1eeed85169806", "simon.gme", false }, - { GID_SIMON1TALKIE, "f3b27a3fbb45dcd323a48159496e45e8", "stripped.txt", false}, - { GID_SIMON1TALKIE, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, + { GID_SIMON1ACORNDEMO, "b4a7526ced425ba8ad0d548d0ec69900", "data", false }, + { GID_SIMON1ACORNDEMO, "425c7d1957699d35abca7e12a08c7422", "gamebase", false }, + { GID_SIMON1ACORNDEMO, "22107c24dfb31b66ac503c28a6e20b19", "icondata", false}, + { GID_SIMON1ACORNDEMO, "d9de7542612d9f4e0819ad0df5eac56b", "stripped", false}, + { GID_SIMON1ACORNDEMO, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, + + { GID_SIMON1ACORN, "64958b3a38afdcb85da1eeed85169806", "data", false }, + { GID_SIMON1ACORN, "28261b99cd9da1242189b4f6f2841bd6", "gamebase", false }, + { GID_SIMON1ACORN, "22107c24dfb31b66ac503c28a6e20b19", "icondata", false}, + { GID_SIMON1ACORN, "f3b27a3fbb45dcd323a48159496e45e8", "stripped", false}, + { GID_SIMON1ACORN, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, + + { GID_SIMON1CD32, "bab7f19237cf7d7619b6c73631da1854", "gameamiga", true }, + { GID_SIMON1CD32, "565ef7a98dcc21ef526a2bb10b6f42ed", "icon.pkd", true }, + { GID_SIMON1CD32, "59be788020441e21861e284236fd08c1", "stripped.txt", true}, + { GID_SIMON1CD32, "f9d5bf2ce09f82289c791c3ca26e1e4b", "tbllist", true}, + + { GID_SIMON1DOS, "9f93d27432ce44a787eef10adb640870", "gamepc", false }, + { GID_SIMON1DOS, "22107c24dfb31b66ac503c28a6e20b19", "icon.dat", false}, + { GID_SIMON1DOS, "2af9affc5981eec44b90d4c556145cb8", "stripped.txt", false}, + { GID_SIMON1DOS, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, + + { GID_SIMON1DEMO, "2be4a21bc76e2fdc071867c130651439", "gdemo", false }, + { GID_SIMON1DEMO, "55af3b4d93972bc58bfee38a86b76c3f", "icon.dat", false}, + { GID_SIMON1DEMO, "33a2e329b97b2a349858d6a093159eb7", "stripped.txt", false}, + { GID_SIMON1DEMO, "1247e024e1f13ca54c1e354120c7519c", "tbllist", false}, + + { GID_SIMON1TALKIE, "28261b99cd9da1242189b4f6f2841bd6", "gamepc", false }, + { GID_SIMON1TALKIE, "22107c24dfb31b66ac503c28a6e20b19", "icon.dat", false}, + { GID_SIMON1TALKIE, "64958b3a38afdcb85da1eeed85169806", "simon.gme", false }, + { GID_SIMON1TALKIE, "f3b27a3fbb45dcd323a48159496e45e8", "stripped.txt", false}, + { GID_SIMON1TALKIE, "d198a80de2c59e4a0cd24b98814849e8", "tbllist", false}, { GID_SIMON1TALKIE_FR, "00000000000000000000000000000000", "gamepc", false }, { GID_SIMON1TALKIE_FR, "00000000000000000000000000000000", "icon.dat", false}, @@ -118,11 +124,11 @@ static GameMD5 gameMD5[] = { { GID_SIMON1WIN_DE, "00000000000000000000000000000000", "stripped.txt", false}, { GID_SIMON1WIN_DE, "00000000000000000000000000000000", "tbllist", false}, - { GID_SIMON2DOS, "00000000000000000000000000000000", "game32", false }, - { GID_SIMON2DOS, "00000000000000000000000000000000", "icon.dat", false}, - { GID_SIMON2DOS, "00000000000000000000000000000000", "simon2.gme", false}, - { GID_SIMON2DOS, "00000000000000000000000000000000", "stripped.txt", false}, - { GID_SIMON2DOS, "00000000000000000000000000000000", "tbllist", false}, + { GID_SIMON2DOS, "00000000000000000000000000000000", "game32", false }, + { GID_SIMON2DOS, "00000000000000000000000000000000", "icon.dat", false}, + { GID_SIMON2DOS, "00000000000000000000000000000000", "simon2.gme", false}, + { GID_SIMON2DOS, "00000000000000000000000000000000", "stripped.txt", false}, + { GID_SIMON2DOS, "00000000000000000000000000000000", "tbllist", false}, { GID_SIMON2DEMO, "3794c15887539b8578bacab694ccf08a", "gsptr30", false }, { GID_SIMON2DEMO, "72096a62d36e6034ea9fecc13b2dbdab", "icon.dat", false}, @@ -227,17 +233,17 @@ static GameFileDescription SIMON2_GameFiles[] = { }; static GameDescription gameDescriptions[] = { - // Simon the Sorcerer 1 - English Amiga CD32 + // Simon the Sorcerer 1 - English Acorn CD Demo { "simon1", GType_SIMON1, - GID_SIMON1CD32, - "Simon the Sorcerer 1 (Amiga CD32)", - ARRAYSIZE(SIMON1_GameFiles), - SIMON1CD32_GameFiles, - GF_TALKIE | GF_OLD_BUNDLE, + GID_SIMON1ACORNDEMO, + "Simon the Sorcerer 1 (Acorn CD Demo)", + ARRAYSIZE(SIMON1ACORN_GameFiles), + SIMON1ACORN_GameFiles, + GF_TALKIE, Common::EN_USA, - Common::kPlatformAmiga, + Common::kPlatformAcorn, }, // Simon the Sorcerer 1 - English Acorn CD @@ -253,6 +259,19 @@ static GameDescription gameDescriptions[] = { Common::kPlatformAcorn, }, + // Simon the Sorcerer 1 - English Amiga CD32 + { + "simon1", + GType_SIMON1, + GID_SIMON1CD32, + "Simon the Sorcerer 1 (Amiga CD32)", + ARRAYSIZE(SIMON1_GameFiles), + SIMON1CD32_GameFiles, + GF_TALKIE | GF_OLD_BUNDLE, + Common::EN_USA, + Common::kPlatformAmiga, + }, + // Simon the Sorcerer 1 - English DOS Floppy Demo { "simon1", diff --git a/simon/intern.h b/simon/intern.h index c20c90e38a..0218fd2ed4 100644 --- a/simon/intern.h +++ b/simon/intern.h @@ -166,6 +166,7 @@ enum GameIds { GID_SIMON1AMIGA, GID_SIMON1CD32, GID_SIMON1ACORN, + GID_SIMON1ACORNDEMO, GID_SIMON1TALKIE, GID_SIMON1TALKIE_DE, GID_SIMON1TALKIE_FR, diff --git a/simon/simon.cpp b/simon/simon.cpp index b6704862a7..c30809d793 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -511,20 +511,16 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) } int SimonEngine::init(GameDetector &detector) { - // Detect game and open resource files + + // Add default file directories for Acorn version + File::addDefaultDirectory(_gameDataPath + "execute/"); + File::addDefaultDirectory(_gameDataPath + "EXECUTE/"); + + // Detect game if (!initGame()) { return -1; } - // Checking flags - if (getGameType() == GType_SIMON1) - printf("Simon1 game\n"); - else if (getGameType() == GType_SIMON2) - printf("Simon2 game\n"); - - if (getFeatures() & GF_TALKIE) - printf("Talkie\n"); - if (getGameType() == GType_FF) { _screenWidth = 640; _screenHeight = 480; @@ -651,10 +647,6 @@ int SimonEngine::init(GameDetector &detector) { } else if (getGameType() == GType_SIMON1) { if (getPlatform() == Common::kPlatformAcorn) { gss = PTR(simon1acorn_settings); - - // Add default file directories - File::addDefaultDirectory(_gameDataPath + "execute/"); - File::addDefaultDirectory(_gameDataPath + "EXECUTE/"); } else if (getPlatform() == Common::kPlatformAmiga) { gss = PTR(simon1amiga_settings); } else if (getGameId() == GID_SIMON1DEMO) { |