1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-07 06:40:15 +00:00

Docs for the Anime part of SkelAnime (#517)

* 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

* more names

* so many names

* we got subsystems now

* slight cleanup

* merge part 2

* new naming scheme

* slight adjustment

* no limit

* syms maybe

* step one

* OK, it's fixed

* table

* some names and such

* comments**

* update zap

* gitkeep to please jenkins

* ZAP

* fixer

* fixer2

* fixer3

* zap

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
petrie911 2020-12-29 16:46:46 -06:00 committed by GitHub
parent e4d88bf942
commit 2dfa188706
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1187 changed files with 5434 additions and 5367 deletions

View file

@ -304,8 +304,7 @@ void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) {
EnKz* this = THIS;
s32 pad;
SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable,
12);
SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060086D0, NULL, this->jointTable, this->morphTable, 12);
ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@ -386,7 +385,7 @@ void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0;
this->actionFunc = EnKz_StopMweep;
}
if (this->skelanime.animCurrentFrame == 13.0f) {
if (this->skelanime.curFrame == 13.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_VO_KZ_MOVE);
}
}
@ -444,7 +443,7 @@ void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) {
}
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
SkelAnime_FrameUpdateMatrix(&this->skelanime);
SkelAnime_Update(&this->skelanime);
EnKz_UpdateEyes(this);
Actor_MoveForward(&this->actor);
if (this->actionFunc != EnKz_StartTimer) {
@ -461,7 +460,7 @@ s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += Math_CosS(this->unk_2BE[limbIndex]) * 200.0f;
}
if (limbIndex) {}
return 0;
return false;
}
void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@ -485,7 +484,7 @@ void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
func_800943C8(globalCtx->state.gfxCtx);
SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);

View file

@ -18,12 +18,12 @@ typedef struct EnKz {
/* 0x0209 */ u8 isTrading;
/* 0x020A */ s16 waypoint;
/* 0x020C */ s16 blinkTimer;
/* 0x020E */ char unk_20E[0x2];
/* 0x020E */ char unk_20E[2];
/* 0x0210 */ s16 eyeIdx;
/* 0x0212 */ s16 cutsceneCamera;
/* 0x0214 */ s16 gameplayCamera;
/* 0x0216 */ Vec3s limbDrawTable[12];
/* 0x025E */ Vec3s transitionDrawTable[12];
/* 0x0216 */ Vec3s jointTable[12];
/* 0x025E */ Vec3s morphTable[12];
/* 0x02A6 */ s16 unk_2A6[12];
/* 0x02BE */ s16 unk_2BE[12];
} EnKz; // size = 0x02D8