mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-09 00:00:44 +00:00
SkelAnime "Skeleton" Documentation Pass (#497)
* Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * could be useful * whoops * ZAP2 stuff * ZAP why * ZAP again * spooky scary skeletons * there's a skeleton inside of you * formatting * types * a matched function even * undo change * lol anime * ok how did I forget the .s * array fix * would you like to ride the bone train? * stuff * more renames * renames and cleanup * names suck * idea * using void** for now * stuff * look more type fixes Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
parent
629d1c8968
commit
4876610c75
268 changed files with 1941 additions and 2045 deletions
|
@ -101,15 +101,15 @@ void EnBox_ClipToGround(EnBox* this, GlobalContext* globalCtx) {
|
|||
void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
GlobalContext* globalCtx2 = globalCtx;
|
||||
EnBox* this = THIS;
|
||||
AnimationHeader* animHeader;
|
||||
AnimationHeader* anim;
|
||||
s32 dynaUnk;
|
||||
f32 animFrameStart;
|
||||
f32 animFrameCount;
|
||||
|
||||
animFrameStart = 0.0f;
|
||||
animHeader = D_809CA800[((void)0, gSaveContext.linkAge)];
|
||||
anim = D_809CA800[((void)0, gSaveContext.linkAge)];
|
||||
dynaUnk = 0;
|
||||
animFrameCount = SkelAnime_GetFrameCount(&animHeader->genericHeader);
|
||||
animFrameCount = SkelAnime_GetFrameCount(anim);
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, 0);
|
||||
|
@ -180,9 +180,8 @@ void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->dyna.actor.posRot.rot.y += 0x8000;
|
||||
this->dyna.actor.initPosRot.rot.z = this->dyna.actor.posRot.rot.z = this->dyna.actor.shape.rot.z = 0;
|
||||
|
||||
SkelAnime_Init(globalCtx2, &this->skelanime, &D_060047D8, animHeader, this->limbDrawTable,
|
||||
this->transitionDrawTable, 5);
|
||||
SkelAnime_ChangeAnim(&this->skelanime, animHeader, 1.5f, animFrameStart, animFrameCount, 2, 0.0f);
|
||||
SkelAnime_Init(globalCtx2, &this->skelanime, &D_060047D8, anim, this->limbDrawTable, this->transitionDrawTable, 5);
|
||||
SkelAnime_ChangeAnim(&this->skelanime, anim, 1.5f, animFrameStart, animFrameCount, 2, 0.0f);
|
||||
|
||||
switch (this->type) {
|
||||
case ENBOX_TYPE_SMALL:
|
||||
|
@ -410,7 +409,7 @@ void EnBox_WaitOpen(EnBox* this, GlobalContext* globalCtx) {
|
|||
if (this->unk_1F4 != 0) { // unk_1F4 is modified by player code
|
||||
linkAge = gSaveContext.linkAge;
|
||||
anim = D_809CA800[(this->unk_1F4 < 0 ? 2 : 0) + linkAge];
|
||||
frameCount = SkelAnime_GetFrameCount(&anim->genericHeader);
|
||||
frameCount = SkelAnime_GetFrameCount(anim);
|
||||
SkelAnime_ChangeAnim(&this->skelanime, anim, 1.5f, 0, frameCount, 2, 0.0f);
|
||||
EnBox_SetupAction(this, EnBox_Open);
|
||||
if (this->unk_1F4 > 0) {
|
||||
|
@ -552,7 +551,7 @@ void EnBox_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
void EnBox_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) {
|
||||
void EnBox_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
|
||||
EnBox* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
|
@ -645,8 +644,8 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, EnBox_EmptyDList(globalCtx->state.gfxCtx));
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
POLY_OPA_DISP = SkelAnime_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
|
||||
EnBox_PostLimbDraw, &this->dyna.actor, POLY_OPA_DISP);
|
||||
POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
|
||||
EnBox_PostLimbDraw, this, POLY_OPA_DISP);
|
||||
} else if (this->alpha != 0) {
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
|
@ -656,8 +655,8 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
} else {
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, func_809CA4A0(globalCtx->state.gfxCtx));
|
||||
}
|
||||
POLY_XLU_DISP = SkelAnime_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
|
||||
EnBox_PostLimbDraw, &this->dyna.actor, POLY_XLU_DISP);
|
||||
POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
|
||||
EnBox_PostLimbDraw, this, POLY_XLU_DISP);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_box.c", 1639);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue