aboutsummaryrefslogtreecommitdiff
path: root/simon/res.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simon/res.cpp')
-rw-r--r--simon/res.cpp27
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;