mirror of https://github.com/zeldaret/tp.git
84 lines
1.9 KiB
C++
84 lines
1.9 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: stb-data-parse
|
|
//
|
|
|
|
#include "JSystem/JStudio/JStudio/stb-data-parse.h"
|
|
#include "global.h"
|
|
|
|
namespace JStudio {
|
|
namespace stb {
|
|
namespace data {
|
|
|
|
void TParse_TSequence::getData(TData* pData) const {
|
|
ASSERT(pData != 0);
|
|
|
|
pData->content = NULL;
|
|
pData->next = NULL;
|
|
u32 head = get_head();
|
|
u8 type = head >> 24;
|
|
u32 param = head & 0xffffff;
|
|
pData->type = type;
|
|
pData->param = param;
|
|
if (type != 0) {
|
|
const void* next = (const void*)((int)getRaw() + 4);
|
|
if (type <= 0x7f) {
|
|
pData->next = next;
|
|
} else {
|
|
pData->content = next;
|
|
pData->next = (const void*)((int)next + param);
|
|
}
|
|
}
|
|
}
|
|
|
|
void TParse_TParagraph::getData(TData* pData) const {
|
|
ASSERT(pData != 0);
|
|
|
|
const void* data = getRaw();
|
|
u32 result;
|
|
const void* next = parseVariableUInt_16_32_following(data, &result, &pData->type, NULL);
|
|
pData->param = result;
|
|
if (result == 0) {
|
|
pData->content = NULL;
|
|
pData->next = next;
|
|
} else {
|
|
pData->content = next;
|
|
pData->next = (const void*)((int)next + align_roundUp(result, 4));
|
|
}
|
|
}
|
|
|
|
void TParse_TParagraph_data::getData(data::TParse_TParagraph_data::TData* pData) const {
|
|
u8* set2;
|
|
|
|
int dSize = pData->dataSize = 0;
|
|
pData->_8 = 0;
|
|
pData->fileCount = NULL;
|
|
pData->_10 = NULL;
|
|
u8* filedata = (u8*)getRaw();
|
|
if (filedata == NULL)
|
|
return;
|
|
u8 set = *filedata;
|
|
pData->status = set & ~0x8;
|
|
if (!set)
|
|
return;
|
|
int is8;
|
|
int set3 = 1;
|
|
is8 = set & 8;
|
|
// Probably fake match
|
|
if (set2 = (filedata + 1), is8) {
|
|
set3 = *set2++;
|
|
}
|
|
pData->_8 = set3;
|
|
pData->fileCount = set2;
|
|
|
|
if (!(set & 7))
|
|
return;
|
|
dSize = (gauDataSize_TEParagraph_data)[set &= 7];
|
|
pData->dataSize = dSize;
|
|
pData->_10 = (u8*)set2 + (dSize * set3);
|
|
}
|
|
|
|
} // namespace data
|
|
} // namespace stb
|
|
} // namespace JStudio
|