mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-06 22:30: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:
parent
e4d88bf942
commit
2dfa188706
1187 changed files with 5434 additions and 5367 deletions
|
@ -547,8 +547,8 @@ void EnZo_SetAnimation(EnZo* this) {
|
|||
if (animId != 8) {
|
||||
func_80034EC0(&this->skelAnime, sAnimations, animId);
|
||||
if (animId == 3) {
|
||||
this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
|
||||
this->skelAnime.animPlaybackSpeed = 0.0f;
|
||||
this->skelAnime.curFrame = this->skelAnime.endFrame;
|
||||
this->skelAnime.playSpeed = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -557,7 +557,7 @@ void EnZo_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
EnZo* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BFA8, NULL, this->limbDrawTbl, this->transitionDrawTbl, 20);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BFA8, NULL, this->jointTable, this->morphTable, 20);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
func_80061EFC(&this->actor.colChkInfo, NULL, &sColChkInit);
|
||||
|
@ -638,10 +638,10 @@ void EnZo_Surface(EnZo* this, GlobalContext* globalCtx) {
|
|||
|
||||
void EnZo_TreadWater(EnZo* this, GlobalContext* globalCtx) {
|
||||
func_80034F54(globalCtx, this->unk_656, this->unk_67E, 20);
|
||||
if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
|
||||
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||
this->canSpeak = true;
|
||||
this->unk_64C = 4;
|
||||
this->skelAnime.animPlaybackSpeed = 0.0f;
|
||||
this->skelAnime.playSpeed = 0.0f;
|
||||
}
|
||||
EnZo_SetAnimation(this);
|
||||
|
||||
|
@ -659,29 +659,29 @@ void EnZo_TreadWater(EnZo* this, GlobalContext* globalCtx) {
|
|||
if (EnZo_PlayerInProximity(this, globalCtx) != 0) {
|
||||
this->timeToDive = Rand_S16Offset(40, 40);
|
||||
} else if (DECR(this->timeToDive) == 0) {
|
||||
f32 initialFrame;
|
||||
f32 startFrame;
|
||||
func_80034EC0(&this->skelAnime, sAnimations, 4);
|
||||
this->canSpeak = false;
|
||||
this->unk_64C = 1;
|
||||
this->actionFunc = EnZo_Dive;
|
||||
initialFrame = this->skelAnime.initialFrame;
|
||||
this->skelAnime.initialFrame = this->skelAnime.animFrameCount;
|
||||
this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
|
||||
this->skelAnime.animFrameCount = initialFrame;
|
||||
this->skelAnime.animPlaybackSpeed = -1.0f;
|
||||
startFrame = this->skelAnime.startFrame;
|
||||
this->skelAnime.startFrame = this->skelAnime.endFrame;
|
||||
this->skelAnime.curFrame = this->skelAnime.endFrame;
|
||||
this->skelAnime.endFrame = startFrame;
|
||||
this->skelAnime.playSpeed = -1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void EnZo_Dive(EnZo* this, GlobalContext* globalCtx) {
|
||||
if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
|
||||
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_DIVE_WATER);
|
||||
EnZo_SpawnSplashes(this);
|
||||
this->actor.flags &= ~1;
|
||||
this->actor.velocity.y = -4.0f;
|
||||
this->skelAnime.animPlaybackSpeed = 0.0f;
|
||||
this->skelAnime.playSpeed = 0.0f;
|
||||
}
|
||||
|
||||
if (this->skelAnime.animPlaybackSpeed > 0.0f) {
|
||||
if (this->skelAnime.playSpeed > 0.0f) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -704,7 +704,7 @@ void EnZo_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
Vec3f pos;
|
||||
|
||||
if ((s32)this->alpha != 0) {
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
EnZo_Blink(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@ typedef struct EnZo {
|
|||
/* 0x0194 */ struct_80034A14_arg1 unk_194;
|
||||
/* 0x01BC */ ColliderCylinder collider;
|
||||
/* 0x0208 */ u8 canSpeak;
|
||||
/* 0x020A */ Vec3s limbDrawTbl[20];
|
||||
/* 0x0282 */ Vec3s transitionDrawTbl[20];
|
||||
/* 0x020A */ Vec3s jointTable[20];
|
||||
/* 0x0282 */ Vec3s morphTable[20];
|
||||
/* 0x02FC */ EnZoEffect effects[15];
|
||||
/* 0x0644 */ f32 dialogRadius;
|
||||
/* 0x0648 */ f32 alpha;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue