aboutsummaryrefslogtreecommitdiff
path: root/sky
diff options
context:
space:
mode:
authorOliver Kiehl2003-04-26 09:43:48 +0000
committerOliver Kiehl2003-04-26 09:43:48 +0000
commitcfaee3247467b74dcc1796d73df09358a0345ede (patch)
treeb6cef23583c4339cee9e0b973207e8f36a093a32 /sky
parent2d1e313018994f9ac5feab903f205e2bc4db183d (diff)
downloadscummvm-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
Diffstat (limited to 'sky')
-rw-r--r--sky/debug.cpp2
-rw-r--r--sky/logic.cpp28
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;