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->HasReturnValue = funcf->HasReturnValue;
|
||||||
funcm->ImportNum = funcf->ImportNum;
|
funcm->ImportNum = funcf->ImportNum;
|
||||||
funcm->LocalCount = funcf->LocalCount;
|
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];
|
const char *const parse = (char *)&chunk[2];
|
||||||
DWORD i;
|
DWORD i;
|
||||||
|
|
||||||
for (i = 0; i < chunk[1]; )
|
for (i = 0; i < LittleLong(chunk[1]); )
|
||||||
{
|
{
|
||||||
if (parse[i])
|
if (parse[i])
|
||||||
{
|
{
|
||||||
|
@ -2351,7 +2351,7 @@ void FBehavior::LoadScriptsDirectory ()
|
||||||
scripts.b = FindChunk (MAKE_ID('S','F','L','G'));
|
scripts.b = FindChunk (MAKE_ID('S','F','L','G'));
|
||||||
if (scripts.dw != NULL)
|
if (scripts.dw != NULL)
|
||||||
{
|
{
|
||||||
max = scripts.dw[1] / 4;
|
max = LittleLong(scripts.dw[1]) / 4;
|
||||||
scripts.dw += 2;
|
scripts.dw += 2;
|
||||||
for (i = max; i > 0; --i, scripts.w += 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'));
|
scripts.b = FindChunk (MAKE_ID('S','V','C','T'));
|
||||||
if (scripts.dw != NULL)
|
if (scripts.dw != NULL)
|
||||||
{
|
{
|
||||||
max = scripts.dw[1] / 4;
|
max = LittleLong(scripts.dw[1]) / 4;
|
||||||
scripts.dw += 2;
|
scripts.dw += 2;
|
||||||
for (i = max; i > 0; --i, scripts.w += 2)
|
for (i = max; i > 0; --i, scripts.w += 2)
|
||||||
{
|
{
|
||||||
|
@ -2681,7 +2681,7 @@ BYTE *FBehavior::FindChunk (DWORD id) const
|
||||||
{
|
{
|
||||||
return chunk;
|
return chunk;
|
||||||
}
|
}
|
||||||
chunk += ((DWORD *)chunk)[1] + 8;
|
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -2689,14 +2689,14 @@ BYTE *FBehavior::FindChunk (DWORD id) const
|
||||||
BYTE *FBehavior::NextChunk (BYTE *chunk) const
|
BYTE *FBehavior::NextChunk (BYTE *chunk) const
|
||||||
{
|
{
|
||||||
DWORD id = *(DWORD *)chunk;
|
DWORD id = *(DWORD *)chunk;
|
||||||
chunk += ((DWORD *)chunk)[1] + 8;
|
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||||
while (chunk != NULL && chunk < Data + DataSize)
|
while (chunk != NULL && chunk < Data + DataSize)
|
||||||
{
|
{
|
||||||
if (((DWORD *)chunk)[0] == id)
|
if (((DWORD *)chunk)[0] == id)
|
||||||
{
|
{
|
||||||
return chunk;
|
return chunk;
|
||||||
}
|
}
|
||||||
chunk += ((DWORD *)chunk)[1] + 8;
|
chunk += LittleLong(((DWORD *)chunk)[1]) + 8;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue