Add a few Amiga games corrections and todos

svn-id: r7238
This commit is contained in:
Travis Howell 2003-05-01 07:55:55 +00:00
parent 48293bd132
commit 5c987fac47
3 changed files with 35 additions and 23 deletions

View file

@ -39,7 +39,7 @@ byte *SimonState::dumpOpcode(byte *p) {
return NULL;
if (_game == GAME_SIMON1DOS || _game == GAME_SIMON1DEMO) {
st = s = simon1dos_opcode_name_table[opcode];
} else if (_game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) {
} else if (_game == GAME_SIMON1CD32 || _game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) {
st = s = simon1talkie_opcode_name_table[opcode];
} else if (_game == GAME_SIMON2TALKIE || _game == GAME_SIMON2WIN) {
st = s = simon2talkie_opcode_name_table[opcode];

View file

@ -1228,7 +1228,7 @@ void SimonState::o_177() {
tv = getThreeValues(a);
}
if (_game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) {
if (_game == GAME_SIMON1CD32 || _game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN) {
if (child != NULL && child->avail_props & 0x200) {
uint offs = getOffsetOfChild2Param(child, 0x200);
if (!_subtitles)

View file

@ -1430,6 +1430,7 @@ uint SimonState::item_get_icon_number(Item *item) {
void SimonState::loadIconFile() {
File in;
if (_game & GF_AMIGAS)
/* TODO Add support for decruncher */
in.open("icon.pkd", _gameDataPath);
else
in.open("ICON.DAT", _gameDataPath);
@ -4419,6 +4420,7 @@ void SimonState::read_vga_from_datfile_1(uint vga_id) {
if (_game == GAME_SIMON1CD32) {
sprintf(buf, "0%d.out", vga_id);
} else if (_game == GAME_SIMON1AMIGA) {
/* TODO Add support for decruncher */
sprintf(buf, "0%d.pkd", vga_id);
} else {
sprintf(buf, "0%d.VGA", vga_id);
@ -4452,6 +4454,7 @@ byte *SimonState::read_vga_from_datfile_2(uint id) {
if (_game == GAME_SIMON1CD32) {
sprintf(buf, "%.3d%d.out", id >> 1, (id & 1) + 1);
} else if (_game == GAME_SIMON1AMIGA) {
/* TODO Add support for decruncher */
sprintf(buf, "%.3d%d.pkd", id >> 1, (id & 1) + 1);
} else {
sprintf(buf, "%.3d%d.VGA", id >> 1, (id & 1) + 1);
@ -5054,7 +5057,15 @@ void SimonState::playMusic(uint music_unk, uint music) {
_vc70_var1 = 0xFFFF;
_vc72_var3 = 0xFFFF;
_midi_unk2 = 0xFFFF;
} else if (!(_game & GF_DEMO) && !(_game & GF_AMIGAS)){ // Simon 1 music
} else { // Simon 1 music
if (_game & GF_AMIGAS) {
if (_game != GAME_SIMON1CD32) {
/* TODO Add support for decruncher */
}
/* TODO Add Protracker support for simon1amiga/cd32 */
} else if (_game & GF_DEMO) {
/* TODO Add music support for simon1demo */
} else {
midi.shutdown();
if (_game & GF_WIN) {
_game_file->seek(_game_offsets_ptr[gss->MUSIC_INDEX_BASE + music], SEEK_SET);
@ -5077,6 +5088,7 @@ void SimonState::playMusic(uint music_unk, uint music) {
midi.initialize();
midi.play();
}
}
}
byte *SimonState::dx_lock_2() {