1
0
Fork 0
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:
Lucas Shaw 2021-08-05 08:53:58 -07:00 committed by GitHub
parent bb4babbe15
commit 0f644b7545
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
162 changed files with 2973 additions and 1386 deletions

View file

@ -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;