mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-27 10:11:15 +00:00
Minor improvements
This commit is contained in:
parent
4448215f51
commit
4f302820e7
@ -30,7 +30,6 @@ MxDSBuffer::MxDSBuffer()
|
|||||||
MxDSBuffer::~MxDSBuffer()
|
MxDSBuffer::~MxDSBuffer()
|
||||||
{
|
{
|
||||||
if (m_pBuffer != NULL) {
|
if (m_pBuffer != NULL) {
|
||||||
|
|
||||||
switch (m_mode) {
|
switch (m_mode) {
|
||||||
case MxDSBufferType_Allocate:
|
case MxDSBufferType_Allocate:
|
||||||
case MxDSBufferType_Unknown:
|
case MxDSBufferType_Unknown:
|
||||||
@ -38,26 +37,32 @@ MxDSBuffer::~MxDSBuffer()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MxDSBufferType_Chunk: {
|
case MxDSBufferType_Chunk: {
|
||||||
|
MxU32 offset = m_writeOffset / 1024;
|
||||||
MxStreamer* streamer = Streamer();
|
MxStreamer* streamer = Streamer();
|
||||||
switch (m_writeOffset / 1024) {
|
|
||||||
case 0x40: {
|
|
||||||
MxU32 a = streamer->GetSubclass1().GetSize() << 10;
|
|
||||||
MxU32 bit = ((m_pBuffer - streamer->GetSubclass1().GetBuffer()) / a) & 0x1f;
|
|
||||||
MxU32 index = (((m_pBuffer - streamer->GetSubclass1().GetBuffer()) / a) & 0xFFFFFFE7) >> 3;
|
|
||||||
|
|
||||||
if (((((*(MxU32*) &streamer->GetSubclass1().GetUnk08Ref()[(index)])) & 1) << bit) != 0) {
|
switch (offset) {
|
||||||
MxU32* ptr = (MxU32*) &streamer->GetSubclass1().GetUnk08Ref()[(index)];
|
case 0x40: {
|
||||||
|
MxU32 a =
|
||||||
|
(m_pBuffer - streamer->GetSubclass1().GetBuffer()) / (streamer->GetSubclass1().GetSize() << 10);
|
||||||
|
|
||||||
|
MxU32 bit = 1 << ((MxU8) a & 0x1f);
|
||||||
|
MxU32 index = (a & ~0x18u) >> 3;
|
||||||
|
|
||||||
|
if ((*(MxU32*) (&streamer->GetSubclass1().GetUnk08Ref()[index])) & bit) {
|
||||||
|
MxU32* ptr = (MxU32*) (&streamer->GetSubclass1().GetUnk08Ref()[index]);
|
||||||
*ptr = *ptr ^ bit;
|
*ptr = *ptr ^ bit;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x80: {
|
case 0x80: {
|
||||||
MxU32 a = streamer->GetSubclass2().GetSize() << 10;
|
MxU32 a =
|
||||||
MxU32 bit = ((m_pBuffer - streamer->GetSubclass2().GetBuffer()) / a) & 0x1f;
|
(m_pBuffer - streamer->GetSubclass1().GetBuffer()) / (streamer->GetSubclass1().GetSize() << 10);
|
||||||
MxU32 index = (((m_pBuffer - streamer->GetSubclass2().GetBuffer()) / a) & 0xFFFFFFE7) >> 3;
|
|
||||||
|
|
||||||
if (((((*(MxU32*) &streamer->GetSubclass2().GetUnk08Ref()[(index)])) & 1) << bit) != 0) {
|
MxU32 bit = 1 << ((MxU8) a & 0x1f);
|
||||||
MxU32* ptr = (MxU32*) &streamer->GetSubclass2().GetUnk08Ref()[(index)];
|
MxU32 index = (a & ~0x18u) >> 3;
|
||||||
|
|
||||||
|
if ((*(MxU32*) (&streamer->GetSubclass2().GetUnk08Ref()[index])) & bit) {
|
||||||
|
MxU32* ptr = (MxU32*) (&streamer->GetSubclass2().GetUnk08Ref()[index]);
|
||||||
*ptr = *ptr ^ bit;
|
*ptr = *ptr ^ bit;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user