// // Generated by dtk // Translation Unit: d_s_actor_data_mng.cpp // #include "d/d_s_actor_data_mng.h" #include "JSystem/JUtility/JUTAssert.h" /* 800C26D4-800C2704 .text __ct__12dADM_CharTblFv */ dADM_CharTbl::dADM_CharTbl() { } dADM_CharTbl::~dADM_CharTbl() { } /* 800C2758-800C2844 .text SetData__12dADM_CharTblFUlUlUlUlUlUlUl */ void dADM_CharTbl::SetData(u32 offs, u32 row_num, u32 row_offs, u32 colum_num, u32 colum_offs, u32 dat_size, u32 data_offs) { char** pFmt = (char**)row_offs; char** pName = (char**)colum_offs; u8* pData = (u8*)data_offs; u32* row = (u32*)pFmt; for (u32 i = 0; i < row_num; i++, row++) *row += offs; u32* colum = (u32*)pName; for (u32 i = 0; i < colum_num; i++, colum++) *colum += offs; JUT_ASSERT(0x39, dat_size == row_num * colum_num); cDT::Set(row_num, pFmt, colum_num, pName, pData); SetUpIndex(); } /* 800C2844-800C2B40 .text SetUpIndex__12dADM_CharTblFv */ void dADM_CharTbl::SetUpIndex() { mIndex_ARG = GetFormatIndex("ARG"); mIndex_N_ITEM[0] = GetFormatIndex("N_ITEM0"); mIndex_N_ITEM[1] = GetFormatIndex("N_ITEM1"); mIndex_N_ITEM[2] = GetFormatIndex("N_ITEM2"); mIndex_N_ITEM[3] = GetFormatIndex("N_ITEM3"); mIndex_N_ITEM[4] = GetFormatIndex("N_ITEM4"); mIndex_N_ITEM[5] = GetFormatIndex("N_ITEM5"); mIndex_N_ITEM[6] = GetFormatIndex("N_ITEM6"); mIndex_N_ITEM[7] = GetFormatIndex("N_ITEM7"); mIndex_N_ITEM[8] = GetFormatIndex("N_ITEM8"); mIndex_N_ITEM[9] = GetFormatIndex("N_ITEM9"); mIndex_N_ITEM[10] = GetFormatIndex("N_ITEM10"); mIndex_N_ITEM[11] = GetFormatIndex("N_ITEM11"); mIndex_N_ITEM[12] = GetFormatIndex("N_ITEM12"); mIndex_N_ITEM[13] = GetFormatIndex("N_ITEM13"); mIndex_N_ITEM[14] = GetFormatIndex("N_ITEM14"); mIndex_N_ITEM[15] = GetFormatIndex("N_ITEM15"); mIndex_percent = GetFormatIndex("percent"); mIndex_ITEM[0] = GetFormatIndex("ITEM0"); mIndex_ITEM[1] = GetFormatIndex("ITEM1"); mIndex_ITEM[2] = GetFormatIndex("ITEM2"); mIndex_ITEM[3] = GetFormatIndex("ITEM3"); mIndex_ITEM[4] = GetFormatIndex("ITEM4"); mIndex_ITEM[5] = GetFormatIndex("ITEM5"); mIndex_ITEM[6] = GetFormatIndex("ITEM6"); mIndex_ITEM[7] = GetFormatIndex("ITEM7"); } /* 800C2B40-800C2BC8 .text GetNameIndex2__12dADM_CharTblCFPCci */ int dADM_CharTbl::GetNameIndex2(const char* pName, int index) const { for (int start = 0; ; start++) { int col = GetNameIndex(pName, start); if (col == -1) return -1; start = col; int inf = GetInf(mIndex_ARG, start); if (index == inf) return start; } } /* 800C2BC8-800C2C14 .text __ct__4dADMFv */ dADM::dADM() { mBlockCount = 0; mpData = NULL; } /* 800C2C14-800C2C78 .text __dt__4dADMFv */ dADM::~dADM() {} /* 800C2C78-800C2CC0 .text FindTag__4dADMFUlPUlPUl */ bool dADM::FindTag(u32 tag, u32* pSize, u32* pOffs) { u32 *pData = (u32*)mpData; for (s32 i = 0; i < mBlockCount; i++) { if (tag == pData[0]) { *pSize = pData[1]; *pOffs = pData[2]; return true; } pData += 3; } return false; } /* 800C2CC0-800C2DFC .text SetData__4dADMFPv */ void dADM::SetData(void* pData) { u32 row, rowOffs; u32 name, nameOffs; u32 dat_size, dataOffs; mBlockCount = *((s32*)pData); mpData = (u8*)pData + 4; u32 *pHeader = (u32*)mpData; for (s32 i = 0; i < mBlockCount; i++) { pHeader[2] = pHeader[2] + (u32)pData; pHeader += 3; } if (FindTag('ACFN', &row, &rowOffs) && FindTag('ACNA', &name, &nameOffs) && FindTag('ACDS', &dat_size, &dataOffs)) { JUT_ASSERT(0xca, row * name == dat_size); mCharTbl.SetData((u32)pData, row, rowOffs, name, nameOffs, dat_size, dataOffs); } }