mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-07 14:50:15 +00:00
Decompiled A LOT of objects (#815)
* . * remove tools/ZAP2 from origin master * object_spot04_objects * remove accidentally added xml * object_spot00_objects * object_bombf ok * object_dy_obj * object_masterzoora * object_mastergolon and object_masterkokirihead * object_aob * object_gt * object_gt * object_geff * object_mag kinda * object_gjyo_objects OK * object_ani OK * object_door_gerudo * object_md and object_trap * object_js OK * object_goroiwa * object_gs * object_nwc * object_niw * object_ane * object_os_anime OK * object_d_hsblock OK * object_fz OK * object_ru2 OK * fixed object_mag * object_cow OK * object_spot01_objects OK * object_spot15_obj * object_umajump OK * object_spot18_obj * object_spot12_obj * fix symbols in z_item_b_heart * object_bdan_objects & object_bowl * object_ddan_objects * object_owl OK * object_spot01_matoyab.xml OK * object_haka OK * object_heavy_object * object_ingate and objet_menkuri_objects * objet_spot00_break & object_relay_objects OK * object_spot01_matoya OK * object_spot06_objects OK * undefined_syms * object_spot08_obj OK * object_efc_doughnut & object_zg * object_ik OK * object_vm * object_ei OK * object_ds OK * updated spec * map_48x85_static OK * object_zl1 & object_peehat ok * some z_parameter naming and other undefined symbol stuff, object_yukabyun OK * object_bubble & object_fw ok * object_shopnuts * restore delete file * object_timeblock OK * object_d_lift OK * object_kibako2 OK * object_mamenoki OK * matches * remove unused asm * object_mag ok now * fixed object_ani * done for now, im tired * object_bdan_objects fixed up * fix bdan * object_bombf fixed * object_bowl fixed up * object_cow fixed * did more, im tired * fixed some stuff in object_ddan_objects * fix object_ddan_object * object_door_gerudo fixed * object_ds fix * object_dy progress * fixed great fairy * some more * more * object_haka fix * progress * ingo_gate fixed * object_js * forgot collision * object_relay_objects fixed * object_kibako2 * object_mag fixed * u64* to void* * more u64* to void* * object_mamenoki fix * object_mastergolon & object_masterkokirihead fix * mido is weird * fixed build * fix object_menkuri_objects * add missing textures in object_menkuri_objects * object_ms * fixed object_peehat * some cleanup stuff * object_zg fix * object_spot00_break fix * object_niw fix * object_nwc fixed * object_ru2 object_rr and some of object_owl fix * object_spot15_obj fix * business scrub * object_spot01_matoya fixed * object_spot18_obj fix * object_spot01_objects fix * object_spot04_objects fix * object_spot04_objects actually fixed * object_spot12_obj fix * object_timeblock fix * object_spot06_objects fixed * object_spot08_obj fix * spot01_matoyab fix * object_trap fix * object_umajump fix * object_vm fix * z_en_niw_lady fix * object_yukabyun fix * object_zl1 fixed * added offsets to object_os_anime * object_md fix * object_ane fix * object_aob fix * add palette comment * object_spot00_objects fix * spot00 fix * remove unused asm * updates * Add TlutOffset to objects added in https://github.com/zeldaret/oot/pull/815 * Updated object_bdan_objects, ran format.sh * Change rgb5a1 to rgba16 in my object xmls * Addressed Anghelo's comments * review Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
parent
bb4babbe15
commit
0f644b7545
162 changed files with 2973 additions and 1386 deletions
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_owl.h"
|
||||
#include "objects/object_owl/object_owl.h"
|
||||
#include "scenes/overworld/spot06/spot06_scene.h"
|
||||
#include "scenes/overworld/spot16/spot16_scene.h"
|
||||
#include "vt.h"
|
||||
|
@ -13,14 +14,6 @@
|
|||
|
||||
#define THIS ((EnOwl*)thisx)
|
||||
|
||||
extern AnimationHeader D_0600C1C4;
|
||||
extern AnimationHeader D_06001168;
|
||||
extern FlexSkeletonHeader D_0600C0E8;
|
||||
extern FlexSkeletonHeader D_060100B0;
|
||||
extern AnimationHeader D_060015CC;
|
||||
extern AnimationHeader D_0600C8A0;
|
||||
extern AnimationHeader D_0600C684;
|
||||
|
||||
void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnOwl_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnOwl_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
@ -121,15 +114,16 @@ void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawCircle, 36.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C0E8, &D_060015CC, this->jointTable, this->morphTable, 21);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime2, &D_060100B0, &D_0600C8A0, this->jointTable2, this->morphTable2,
|
||||
16);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gOwlFlyingSkel, &gOwlFlyAnim, this->jointTable, this->morphTable,
|
||||
21);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime2, &gOwlPerchingSkel, &gOwlPerchAnim, this->jointTable2,
|
||||
this->morphTable2, 16);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sOwlCylinderInit);
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->actor.minVelocityY = -10.0f;
|
||||
this->actor.targetArrowOffset = 500.0f;
|
||||
EnOwl_ChangeMode(this, EnOwl_WaitDefault, func_80ACC540, &this->skelAnime2, &D_0600C8A0, 0.0f);
|
||||
EnOwl_ChangeMode(this, EnOwl_WaitDefault, func_80ACC540, &this->skelAnime2, &gOwlPerchAnim, 0.0f);
|
||||
this->actionFlags = this->unk_406 = this->unk_409 = 0;
|
||||
this->unk_405 = 4;
|
||||
this->unk_404 = this->unk_407 = 0;
|
||||
|
@ -305,7 +299,7 @@ s32 func_80ACA558(EnOwl* this, GlobalContext* globalCtx, u16 textId) {
|
|||
}
|
||||
|
||||
void func_80ACA5C8(EnOwl* this) {
|
||||
EnOwl_ChangeMode(this, func_80ACBEA0, func_80ACC540, &this->skelAnime, &D_0600C684, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACBEA0, func_80ACC540, &this->skelAnime, &gOwlUnfoldWingsAnim, 0.0f);
|
||||
this->eyeTexIndex = 0;
|
||||
this->blinkTimer = Rand_S16Offset(60, 60);
|
||||
}
|
||||
|
@ -820,15 +814,15 @@ void EnOwl_WaitDefault(EnOwl* this, GlobalContext* globalCtx) {
|
|||
void func_80ACBAB8(EnOwl* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->csCtx.npcActions[7]->action - 1) {
|
||||
case 0:
|
||||
EnOwl_ChangeMode(this, func_80ACB904, func_80ACC540, &this->skelAnime, &D_060015CC, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACB904, func_80ACC540, &this->skelAnime, &gOwlFlyAnim, 0.0f);
|
||||
break;
|
||||
case 1:
|
||||
this->actor.draw = EnOwl_Draw;
|
||||
EnOwl_ChangeMode(this, EnOwl_WaitDefault, func_80ACC540, &this->skelAnime, &D_0600C8A0, 0.0f);
|
||||
EnOwl_ChangeMode(this, EnOwl_WaitDefault, func_80ACC540, &this->skelAnime, &gOwlPerchAnim, 0.0f);
|
||||
break;
|
||||
case 2:
|
||||
this->actor.draw = EnOwl_Draw;
|
||||
EnOwl_ChangeMode(this, func_80ACB994, func_80ACC540, &this->skelAnime, &D_060015CC, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACB994, func_80ACC540, &this->skelAnime, &gOwlFlyAnim, 0.0f);
|
||||
break;
|
||||
case 3:
|
||||
this->actor.draw = NULL;
|
||||
|
@ -884,7 +878,7 @@ void func_80ACBD4C(EnOwl* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
if (this->actionFlags & 1) {
|
||||
EnOwl_ChangeMode(this, func_80ACBC0C, func_80ACC460, &this->skelAnime, &D_060015CC, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACBC0C, func_80ACC460, &this->skelAnime, &gOwlFlyAnim, 0.0f);
|
||||
this->unk_3FE = 6;
|
||||
if (this->actionFlags & 0x40) {
|
||||
this->unk_400 += 0x2000;
|
||||
|
@ -899,7 +893,7 @@ void func_80ACBD4C(EnOwl* this, GlobalContext* globalCtx) {
|
|||
void func_80ACBEA0(EnOwl* this, GlobalContext* GlobalContext) {
|
||||
if (this->actionFlags & 1) {
|
||||
this->unk_3FE = 3;
|
||||
EnOwl_ChangeMode(this, func_80ACBD4C, func_80ACC540, &this->skelAnime, &D_06001168, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACBD4C, func_80ACC540, &this->skelAnime, &gOwlTakeoffAnim, 0.0f);
|
||||
this->unk_3F8 = this->actor.world.pos.y;
|
||||
this->actor.velocity.y = 2.0f;
|
||||
if (this->actionFlags & 0x40) {
|
||||
|
@ -917,7 +911,7 @@ void func_80ACBF50(EnOwl* this, GlobalContext* globalCtx) {
|
|||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
|
||||
if (this->actionFlags & 1) {
|
||||
EnOwl_ChangeMode(this, func_80ACBC0C, func_80ACC460, &this->skelAnime, &D_060015CC, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACBC0C, func_80ACC460, &this->skelAnime, &gOwlFlyAnim, 0.0f);
|
||||
this->unk_3FE = 6;
|
||||
this->actor.velocity.y = 2.0f;
|
||||
this->actor.gravity = 0.0f;
|
||||
|
@ -1004,7 +998,7 @@ void func_80ACC23C(EnOwl* this, GlobalContext* globalCtx) {
|
|||
void func_80ACC30C(EnOwl* this, GlobalContext* globalCtx) {
|
||||
if (this->actionFlags & 1) {
|
||||
this->unk_3FE = 3;
|
||||
EnOwl_ChangeMode(this, func_80ACC23C, func_80ACC540, &this->skelAnime, &D_06001168, 0.0f);
|
||||
EnOwl_ChangeMode(this, func_80ACC23C, func_80ACC540, &this->skelAnime, &gOwlTakeoffAnim, 0.0f);
|
||||
this->unk_3F8 = this->actor.world.pos.y;
|
||||
this->actor.velocity.y = 0.2f;
|
||||
}
|
||||
|
@ -1021,8 +1015,7 @@ void func_80ACC390(EnOwl* this) {
|
|||
} else {
|
||||
this->unk_410 = func_80ACC460;
|
||||
this->unk_3FE = 6;
|
||||
Animation_Change(this->curSkelAnime, &D_060015CC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060015CC),
|
||||
ANIMMODE_ONCE, 5.0f);
|
||||
Animation_Change(this->curSkelAnime, &gOwlFlyAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlFlyAnim), 2, 5.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1035,8 +1028,8 @@ void func_80ACC460(EnOwl* this) {
|
|||
} else {
|
||||
this->unk_3FE = 0xA0;
|
||||
this->unk_410 = func_80ACC390;
|
||||
Animation_Change(this->curSkelAnime, &D_0600C1C4, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600C1C4),
|
||||
ANIMMODE_LOOP, 5.0f);
|
||||
Animation_Change(this->curSkelAnime, &gOwlGlideAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlGlideAnim), 0,
|
||||
5.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1101,11 +1094,11 @@ void EnOwl_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
if (!(this->actionFlags & 0x80) && func_80ACC624(this, globalCtx)) {
|
||||
if ((this->skelAnime.animation == &D_06001168 &&
|
||||
if ((this->skelAnime.animation == &gOwlTakeoffAnim &&
|
||||
(this->skelAnime.curFrame == 2.0f || this->skelAnime.curFrame == 9.0f ||
|
||||
this->skelAnime.curFrame == 23.0f || this->skelAnime.curFrame == 40.0f ||
|
||||
this->skelAnime.curFrame == 58.0f)) ||
|
||||
(this->skelAnime.animation == &D_060015CC && this->skelAnime.curFrame == 4.0f)) {
|
||||
(this->skelAnime.animation == &gOwlFlyAnim && this->skelAnime.curFrame == 4.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OWL_FLUTTER);
|
||||
}
|
||||
}
|
||||
|
@ -1320,7 +1313,7 @@ void EnOwl_PostLimbUpdate(GlobalContext* globalCtx, s32 limbIndex, Gfx** gfx, Ve
|
|||
}
|
||||
|
||||
void EnOwl_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static u64* eyeTextures[] = { 0x060089A8, 0x06008DA8, 0x060091A8 };
|
||||
static void* eyeTextures[] = { gObjOwlEyeOpenTex, gObjOwlEyeHalfTex, gObjOwlEyeClosedTex };
|
||||
EnOwl* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue