mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
fix jenkins build errors, small prototype update
This commit is contained in:
parent
ee356fe203
commit
f2c65d615b
2 changed files with 49 additions and 53 deletions
|
@ -1139,8 +1139,9 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorD
|
||||||
Actor* actor, s32 dListIndex);
|
Actor* actor, s32 dListIndex);
|
||||||
void SkelAnime_Draw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDrawTable,
|
void SkelAnime_Draw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDrawTable,
|
||||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc, Actor* actor);
|
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc, Actor* actor);
|
||||||
void SkelAnime_DrawSV(GlobalContext* globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc,
|
void SkelAnime_DrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawTable, u32 dListCount,
|
||||||
void* drawFunc, Actor* actor);
|
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||||
|
Actor* actor);
|
||||||
s32 SkelAnime_GetFrameCount(u32 animation);
|
s32 SkelAnime_GetFrameCount(u32 animation);
|
||||||
Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawTable,
|
Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawTable,
|
||||||
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include <global.h>
|
#include <global.h>
|
||||||
|
#include <vt.h>
|
||||||
|
|
||||||
s32 func_800A3D70(GlobalContext*, SkelAnime*);
|
s32 func_800A3D70(GlobalContext*, SkelAnime*);
|
||||||
s32 func_800A3E0C(GlobalContext*, SkelAnime*);
|
s32 func_800A3E0C(GlobalContext*, SkelAnime*);
|
||||||
|
@ -52,7 +53,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, u32* limbTab
|
||||||
if (dList != NULL) {
|
if (dList != NULL) {
|
||||||
do {
|
do {
|
||||||
if (1) {
|
if (1) {
|
||||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 0x325),
|
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
|
||||||
G_MTX_LOAD);
|
G_MTX_LOAD);
|
||||||
|
|
||||||
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
|
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
|
||||||
|
@ -77,7 +78,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, u32* limbTab
|
||||||
appendDlistFunc, actor, dListIndex);
|
appendDlistFunc, actor, dListIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800C6B54(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x335);
|
func_800C6B54(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 821);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkelAnime_LodDraw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDrawTable,
|
void SkelAnime_LodDraw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDrawTable,
|
||||||
|
@ -92,13 +93,13 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDra
|
||||||
Gfx* gfx[4];
|
Gfx* gfx[4];
|
||||||
|
|
||||||
if (limbIndex == NULL) {
|
if (limbIndex == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_Lod_draw():skelがNULLです。\n");
|
osSyncPrintf("Si2_Lod_draw():skelがNULLです。\n");
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gfxCtx = globalCtx->state.gfxCtx;
|
gfxCtx = globalCtx->state.gfxCtx;
|
||||||
func_800C6AC4(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x351);
|
func_800C6AC4(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 849);
|
||||||
Matrix_Push();
|
Matrix_Push();
|
||||||
|
|
||||||
limbEntry = SEGMENTED_TO_VIRTUAL(*limbIndex);
|
limbEntry = SEGMENTED_TO_VIRTUAL(*limbIndex);
|
||||||
|
@ -112,7 +113,7 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDra
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
if (dList != NULL) {
|
if (dList != NULL) {
|
||||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 0x371),
|
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881),
|
||||||
G_MTX_LOAD);
|
G_MTX_LOAD);
|
||||||
|
|
||||||
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
|
gSPDisplayList(gfxCtx->polyOpa.p++, dList);
|
||||||
|
@ -128,7 +129,7 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, u32* limbIndex, Vec3s* actorDra
|
||||||
}
|
}
|
||||||
|
|
||||||
Matrix_Pull();
|
Matrix_Pull();
|
||||||
func_800C6B54(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x37E);
|
func_800C6B54(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 894);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
|
@ -207,9 +208,9 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorD
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
if (limbTable == NULL) {
|
if (limbTable == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_Lod_draw_SV():skelがNULLです。\n");
|
osSyncPrintf("Si2_Lod_draw_SV():skelがNULLです。\n");
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gfxCtx = globalCtx->state.gfxCtx;
|
gfxCtx = globalCtx->state.gfxCtx;
|
||||||
|
@ -270,7 +271,7 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, u32* limbTable,
|
||||||
|
|
||||||
gfxCtx = globalCtx->state.gfxCtx;
|
gfxCtx = globalCtx->state.gfxCtx;
|
||||||
|
|
||||||
func_800C6AC4(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x434);
|
func_800C6AC4(gfx, globalCtx->state.gfxCtx, "../z_skelanime.c", 1076);
|
||||||
Matrix_Push();
|
Matrix_Push();
|
||||||
|
|
||||||
limbEntry = SEGMENTED_TO_VIRTUAL(limbTable[limbIndex]);
|
limbEntry = SEGMENTED_TO_VIRTUAL(limbTable[limbIndex]);
|
||||||
|
@ -324,9 +325,9 @@ void SkelAnime_Draw(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawTa
|
||||||
Gfx* gfx[4];
|
Gfx* gfx[4];
|
||||||
|
|
||||||
if (limbTable == NULL) {
|
if (limbTable == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_draw():skelがNULLです。\n"); // Si2_draw (): skel is NULL.
|
osSyncPrintf("Si2_draw():skelがNULLです。\n"); // Si2_draw (): skel is NULL.
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -378,29 +379,28 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, u32 limbIndex, u32* limbTabl
|
||||||
SkelLimbEntry* limbEntry;
|
SkelLimbEntry* limbEntry;
|
||||||
|
|
||||||
gfxCtx = globalCtx->state.gfxCtx;
|
gfxCtx = globalCtx->state.gfxCtx;
|
||||||
func_800C6AC4(sp34, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x4BE);
|
func_800C6AC4(sp34, globalCtx->state.gfxCtx, "../z_skelanime.c", 1214);
|
||||||
Matrix_Push();
|
Matrix_Push();
|
||||||
limbEntry = SEGMENTED_TO_VIRTUAL(limbTable[limbIndex]);
|
limbEntry = SEGMENTED_TO_VIRTUAL(limbTable[limbIndex]);
|
||||||
limbRot = actorDrawTable[++limbIndex];
|
limbRot = actorDrawTable[++limbIndex];
|
||||||
|
|
||||||
limbPos.x = (f32)limbEntry->pos.x;
|
limbPos.x = (f32)limbEntry->translation.x;
|
||||||
limbPos.y = (f32)limbEntry->pos.y;
|
limbPos.y = (f32)limbEntry->translation.y;
|
||||||
limbPos.z = (f32)limbEntry->pos.z;
|
limbPos.z = (f32)limbEntry->translation.z;
|
||||||
|
|
||||||
limbDlist[0] = limbEntry->dList;
|
limbDlist[0] = limbDlist[1] = limbEntry->displayLists[0];
|
||||||
limbDlist[1] = limbEntry->dList;
|
|
||||||
|
|
||||||
if ((updateMtxFunc == NULL) ||
|
if ((updateMtxFunc == NULL) ||
|
||||||
(updateMtxFunc(globalCtx, limbIndex, &limbDlist[0], &limbPos, &limbRot, actor) == 0)) {
|
(updateMtxFunc(globalCtx, limbIndex, &limbDlist[0], &limbPos, &limbRot, actor) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&limbPos, &limbRot);
|
Matrix_TranslateThenRotateZYX(&limbPos, &limbRot);
|
||||||
if (limbDlist[0] != NULL) {
|
if (limbDlist[0] != NULL) {
|
||||||
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 0x4DA);
|
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1242);
|
||||||
gSPMatrix(gfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD);
|
gSPMatrix(gfxCtx->polyOpa.p++, *limbMatricies, G_MTX_LOAD);
|
||||||
gSPDisplayList(gfxCtx->polyOpa.p++, &limbDlist[0]);
|
gSPDisplayList(gfxCtx->polyOpa.p++, &limbDlist[0]);
|
||||||
(*limbMatricies)++;
|
(*limbMatricies)++;
|
||||||
} else {
|
} else {
|
||||||
if (&limbDlist[1] != 0) {
|
if (&limbDlist[1] != 0) {
|
||||||
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 0x4E1);
|
Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1249);
|
||||||
(*limbMatricies)++;
|
(*limbMatricies)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -422,7 +422,7 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, u32 limbIndex, u32* limbTabl
|
||||||
appendDlistFunc, actor, limbMatricies);
|
appendDlistFunc, actor, limbMatricies);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800C6B54(sp34, globalCtx->state.gfxCtx, "../z_skelanime.c", 0x4F1);
|
func_800C6B54(sp34, globalCtx->state.gfxCtx, "../z_skelanime.c", 1265);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimbSV.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimbSV.s")
|
||||||
|
@ -443,9 +443,9 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDraw
|
||||||
limbMatricies = Graph_Alloc(globalCtx->state.gfxCtx, dListCount << 6);
|
limbMatricies = Graph_Alloc(globalCtx->state.gfxCtx, dListCount << 6);
|
||||||
|
|
||||||
if (limbTable == NULL) {
|
if (limbTable == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_draw_SV():skelがNULLです。\n"); // Si2_draw_SV (): skel is NULL.
|
osSyncPrintf("Si2_draw_SV():skelがNULLです。\n"); // Si2_draw_SV (): skel is NULL.
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,7 +463,7 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDraw
|
||||||
|
|
||||||
rot = actorDrawTable[1];
|
rot = actorDrawTable[1];
|
||||||
|
|
||||||
skelDlist[0] = skelDlist[1] = rootLimb->dList;
|
skelDlist[0] = skelDlist[1] = rootLimb->displayLists[0];
|
||||||
|
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &skelDlist[0], &pos, &rot, actor) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &skelDlist[0], &pos, &rot, actor) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
|
@ -495,7 +495,6 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDraw
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_DrawSV.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_DrawSV.s")
|
||||||
#endif
|
#endif
|
||||||
#undef NON_MATCHING
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copies the rotation values from the rotation value table, indexed by the rotation index table
|
* Copies the rotation values from the rotation value table, indexed by the rotation index table
|
||||||
|
@ -571,7 +570,7 @@ Gfx* SkelAnime_Draw2Limb(GlobalContext* globalCtx, s32 limbIndex, u32* limbTable
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, limbIndex, &dList, &pos, &rot, actor, &gfx) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, limbIndex, &dList, &pos, &rot, actor, &gfx) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
if (dList != NULL) {
|
if (dList != NULL) {
|
||||||
gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 0x5D1), G_MTX_LOAD);
|
gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1489), G_MTX_LOAD);
|
||||||
gSPDisplayList(gfx++, dList);
|
gSPDisplayList(gfx++, dList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -606,9 +605,9 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawT
|
||||||
Gfx* dList;
|
Gfx* dList;
|
||||||
|
|
||||||
if (limbTable == NULL) {
|
if (limbTable == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_draw2():skelがNULLです。NULLを返します。\n");
|
osSyncPrintf("Si2_draw2():skelがNULLです。NULLを返します。\n");
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -627,7 +626,7 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDrawT
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList, &pos, &rot, actor, &gfx) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList, &pos, &rot, actor, &gfx) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
if (dList != NULL) {
|
if (dList != NULL) {
|
||||||
gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 0x616), G_MTX_LOAD);
|
gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1558), G_MTX_LOAD);
|
||||||
gSPDisplayList(gfx++, dList);
|
gSPDisplayList(gfx++, dList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -673,13 +672,13 @@ Gfx* SkelAnime_DrawLimbSV2(GlobalContext* globalCtx, s32 limbIndex, u32* limbTab
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, limbIndex, &dList1, &pos, &rot, actor, &gfx) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, limbIndex, &dList1, &pos, &rot, actor, &gfx) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
if (dList1 != NULL) {
|
if (dList1 != NULL) {
|
||||||
Matrix_ToMtx(*mtx, "../z_skelanime.c", 0x657);
|
Matrix_ToMtx(*mtx, "../z_skelanime.c", 1623);
|
||||||
gSPMatrix(gfx++, *mtx, G_MTX_LOAD);
|
gSPMatrix(gfx++, *mtx, G_MTX_LOAD);
|
||||||
gSPDisplayList(gfx++, dList1);
|
gSPDisplayList(gfx++, dList1);
|
||||||
(*mtx)++;
|
(*mtx)++;
|
||||||
} else {
|
} else {
|
||||||
if (dList2 != NULL) {
|
if (dList2 != NULL) {
|
||||||
Matrix_ToMtx(*mtx, "../z_skelanime.c", 0x65E);
|
Matrix_ToMtx(*mtx, "../z_skelanime.c", 1630);
|
||||||
(*mtx)++;
|
(*mtx)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -715,9 +714,9 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDra
|
||||||
|
|
||||||
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(*mtx));
|
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(*mtx));
|
||||||
if (limbTable == NULL) {
|
if (limbTable == NULL) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Si2_draw2_SV():skelがNULLです。NULLを返します。\n");
|
osSyncPrintf("Si2_draw2_SV():skelがNULLです。NULLを返します。\n");
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -736,13 +735,13 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, u32* limbTable, Vec3s* actorDra
|
||||||
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList1, &pos, &rot, actor, &gfx) == 0)) {
|
if ((updateMtxFunc == NULL) || (updateMtxFunc(globalCtx, 1, &dList1, &pos, &rot, actor, &gfx) == 0)) {
|
||||||
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
Matrix_TranslateThenRotateZYX(&pos, &rot);
|
||||||
if (dList1 != NULL) {
|
if (dList1 != NULL) {
|
||||||
Matrix_ToMtx(mtx, "../z_skelanime.c", 0x6AE);
|
Matrix_ToMtx(mtx, "../z_skelanime.c", 1710);
|
||||||
gSPMatrix(gfx++, mtx, G_MTX_LOAD);
|
gSPMatrix(gfx++, mtx, G_MTX_LOAD);
|
||||||
gSPDisplayList(gfx++, dList1);
|
gSPDisplayList(gfx++, dList1);
|
||||||
mtx++;
|
mtx++;
|
||||||
} else {
|
} else {
|
||||||
if (dList2 != NULL) {
|
if (dList2 != NULL) {
|
||||||
Matrix_ToMtx(mtx, "../z_skelanime.c", 0x6B5);
|
Matrix_ToMtx(mtx, "../z_skelanime.c", 1717);
|
||||||
mtx++;
|
mtx++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -828,7 +827,7 @@ void func_800A336C(GlobalContext* globalCtx, u32 linkAnimetionSeg, s32 frame, s3
|
||||||
DmaMgr_SendRequest2(
|
DmaMgr_SendRequest2(
|
||||||
&entry->types.type0.req, ram,
|
&entry->types.type0.req, ram,
|
||||||
LINK_ANIMETION_OFFSET(linkAnimetionEntry->animationSegAddress, ((sizeof(Vec3s) * limbCount + 2) * frame)),
|
LINK_ANIMETION_OFFSET(linkAnimetionEntry->animationSegAddress, ((sizeof(Vec3s) * limbCount + 2) * frame)),
|
||||||
sizeof(Vec3s) * limbCount + 2, 0, &entry->types.type0.msgQueue, NULL, "../z_skelanime.c", 0x7D4);
|
sizeof(Vec3s) * limbCount + 2, 0, &entry->types.type0.msgQueue, NULL, "../z_skelanime.c", 2004);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1008,10 +1007,10 @@ void func_800A39AC(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 limbHeade
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf(
|
osSyncPrintf(
|
||||||
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
|
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_800A3F08(globalCtx, skelAnime, animation, 1.0f, 0.0f, 0.0f, 0, 0.0f);
|
func_800A3F08(globalCtx, skelAnime, animation, 1.0f, 0.0f, 0.0f, 0, 0.0f);
|
||||||
|
@ -1257,9 +1256,9 @@ void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 limbHead
|
||||||
skelAnime->unk_24 = arg5;
|
skelAnime->unk_24 = arg5;
|
||||||
}
|
}
|
||||||
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf("Skeleton_Info2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_ct memory allocation error
|
osSyncPrintf("Skeleton_Info2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_ct memory allocation error
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (animation != 0) {
|
if (animation != 0) {
|
||||||
|
@ -1284,16 +1283,16 @@ void SkelAnime_InitSV(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 limbHe
|
||||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->unk_24), "../z_skelanime.c", 3048);
|
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->unk_24), "../z_skelanime.c", 3048);
|
||||||
} else {
|
} else {
|
||||||
if (limbCount != skelAnime->limbCount) {
|
if (limbCount != skelAnime->limbCount) {
|
||||||
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 0xBEC);
|
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 3052);
|
||||||
}
|
}
|
||||||
skelAnime->actorDrawTbl = actorDrawTable;
|
skelAnime->actorDrawTbl = actorDrawTable;
|
||||||
skelAnime->unk_24 = arg5;
|
skelAnime->unk_24 = arg5;
|
||||||
}
|
}
|
||||||
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf(
|
osSyncPrintf(
|
||||||
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
|
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (animation != 0) {
|
if (animation != 0) {
|
||||||
|
@ -1312,10 +1311,10 @@ void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 limb
|
||||||
skelAnime->unk_24 =
|
skelAnime->unk_24 =
|
||||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->unk_24), "../z_skelanime.c", 3121);
|
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->unk_24), "../z_skelanime.c", 3121);
|
||||||
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
if ((skelAnime->actorDrawTbl == NULL) || (skelAnime->unk_24 == NULL)) {
|
||||||
osSyncPrintf("\x1b[31m");
|
osSyncPrintf(VT_FGCOL(RED));
|
||||||
osSyncPrintf(
|
osSyncPrintf(
|
||||||
"Skeleton_Info2_skin2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_skin2_ct Memory allocation error
|
"Skeleton_Info2_skin2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_skin2_ct Memory allocation error
|
||||||
osSyncPrintf("\x1b[m");
|
osSyncPrintf(VT_RST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (animation != 0) {
|
if (animation != 0) {
|
||||||
|
@ -1432,7 +1431,6 @@ void func_800A4C58(SkelAnime* skelAnime) {
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4C58.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4C58.s")
|
||||||
#endif
|
#endif
|
||||||
#undef NON_MATCHING
|
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
s32 func_800A4D9C(SkelAnime* skelAnime) {
|
s32 func_800A4D9C(SkelAnime* skelAnime) {
|
||||||
|
@ -1448,7 +1446,6 @@ s32 func_800A4D9C(SkelAnime* skelAnime) {
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4D9C.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4D9C.s")
|
||||||
#endif
|
#endif
|
||||||
#undef NON_MATCHING
|
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
s32 func_800A4E38(SkelAnime* skelAnime) {
|
s32 func_800A4E38(SkelAnime* skelAnime) {
|
||||||
|
@ -1466,7 +1463,6 @@ s32 func_800A4E38(SkelAnime* skelAnime) {
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4E38.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_800A4E38.s")
|
||||||
#endif
|
#endif
|
||||||
#undef NON_MATCHING
|
|
||||||
|
|
||||||
s32 func_800A4EE0(SkelAnime* skelAnime) {
|
s32 func_800A4EE0(SkelAnime* skelAnime) {
|
||||||
f32 temp_f14;
|
f32 temp_f14;
|
||||||
|
@ -1506,10 +1502,10 @@ void SkelAnime_ChangeAnimationImpl(SkelAnime* skelAnime, u32 animation, f32 play
|
||||||
transitionRate = -transitionRate;
|
transitionRate = -transitionRate;
|
||||||
} else {
|
} else {
|
||||||
if (unk2 != 0) {
|
if (unk2 != 0) {
|
||||||
skelAnime->mtxUpdate = (void*)&func_800A4AD8;
|
skelAnime->animUpdate = (void*)&func_800A4AD8;
|
||||||
skelAnime->unk_03 = unk2;
|
skelAnime->unk_03 = unk2;
|
||||||
} else {
|
} else {
|
||||||
skelAnime->mtxUpdate = (void*)&func_800A4A20;
|
skelAnime->animUpdate = (void*)&func_800A4A20;
|
||||||
}
|
}
|
||||||
SkelAnime_AnimateFrame(animation, (s32)unk0, skelAnime->limbCount, skelAnime->actorDrawTbl);
|
SkelAnime_AnimateFrame(animation, (s32)unk0, skelAnime->limbCount, skelAnime->actorDrawTbl);
|
||||||
}
|
}
|
||||||
|
@ -1538,7 +1534,6 @@ void SkelAnime_ChangeAnimationImpl(SkelAnime* skelAnime, u32 animation, f32 play
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimationImpl.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimationImpl.s")
|
||||||
#endif
|
#endif
|
||||||
#undef NON_MATCHING
|
|
||||||
|
|
||||||
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount,
|
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount,
|
||||||
u8 unk1, f32 transitionRate) {
|
u8 unk1, f32 transitionRate) {
|
||||||
|
|
Loading…
Reference in a new issue