diff options
author | Oliver Kiehl | 2003-04-26 09:43:48 +0000 |
---|---|---|
committer | Oliver Kiehl | 2003-04-26 09:43:48 +0000 |
commit | cfaee3247467b74dcc1796d73df09358a0345ede (patch) | |
tree | b6cef23583c4339cee9e0b973207e8f36a093a32 | |
parent | 2d1e313018994f9ac5feab903f205e2bc4db183d (diff) | |
download | scummvm-rg350-cfaee3247467b74dcc1796d73df09358a0345ede.tar.gz scummvm-rg350-cfaee3247467b74dcc1796d73df09358a0345ede.tar.bz2 scummvm-rg350-cfaee3247467b74dcc1796d73df09358a0345ede.zip |
some more endian fixes. runs on my mac now as well
svn-id: r7124
-rw-r--r-- | sky/debug.cpp | 2 | ||||
-rw-r--r-- | sky/logic.cpp | 28 |
2 files changed, 15 insertions, 15 deletions
diff --git a/sky/debug.cpp b/sky/debug.cpp index 3caec144c6..66f39d8c75 100644 --- a/sky/debug.cpp +++ b/sky/debug.cpp @@ -409,7 +409,7 @@ void SkyDebug::script(uint32 command, uint16 *scriptData) { int i; printf("SCRIPT: %s", opcodes[command]); for (i = 0; i < opcode_par[command]; i++) - printf(" %d", *(scriptData + i)); + printf(" %d", READ_LE_UINT16(scriptData + i)); printf("\n"); } diff --git a/sky/logic.cpp b/sky/logic.cpp index 73d3311077..6c3ae788af 100644 --- a/sky/logic.cpp +++ b/sky/logic.cpp @@ -426,7 +426,7 @@ script: if (scr & 0xffff0000) scriptData = moduleStart + (scr >> 16); else - scriptData += *(scriptData + (scr & 0x0fff)); + scriptData += READ_LE_UINT16(scriptData + (scr & 0x0fff)); uint32 a, b, c; uint16 command, mcode, s; @@ -434,12 +434,12 @@ script: int16 t; for (;;) { - command = *scriptData++; // get a command + command = READ_LE_UINT16(scriptData++); // get a command SkyDebug::script(command, scriptData); switch (command) { case 0: // push_variable - s = *scriptData++; // get variable number + s = READ_LE_UINT16(scriptData++); // get variable number push( _scriptVariables[s/4] ); break; case 1: // less_than @@ -451,7 +451,7 @@ script: push(0); break; case 2: // push_number - push(*scriptData++); + push(READ_LE_UINT16(scriptData++)); break; case 3: // not_equal a = pop(); @@ -470,14 +470,14 @@ script: push(0); break; case 5: // skip_zero - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); a = pop(); if (!a) scriptData += s/2; break; case 6: // pop_var - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); _scriptVariables[s/4] = pop(); break; case 7: // minus @@ -491,7 +491,7 @@ script: push(b+a); break; case 9: // skip_always - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); scriptData += s/2; break; case 10: // if_or @@ -503,7 +503,7 @@ script: push(0); break; case 11: // call_mcode - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); a = s; b = c = 0; @@ -519,7 +519,7 @@ script: } // TODO: save stuff (compare asm code) - mcode = *scriptData++/4; // get mcode number + mcode = READ_LE_UINT16(scriptData++)/4; // get mcode number SkyDebug::mcode(mcode, a, b, c); a = (this->*mcodeTable[mcode]) (a, b, c); @@ -536,7 +536,7 @@ script: push(0); break; case 14: // switch - s = *scriptData++; // get number of cases + s = READ_LE_UINT16(scriptData++); // get number of cases a = pop(); // and value to switch on @@ -549,20 +549,20 @@ script: scriptData += 2; } while (--s); - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); scriptData += s; // use the default scriptData--; break; case 15: // push_offset // Push a compact access - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); tmp = (uint16 *)SkyCompact::getCompactElem(compact, s); printf("push_offset: %d\n", *tmp); push(*tmp); break; case 16: // pop_offset // pop a value into a compact - s = *scriptData++; + s = READ_LE_UINT16(scriptData++); tmp = (uint16 *)SkyCompact::getCompactElem(compact, s); *tmp = (uint16)pop(); break; @@ -575,7 +575,7 @@ script: push(0); break; case 18: // skip_nz - t = *scriptData++; + t = READ_LE_UINT16(scriptData++); a = pop(); if (a) scriptData += t/2; |