diff options
| author | MegaMech <7255464+MegaMech@users.noreply.github.com> | 2025-05-23 20:56:36 -0600 |
|---|---|---|
| committer | MegaMech <7255464+MegaMech@users.noreply.github.com> | 2025-05-23 20:56:36 -0600 |
| commit | 5418951e1fcf9cd3c5bafce0ccf629b8e75467bf (patch) | |
| tree | a1e3f2a84e2859189f9479d918a56954bb29b9f3 /src/code_800AF9B0.c | |
| parent | 96c8c80c9c832db3cd327728d36f5042b769647f (diff) | |
Interpolate guScale, guRotate, SetTextMatrix
Diffstat (limited to 'src/code_800AF9B0.c')
| -rw-r--r-- | src/code_800AF9B0.c | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index 9876a40cb..855f2808e 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -170,41 +170,37 @@ void func_800AFF58(Vtx* arg0) { } } -#ifdef NON_MATCHING -// Credit to SpazzyLemon for the updated and better attempt void func_800B0004(void) { - Vtx* vtxs; - s32 res1, res2; - UNUSED u32 pad[0x5]; - s32 i, j; - + Vtx *vtxs; + s32 res1; + s32 res2; + UNUSED u32 pad[0x4]; + s32 i; + s32 j; + s32 k; + s16 idx; + idx = 4; gSPLight(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_800E8680.l[0]), LIGHT_1); gSPLight(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_800E8680.a), LIGHT_2); gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH); - gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, - SHADE); + gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); - - vtxs = D_8018EDB4 % 2 ? D_8018EDB8 : D_8018EDBC; + vtxs = (D_8018EDB4 % 2) ? (D_8018EDB8) : (D_8018EDBC); D_8018EDB2 = 0x9C0; for (i = 0; i < 10; i++) { - for (j = 0; j < 12; j++) { - res1 = sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f * j * 0.18f; - res2 = sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f * (j + 1) * 0.18f; - func_800AF9E4(&vtxs[j * 4 + i * 48], j, i, 84, res1, res2, (j * 84), 84); + for (k = 0, j = 0; j < 12; j++, k += 84) { + res1 = ((sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f) * j) * 0.18f; + res2 = ((sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f) * (j + 1)) * 0.18f; + func_800AF9E4(&(&vtxs[j * idx])[i * 48], j, i, 84, res1, res2, k, 84); } } + func_800AFF58(vtxs); - if (gTickVisuals) { - D_8018EDB0 += D_8018EDB2; - ++D_8018EDB4; - } + D_8018EDB0 += D_8018EDB2; + ++D_8018EDB4; gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B0004.s") -#endif |
