More simon 2 targets (amiga/mac ports)
svn-id: r6396
This commit is contained in:
parent
905d6b6008
commit
8b9e8cb812
7 changed files with 13 additions and 7 deletions
|
@ -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"},
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue