mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-01-11 02:21:15 +00:00
Merge remote-tracking branch 'isle/master'
This commit is contained in:
commit
9de298af17
@ -376,7 +376,7 @@ MxResult Act3Cop::FUN_10040360()
|
|||||||
MxMatrix locald0 = proi->GetLocal2World();
|
MxMatrix locald0 = proi->GetLocal2World();
|
||||||
Vector3 local88(locald0[3]);
|
Vector3 local88(locald0[3]);
|
||||||
Mx3DPointFloat localec(local88);
|
Mx3DPointFloat localec(local88);
|
||||||
localec -= local88;
|
localec -= local2c;
|
||||||
|
|
||||||
LegoPathEdgeContainer* r2 = new LegoPathEdgeContainer();
|
LegoPathEdgeContainer* r2 = new LegoPathEdgeContainer();
|
||||||
assert(r2);
|
assert(r2);
|
||||||
|
|||||||
@ -485,31 +485,34 @@ void MxDSBuffer::FUN_100c6f80(MxU32 p_writeOffset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100c6fa0
|
// FUNCTION: LEGO1 0x100c6fa0
|
||||||
|
// FUNCTION: BETA10 0x101582f2
|
||||||
MxU8* MxDSBuffer::FUN_100c6fa0(MxU8* p_data)
|
MxU8* MxDSBuffer::FUN_100c6fa0(MxU8* p_data)
|
||||||
{
|
{
|
||||||
MxU8* current = p_data ? p_data : m_pBuffer;
|
MxU8* volatile current = p_data ? p_data : m_pBuffer;
|
||||||
MxU8* end = m_writeOffset + m_pBuffer - 8;
|
|
||||||
|
|
||||||
while (current <= end) {
|
while (current <= m_writeOffset + m_pBuffer - 8) {
|
||||||
switch (UnalignedRead<MxU32>(current)) {
|
switch (UnalignedRead<MxU32>(current)) {
|
||||||
case FOURCC('L', 'I', 'S', 'T'):
|
case FOURCC('M', 'x', 'O', 'b'):
|
||||||
case FOURCC('R', 'I', 'F', 'F'):
|
case FOURCC('M', 'x', 'C', 'h'):
|
||||||
current += 12;
|
if (current == p_data) {
|
||||||
|
MxU32 size = UnalignedRead<MxU32>(current + 4);
|
||||||
|
current += (size & 1) + size;
|
||||||
|
current += 8;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return current;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case FOURCC('M', 'x', 'D', 'a'):
|
case FOURCC('M', 'x', 'D', 'a'):
|
||||||
case FOURCC('M', 'x', 'S', 't'):
|
case FOURCC('M', 'x', 'S', 't'):
|
||||||
current += 8;
|
current += 8;
|
||||||
break;
|
break;
|
||||||
case FOURCC('M', 'x', 'O', 'b'):
|
|
||||||
case FOURCC('M', 'x', 'C', 'h'):
|
|
||||||
if (current != p_data) {
|
|
||||||
return current;
|
|
||||||
}
|
|
||||||
current += ((uintptr_t) current) & 1;
|
|
||||||
current += 8;
|
|
||||||
break;
|
|
||||||
case FOURCC('M', 'x', 'H', 'd'):
|
case FOURCC('M', 'x', 'H', 'd'):
|
||||||
current += (((MxU32*) current)[1] + 8);
|
current += UnalignedRead<MxU32>(current + 4) + 8;
|
||||||
|
break;
|
||||||
|
case FOURCC('L', 'I', 'S', 'T'):
|
||||||
|
case FOURCC('R', 'I', 'F', 'F'):
|
||||||
|
current += 12;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user