1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 15:30:14 +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

@ -108,7 +108,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 100;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 20.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 12:
this->unk_2AE = 0x400;
@ -117,7 +117,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 100;
this->unk_2B4 = 1.0f;
this->unk_2B8 = 5.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 10:
this->unk_2AE = 0x400;
@ -125,7 +125,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B8 = 0.0f;
this->unk_2B4 = 5.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 9:
this->unk_2AE = 0x1000;
@ -133,7 +133,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 3.0f;
this->unk_2B8 = 10.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 7:
this->func_2C8 = func_80A02A20;
@ -141,7 +141,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 1;
this->unk_2B4 = 0.0f;
this->unk_2B8 = 0.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 8:
this->unk_2AE = 0x1000;
@ -149,7 +149,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 0.0f;
this->unk_2B8 = 0.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 1:
this->unk_2AE = 0x1000;
@ -157,7 +157,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 7.5f;
this->skelAnime.animPlaybackSpeed = 2.0f;
this->skelAnime.playSpeed = 2.0f;
break;
case 2:
this->unk_2AE = 0x400;
@ -165,28 +165,28 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02AA4;
this->unk_2B4 = 10.0f;
this->unk_2B8 = 20.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 3:
this->unk_2B0 = 0x600;
this->func_2C8 = func_80A02B38;
this->unk_2B8 = 1.0f;
this->unk_2B4 = 1.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
case 4:
this->unk_2B0 = 0x800;
this->func_2C8 = func_80A02B38;
this->unk_2B4 = 20.0f;
this->unk_2B8 = 10.0;
this->skelAnime.animPlaybackSpeed = 2.0f;
this->skelAnime.playSpeed = 2.0f;
break;
case 5:
this->unk_2B0 = 0x200;
this->func_2C8 = func_80A02B38;
this->unk_2B4 = 10.0f;
this->unk_2B8 = 10.0f;
this->skelAnime.animPlaybackSpeed = 0.5f;
this->skelAnime.playSpeed = 0.5f;
break;
case 6:
this->unk_2AE = 0x1000;
@ -194,7 +194,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 60.0f;
this->unk_2B8 = 20.0f;
this->skelAnime.animPlaybackSpeed = 2.0f;
this->skelAnime.playSpeed = 2.0f;
break;
case 11:
this->unk_2AE = 0x400;
@ -203,7 +203,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 42;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 1.0f;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->skelAnime.playSpeed = 1.0f;
break;
}
}
@ -323,8 +323,7 @@ void EnElf_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 i;
Actor_ProcessInitChain(thisx, sInitChain);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_04016A48, &D_04014BA4, this->limbDrawTable,
this->transitionDrawTable, 15);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_04016A48, &D_04014BA4, this->jointTable, this->morphTable, 15);
ActorShape_Init(&thisx->shape, 0.0f, NULL, 15.0f);
thisx->shape.unk_14 = 0xFF;
@ -606,7 +605,7 @@ void func_80A0329C(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 heightDiff;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
if (Rand_ZeroOne() < 0.05f) {
this->unk_2B4 = Rand_ZeroFloat(10.0f) + 10.0f;
@ -672,7 +671,7 @@ void func_80A0353C(EnElf* this, GlobalContext* globalCtx) {
Vec3f parentPos;
Actor* parent;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
func_80A02A20(this, globalCtx);
parent = this->actor.parent;
@ -693,7 +692,7 @@ void func_80A03604(EnElf* this, GlobalContext* globalCtx) {
void func_80A03610(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
Math_SmoothStepToF(&this->unk_2B8, 30.0f, 0.1f, 4.0f, 1.0f);
this->unk_28C.x = Math_CosS(this->unk_2AC) * this->unk_2B8;
@ -736,7 +735,7 @@ void func_80A03610(EnElf* this, GlobalContext* globalCtx) {
void func_80A03814(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
if (this->unk_28C.y > 200.0f) {
Actor_Kill(&this->actor);
@ -771,7 +770,7 @@ void func_80A03814(EnElf* this, GlobalContext* globalCtx) {
void func_80A03990(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
this->unk_28C.z = 0.0f;
this->unk_28C.x = 0.0f;
@ -798,7 +797,7 @@ void func_80A03AB0(EnElf* this, GlobalContext* globalCtx) {
func_80A04414(this, globalCtx);
}
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
SkelAnime_Update(&this->skelAnime);
if (this->func_2C8 == NULL) {
__assert("0", "../z_en_elf.c", 1725);
@ -1490,7 +1489,7 @@ s32 EnElf_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
}
return 0;
return false;
}
void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
@ -1529,7 +1528,7 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPEndDisplayList(dListHead++);
gDPSetEnvColor(POLY_XLU_DISP++, (u8)this->outerColor.r, (u8)this->outerColor.g, (u8)this->outerColor.b,
(u8)(envAlpha * alphaScale));
POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnElf_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_elf.c", 2793);

View file

@ -13,8 +13,8 @@ typedef void (*EnElfUnkFunc)(struct EnElf*, GlobalContext*);
typedef struct EnElf {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTable[15];
/* 0x01EA */ Vec3s transitionDrawTable[15];
/* 0x0190 */ Vec3s jointTable[15];
/* 0x01EA */ Vec3s morphTable[15];
/* 0x0244 */ Color_RGBAf innerColor;
/* 0x0254 */ Color_RGBAf outerColor;
/* 0x0264 */ LightInfo lightInfoGlow;