mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-15 16:58:01 +00:00
GLK: SCOTT: Add support for Sorcerer of Claymorgue Castle
This commit is contained in:
parent
98d5b72442
commit
ecae491c20
@ -97,11 +97,20 @@ static C64Rec g_C64Registry[] = {
|
||||
{ GREMLINS_GERMAN_C64, 0xc003, 0x558c, TYPE_T64, 1, nullptr, nullptr, 0, 0xd801, 0xc6c0, 0x1f00 }, // German Gremlins C64 (T64) version * TBC Multicompactor v2.x
|
||||
{ GREMLINS_GERMAN_C64, 0x2ab00, 0x6729, TYPE_D64, 2, nullptr, nullptr, 0, 0xdc02, 0xcac1, 0x1f00 }, // German Gremlins C64 (D64) version * Exomizer
|
||||
|
||||
{SEAS_OF_BLOOD_C64, 0xa209, 0xf115, TYPE_T64, 6, "-e0x1000", nullptr, 3, 0xd802, 0xb07c, 0x2000}, // Seas of Blood C64 (T64) MasterCompressor / Relax -> ECA
|
||||
{ SEAS_OF_BLOOD_C64, 0xa209, 0xf115, TYPE_T64, 6, "-e0x1000", nullptr, 3, 0xd802, 0xb07c, 0x2000 }, // Seas of Blood C64 (T64) MasterCompressor / Relax -> ECA
|
||||
// Compacker -> Unknown -> MasterCompressor / Relax -> ECA
|
||||
// Compacker -> CCS Packer
|
||||
{SEAS_OF_BLOOD_C64, 0x2ab00, 0x5c1d, TYPE_D64, 1, nullptr, nullptr, 0, 0xd802, 0xb07c, 0x2000}, // Seas of Blood C64 (D64) CCS Packer
|
||||
{SEAS_OF_BLOOD_C64, 0x2ab00, 0xe308, TYPE_D64, 1, nullptr, nullptr, 0, 0xd802, 0xb07c, 0x2000}, // Seas of Blood C64 (D64) alt CCS Packer
|
||||
{ SEAS_OF_BLOOD_C64, 0x2ab00, 0x5c1d, TYPE_D64, 1, nullptr, nullptr, 0, 0xd802, 0xb07c, 0x2000 }, // Seas of Blood C64 (D64) CCS Packer
|
||||
{ SEAS_OF_BLOOD_C64, 0x2ab00, 0xe308, TYPE_D64, 1, nullptr, nullptr, 0, 0xd802, 0xb07c, 0x2000 }, // Seas of Blood C64 (D64) alt CCS Packer
|
||||
|
||||
{ CLAYMORGUE_C64, 0x6ff7, 0xe4ed, TYPE_T64, 3, nullptr, nullptr, 0, 0x855, 0x7352, 0x20}, // Sorcerer Of Claymorgue Castle C64 (T64), MasterCompressor / Relax
|
||||
// -> ECA Compacker -> MegaByte Cruncher v1.x Missing 17 pictures
|
||||
{ CLAYMORGUE_C64, 0x912f, 0xa69f, TYPE_T64, 1, nullptr, nullptr, 0, 0x855, 0x7352, 0x20}, // Sorcerer Of Claymorgue Castle C64 (T64) alt, MegaByte Cruncher
|
||||
// v1.x Missing 17 pictures
|
||||
{ CLAYMORGUE_C64, 0xc0dd, 0x3701, TYPE_T64, 1, nullptr, nullptr, 0, 0, 0, 0, -0x7fe},// Sorcerer Of Claymorgue Castle C64 (T64) alt 2, Trilogic Expert
|
||||
// v2.7
|
||||
{ CLAYMORGUE_C64, 0xbc5f, 0x492c, TYPE_T64, 1, nullptr, nullptr, 0, 0x855, 0x7352, 0x20}, // Sorcerer Of Claymorgue Castle C64 (T64) alt 3, , Section8 Packer
|
||||
{ CLAYMORGUE_C64, 0x2ab00, 0xfd67, TYPE_D64, 1, nullptr, nullptr, 0, 0x855, 0x7352, 0x20}, // Sorcerer Of Claymorgue Castle C64 (D64), Section8 Packer
|
||||
|
||||
{ UNKNOWN_GAME, 0, 0, UNKNOWN_FILE_TYPE, 0, nullptr, nullptr, 0, 0, 0, 0 }
|
||||
};
|
||||
|
@ -189,6 +189,9 @@ const GlkDetectionEntry SCOTT_GAMES[] = {
|
||||
DT_ENTRY1("seasofblood", "C64", "267c3fe2bb150365de0358f07b5df15c", 174848),
|
||||
DT_ENTRY1("seasofblood", "C64", "46280fb1d701a41492b8434467c31029", 41481),
|
||||
|
||||
//Scott Adams
|
||||
DT_ENTRY1("claymorguesorcerer","C64", "a1db488c49ad221fa0dc79591cb5a3db", 28663),
|
||||
|
||||
// 11 Mysterious Adventures
|
||||
DT_ENTRY1("mysadv1", "C64", "b4d8fc4eabed4f2400717303561ad0fa", 174848),
|
||||
DT_ENTRY1("mysadv2", "C64", "3ce5ea1a0473244bf469fd3c51f1dc48", 174848),
|
||||
|
@ -134,5 +134,56 @@ void mysterious64Sysmess() {
|
||||
}
|
||||
}
|
||||
|
||||
void claymorgue64Sysmess() {
|
||||
SysMessageType messagekey[] = {
|
||||
NORTH,
|
||||
SOUTH,
|
||||
EAST,
|
||||
WEST,
|
||||
UP,
|
||||
DOWN,
|
||||
EXITS,
|
||||
YOU_SEE,
|
||||
YOU_ARE,
|
||||
TOO_DARK_TO_SEE,
|
||||
LIGHT_HAS_RUN_OUT,
|
||||
LIGHT_RUNS_OUT_IN,
|
||||
TURNS,
|
||||
I_DONT_KNOW_HOW_TO,
|
||||
SOMETHING,
|
||||
I_DONT_KNOW_WHAT_A,
|
||||
IS,
|
||||
YOU_CANT_GO_THAT_WAY,
|
||||
OK,
|
||||
WHAT_NOW,
|
||||
HUH,
|
||||
YOU_HAVE_IT,
|
||||
YOU_HAVENT_GOT_IT,
|
||||
INVENTORY,
|
||||
YOU_DONT_SEE_IT,
|
||||
THATS_BEYOND_MY_POWER,
|
||||
DANGEROUS_TO_MOVE_IN_DARK,
|
||||
DIRECTION,
|
||||
YOU_FELL_AND_BROKE_YOUR_NECK,
|
||||
YOURE_CARRYING_TOO_MUCH,
|
||||
IM_DEAD,
|
||||
PLAY_AGAIN,
|
||||
RESUME_A_SAVED_GAME,
|
||||
IVE_STORED,
|
||||
TREASURES,
|
||||
ON_A_SCALE_THAT_RATES,
|
||||
YOU_CANT_DO_THAT_YET,
|
||||
I_DONT_UNDERSTAND,
|
||||
NOTHING,
|
||||
YOUVE_SOLVED_IT};
|
||||
|
||||
for (int i = 0; i < 40; i++) {
|
||||
_G(_sys)[messagekey[i]] = _G(_systemMessages)[i];
|
||||
}
|
||||
|
||||
_G(_sys)[I_DONT_KNOW_HOW_TO] = "I don't know how to \"";
|
||||
_G(_sys)[SOMETHING] = "\" something. ";
|
||||
}
|
||||
|
||||
} // End of namespace Scott
|
||||
} // End of namespace Glk
|
||||
|
@ -37,6 +37,7 @@ namespace Glk {
|
||||
namespace Scott {
|
||||
|
||||
void mysterious64Sysmess();
|
||||
void claymorgue64Sysmess();
|
||||
|
||||
} // End of namespace Scott
|
||||
} // End of namespace Glk
|
||||
|
@ -1446,5 +1446,89 @@ const GameInfo _games[NUMGAMES] = {
|
||||
139, // number_of_pictures;
|
||||
C64B, // palette
|
||||
4, // picture_format_version;
|
||||
0),
|
||||
GameInfo("The Sorcerer of Claymorgue Castle",
|
||||
CLAYMORGUE,
|
||||
NO_TYPE, // type
|
||||
ENGLISH, // subtype
|
||||
FIVE_LETTER_UNCOMPRESSED, // dictionary type
|
||||
|
||||
75, // Number of items
|
||||
267, // Number of actions
|
||||
109, // Number of words
|
||||
32, // Number of rooms
|
||||
10, // Max carried items
|
||||
5, // Word length
|
||||
79, // Number of messages
|
||||
|
||||
110, // number_of_verbs
|
||||
108, // number_of_nouns;
|
||||
|
||||
0x246c, // header
|
||||
EARLY, // header style
|
||||
|
||||
0x3bf6, // room images
|
||||
FOLLOWS, // item flags
|
||||
FOLLOWS, // item images
|
||||
FOLLOWS, // actions
|
||||
UNCOMPRESSED,
|
||||
0x4ecf, // dictionary
|
||||
0x53f7, // start_of_room_descriptions;
|
||||
0x4d6f, // start_of_room_connections;
|
||||
0x5605, // start_of_messages;
|
||||
FOLLOWS, // start_of_item_descriptions;
|
||||
0x4e35, // start_of_item_locations;
|
||||
|
||||
0x24e2, // start_of_system_messages
|
||||
0x2877, // start of directions
|
||||
|
||||
0x6007, // start_of_characters;
|
||||
0x6807, // start_of_image_data
|
||||
-0x3fe5, // image_address_offset
|
||||
37, // number_of_pictures;
|
||||
ZXOPT, // palette
|
||||
1, // picture_format_version;
|
||||
0),
|
||||
GameInfo("The Sorcerer of Claymorgue Castle C64",
|
||||
CLAYMORGUE_C64,
|
||||
NO_TYPE, // type
|
||||
static_cast<Subtype>(ENGLISH | C64), // subtype
|
||||
FIVE_LETTER_UNCOMPRESSED, // dictionary type
|
||||
|
||||
75, // Number of items
|
||||
265, // Number of actions
|
||||
108, // Number of words
|
||||
32, // Number of rooms
|
||||
10, // Max carried items
|
||||
5, // Word length
|
||||
79, // Number of messages
|
||||
|
||||
110, // number_of_verbs
|
||||
108, // number_of_nouns;
|
||||
|
||||
0x47d6, // header
|
||||
EARLY, // header style
|
||||
|
||||
0x471f, // room images
|
||||
FOLLOWS, // item flags
|
||||
FOLLOWS, // item images
|
||||
0x47f0, // actions
|
||||
UNCOMPRESSED,
|
||||
0x5891, // dictionary
|
||||
FOLLOWS, // start_of_room_descriptions;
|
||||
FOLLOWS, // start_of_room_connections;
|
||||
FOLLOWS, // start_of_messages;
|
||||
FOLLOWS, // start_of_item_descriptions;
|
||||
FOLLOWS, // start_of_item_locations;
|
||||
|
||||
0xa2c, // start_of_system_messages
|
||||
0xa2c, // start of directions
|
||||
|
||||
0x6b1a, // start_of_characters;
|
||||
0x731a, // start_of_image_data
|
||||
0x6b1a, // image_address_offset
|
||||
44, // number_of_pictures;
|
||||
C64B, // palette
|
||||
1, // picture_format_version;
|
||||
0)
|
||||
};
|
||||
|
@ -117,6 +117,7 @@ Globals::Globals() : _sys(MAX_SYSMESS), _directions(NUMBER_OF_DIRECTIONS), _extr
|
||||
_md5Index.setVal("e5d743d8727c8aca011a737bbb5ad818", 21); // gremlins
|
||||
_md5Index.setVal("267c3fe2bb150365de0358f07b5df15c", 24); // seas of blood
|
||||
_md5Index.setVal("46280fb1d701a41492b8434467c31029", 23); // seas of blood
|
||||
_md5Index.setVal("a1db488c49ad221fa0dc79591cb5a3db", 26); // sorcerer of claymorgue castle
|
||||
}
|
||||
|
||||
Globals::~Globals() {
|
||||
|
@ -143,6 +143,9 @@ void loadGameFile(Common::SeekableReadStream *f) {
|
||||
case SEAS_OF_BLOOD_C64:
|
||||
loadExtraSeasOfBlood64Data();
|
||||
break;
|
||||
case CLAYMORGUE_C64:
|
||||
claymorgue64Sysmess();
|
||||
break;
|
||||
case GREMLINS_GERMAN_C64:
|
||||
loadExtraGermanGremlinsc64Data();
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user