More simon 2 targets (amiga/mac ports)

svn-id: r6396
This commit is contained in:
Travis Howell 2003-01-11 15:38:37 +00:00
parent 905d6b6008
commit 8b9e8cb812
7 changed files with 13 additions and 7 deletions

View file

@ -158,6 +158,8 @@ const VersionSettings version_settings[] = {
{"simon1win", "Simon the Sorcerer 1 Talkie for Windows", GID_SIMON_FIRST+6, 99, 99, 99, 0, "SIMON.GME"}, {"simon1win", "Simon the Sorcerer 1 Talkie for Windows", GID_SIMON_FIRST+6, 99, 99, 99, 0, "SIMON.GME"},
{"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30"}, {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30"},
{"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30."}, {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30."},
{"simon2amiga", "Simon the Sorcerer 2 Talkie for Amiga", GID_SIMON_FIRST+23, 99, 99, 99, 0, "GSPTR30."},
{"simon2mac", "Simon the Sorcerer 2 Talkie for Mac", GID_SIMON_FIRST+23, 99, 99, 99, 0, "GSPTR30."},
{"simon1demo", "Simon the Sorcerer 1 for DOS (Demo)", GID_SIMON_FIRST+8, 99, 99, 99, 0, "GDEMO"}, {"simon1demo", "Simon the Sorcerer 1 for DOS (Demo)", GID_SIMON_FIRST+8, 99, 99, 99, 0, "GDEMO"},
{"simon2demo", "Simon the Sorcerer 2 Talkie for DOS (Demo)", GID_SIMON_FIRST+5, 99, 99, 99, 0, "GSPTR30"}, {"simon2demo", "Simon the Sorcerer 2 Talkie for DOS (Demo)", GID_SIMON_FIRST+5, 99, 99, 99, 0, "GSPTR30"},

View file

@ -56,7 +56,7 @@ enum GameId {
/* Simon the Sorcerer */ /* Simon the Sorcerer */
GID_SIMON_FIRST = 20, GID_SIMON_FIRST = 20,
GID_SIMON_LAST = GID_SIMON_FIRST + 8 GID_SIMON_LAST = GID_SIMON_FIRST + 23
}; };
enum GameFeatures { enum GameFeatures {

View file

@ -42,7 +42,7 @@ byte *SimonState::dumpOpcode(byte *p)
st = s = simon1dos_opcode_name_table[opcode]; st = s = simon1dos_opcode_name_table[opcode];
} else if (_game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) { } else if (_game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) {
st = s = simon1talkie_opcode_name_table[opcode]; st = s = simon1talkie_opcode_name_table[opcode];
} else if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) { } else if (_game == GAME_SIMON2TALKIE || _game & GAME_SIMON2WIN) {
st = s = simon2talkie_opcode_name_table[opcode]; st = s = simon2talkie_opcode_name_table[opcode];
} else { } else {
st = s = simon2dos_opcode_name_table[opcode]; st = s = simon2dos_opcode_name_table[opcode];

View file

@ -137,6 +137,7 @@ enum {
GAME_WIN = 2, GAME_WIN = 2,
GAME_TALKIE = 4, GAME_TALKIE = 4,
GAME_DEMO = 8, GAME_DEMO = 8,
GAME_MAC = 16,
GAME_SIMON1DOS = 0, GAME_SIMON1DOS = 0,
GAME_SIMON2DOS = GAME_SIMON2, GAME_SIMON2DOS = GAME_SIMON2,
@ -144,7 +145,8 @@ enum {
GAME_SIMON2TALKIE = GAME_SIMON2 + GAME_TALKIE, GAME_SIMON2TALKIE = GAME_SIMON2 + GAME_TALKIE,
GAME_SIMON1WIN = GAME_WIN + GAME_TALKIE, GAME_SIMON1WIN = GAME_WIN + GAME_TALKIE,
GAME_SIMON2WIN = GAME_SIMON2 + GAME_WIN + GAME_TALKIE, GAME_SIMON2WIN = GAME_SIMON2 + GAME_WIN + GAME_TALKIE,
GAME_SIMON1DEMO = GAME_DEMO GAME_SIMON1DEMO = GAME_DEMO,
GAME_SIMON2MAC = GAME_SIMON2WIN + GAME_MAC
}; };
#endif #endif

View file

@ -996,7 +996,7 @@ int SimonState::runScript()
ThreeValues *tv = getThreeValues(b); ThreeValues *tv = getThreeValues(b);
talk_with_text(b, c, s, tv->a, tv->b, tv->c); talk_with_text(b, c, s, tv->a, tv->b, tv->c);
} else if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) { } else if (_game == GAME_SIMON2TALKIE || _game & GAME_SIMON2WIN) {
const char *s = (const char *)getStringPtrByID(_stringid_array_3[a]); const char *s = (const char *)getStringPtrByID(_stringid_array_3[a]);
ThreeValues *tv = getThreeValues(b); ThreeValues *tv = getThreeValues(b);
uint d = _array_4[a]; uint d = _array_4[a];
@ -1258,7 +1258,7 @@ void SimonState::o_177()
talk_with_text(a, b, s, tv->a, tv->b, tv->c); talk_with_text(a, b, s, tv->a, tv->b, tv->c);
} }
} else if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) { } else if (_game == GAME_SIMON2TALKIE || _game & GAME_SIMON2WIN) {
const char *s = NULL; const char *s = NULL;
ThreeValues *tv = NULL; ThreeValues *tv = NULL;
char buf[256]; char buf[256];

View file

@ -272,6 +272,7 @@ byte *SimonState::readSingleOpcode(File *in, byte *ptr)
break; break;
case GAME_SIMON2TALKIE: case GAME_SIMON2TALKIE:
case GAME_SIMON2WIN: case GAME_SIMON2WIN:
case GAME_SIMON2MAC:
table = opcode_arg_table_simon2win; table = opcode_arg_table_simon2win;
break; break;
case GAME_SIMON1DOS: case GAME_SIMON1DOS:

View file

@ -1782,6 +1782,7 @@ void SimonState::o_print_str()
case GAME_SIMON2TALKIE: case GAME_SIMON2TALKIE:
case GAME_SIMON2WIN: case GAME_SIMON2WIN:
case GAME_SIMON2MAC:
if (speech_id != 0 && num_1 == 1 && !_vk_t_toggle) if (speech_id != 0 && num_1 == 1 && !_vk_t_toggle)
talk_with_speech(speech_id, num_1); talk_with_speech(speech_id, num_1);
@ -4495,7 +4496,7 @@ void SimonState::go()
_sdl_buf = (byte *)calloc(320 * 200, 1); _sdl_buf = (byte *)calloc(320 * 200, 1);
_sdl_buf_attached = (byte *)calloc(320 * 200, 1); _sdl_buf_attached = (byte *)calloc(320 * 200, 1);
if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) { if (_game == GAME_SIMON2TALKIE || _game & GAME_SIMON2WIN) {
gss = &simon2win_settings; gss = &simon2win_settings;
} else if (_game == GAME_SIMON2DOS) { } else if (_game == GAME_SIMON2DOS) {
gss = &simon2dos_settings; gss = &simon2dos_settings;
@ -4534,7 +4535,7 @@ void SimonState::go()
if (_sound->hasVoice()) { if (_sound->hasVoice()) {
_vk_t_toggle = false; _vk_t_toggle = false;
} else { } else {
_vk_t_toggle = true; _vk_t_toggle = false;
} }
midi._midi_sfx_toggle = false; midi._midi_sfx_toggle = false;