diff options
Diffstat (limited to 'simon/res.cpp')
-rw-r--r-- | simon/res.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/simon/res.cpp b/simon/res.cpp index 96afbee696..3845f2fa2e 100644 --- a/simon/res.cpp +++ b/simon/res.cpp @@ -96,6 +96,23 @@ static const char *const opcode_arg_table_simon2dos[256] = { " ", " ", "BT ", " ", "B " }; +static const char *const opcode_arg_table_feeblefiles[256] = { + " ", "I ", "I ", "I ", "I ", "I ", "I ", "II ", "II ", "II ", "II ", "B ", "B ", "BN ", "BN ", + "BN ", "BN ", "BB ", "BB ", "BB ", "BB ", "II ", "II ", "N ", "I ", "I ", "I ", "IN ", "IB ", + "II ", "I ", "I ", "II ", "II ", "IBB ", "BIB ", "BB ", "B ", "BI ", "IB ", "B ", "B ", "BN ", + "BN ", "BN ", "BB ", "BB ", "BN ", "BN ", "BB ", "BB ", "BN ", "BB ", "BN ", "B ", "I ", "IB ", + "IB ", "II ", "I ", "I ", "IN ", "B ", "T ", "T ", "NNNNNB ", "BT ", "BTS ", "T ", " ", "B ", + "N ", "IBN ", "I ", "I ", "I ", "NN ", " ", " ", "IT ", "II ", "I ", "B ", " ", "IB ", "IBB ", + "IIB ", "T ", " ", " ", "IB ", "IB ", "IB ", "B ", "BB ", "IBB ", "NB ", "N ", "NNBNNN ", "NN ", + " ", "BNNNNNN ", "B ", " ", "B ", "B ", "BB ", "NNNNNIN ", "N ", "N ", "N ", "NNN ", "NBNN ", + "IBNN ", "IB ", "IB ", "IB ", "IB ", "N ", "N ", "N ", "BI ", " ", " ", "N ", "I ", "IBB ", + "NNB ", "N ", "N ", "Ban ", " ", " ", " ", " ", " ", "IB ", "B ", " ", "II ", " ", "BI ", + "N ", "I ", "IB ", "IB ", "IB ", "IB ", "IB ", "IB ", "IB ", "BI ", "BB ", "B ", "B ", "B ", + "B ", "IBB ", "IBN ", "IB ", "B ", "BNNN ", "BBTS ", "N ", " ", "Ian ", "B ", "B ", "B ", "B ", + "T ", "N ", " ", " ", "I ", " ", " ", "BBI ", "NNBB ", "BBB ", " ", " ", "T ", " ", "N ", "N ", + " ", " ", "BT ", " ", "B ", " ", "BBBB ", " ", " ", "BBBB ", "B ", "B ", "B ", "B " +}; + void SimonEngine::loadGamePcFile(const char *filename) { Common::File in; int num_inited_objects; @@ -148,6 +165,9 @@ void SimonEngine::loadGamePcFile(const char *filename) { _tablesHeapPtrOrg = _tablesHeapPtr; _tablesHeapCurPosOrg = _tablesHeapCurPos; + if (_game == GAME_FEEBLEFILES) + return; + /* Read list of TEXT resources */ if (_game == GAME_SIMON1ACORN) in.open("STRIPPED"); @@ -260,7 +280,9 @@ byte *SimonEngine::readSingleOpcode(Common::File *in, byte *ptr) { const char *const *table; - if ((_game & GF_SIMON2) && (_game & GF_TALKIE)) + if (_game == GAME_FEEBLEFILES) { + table = opcode_arg_table_feeblefiles; + } else if ((_game & GF_SIMON2) && (_game & GF_TALKIE)) table = opcode_arg_table_simon2win; else if (_game & GF_SIMON2) table = opcode_arg_table_simon2dos; |