2023-06-29 04:10:08 -04:00
|
|
|
#include "mxstillpresenter.h"
|
2023-07-02 03:00:28 -04:00
|
|
|
|
|
|
|
#include "decomp.h"
|
2023-10-25 18:16:08 -04:00
|
|
|
#include "define.h"
|
|
|
|
#include "legoomni.h"
|
2023-07-02 03:00:28 -04:00
|
|
|
|
|
|
|
DECOMP_SIZE_ASSERT(MxStillPresenter, 0x6c);
|
2023-10-25 18:16:08 -04:00
|
|
|
|
|
|
|
// 0x10101eb0
|
|
|
|
const char* g_strBMP_ISMAP = "BMP_ISMAP";
|
|
|
|
|
|
|
|
// OFFSET: LEGO1 0x100ba1e0
|
|
|
|
void MxStillPresenter::ParseExtra()
|
|
|
|
{
|
|
|
|
MxPresenter::ParseExtra();
|
|
|
|
|
|
|
|
if (m_action->GetFlags() & MxDSAction::Flag_Bit5)
|
|
|
|
m_flags |= 0x8;
|
|
|
|
|
|
|
|
MxU32 len = m_action->GetExtraLength();
|
|
|
|
|
|
|
|
if (len == 0)
|
|
|
|
return;
|
|
|
|
|
|
|
|
len &= MAXWORD;
|
|
|
|
|
|
|
|
char buf[512];
|
|
|
|
memcpy(buf, m_action->GetExtraData(), len);
|
|
|
|
buf[len] = '\0';
|
|
|
|
|
|
|
|
char output[512];
|
|
|
|
if (KeyValueStringParse(output, g_strVISIBILITY, buf)) {
|
|
|
|
if (strcmpi(output, "FALSE") == 0) {
|
|
|
|
Enable(FALSE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (KeyValueStringParse(output, g_strBMP_ISMAP, buf)) {
|
|
|
|
m_flags |= 0x10;
|
|
|
|
m_flags &= ~0x2;
|
|
|
|
m_flags &= ~0x4;
|
|
|
|
}
|
|
|
|
}
|