Ticket #5891: sword1-demo-fix.patch

File sword1-demo-fix.patch, 1.6 KB (added by digitall, 12 years ago)

Proposed Fix #1

  • engines/sword1/logic.cpp

    diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp
    index 9d92a29..30673bb 100644
    a b int Logic::interpretScript(Object *compact, int id, Header *scriptModule, int sc  
    520520                case IT_PUSHVARIABLE:
    521521                        debug(9, "IT_PUSHVARIABLE: ScriptVar[%d] => %d", scriptCode[pc], _scriptVars[scriptCode[pc]]);
    522522                        varNum = scriptCode[pc++];
    523                         if (SwordEngine::_systemVars.isDemo && SwordEngine::isPc()) {
     523                        if (SwordEngine::_systemVars.isDemo && !SwordEngine::isPsx()) {
    524524                                if (varNum >= 397) // BS1 Demo has different number of script variables
    525525                                        varNum++;
    526526                                if (varNum >= 699)
    int Logic::interpretScript(Object *compact, int id, Header *scriptModule, int sc  
    611611                case IT_POPVAR:         // pop a variable
    612612                        debug(9, "IT_POPVAR: ScriptVars[%d] = %d", scriptCode[pc], stack[stackIdx - 1]);
    613613                        varNum = scriptCode[pc++];
    614                         if (SwordEngine::_systemVars.isDemo && SwordEngine::isPc()) {
     614                        if (SwordEngine::_systemVars.isDemo && !SwordEngine::isPsx()) {
    615615                                if (varNum >= 397) // BS1 Demo has different number of script variables
    616616                                        varNum++;
    617617                                if (varNum >= 699)
  • engines/sword1/sword1.h

    diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
    index e973c12..a95fcd8 100644
    a b public:  
    9090
    9191        static bool isMac() { return _systemVars.platform == Common::kPlatformMacintosh; }
    9292        static bool isPsx() { return _systemVars.platform == Common::kPlatformPSX; }
    93         static bool isPc() { return _systemVars.platform == Common::kPlatformPC; }
    9493
    9594protected:
    9695        // Engine APIs