diff options
| author | Travis Howell | 2003-05-26 08:45:31 +0000 |
|---|---|---|
| committer | Travis Howell | 2003-05-26 08:45:31 +0000 |
| commit | b959d9d64e0f08b178e25489d86f3eab59bf2a3f (patch) | |
| tree | e3d9da2ac2baffe58b47cb9f28015c77a989847d /simon | |
| parent | 01b900e028e2683d10beae62ecec0c0625507791 (diff) | |
| download | scummvm-rg350-b959d9d64e0f08b178e25489d86f3eab59bf2a3f.tar.gz scummvm-rg350-b959d9d64e0f08b178e25489d86f3eab59bf2a3f.tar.bz2 scummvm-rg350-b959d9d64e0f08b178e25489d86f3eab59bf2a3f.zip | |
Commit hack to allow simon1amiga to run, for experimenting
svn-id: r7995
Diffstat (limited to 'simon')
| -rw-r--r-- | simon/charset.cpp | 8 | ||||
| -rw-r--r-- | simon/items.cpp | 7 | ||||
| -rw-r--r-- | simon/simon.cpp | 6 |
3 files changed, 17 insertions, 4 deletions
diff --git a/simon/charset.cpp b/simon/charset.cpp index 1ec69ef707..c96acd7710 100644 --- a/simon/charset.cpp +++ b/simon/charset.cpp @@ -97,6 +97,14 @@ void SimonState::render_string(uint num_1, uint color, uint width, uint height, byte *img = src + READ_LE_UINT16(img_hdr); byte *cur_dst = dst; + if (_game == GAME_SIMON1AMIGA) { + // FIXME Really bad hack to allow simon1amiga to work for now + // simon1amiga needs to be decoded a different way + warning("img_height is %d and img_width is %d", img_height, img_width); + img_height = 9; + img_width = 7; + } + assert(img_width > 0 && img_width < 50 && img_height > 0 && img_height < 50); do { diff --git a/simon/items.cpp b/simon/items.cpp index 8916e49e0c..5a5b745f86 100644 --- a/simon/items.cpp +++ b/simon/items.cpp @@ -274,7 +274,12 @@ int SimonState::runScript() { uint var = getVarOrByte(); uint value = (uint16)getVarOrWord(); - writeVariable(var, _rnd.getRandomNumber(value - 1)); + // Disable random in simon1amiga for now + // Since copy protection screen is currently unreadable + if (_game == GAME_SIMON1AMIGA) + writeVariable(var, 4); + else + writeVariable(var, _rnd.getRandomNumber(value - 1)); } break; diff --git a/simon/simon.cpp b/simon/simon.cpp index eff6a2a4f4..9451569e90 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -39,7 +39,7 @@ extern bool draw_keyboard; static const VersionSettings simon_settings[] = { // Simon the Sorcerer 1 & 2 (not SCUMM games) {"simon1dos", "Simon the Sorcerer 1 for DOS", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON1DOS, "GAMEPC"}, -// {"simon1amiga", "Simon the Sorcerer 1 for Amiga", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON1AMIGA, "gameamiga"}, + {"simon1amiga", "Simon the Sorcerer 1 for Amiga", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON1AMIGA, "gameamiga"}, {"simon2dos", "Simon the Sorcerer 2 for DOS", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON2DOS, "GAME32"}, {"simon1talkie", "Simon the Sorcerer 1 Talkie for DOS", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON1TALKIE, "SIMON.GME"}, {"simon2talkie", "Simon the Sorcerer 2 Talkie for DOS", GID_SIMON_FIRST, 99, 99, 99, GAME_SIMON2TALKIE, "GSPTR30"}, @@ -4081,7 +4081,7 @@ void SimonState::read_vga_from_datfile_1(uint vga_id) { sprintf(buf, "0%d.out", vga_id); } else if (_game == GAME_SIMON1AMIGA) { // TODO Add support for decruncher - sprintf(buf, "0%d.pkd", vga_id); + sprintf(buf, "0%d.pkd.out", vga_id); } else { sprintf(buf, "0%d.VGA", vga_id); } @@ -4115,7 +4115,7 @@ byte *SimonState::read_vga_from_datfile_2(uint id) { 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); + sprintf(buf, "%.3d%d.pkd.out", id >> 1, (id & 1) + 1); } else { sprintf(buf, "%.3d%d.VGA", id >> 1, (id & 1) + 1); } |
