MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / ATBL_Read

Function ATBL_Read

src/SB/Game/zAssetTypes.cpp:608–757  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

606
607static xAnimTable* Anim_ATBL_getTable(xAnimTable* (*constructor)());
608static void* ATBL_Read(void*, U32, void* indata, U32 param_4, U32* outsize)
609{
610 U32 i;
611 U32 j;
612 U32 debugNum = 0;
613 U32 tmpsize;
614
615 xAnimTable* table;
616 xAnimState* astate;
617 xAnimTransition* atran;
618 U8* zaBytes;
619
620 xAnimAssetTable* zaTbl = (xAnimAssetTable*)indata;
621 void** zaRaw = (void**)(zaTbl + 1);
622 xAnimAssetFile* zaFile = (xAnimAssetFile*)(zaRaw + zaTbl->NumRaw);
623 xAnimAssetState* zaState =
624 (xAnimAssetState*)((U32)zaFile + zaTbl->NumFiles * sizeof(xAnimAssetFile));
625
626 for (i = 0; i < zaTbl->NumRaw; ++i)
627 {
628 zaRaw[i] = xSTFindAsset(*(U32*)&zaRaw[i], &tmpsize);
629 }
630
631 for (i = 0; i < zaTbl->NumRaw; ++i)
632 {
633 if (zaRaw[i] == NULL)
634 {
635 for (j = 0; j < zaTbl->NumRaw; ++j)
636 {
637 if (zaRaw[j] != NULL)
638 {
639 zaRaw[i] = zaRaw[j];
640 break;
641 }
642 }
643 }
644 }
645
646 for (i = 0; i < zaTbl->NumRaw; ++i)
647 {
648 if (*(U32*)zaRaw[i] == 'QSPM')
649 {
650 xMorphSeqSetup(zaRaw[i], FindAssetCB);
651 }
652 }
653
654 for (i = 0; i < zaTbl->NumFiles; ++i)
655 {
656 zaFile[i].RawData = (void**)((U32)zaFile[i].RawData + (U32)zaTbl);
657 for (S32 k = 0; k < zaFile[i].NumAnims[0] * zaFile[i].NumAnims[1]; ++k)
658 {
659 zaFile[i].RawData[k] = zaRaw[(U32)zaFile[i].RawData[k]];
660 }
661 }
662
663 xAnimFile** fList = (xAnimFile**)zaFile;
664 for (i = 0; i < zaTbl->NumFiles; ++i)
665 {

Callers

nothing calls this directly

Calls 12

Anim_ATBL_getTableFunction · 0.85
xAnimTableAddFileIDFunction · 0.85
sprintfFunction · 0.85
memcpyFunction · 0.85
xSTFindAssetFunction · 0.50
xMorphSeqSetupFunction · 0.50
xAnimFileNewBilinearFunction · 0.50
xAnimFileSetTimeFunction · 0.50
xAnimTableNewStateFunction · 0.50
xAnimTableNewTransitionFunction · 0.50
xAnimTableGetStateIDFunction · 0.50
xAnimStateNewEffectFunction · 0.50

Tested by

no test coverage detected