mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-16 01:02:03 +00:00
Fixed a few endian issues in ACS system
KDiZD Intro, a.k.a. Title Map, is now played correctly; camera on Z1M1 is functional
This commit is contained in:
parent
fd85e116e5
commit
1bda54f3cd
1 changed files with 7 additions and 7 deletions
|
@ -1873,7 +1873,7 @@ FBehavior::FBehavior (int lumpnum, FileReader * fr, int len)
|
|||
funcm->HasReturnValue = funcf->HasReturnValue;
|
||||
funcm->ImportNum = funcf->ImportNum;
|
||||
funcm->LocalCount = funcf->LocalCount;
|
||||
funcm->Address = funcf->Address;
|
||||
funcm->Address = LittleLong(funcf->Address);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2058,7 +2058,7 @@ FBehavior::FBehavior (int lumpnum, FileReader * fr, int len)
|
|||
const char *const parse = (char *)&chunk[2];
|
||||
DWORD i;
|
||||
|
||||
for (i = 0; i < chunk[1]; )
|
||||
for (i = 0; i < LittleLong(chunk[1]); )
|
||||
{
|
||||
if (parse[i])
|
||||
{
|
||||
|
@ -2351,7 +2351,7 @@ void FBehavior::LoadScriptsDirectory ()
|
|||
scripts.b = FindChunk (MAKE_ID('S','F','L','G'));
|
||||
if (scripts.dw != NULL)
|
||||
{
|
||||
max = scripts.dw[1] / 4;
|
||||
max = LittleLong(scripts.dw[1]) / 4;
|
||||
scripts.dw += 2;
|
||||
for (i = max; i > 0; --i, scripts.w += 2)
|
||||
{
|
||||
|
@ -2367,7 +2367,7 @@ void FBehavior::LoadScriptsDirectory ()
|
|||
scripts.b = FindChunk (MAKE_ID('S','V','C','T'));
|
||||
if (scripts.dw != NULL)
|
||||
{
|
||||
max = scripts.dw[1] / 4;
|
||||
max = LittleLong(scripts.dw[1]) / 4;
|
||||
scripts.dw += 2;
|
||||
for (i = max; i > 0; --i, scripts.w += 2)
|
||||
{
|
||||
|
@ -2681,7 +2681,7 @@ BYTE *FBehavior::FindChunk (DWORD id) const
|
|||
{
|
||||
return chunk;
|
||||
}
|
||||
chunk += ((DWORD *)chunk)[1] + 8;
|
||||
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2689,14 +2689,14 @@ BYTE *FBehavior::FindChunk (DWORD id) const
|
|||
BYTE *FBehavior::NextChunk (BYTE *chunk) const
|
||||
{
|
||||
DWORD id = *(DWORD *)chunk;
|
||||
chunk += ((DWORD *)chunk)[1] + 8;
|
||||
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||
while (chunk != NULL && chunk < Data + DataSize)
|
||||
{
|
||||
if (((DWORD *)chunk)[0] == id)
|
||||
{
|
||||
return chunk;
|
||||
}
|
||||
chunk += ((DWORD *)chunk)[1] + 8;
|
||||
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue