Equivalent Mostly an issue of scheduling.
| 25 | // Equivalent |
| 26 | // Mostly an issue of scheduling. |
| 27 | void zAnimListInit() |
| 28 | { |
| 29 | // ALST = Animation list https://battlepedia.org/ALST |
| 30 | nals = xSTAssetCountByType('ALST'); // 0x414C5354 |
| 31 | if (nals == 0) |
| 32 | { |
| 33 | return; |
| 34 | } |
| 35 | |
| 36 | // << 2 is the same as multiplying by 4 |
| 37 | // so it's just allocating size in bytes |
| 38 | aids = (U32*)xMemAllocSize(nals * sizeof(S32)); |
| 39 | atbls = (xAnimTable**)xMemAllocSize(nals * sizeof(S32)); |
| 40 | anused = (S32*)xMemAllocSize(nals * sizeof(S32)); |
| 41 | |
| 42 | for (S32 i = 0; i < nals; i++) |
| 43 | { |
| 44 | U32 size; |
| 45 | zAnimListAsset* zala = (zAnimListAsset*)xSTFindAssetByType('ALST', i, &size); |
| 46 | st_PKR_ASSET_TOCINFO ainfo; |
| 47 | xSTGetAssetInfoByType('ALST', i, &ainfo); |
| 48 | xAnimTable* atbl = xAnimTableNew("", NULL, 0); |
| 49 | |
| 50 | aids[i] = ainfo.aid; |
| 51 | atbls[i] = atbl; |
| 52 | anused[i] = 0; |
| 53 | |
| 54 | void* buf0 = xSTFindAsset(zala->ids[0], &size); |
| 55 | if (buf0) |
| 56 | { |
| 57 | xAnimFile* afile = xAnimFileNew(buf0, "", 0, NULL); |
| 58 | xAnimTableNewState(atbl, "idle", 0x10, 0, 1.0f, NULL, NULL, 0.0f, NULL, NULL, |
| 59 | xAnimDefaultBeforeEnter, NULL, NULL); |
| 60 | xAnimTableAddFile(atbl, afile, "idle"); |
| 61 | anused[i]++; |
| 62 | } |
| 63 | |
| 64 | for (S32 j = 1; j < 10; j++) |
| 65 | { |
| 66 | if (zala->ids[j] == 0) |
| 67 | { |
| 68 | continue; |
| 69 | } |
| 70 | |
| 71 | void* buf = xSTFindAsset(zala->ids[j], &size); |
| 72 | if (!buf) |
| 73 | { |
| 74 | continue; |
| 75 | } |
| 76 | |
| 77 | xAnimFile* afile = xAnimFileNew(buf, "", 0, NULL); |
| 78 | if ((S32)buf0) |
| 79 | { |
| 80 | xAnimTableNewState(atbl, astnames[0][j], 0x20, 0, 1.0f, NULL, NULL, 0.0f, NULL, |
| 81 | NULL, xAnimDefaultBeforeEnter, NULL, NULL); |
| 82 | xAnimTableNewTransition(atbl, astnames[0][j], "idle", AlwaysConditional, NULL, 0x10, |
| 83 | 0, 0.0f, 0.0f, 0, 0, 0.0f, 0); |
| 84 | } |
no test coverage detected