diff options
Diffstat (limited to 'simon/res.cpp')
-rw-r--r-- | simon/res.cpp | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/simon/res.cpp b/simon/res.cpp index 2a9de5dd83..cd8183f53a 100644 --- a/simon/res.cpp +++ b/simon/res.cpp @@ -258,29 +258,14 @@ byte *SimonEngine::readSingleOpcode(File *in, byte *ptr) { const char *const *table; - switch (_game) { - case GAME_SIMON1TALKIE: - case GAME_SIMON1WIN: - case GAME_SIMON1CD32: - case GAME_SIMON1ACORN: - table = opcode_arg_table_simon1win; - break; - case GAME_SIMON2DOS: - table = opcode_arg_table_simon2dos; - break; - case GAME_SIMON2TALKIE: - case GAME_SIMON2WIN: - case GAME_SIMON2MAC: + if ((_game & GF_SIMON2) && (_game & GF_TALKIE)) table = opcode_arg_table_simon2win; - break; - case GAME_SIMON1DOS: - case GAME_SIMON1DEMO: - case GAME_SIMON1AMIGA: + else if (_game & GF_SIMON2) + table = opcode_arg_table_simon2dos; + else if (_game & GF_TALKIE) + table = opcode_arg_table_simon1win; + else table = opcode_arg_table_simon1dos; - break; - default: - error("Invalid game specified"); - } i = 0; |