1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +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_bg_bdan_objects.h"
#include "objects/object_bdan_objects/object_bdan_objects.h"
#define FLAGS 0x00000010
@ -68,18 +69,13 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 0x64, ICHAIN_STOP),
};
static Gfx* D_8086CDA0[] = {
0x06008618,
0x06004BE8,
0x060038E8,
0x06005200,
static Gfx* sDLists[] = {
gJabuObjectsLargeRotatingSpikePlatformDL,
gJabuElevatorPlatformDL,
gJabuWaterDL,
gJabuFallingPlatformDL,
};
extern Gfx D_060038E8[];
extern CollisionHeader D_06005048;
extern CollisionHeader D_06005580;
extern CollisionHeader D_06008CE0;
s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) {
switch (arg1) {
case 0:
@ -126,7 +122,7 @@ void BgBdanObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
if (thisx->params == 0) {
CollisionHeader_GetVirtual(&D_06008CE0, &colHeader);
CollisionHeader_GetVirtual(&gJabuBigOctoPlatformCol, &colHeader);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->dyna.actor, &sCylinderInit);
thisx->world.pos.y += -79.0f;
@ -151,12 +147,12 @@ void BgBdanObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
}
} else {
if (thisx->params == 1) {
CollisionHeader_GetVirtual(&D_06005048, &colHeader);
CollisionHeader_GetVirtual(&gJabuElevatorCol, &colHeader);
this->timer = 512;
this->unk_168 = 0;
this->actionFunc = func_8086C874;
} else {
CollisionHeader_GetVirtual(&D_06005580, &colHeader);
CollisionHeader_GetVirtual(&gJabuLoweringPlatformCol, &colHeader);
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
this->actionFunc = BgBdanObjects_DoNothing;
thisx->world.pos.y = thisx->home.pos.y - 400.0f;
@ -462,8 +458,8 @@ void BgBdanObjects_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
if (thisx->params == 2) {
Gfx_DrawDListXlu(globalCtx, D_060038E8);
Gfx_DrawDListXlu(globalCtx, gJabuWaterDL);
} else {
Gfx_DrawDListOpa(globalCtx, D_8086CDA0[thisx->params]);
Gfx_DrawDListOpa(globalCtx, sDLists[thisx->params]);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_bdan_switch.h"
#include "objects/object_bdan_objects/object_bdan_objects.h"
#define FLAGS 0x00000010
@ -55,10 +56,6 @@ const ActorInit Bg_Bdan_Switch_InitVars = {
(ActorFunc)BgBdanSwitch_Draw,
};
extern CollisionHeader D_06005CF8;
extern Gfx D_060061A0[];
extern Gfx D_06005A20[];
static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
@ -160,7 +157,7 @@ void BgBdanSwitch_Init(Actor* thisx, GlobalContext* globalCtx) {
case BLUE:
case YELLOW_HEAVY:
case YELLOW:
func_8086D010(this, globalCtx, &D_06005CF8, DPM_PLAYER);
func_8086D010(this, globalCtx, &gJabuFloorSwitchCol, DPM_PLAYER);
break;
case YELLOW_TALL_1:
case YELLOW_TALL_2:
@ -518,15 +515,15 @@ void BgBdanSwitch_Draw(Actor* thisx, GlobalContext* globalCtx) {
switch (this->dyna.actor.params & 0xFF) {
case YELLOW_HEAVY:
case YELLOW:
func_8086DF58(this, globalCtx, D_060061A0);
func_8086DF58(this, globalCtx, gJabuYellowFloorSwitchDL);
break;
case YELLOW_TALL_1:
case YELLOW_TALL_2:
func_8086DF58(this, globalCtx, D_060061A0);
func_8086DF58(this, globalCtx, gJabuYellowFloorSwitchDL);
Collider_UpdateSpheres(0, &this->collider);
Matrix_MultVec3f(&D_8086E0E0, &this->dyna.actor.focus.pos);
break;
case BLUE:
func_8086DF58(this, globalCtx, D_06005A20);
func_8086DF58(this, globalCtx, gJabuBlueFloorSwitchDL);
}
}

View file

@ -4,9 +4,10 @@
* Description: Bombchu Bowling Alley Walls
*/
#include "vt.h"
#include "z_bg_bom_guard.h"
#include "overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h"
#include "objects/object_bowl/object_bowl.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -30,8 +31,6 @@ const ActorInit Bg_Bom_Guard_InitVars = {
NULL,
};
extern CollisionHeader D_06001C40;
void BgBomGuard_SetupAction(BgBomGuard* this, BgBomGuardActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -42,7 +41,7 @@ void BgBomGuard_Init(Actor* thisx, GlobalContext* globalCtx) {
CollisionHeader* colHeader = NULL;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001C40, &colHeader);
CollisionHeader_GetVirtual(&gBowlingDefaultCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
osSyncPrintf("\n\n");

View file

@ -5,9 +5,10 @@
*/
#include "z_bg_bowl_wall.h"
#include "vt.h"
#include "overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "objects/object_bowl/object_bowl.h"
#include "vt.h"
#define FLAGS 0x00000030
@ -24,11 +25,6 @@ void BgBowlWall_FallDoEffects(BgBowlWall* this, GlobalContext* globalCtx);
void BgBowlWall_FinishFall(BgBowlWall* this, GlobalContext* globalCtx);
void BgBowlWall_Reset(BgBowlWall* this, GlobalContext* globalCtx);
extern CollisionHeader D_06000CB8;
extern CollisionHeader D_06001B00;
extern Gfx D_06000610[];
extern Gfx D_06001390[];
const ActorInit Bg_Bowl_Wall_InitVars = {
ACTOR_BG_BOWL_WALL,
ACTORCAT_PROP,
@ -59,9 +55,9 @@ void BgBowlWall_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_UNK);
if (this->dyna.actor.params == 0) {
CollisionHeader_GetVirtual(&D_06000CB8, &colHeader);
CollisionHeader_GetVirtual(&gBowlingFirstAndFinalRoundCol, &colHeader);
} else {
CollisionHeader_GetVirtual(&D_06001B00, &colHeader);
CollisionHeader_GetVirtual(&gBowlingSecondRoundCol, &colHeader);
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -217,9 +213,9 @@ void BgBowlWall_Draw(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (this->dyna.actor.params == 0) {
gSPDisplayList(POLY_OPA_DISP++, D_06000610);
gSPDisplayList(POLY_OPA_DISP++, gBowlingRound1WallDL);
} else {
gSPDisplayList(POLY_OPA_DISP++, D_06001390);
gSPDisplayList(POLY_OPA_DISP++, gBowlingRound2WallDL);
}
CLOSE_DISPS(globalCtx2->state.gfxCtx, "../z_bg_bowl_wall.c", 464);

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_ddan_jd.h"
#include "objects/object_ddan_objects/object_ddan_objects.h"
#define FLAGS 0x00000030
@ -18,9 +19,6 @@ void BgDdanJd_Draw(Actor* thisx, GlobalContext* globalCtx);
void BgDdanJd_Idle(BgDdanJd* this, GlobalContext* globalCtx);
void BgDdanJd_Move(BgDdanJd* this, GlobalContext* globalCtx);
extern Gfx D_060037B8[];
extern CollisionHeader D_06003CE0;
const ActorInit Bg_Ddan_Jd_InitVars = {
ACTOR_BG_DDAN_JD,
ACTORCAT_BG,
@ -61,7 +59,7 @@ void BgDdanJd_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
CollisionHeader_GetVirtual(&D_06003CE0, &colHeader);
CollisionHeader_GetVirtual(&gDodongoRisingPlatformCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
this->idleTimer = IDLE_FRAMES;
this->state = STATE_GO_BOTTOM;
@ -179,5 +177,5 @@ void BgDdanJd_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgDdanJd_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_060037B8);
Gfx_DrawDListOpa(globalCtx, gDodongoRisingPlatformDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_ddan_kd.h"
#include "objects/object_ddan_objects/object_ddan_objects.h"
#define FLAGS 0x00000010
@ -58,9 +59,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 32767, ICHAIN_STOP),
};
extern CollisionHeader D_06004F30;
extern Gfx D_060048A8[];
void BgDdanKd_SetupAction(BgDdanKd* this, BgDdanKdActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -76,7 +74,7 @@ void BgDdanKd_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->dyna.actor, &sCylinderInit);
CollisionHeader_GetVirtual(&D_06004F30, &colHeader);
CollisionHeader_GetVirtual(&gDodongoFallingStairsCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -187,5 +185,5 @@ void BgDdanKd_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgDdanKd_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_060048A8);
Gfx_DrawDListOpa(globalCtx, gDodongoFallingStairsDL);
}

View file

@ -6,6 +6,7 @@
#include "z_bg_dodoago.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "objects/object_ddan_objects/object_ddan_objects.h"
#define FLAGS 0x00000000
@ -75,9 +76,6 @@ static ColliderCylinderInit sColCylinderInit1 = {
static s16 sHasParent = false;
extern Gfx D_60013500[];
extern CollisionHeader D_06001DDC;
void BgDodoago_SetupAction(BgDodoago* this, BgDodoagoActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -116,7 +114,7 @@ void BgDodoago_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001DDC, &colHeader);
CollisionHeader_GetVirtual(&gDodongoLowerJawCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
ActorShape_Init(&this->dyna.actor.shape, 0.0f, NULL, 0.0f);
@ -305,7 +303,7 @@ void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 677),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_60013500);
gSPDisplayList(POLY_OPA_DISP++, gDodongoLowerJarDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 681);

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_dy_yoseizo.h"
#include "objects/object_dy_obj/object_dy_obj.h"
#include "vt.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
#include "scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_scene.h"
@ -67,20 +68,12 @@ const ActorInit Bg_Dy_Yoseizo_InitVars = {
NULL,
};
extern AnimationHeader D_0600092C; // Giving spell to spin-shrink, arms, leg, hair up
extern AnimationHeader D_06001DF0; // Lounging
extern AnimationHeader D_060031C0; // Upright to Lounging
extern AnimationHeader D_06004344; // Horizontal, giving spell
extern AnimationHeader D_06005810; // Lounging to horizontal
extern u64 D_06005860[];
extern UNK_TYPE D_06005868;
extern u64 D_060058D8[];
extern AnimationHeader D_06005E60; // Upright, arms out, disappearing after giving magic
extern AnimationHeader D_060069E8; // Blowing kiss: cross-legged to giving magic
extern AnimationHeader D_06007CA8; // Upright, arms forward, giving magic
extern AnimationHeader D_06008698; // Spin-grow to cross-legged
extern FlexSkeletonHeader D_0601C450;
extern AnimationHeader D_0601D514; // Cross-legged, resting on right arm
extern CutsceneData D_02000130;
extern CutsceneData D_02000160;
extern CutsceneData D_02001020;
extern CutsceneData D_020013E0;
extern CutsceneData D_02001F40;
extern CutsceneData D_020025D0;
void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
@ -99,13 +92,13 @@ void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
// Great Fairy Fountain
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 大妖精の泉 ☆☆☆☆☆ %d\n" VT_RST, globalCtx->curSpawn);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601C450, &D_06008698, this->jointTable, this->morphTable,
28);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGreatFairySkel, &gGreatFairySittingTransitionAnim,
this->jointTable, this->morphTable, 28);
} else {
// Stone/Jewel Fairy Fountain
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 石妖精の泉 ☆☆☆☆☆ %d\n" VT_RST, globalCtx->curSpawn);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601C450, &D_060031C0, this->jointTable, this->morphTable,
28);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGreatFairySkel, &gGreatFairyLayingDownTransitionAnim,
this->jointTable, this->morphTable, 28);
}
this->actionFunc = BgDyYoseizo_CheckMagicAcquired;
}
@ -322,11 +315,12 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) {
// Sets animations for spingrow
void BgDyYoseizo_SetupSpinGrow_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_06008698);
Animation_Change(&this->skelAnime, &D_06008698, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingTransitionAnim, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_060031C0);
Animation_Change(&this->skelAnime, &D_060031C0, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyLayingDownTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairyLayingDownTransitionAnim, 1.0f, 0.0f, this->frameCount, 2,
-10.0f);
}
Audio_PlayActorSound2(&this->actor, NA_SE_VO_FR_LAUGH_0);
@ -378,11 +372,11 @@ void BgDyYoseizo_SetupGreetPlayer_NoReward(BgDyYoseizo* this, GlobalContext* glo
func_8002DF54(globalCtx, &this->actor, 1);
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_0601D514);
Animation_Change(&this->skelAnime, &D_0601D514, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06001DF0);
Animation_Change(&this->skelAnime, &D_06001DF0, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyLayingSidewaysAnim);
Animation_Change(&this->skelAnime, &gGreatFairyLayingSidewaysAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
}
this->actor.textId = 0xDB;
@ -414,11 +408,11 @@ void BgDyYoseizo_GreetPlayer_NoReward(BgDyYoseizo* this, GlobalContext* globalCt
void BgDyYoseizo_SetupHealPlayer_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_060069E8);
Animation_Change(&this->skelAnime, &D_060069E8, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyGivingUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyGivingUpgradeAnim, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06005810);
Animation_Change(&this->skelAnime, &D_06005810, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAnim_005810);
Animation_Change(&this->skelAnime, &gGreatFairyAnim_005810, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
}
Audio_PlayActorSound2(&this->actor, NA_SE_VO_FR_SMILE_0);
@ -442,11 +436,11 @@ void BgDyYoseizo_HealPlayer_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx
SkelAnime_Update(&this->skelAnime);
if ((this->frameCount <= curFrame) && !(this->animationChanged)) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_06007CA8);
Animation_Change(&this->skelAnime, &D_06007CA8, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterUpgradeAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06004344);
Animation_Change(&this->skelAnime, &D_06004344, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterSpellAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterSpellAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
}
this->healingTimer = 150;
this->animationChanged = true;
@ -519,11 +513,13 @@ void BgDyYoseizo_SayFarewell_NoReward(BgDyYoseizo* this, GlobalContext* globalCt
void BgDyYoseizo_SetupSpinShrink(BgDyYoseizo* this, GlobalContext* globalCtx) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_06005E60);
Animation_Change(&this->skelAnime, &D_06005E60, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyJewelFountainSpinShrinkAnim);
Animation_Change(&this->skelAnime, &gGreatFairyJewelFountainSpinShrinkAnim, 1.0f, 0.0f, this->frameCount, 2,
-10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_0600092C);
Animation_Change(&this->skelAnime, &D_0600092C, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairySpellFountainSpinShrinkAnim);
Animation_Change(&this->skelAnime, &gGreatFairySpellFountainSpinShrinkAnim, 1.0f, 0.0f, this->frameCount, 2,
-10.0f);
}
this->vanishTimer = 5;
@ -581,11 +577,13 @@ void BgDyYoseizo_SetupSpinGrow_Reward(BgDyYoseizo* this, GlobalContext* globalCt
this->finishedSpinGrow = false;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_06008698);
Animation_Change(&this->skelAnime, &D_06008698, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingTransitionAnim, 1.0f, 0.0f, this->frameCount, 2,
-10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_060031C0);
Animation_Change(&this->skelAnime, &D_060031C0, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyLayingDownTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairyLayingDownTransitionAnim, 1.0f, 0.0f, this->frameCount,
2, -10.0f);
}
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GREAT_FAIRY_APPEAR);
@ -622,11 +620,12 @@ void BgDyYoseizo_SpinGrowSetupGive_Reward(BgDyYoseizo* this, GlobalContext* glob
if ((this->frameCount <= curFrame) && !this->animationChanged) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_0601D514);
Animation_Change(&this->skelAnime, &D_0601D514, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06001DF0);
Animation_Change(&this->skelAnime, &D_06001DF0, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyLayingSidewaysAnim);
Animation_Change(&this->skelAnime, &gGreatFairyLayingSidewaysAnim, 1.0f, 0.0f, this->frameCount, 0,
-10.0f);
}
this->animationChanged = true;
}
@ -635,11 +634,12 @@ void BgDyYoseizo_SpinGrowSetupGive_Reward(BgDyYoseizo* this, GlobalContext* glob
((globalCtx->csCtx.npcActions[0] != NULL) && (globalCtx->csCtx.npcActions[0]->action == 3))) {
this->finishedSpinGrow = this->animationChanged = false;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_060069E8);
Animation_Change(&this->skelAnime, &D_060069E8, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyGivingUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyGivingUpgradeAnim, 1.0f, 0.0f, this->frameCount, 2,
-10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06005810);
Animation_Change(&this->skelAnime, &D_06005810, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAnim_005810);
Animation_Change(&this->skelAnime, &gGreatFairyAnim_005810, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
}
this->mouthState = 1;
this->actionFunc = BgDyYoseizo_Give_Reward;
@ -673,11 +673,11 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) {
if ((this->frameCount <= curFrame) && !this->animationChanged) {
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
this->frameCount = Animation_GetLastFrame(&D_06007CA8);
Animation_Change(&this->skelAnime, &D_06007CA8, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterUpgradeAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
} else {
this->frameCount = Animation_GetLastFrame(&D_06004344);
Animation_Change(&this->skelAnime, &D_06004344, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterSpellAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterSpellAnim, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
}
this->animationChanged = true;
}
@ -877,15 +877,15 @@ s32 BgDyYoseizo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
return 0;
}
static u64* sEyeTextures[] = {
0x06017930, // Open
0x06018130, // Half
0x06018930, // Closed
static void* sEyeTextures[] = {
&gGreatFairyEyeOpenTex, // Open
&gGreatFairyEyeHalfTex, // Half
&gGreatFairyEyeClosedTex, // Closed
};
static u64* sMouthTextures[] = {
0x06019130, // Closed
0x0601A130, // Open
static void* sMouthTextures[] = {
&gGreatFairyMouthClosedTex, // Closed
&gGreatFairyMouthOpenTex, // Open
};
void BgDyYoseizo_Draw(Actor* thisx, GlobalContext* globalCtx) {
@ -1013,7 +1013,7 @@ void BgDyYoseizo_ParticleDraw(BgDyYoseizo* this, GlobalContext* globalCtx) {
for (i = 0; i < 200; i++, particle++) {
if (particle->alive == 1) {
if (phi_s3 == 0) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&D_06005860));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGreatFairyParticleAppearDL));
gDPPipeSync(POLY_XLU_DISP++);
phi_s3++;
@ -1030,7 +1030,7 @@ void BgDyYoseizo_ParticleDraw(BgDyYoseizo* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_bg_dy_yoseizo.c", 1810),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&D_060058D8));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&gGreatFairyParticleAliveDL));
}
}

View file

@ -4,8 +4,9 @@
* Description: Death Mountain Trail Gate
*/
#include "vt.h"
#include "z_bg_gate_shutter.h"
#include "objects/object_spot01_matoyab/object_spot01_matoyab.h"
#include "vt.h"
#define FLAGS 0x00000000
@ -33,16 +34,13 @@ const ActorInit Bg_Gate_Shutter_InitVars = {
(ActorFunc)BgGateShutter_Draw,
};
extern Gfx D_06001CD0[];
extern CollisionHeader D_06001DA8;
void BgGateShutter_Init(Actor* thisx, GlobalContext* globalCtx) {
BgGateShutter* this = THIS;
s32 pad[2];
CollisionHeader* colHeader = NULL;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001DA8, &colHeader);
CollisionHeader_GetVirtual(&gKakarikoGuardGateCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
this->somePos.x = thisx->world.pos.x;
this->somePos.y = thisx->world.pos.y;
@ -133,7 +131,7 @@ void BgGateShutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 328),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06001CD0);
gSPDisplayList(POLY_OPA_DISP++, gKakarikoGuardGateDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gate_shutter.c", 333);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_gjyo_bridge.h"
#include "objects/object_gjyo_objects/object_gjyo_objects.h"
#include "scenes/dungeons/ganon_tou/ganon_tou_scene.h"
#define FLAGS 0x00000000
@ -37,8 +38,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern Gfx D_06000600[];
extern CollisionHeader D_06000DB8;
extern CutsceneData D_02002640[];
void BgGjyoBridge_Init(Actor* thisx, GlobalContext* globalCtx) {
BgGjyoBridge* this = THIS;
@ -49,7 +49,7 @@ void BgGjyoBridge_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000DB8, &colHeader);
CollisionHeader_GetVirtual(&gRainbowBridgeCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
@ -118,7 +118,7 @@ void BgGjyoBridge_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000600);
gSPDisplayList(POLY_XLU_DISP++, gRainbowBridgeDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gjyo_bridge.c", 285);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_haka.h"
#include "objects/object_haka/object_haka.h"
#define FLAGS 0x00000000
@ -38,10 +39,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern CollisionHeader D_06000428;
extern Gfx D_060001B0[];
extern Gfx D_060002A8[];
void BgHaka_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHaka* this = THIS;
s32 pad;
@ -49,7 +46,7 @@ void BgHaka_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000428, &colHeader);
CollisionHeader_GetVirtual(&gGravestoneCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
this->actionFunc = func_8087B7E8;
}
@ -159,11 +156,11 @@ void BgHaka_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 406),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_060001B0);
gSPDisplayList(POLY_OPA_DISP++, gGravestoneStoneDL);
Matrix_Translate(0.0f, 0.0f, thisx->minVelocityY * 10.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka.c", 416),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_060002A8);
gSPDisplayList(POLY_XLU_DISP++, gGravestoneEarthDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_haka.c", 421);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_heavy_block.h"
#include "objects/object_heavy_object/object_heavy_object.h"
#include "vt.h"
#define FLAGS 0x00000000
@ -46,11 +47,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 400, ICHAIN_STOP),
};
extern CollisionHeader D_0600169C;
extern Gfx D_060013C0[];
extern Gfx D_06001A30[];
extern Gfx D_060018A0[];
void BgHeavyBlock_SetPieceRandRot(BgHeavyBlock* this, f32 scale) {
this->dyna.actor.world.rot.x = Rand_CenteredFloat(1024.0f) * scale;
this->dyna.actor.world.rot.y = Rand_CenteredFloat(1024.0f) * scale;
@ -83,7 +79,7 @@ void BgHeavyBlock_SetupDynapoly(BgHeavyBlock* this, GlobalContext* globalCtx) {
CollisionHeader* colHeader = NULL;
this->dyna.actor.flags |= 0x20030;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_0600169C, &colHeader);
CollisionHeader_GetVirtual(&gHeavyBlockCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
}
@ -509,7 +505,7 @@ void BgHeavyBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 931),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_060013C0);
gSPDisplayList(POLY_OPA_DISP++, gHeavyBlockEntirePillarDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_heavy_block.c", 935);
}
@ -518,11 +514,11 @@ void BgHeavyBlock_DrawPiece(Actor* thisx, GlobalContext* globalCtx) {
switch (thisx->params & 0xFF) {
case HEAVYBLOCK_BIG_PIECE:
Matrix_Translate(50.0f, -260.0f, -20.0f, MTXMODE_APPLY);
Gfx_DrawDListOpa(globalCtx, D_060018A0);
Gfx_DrawDListOpa(globalCtx, gHeavyBlockBigPieceDL);
break;
case HEAVYBLOCK_SMALL_PIECE:
Matrix_Translate(45.0f, -280.0f, -5.0f, MTXMODE_APPLY);
Gfx_DrawDListOpa(globalCtx, D_06001A30);
Gfx_DrawDListOpa(globalCtx, gHeavyBlockSmallPieceDL);
break;
}
}

View file

@ -5,46 +5,44 @@
*/
#include "z_bg_ingate.h"
#include "objects/object_ingate/object_ingate.h"
#define FLAGS 0x00000000
#define THIS ((BgIngate*)thisx)
#define THIS ((BgInGate*)thisx)
void BgIngate_Init(Actor* thisx, GlobalContext* globalCtx);
void BgIngate_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgIngate_Update(Actor* thisx, GlobalContext* globalCtx);
void BgIngate_Draw(Actor* thisx, GlobalContext* globalCtx);
void BgInGate_Init(Actor* thisx, GlobalContext* globalCtx);
void BgInGate_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgInGate_Update(Actor* thisx, GlobalContext* globalCtx);
void BgInGate_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80892890(BgIngate* this, GlobalContext* globalCtx);
void BgIngate_DoNothing(BgIngate* this, GlobalContext* globalCtx);
void func_80892890(BgInGate* this, GlobalContext* globalCtx);
void BgInGate_DoNothing(BgInGate* this, GlobalContext* globalCtx);
const ActorInit Bg_Ingate_InitVars = {
ACTOR_BG_INGATE,
ACTORCAT_PROP,
FLAGS,
OBJECT_INGATE,
sizeof(BgIngate),
(ActorFunc)BgIngate_Init,
(ActorFunc)BgIngate_Destroy,
(ActorFunc)BgIngate_Update,
(ActorFunc)BgIngate_Draw,
sizeof(BgInGate),
(ActorFunc)BgInGate_Init,
(ActorFunc)BgInGate_Destroy,
(ActorFunc)BgInGate_Update,
(ActorFunc)BgInGate_Draw,
};
extern CollisionHeader D_060011B8;
extern Gfx D_06001040[];
void BgIngate_SetupAction(BgIngate* this, BgIngateActionFunc actionFunc) {
void BgInGate_SetupAction(BgInGate* this, BgInGateActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
void BgIngate_Init(Actor* thisx, GlobalContext* globalCtx) {
BgIngate* this = THIS;
void BgInGate_Init(Actor* thisx, GlobalContext* globalCtx) {
BgInGate* this = THIS;
s32 pad;
CollisionHeader* colHeader = NULL;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_060011B8, &colHeader);
CollisionHeader_GetVirtual(&gIngoGateCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -57,19 +55,19 @@ void BgIngate_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetScale(&this->dyna.actor, 0.1f);
if (((this->dyna.actor.params & 1) != 0) && ((gSaveContext.eventInf[0] & 0xF) == 6)) {
globalCtx->csCtx.frames = 0;
BgIngate_SetupAction(this, func_80892890);
BgInGate_SetupAction(this, func_80892890);
} else {
BgIngate_SetupAction(this, BgIngate_DoNothing);
BgInGate_SetupAction(this, BgInGate_DoNothing);
}
}
void BgIngate_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgIngate* this = THIS;
void BgInGate_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgInGate* this = THIS;
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
}
void func_80892890(BgIngate* this, GlobalContext* globalCtx) {
void func_80892890(BgInGate* this, GlobalContext* globalCtx) {
s32 phi0;
s16 phi1;
s16 csFrames;
@ -80,7 +78,7 @@ void func_80892890(BgIngate* this, GlobalContext* globalCtx) {
phi0 = -0x4000;
}
this->dyna.actor.shape.rot.y = this->dyna.actor.world.rot.y + phi0;
BgIngate_SetupAction(this, &BgIngate_DoNothing);
BgInGate_SetupAction(this, &BgInGate_DoNothing);
} else if (globalCtx->csCtx.frames >= 10) {
csFrames = globalCtx->csCtx.frames - 10;
csFrames *= 400;
@ -97,16 +95,16 @@ void func_80892890(BgIngate* this, GlobalContext* globalCtx) {
}
}
void BgIngate_DoNothing(BgIngate* this, GlobalContext* globalCtx) {
void BgInGate_DoNothing(BgInGate* this, GlobalContext* globalCtx) {
}
void BgIngate_Update(Actor* thisx, GlobalContext* globalCtx) {
BgIngate* this = THIS;
void BgInGate_Update(Actor* thisx, GlobalContext* globalCtx) {
BgInGate* this = THIS;
this->actionFunc(this, globalCtx);
}
void BgIngate_Draw(Actor* thisx, GlobalContext* globalCtx) {
void BgInGate_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 240);
func_80093D18(globalCtx->state.gfxCtx);
@ -114,7 +112,7 @@ void BgIngate_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 245),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06001040);
gSPDisplayList(POLY_OPA_DISP++, gIngoGateDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ingate.c", 250);
}

View file

@ -4,14 +4,14 @@
#include "ultra64.h"
#include "global.h"
struct BgIngate;
struct BgInGate;
typedef void (*BgIngateActionFunc)(struct BgIngate*, GlobalContext*);
typedef void (*BgInGateActionFunc)(struct BgInGate*, GlobalContext*);
typedef struct BgIngate {
typedef struct BgInGate {
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgIngateActionFunc actionFunc;
} BgIngate; // size = 0x0168
/* 0x0164 */ BgInGateActionFunc actionFunc;
} BgInGate; // size = 0x0168
extern const ActorInit Bg_Ingate_InitVars;

View file

@ -6,6 +6,7 @@
*/
#include "z_bg_jya_goroiwa.h"
#include "objects/object_goroiwa/object_goroiwa.h"
#define FLAGS 0x00000010
@ -35,7 +36,6 @@ const ActorInit Bg_Jya_Goroiwa_InitVars = {
(ActorFunc)BgJyaGoroiwa_Update,
(ActorFunc)BgJyaGoroiwa_Draw,
};
extern Gfx D_060006B0[];
static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
@ -222,5 +222,5 @@ void BgJyaGoroiwa_Update(Actor* thisx, GlobalContext* globalCtx) {
void BgJyaGoroiwa_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgJyaGoroiwa* this = THIS;
Gfx_DrawDListOpa(globalCtx, D_060006B0);
Gfx_DrawDListOpa(globalCtx, gRollingRockDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_menkuri_eye.h"
#include "objects/object_menkuri_objects/object_menkuri_objects.h"
#define FLAGS 0x00000020
@ -27,7 +28,6 @@ const ActorInit Bg_Menkuri_Eye_InitVars = {
(ActorFunc)BgMenkuriEye_Draw,
};
extern Gfx D_06002D20[];
static s32 D_8089C1A0;
static ColliderJntSphElementInit sJntSphElementsInit[1] = {
@ -138,6 +138,6 @@ void BgMenkuriEye_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_menkuri_eye.c", 331),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06002D20);
gSPDisplayList(POLY_XLU_DISP++, gGTGEyeStatueEyeDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_menkuri_eye.c", 335);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_menkuri_kaiten.h"
#include "objects/object_menkuri_objects/object_menkuri_objects.h"
#define FLAGS 0x00000030
@ -31,8 +32,8 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern Gfx D_060038D0[];
extern CollisionHeader D_060042D8;
extern Gfx gGTGRotatingRingPlatformDL[];
extern CollisionHeader gGTGRotatingRingPlatformCol;
void BgMenkuriKaiten_Init(Actor* thisx, GlobalContext* globalCtx) {
BgMenkuriKaiten* this = THIS;
@ -41,7 +42,7 @@ void BgMenkuriKaiten_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
CollisionHeader_GetVirtual(&D_060042D8, &colHeader);
CollisionHeader_GetVirtual(&gGTGRotatingRingPlatformCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
}
@ -61,5 +62,5 @@ void BgMenkuriKaiten_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgMenkuriKaiten_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_060038D0);
Gfx_DrawDListOpa(globalCtx, gGTGRotatingRingPlatformDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_menkuri_nisekabe.h"
#include "objects/object_menkuri_objects/object_menkuri_objects.h"
#define FLAGS 0x00000000
@ -27,7 +28,7 @@ const ActorInit Bg_Menkuri_Nisekabe_InitVars = {
(ActorFunc)BgMenkuriNisekabe_Draw,
};
static u32 segmentAddr[] = { 0x06002280, 0x06002BC0 };
static Gfx* sDLists[] = { gGTGFakeWallDL, gGTGFakeCeilingDL };
void BgMenkuriNisekabe_Init(Actor* thisx, GlobalContext* globalCtx) {
BgMenkuriNisekabe* this = THIS;
@ -53,8 +54,8 @@ void BgMenkuriNisekabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
u32 index = this->actor.params & 0xFF;
if ((this->actor.flags & 0x80) == 0x80) {
Gfx_DrawDListXlu(globalCtx, segmentAddr[index]);
Gfx_DrawDListXlu(globalCtx, sDLists[index]);
} else {
Gfx_DrawDListOpa(globalCtx, segmentAddr[index]);
Gfx_DrawDListOpa(globalCtx, sDLists[index]);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_relay_objects.h"
#include "objects/object_relay_objects/object_relay_objects.h"
#define FLAGS 0x00000010
@ -27,11 +28,6 @@ void BgRelayObjects_DoNothing(BgRelayObjects* this, GlobalContext* globalCtx);
void func_808A932C(BgRelayObjects* this, GlobalContext* globalCtx);
void func_808A939C(BgRelayObjects* this, GlobalContext* globalCtx);
extern Gfx D_060001A0[];
extern UNK_TYPE D_060003C4;
extern Gfx D_06001AB0[];
extern UNK_TYPE D_060025FC;
const ActorInit Bg_Relay_Objects_InitVars = {
ACTOR_BG_RELAY_OBJECTS,
ACTORCAT_BG,
@ -60,7 +56,7 @@ void BgRelayObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
thisx->params = (thisx->params >> 8) & 0xFF;
DynaPolyActor_Init(&this->dyna, 3);
if (thisx->params == WINDMILL_ROTATING_GEAR) {
CollisionHeader_GetVirtual(&D_060025FC, &colHeader);
CollisionHeader_GetVirtual(&gWindmillRotatingPlatformCol, &colHeader);
if (gSaveContext.eventChkInf[6] & 0x20) {
thisx->world.rot.y = 0x400;
} else {
@ -77,7 +73,7 @@ void BgRelayObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc = func_808A939C;
}
} else {
CollisionHeader_GetVirtual(&D_060003C4, &colHeader);
CollisionHeader_GetVirtual(&gDampeRaceDoorCol, &colHeader);
if (thisx->room == 0) {
this->unk_169 = this->switchFlag - 0x33;
} else {
@ -208,8 +204,8 @@ void BgRelayObjects_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgRelayObjects* this = THIS;
if (this->dyna.actor.params == WINDMILL_ROTATING_GEAR) {
Gfx_DrawDListOpa(globalCtx, D_06001AB0);
Gfx_DrawDListOpa(globalCtx, gWindmillRotatingPlatformDL);
} else {
Gfx_DrawDListOpa(globalCtx, D_060001A0);
Gfx_DrawDListOpa(globalCtx, gDampeRaceDoorDL);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot00_break.h"
#include "objects/object_spot00_break/object_spot00_break.h"
#define FLAGS 0x00000000
@ -34,11 +35,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP),
};
extern CollisionHeader D_06000AF0;
extern CollisionHeader D_06000908;
extern Gfx D_06000980[];
extern Gfx D_06000440[];
void BgSpot00Break_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot00Break* this = THIS;
s32 pad;
@ -48,9 +44,9 @@ void BgSpot00Break_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_UNK);
if (this->dyna.actor.params == 1) {
CollisionHeader_GetVirtual(&D_06000AF0, &colHeader);
CollisionHeader_GetVirtual(&gBarbedWireFenceCol, &colHeader);
} else {
CollisionHeader_GetVirtual(&D_06000908, &colHeader);
CollisionHeader_GetVirtual(&gBrokenDrawbridgeCol, &colHeader);
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -73,8 +69,8 @@ void BgSpot00Break_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgSpot00Break* this = THIS;
if (this->dyna.actor.params == 1) {
Gfx_DrawDListOpa(globalCtx, D_06000980);
Gfx_DrawDListOpa(globalCtx, gBarbedWireFenceDL);
} else {
Gfx_DrawDListOpa(globalCtx, D_06000440);
Gfx_DrawDListOpa(globalCtx, gBrokenDrawbridgeDL);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot00_hanebasi.h"
#include "objects/object_spot00_objects/object_spot00_objects.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#define FLAGS 0x00000010
@ -26,11 +27,6 @@ void BgSpot00Hanebasi_DrawbridgeWait(BgSpot00Hanebasi* this, GlobalContext* glob
void BgSpot00Hanebasi_DrawbridgeRiseAndFall(BgSpot00Hanebasi* this, GlobalContext* globalCtx);
void BgSpot00Hanebasi_SetTorchLightInfo(BgSpot00Hanebasi* this, GlobalContext* globalCtx);
extern Gfx D_060000C0[]; // bridge chains
extern CollisionHeader D_06000280; // chains collision
extern Gfx D_06000430[]; // drawbridge
extern CollisionHeader D_060005E0; // drawbridge collision
const ActorInit Bg_Spot00_Hanebasi_InitVars = {
ACTOR_BG_SPOT00_HANEBASI,
ACTORCAT_BG,
@ -62,9 +58,9 @@ void BgSpot00Hanebasi_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, 1);
if (this->dyna.actor.params == DT_DRAWBRIDGE) {
CollisionHeader_GetVirtual(&D_060005E0, &colHeader);
CollisionHeader_GetVirtual(&gHyruleFieldCastleDrawbridgeCol, &colHeader);
} else {
CollisionHeader_GetVirtual(&D_06000280, &colHeader);
CollisionHeader_GetVirtual(&gHyruleFieldCastleDrawbridgeChainsCol, &colHeader);
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -311,7 +307,7 @@ void BgSpot00Hanebasi_Draw(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (thisx->params == DT_DRAWBRIDGE) {
gSPDisplayList(POLY_OPA_DISP++, D_06000430);
gSPDisplayList(POLY_OPA_DISP++, gHyruleFieldCastleDrawbridgeDL);
Matrix_MultVec3f(&basePos, &newPos);
thisx->child->world.pos.x = newPos.x;
@ -332,7 +328,7 @@ void BgSpot00Hanebasi_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
}
} else {
gSPDisplayList(POLY_OPA_DISP++, D_060000C0);
gSPDisplayList(POLY_OPA_DISP++, gHyruleFieldCastleDrawbridgeChainsDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot00_hanebasi.c", 733);

View file

@ -5,7 +5,7 @@
*/
#include "z_bg_spot01_fusya.h"
#include "objects/object_spot01_objects/object_spot01_objects.h"
#define FLAGS 0x00000010
#define THIS ((BgSpot01Fusya*)thisx)
@ -36,8 +36,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 1300, ICHAIN_STOP),
};
extern Gfx D_06000100[];
void BgSpot01Fusya_SetupAction(BgSpot01Fusya* this, BgSpot01FusyaActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -84,7 +82,7 @@ void BgSpot01Fusya_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 214),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06000100);
gSPDisplayList(POLY_OPA_DISP++, gKakarikoWindmillSailsDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_fusya.c", 219);
}

View file

@ -5,7 +5,7 @@
*/
#include "z_bg_spot01_idohashira.h"
#include "objects/object_spot01_objects/object_spot01_objects.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -50,9 +50,6 @@ const ActorInit Bg_Spot01_Idohashira_InitVars = {
(ActorFunc)BgSpot01Idohashira_Draw,
};
extern Gfx D_06000420[];
extern CollisionHeader D_0600075C;
void BgSpot01Idohashira_PlayBreakSfx1(BgSpot01Idohashira* this) {
func_80078914(&this->dyna.actor.projectedPos, NA_SE_EV_BOX_BREAK);
}
@ -303,7 +300,7 @@ void BgSpot01Idohashira_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
colHeader = NULL;
CollisionHeader_GetVirtual(&D_0600075C, &colHeader);
CollisionHeader_GetVirtual(&gKakarikoWellArchCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if (gSaveContext.sceneSetupIndex < 4) {
@ -332,7 +329,7 @@ void func_808AB700(BgSpot01Idohashira* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(localGfxCtx, "../z_bg_spot01_idohashira.c", 699),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_808AAF34(this, globalCtx);
gSPDisplayList(POLY_OPA_DISP++, D_06000420);
gSPDisplayList(POLY_OPA_DISP++, gKakarikoWellArchDL);
CLOSE_DISPS(localGfxCtx, "../z_bg_spot01_idohashira.c", 708);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot01_idomizu.h"
#include "objects/object_spot01_objects/object_spot01_objects.h"
#define FLAGS 0x00000020
@ -33,8 +34,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern Gfx D_060007D0[];
void BgSpot01Idomizu_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot01Idomizu* this = THIS;
@ -84,7 +83,7 @@ void BgSpot01Idomizu_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - frames % 128, frames & 0x7F, 32, 32, 1, frames % 128,
frames & 0x7F, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, D_060007D0);
gSPDisplayList(POLY_XLU_DISP++, gKakarikoWellWaterDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 244);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot01_idosoko.h"
#include "objects/object_spot01_matoya/object_spot01_matoya.h"
#define FLAGS 0x00000010
@ -33,8 +34,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern CollisionHeader D_06003C64;
void BgSpot01Idosoko_SetupAction(BgSpot01Idosoko* this, BgSpot01IdosokoActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -47,7 +46,7 @@ void BgSpot01Idosoko_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
CollisionHeader_GetVirtual(&D_06003C64, &colHeader);
CollisionHeader_GetVirtual(&gKakarikoBOTWStoneCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if (LINK_IS_CHILD) {
Actor_Kill(&this->dyna.actor);
@ -71,8 +70,6 @@ void BgSpot01Idosoko_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
}
extern u32 D_06003B20;
void BgSpot01Idosoko_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 162);
@ -80,7 +77,7 @@ void BgSpot01Idosoko_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 166),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, &D_06003B20);
gSPDisplayList(POLY_OPA_DISP++, &gKakarikoBOTWStoneDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot01_idosoko.c", 171);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot01_objects2.h"
#include "objects/object_spot01_matoya/object_spot01_matoya.h"
#define FLAGS 0x00000010
@ -39,7 +40,6 @@ static InitChainEntry sInitChain[] = {
static Gfx* D_808AC510[] = { 0x06001EB0, 0x06002780, 0x06003078, 0x06001228, 0x06001528 };
extern CollisionHeader D_06001A38;
extern CollisionHeader D_06001C58;
void BgSpot01Objects2_Init(Actor* thisx, GlobalContext* globalCtx) {
@ -101,7 +101,7 @@ void func_808AC2BC(BgSpot01Objects2* this, GlobalContext* globalCtx) {
switch (this->dyna.actor.params & 7) {
case 4: // Shooting gallery
CollisionHeader_GetVirtual(&D_06001A38, &colHeader);
CollisionHeader_GetVirtual(&gKakarikoShootingGalleryCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
break;
case 3: // Shooting Gallery, spawns Carpenter Sabooro during the day

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot06_objects.h"
#include "objects/object_spot06_objects/object_spot06_objects.h"
#define FLAGS 0x00000200
@ -45,14 +46,6 @@ void BgSpot06Objects_LockFloat(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_WaterPlaneCutsceneRise(BgSpot06Objects* this, GlobalContext* globalCtx);
extern Gfx D_06000120[]; // Lake Hylia lowered water
extern Gfx D_06000470[]; // Lake Hylia raised water
extern Gfx D_06000E10[]; // Water Temple entrance gate
extern CollisionHeader D_06000EE8; // Water Temple entrance gate collision
extern Gfx D_06001160[]; // Zora's Domain entrance block of ice
extern CollisionHeader D_06001238; // Zora's Domain entrance block of ice collision
extern Gfx D_06002490[]; // Water Temple entrance lock
const ActorInit Bg_Spot06_Objects_InitVars = {
ACTOR_BG_SPOT06_OBJECTS,
ACTORCAT_PROP,
@ -114,7 +107,7 @@ void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) {
case LHO_WATER_TEMPLE_ENTRACE_GATE:
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000EE8, &colHeader);
CollisionHeader_GetVirtual(&gLakeHyliaWaterTempleGateCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) {
@ -180,7 +173,7 @@ void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) {
case LHO_ICE_BLOCK:
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001238, &colHeader);
CollisionHeader_GetVirtual(&gLakeHyliaZoraShortcutIceblockCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
this->actionFunc = BgSpot06Objects_DoNothing;
@ -455,9 +448,9 @@ void BgSpot06Objects_DrawLakeHyliaWater(BgSpot06Objects* this, GlobalContext* gl
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 128);
if ((this->lakeHyliaWaterLevel < -680.0f) && (gSaveContext.sceneSetupIndex < 4)) {
gSPDisplayList(POLY_XLU_DISP++, D_06000120);
gSPDisplayList(POLY_XLU_DISP++, gLakeHyliaLowWaterDL);
} else {
gSPDisplayList(POLY_XLU_DISP++, D_06000470);
gSPDisplayList(POLY_XLU_DISP++, gLakeHyliaHighWaterDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 879);
@ -468,10 +461,10 @@ void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx) {
switch (this->dyna.actor.params) {
case LHO_WATER_TEMPLE_ENTRACE_GATE:
Gfx_DrawDListOpa(globalCtx, D_06000E10);
Gfx_DrawDListOpa(globalCtx, gLakeHyliaWaterTempleGateDL);
break;
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
Gfx_DrawDListOpa(globalCtx, D_06002490);
Gfx_DrawDListOpa(globalCtx, gLakeHyliaWaterTempleKeyDL);
if (this->actionFunc == BgSpot06Objects_LockSwimToSurface) {
Collider_UpdateSpheres(1, &this->collider);
@ -481,7 +474,7 @@ void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgSpot06Objects_DrawLakeHyliaWater(this, globalCtx);
break;
case LHO_ICE_BLOCK:
Gfx_DrawDListOpa(globalCtx, D_06001160);
Gfx_DrawDListOpa(globalCtx, gLakeHyliaZoraShortcutIceblockDL);
break;
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot08_bakudankabe.h"
#include "objects/object_spot08_obj/object_spot08_obj.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
@ -32,9 +33,6 @@ const ActorInit Bg_Spot08_Bakudankabe_InitVars = {
(ActorFunc)BgSpot08Bakudankabe_Draw,
};
extern CollisionHeader D_060039D4;
extern Gfx D_06003898[];
static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
@ -171,7 +169,7 @@ void BgSpot08Bakudankabe_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
func_808B02D0(this, globalCtx);
CollisionHeader_GetVirtual(&D_060039D4, &colHeader);
CollisionHeader_GetVirtual(&gZorasFountainBombableWallCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
}
@ -203,5 +201,5 @@ void BgSpot08Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
Collider_UpdateSpheres(0, &this->collider);
Collider_UpdateSpheres(1, &this->collider);
Collider_UpdateSpheres(2, &this->collider);
Gfx_DrawDListOpa(globalCtx, D_06003898);
Gfx_DrawDListOpa(globalCtx, gZorasFountainBombableWallDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot08_iceblock.h"
#include "objects/object_spot08_obj/object_spot08_obj.h"
#define FLAGS 0x00000000
@ -35,11 +36,6 @@ const ActorInit Bg_Spot08_Iceblock_InitVars = {
(ActorFunc)BgSpot08Iceblock_Draw,
};
extern Gfx D_06000DE0[]; // Large iceberg spawned in place of Jabu
extern CollisionHeader D_06001904; // Large iceberg spawned in place of Jabu
extern Gfx D_06002BD0[]; // Hexagonal ice floe
extern CollisionHeader D_06002FD8; // Hexagonal ice floe
void BgSpot08Iceblock_SetupAction(BgSpot08Iceblock* this, BgSpot08IceblockActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -295,10 +291,10 @@ void BgSpot08Iceblock_Init(Actor* thisx, GlobalContext* globalCtx) {
switch (this->dyna.actor.params & 0x200) {
case 0:
colHeader = &D_06002FD8;
colHeader = &gZorasFountainIcebergCol;
break;
case 0x200:
colHeader = &D_06001904;
colHeader = &gZorasFountainIceRampCol;
break;
}
@ -440,10 +436,10 @@ void BgSpot08Iceblock_Draw(Actor* thisx, GlobalContext* globalCtx) {
switch (this->dyna.actor.params & 0x200) {
case 0:
dList = D_06002BD0;
dList = gZorasFountainIcebergDL;
break;
case 0x200:
dList = D_06000DE0;
dList = gZorasFountainIceRampDL;
break;
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot12_gate.h"
#include "objects/object_spot12_obj/object_spot12_obj.h"
#define FLAGS 0x00000000
@ -43,9 +44,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 1200, ICHAIN_STOP),
};
extern Gfx D_06001080[];
extern CollisionHeader D_060011EC;
void BgSpot12Gate_InitDynaPoly(BgSpot12Gate* this, GlobalContext* globalCtx, CollisionHeader* collision,
DynaPolyMoveFlag flags) {
s32 pad;
@ -64,7 +62,7 @@ void BgSpot12Gate_InitDynaPoly(BgSpot12Gate* this, GlobalContext* globalCtx, Col
void BgSpot12Gate_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot12Gate* this = THIS;
BgSpot12Gate_InitDynaPoly(this, globalCtx, &D_060011EC, DPM_UNK);
BgSpot12Gate_InitDynaPoly(this, globalCtx, &gGerudoFortressWastelandGateCol, DPM_UNK);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
@ -143,5 +141,5 @@ void BgSpot12Gate_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgSpot12Gate_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06001080);
Gfx_DrawDListOpa(globalCtx, gGerudoFortressWastelandGateDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot12_saku.h"
#include "objects/object_spot12_obj/object_spot12_obj.h"
#define FLAGS 0x00000000
@ -41,9 +42,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
};
extern Gfx D_06002260[];
extern CollisionHeader D_0600238C;
void func_808B3420(BgSpot12Saku* this, GlobalContext* globalCtx, CollisionHeader* collision, DynaPolyMoveFlag flags) {
s32 pad;
CollisionHeader* colHeader = NULL;
@ -61,7 +59,7 @@ void func_808B3420(BgSpot12Saku* this, GlobalContext* globalCtx, CollisionHeader
void BgSpot12Saku_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot12Saku* this = THIS;
func_808B3420(this, globalCtx, &D_0600238C, DPM_UNK);
func_808B3420(this, globalCtx, &gGerudoFortressGTGShutterCol, DPM_UNK);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
func_808B3714(this);
@ -135,5 +133,5 @@ void BgSpot12Saku_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgSpot12Saku_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06002260);
Gfx_DrawDListOpa(globalCtx, gGerudoFortressGTGShutterDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot15_rrbox.h"
#include "objects/object_spot15_obj/object_spot15_obj.h"
#define FLAGS 0x00000000
@ -26,9 +27,6 @@ void func_808B44CC(BgSpot15Rrbox* this, GlobalContext* globalCtx);
static s16 D_808B4590 = 0;
extern CollisionHeader D_06000348;
extern Gfx D_06000180[];
const ActorInit Bg_Spot15_Rrbox_InitVars = {
ACTOR_BG_SPOT15_RRBOX,
ACTORCAT_BG,
@ -124,7 +122,7 @@ s32 func_808B3AAC(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
void BgSpot15Rrbox_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot15Rrbox* this = THIS;
func_808B3960(this, globalCtx, &D_06000348, DPM_UNK);
func_808B3960(this, globalCtx, &gLonLonMilkCrateCol, DPM_UNK);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
func_808B3A34(this);
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params & 0x3F))) {
@ -367,5 +365,5 @@ void BgSpot15Rrbox_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgSpot15Rrbox_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06000180);
Gfx_DrawDListOpa(globalCtx, gLonLonMilkCrateDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot15_saku.h"
#include "objects/object_spot15_obj/object_spot15_obj.h"
#define FLAGS 0x00000000
@ -31,9 +32,6 @@ const ActorInit Bg_Spot15_Saku_InitVars = {
(ActorFunc)BgSpot15Saku_Draw,
};
extern Gfx D_060003C0[];
extern CollisionHeader D_060004D0;
void BgSpot15Saku_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgSpot15Saku* this = THIS;
@ -41,7 +39,7 @@ void BgSpot15Saku_Init(Actor* thisx, GlobalContext* globalCtx) {
CollisionHeader* colHeader = NULL;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_060004D0, &colHeader);
CollisionHeader_GetVirtual(&gLonLonCorralFenceCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
this->dyna.actor.scale.x = 0.1f;
this->dyna.actor.scale.y = 0.1f;
@ -104,7 +102,7 @@ void BgSpot15Saku_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 263),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_060003C0);
gSPDisplayList(POLY_XLU_DISP++, gLonLonCorralFenceDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot15_saku.c", 268);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot16_doughnut.h"
#include "objects/object_efc_doughnut/object_efc_doughnut.h"
#include "vt.h"
#define FLAGS 0x00000000
@ -41,9 +42,6 @@ static s16 sScales[] = {
0, 0, 70, 210, 300,
};
extern Gfx D_06000660[];
extern Gfx D_06000FC0[];
void BgSpot16Doughnut_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot16Doughnut* this = THIS;
s32 params;
@ -138,11 +136,11 @@ void BgSpot16Doughnut_Draw(Actor* thisx, GlobalContext* globalCtx) {
POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * (-1), 0, 16, 32, 1, scroll, scroll * (-2), 16, 32));
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, this->envColorAlpha);
gSPDisplayList(POLY_XLU_DISP++, D_06000660);
gSPDisplayList(POLY_XLU_DISP++, gDeathMountainCloudCircleFieryDL);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(POLY_XLU_DISP++, D_06000FC0);
gSPDisplayList(POLY_XLU_DISP++, gDeathMountainCloudCircleNormalDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 238);
@ -160,7 +158,7 @@ void BgSpot16Doughnut_DrawExpanding(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->envColorAlpha);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(POLY_XLU_DISP++, D_06000FC0);
gSPDisplayList(POLY_XLU_DISP++, gDeathMountainCloudCircleNormalDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot16_doughnut.c", 256);
}

View file

@ -1,4 +1,5 @@
#include "z_bg_spot18_basket.h"
#include "objects/object_spot18_obj/object_spot18_obj.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -23,9 +24,6 @@ void func_808B7D50(BgSpot18Basket* this, GlobalContext* globalCtx);
void func_808B7FC0(BgSpot18Basket* this, GlobalContext* globalCtx);
void func_808B81A0(BgSpot18Basket* this, GlobalContext* globalCtx);
extern CollisionHeader D_06002154;
extern Gfx D_060018B0[];
const ActorInit Bg_Spot18_Basket_InitVars = {
ACTOR_BG_SPOT18_BASKET,
ACTORCAT_PROP,
@ -139,7 +137,7 @@ void BgSpot18Basket_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
func_808B7710(&this->dyna.actor, globalCtx);
CollisionHeader_GetVirtual(&D_06002154, &colHeader);
CollisionHeader_GetVirtual(&gGoronCityVaseCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -452,5 +450,5 @@ void BgSpot18Basket_Draw(Actor* thisx, GlobalContext* globalCtx) {
Collider_UpdateSpheres(0, &this->colliderJntSph);
Collider_UpdateSpheres(1, &this->colliderJntSph);
Gfx_DrawDListOpa(globalCtx, D_060018B0);
Gfx_DrawDListOpa(globalCtx, gGoronCityVaseDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot18_futa.h"
#include "objects/object_spot18_obj/object_spot18_obj.h"
#define FLAGS 0x00000000
@ -34,16 +35,13 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
};
extern CollisionHeader D_06000368;
extern Gfx D_06000150[];
void BgSpot18Futa_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot18Futa* this = THIS;
s32 pad;
CollisionHeader* colHeader = NULL;
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000368, &colHeader);
CollisionHeader_GetVirtual(&gGoronCityVaseLidCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
}
@ -71,5 +69,5 @@ void BgSpot18Futa_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgSpot18Futa_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06000150);
Gfx_DrawDListOpa(globalCtx, gGoronCityVaseLidDL);
}

View file

@ -1,3 +1,4 @@
/*
* File: z_bg_spot18_obj.c
* Overlay: ovl_Bg_Spot18_Obj
@ -5,6 +6,7 @@
*/
#include "z_bg_spot18_obj.h"
#include "objects/object_spot18_obj/object_spot18_obj.h"
#define FLAGS 0x00000000
@ -49,12 +51,9 @@ static f32 D_808B90F4[] = {
0.1f,
};
extern CollisionHeader D_06002FE4;
extern CollisionHeader D_0600261C;
static CollisionHeader* D_808B90FC[] = {
&D_06002FE4,
&D_0600261C,
&gGoronCityStatueCol,
&gGoronCityStatueSpearCol,
};
static u32 D_808B9104[] = {
@ -86,12 +85,9 @@ static BgSpot18ObjInitFunc D_808B913C[] = {
func_808B8C90,
};
extern Gfx D_06002BC0[];
extern Gfx D_06002370[];
static Gfx(*sDlists[]) = {
D_06002BC0,
D_06002370,
gGoronCityStatueDL,
gGoronCityStatueSpearDL,
};
s32 func_808B8910(BgSpot18Obj* this, GlobalContext* globalCtx) {

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_spot18_shutter.h"
#include "objects/object_spot18_obj/object_spot18_obj.h"
#define FLAGS 0x00000030
@ -37,9 +38,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
extern Gfx D_06000420[];
extern CollisionHeader D_06000534;
void BgSpot18Shutter_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgSpot18Shutter* this = THIS;
@ -75,7 +73,7 @@ void BgSpot18Shutter_Init(Actor* thisx, GlobalContext* globalCtx) {
}
}
CollisionHeader_GetVirtual(&D_06000534, &colHeader);
CollisionHeader_GetVirtual(&gGoronCityDoorCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
}
@ -139,5 +137,5 @@ void BgSpot18Shutter_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgSpot18Shutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06000420);
Gfx_DrawDListOpa(globalCtx, gGoronCityDoorDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_treemouth.h"
#include "objects/object_spot04_objects/object_spot04_objects.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS 0x00000030
@ -52,9 +53,6 @@ static f32 D_808BD9C4[] = {
-2746.0f, 545.0f, 4694.0f, -2654.0f, 146.0f, 4534.0f,
};
extern Gfx D_060009D0[];
extern CollisionHeader D_06000E94;
void BgTreemouth_SetupAction(BgTreemouth* this, BgTreemouthActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -66,7 +64,7 @@ void BgTreemouth_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000E94, &colHeader);
CollisionHeader_GetVirtual(&gDekuTreeMouthCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
Actor_SetFocus(thisx, 50.0f);
@ -246,7 +244,7 @@ void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, alpha * 0.1f);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 932),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, &D_060009D0);
gSPDisplayList(POLY_OPA_DISP++, &gDekuTreeMouthDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_treemouth.c", 937);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_umajump.h"
#include "objects/object_umajump/object_umajump.h"
#define FLAGS 0x00000000
@ -27,9 +28,6 @@ const ActorInit Bg_Umajump_InitVars = {
(ActorFunc)BgUmaJump_Draw,
};
extern CollisionHeader D_06001438;
extern Gfx D_06001220[];
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
@ -41,7 +39,7 @@ void BgUmaJump_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001438, &colHeader);
CollisionHeader_GetVirtual(&gJumpableHorseFenceCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if (this->dyna.actor.params == 1) {
@ -63,5 +61,5 @@ void BgUmaJump_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgUmaJump_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06001220);
Gfx_DrawDListOpa(globalCtx, gJumpableHorseFenceDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_bg_zg.h"
#include "objects/object_zg/object_zg.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -48,9 +49,6 @@ const ActorInit Bg_Zg_InitVars = {
(ActorFunc)BgZg_Draw,
};
extern Gfx D_06001080[];
extern CollisionHeader D_060011D4;
void BgZg_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgZg* this = THIS;
@ -108,7 +106,7 @@ void BgZg_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
colHeader = NULL;
CollisionHeader_GetVirtual(&D_060011D4, &colHeader);
CollisionHeader_GetVirtual(&gTowerCollapseBarsCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if ((func_808C0CC8(this) == 8) || (func_808C0CC8(this) == 9)) {
this->dyna.actor.scale.x = this->dyna.actor.scale.x * 1.3f;
@ -131,7 +129,7 @@ void func_808C0EEC(BgZg* this, GlobalContext* globalCtx) {
func_80093D18(localGfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(localGfxCtx, "../z_bg_zg.c", 315),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06001080);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseBarsDL);
CLOSE_DISPS(localGfxCtx, "../z_bg_zg.c", 320);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_demo_geff.h"
#include "objects/object_geff/object_geff.h"
#include "vt.h"
#define FLAGS 0x00000030
@ -55,7 +56,7 @@ const ActorInit Demo_Geff_InitVars = {
(ActorFunc)DemoGeff_Draw,
};
extern Gfx D_06000EA0[];
extern Gfx gGanonRubbleDL[];
void DemoGeff_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
@ -172,7 +173,7 @@ void func_80978308(DemoGeff* this, GlobalContext* globalCtx) {
}
void func_80978344(DemoGeff* this, GlobalContext* globalCtx) {
func_80977EA8(globalCtx, D_06000EA0);
func_80977EA8(globalCtx, gGanonRubbleDL);
}
void func_80978370(DemoGeff* this, GlobalContext* globalCtx) {

View file

@ -1,4 +1,6 @@
#include "z_demo_gt.h"
#include "objects/object_gt/object_gt.h"
#include "objects/object_geff/object_geff.h"
#include "vt.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
@ -11,18 +13,6 @@ void DemoGt_Destroy(Actor* thisx, GlobalContext* globalCtx);
void DemoGt_Update(Actor* thisx, GlobalContext* globalCtx);
void DemoGt_Draw(Actor* thisx, GlobalContext* globalCtx);
extern CollisionHeader D_06005CB8;
extern CollisionHeader D_060091E4;
extern Gfx D_06009970[];
extern Gfx D_06007630[];
extern Gfx D_06004F90[];
extern Gfx D_06009610[];
extern Gfx D_06002910[];
extern Gfx D_060041A0[];
extern Gfx D_06009B08[];
extern Gfx D_06000EA0[];
void DemoGt_Destroy(Actor* thisx, GlobalContext* globalCtx) {
DemoGt* this = THIS;
@ -140,7 +130,7 @@ void func_8097DAC8(DemoGt* this, GlobalContext* globalCtx, Vec3f* spawnerPos) {
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, spawnerPos, -247, phi_s0, 3, 0, 0,
(s32)(Rand_ZeroOne() * 10.0f + 30.0f), 2, 300, (s32)(Rand_ZeroOne() * 0.0f) + 30,
KAKERA_COLOR_NONE, OBJECT_GEFF, D_06000EA0);
KAKERA_COLOR_NONE, OBJECT_GEFF, gGanonRubbleDL);
angle += 0x1555;
}
}
@ -181,7 +171,7 @@ void func_8097DD28(DemoGt* this, GlobalContext* globalCtx, Vec3f* spawnerPos) {
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, spawnerPos, -247, phi_s0, 3, 0, 0,
(s32)((Rand_ZeroOne() * 10.0f) + 30.0f), 2, 300, (s32)(Rand_ZeroOne() * 0.0f) + 0x1E,
KAKERA_COLOR_NONE, OBJECT_GEFF, D_06000EA0);
KAKERA_COLOR_NONE, OBJECT_GEFF, gGanonRubbleDL);
angle += 0x2000;
}
@ -223,7 +213,7 @@ void func_8097DF70(DemoGt* this, GlobalContext* globalCtx, Vec3f* spawnerPos) {
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, spawnerPos, -200, phi_s0, 10, 10, 0,
Rand_ZeroOne() * 30.0f + 30.0f, 2, 300, (s32)(Rand_ZeroOne() * 30.0f) + 30,
KAKERA_COLOR_NONE, OBJECT_GEFF, D_06000EA0);
KAKERA_COLOR_NONE, OBJECT_GEFF, gGanonRubbleDL);
angle += 0x1555;
}
}
@ -264,7 +254,7 @@ void func_8097E1D4(GlobalContext* globalCtx, Vec3f* arg1, s16 arg2) {
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, arg1, -247, phi_s0, 3, 0, 0,
(s32)((Rand_ZeroOne() * 10.0f) + 30.0f), 2, 300, (s32)(Rand_ZeroOne() * 0.0f) + 30,
KAKERA_COLOR_NONE, OBJECT_GEFF, D_06000EA0);
KAKERA_COLOR_NONE, OBJECT_GEFF, gGanonRubbleDL);
angle += 0x10000;
}
@ -690,14 +680,14 @@ void DemoGt_Draw1(DemoGt* this, GlobalContext* globalCtx) {
Gfx_TwoTexScrollEnvColor(gfxCtx, 0, 0, unk198[0], 0x20, 0x40, 1, 0, unk198[1], 0x20, 0x40, unk188[0],
unk188[1], unk188[2], 0x80));
gSPMatrix(POLY_OPA_DISP++, spB4, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06002910);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsExteriorStructureDL);
func_80093D84(gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, 128, 128, 128, 128);
gSPSegment(
POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(gfxCtx, 0, 0, gameplayFrames * 0x14, 0x10, 0x200, 1, 0, gameplayFrames * 0x1E, 0x10, 0x200));
gSPMatrix(POLY_XLU_DISP++, spB4, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_060041A0);
gSPDisplayList(POLY_XLU_DISP++, gTowerCollapseCsFlameSmokeDL);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part1.c", 557);
}
@ -706,7 +696,7 @@ void func_8097F904_Init1(DemoGt* this, GlobalContext* globalCtx) {
this->dyna.actor.scale.x *= 10.0f;
this->dyna.actor.scale.y *= 10.0f;
this->dyna.actor.scale.z *= 10.0f;
func_8097EE44(this, globalCtx, 1, 2, &D_06005CB8);
func_8097EE44(this, globalCtx, 1, 2, &gTowerCollapseCsCollapsedStructureInnerCol);
}
void func_8097F960(DemoGt* this, GlobalContext* globalCtx) {
@ -874,7 +864,7 @@ void DemoGt_Draw2(DemoGt* this, GlobalContext* globalCtx) {
unk178[1], unk178[2], 128));
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_gt_part2.c", 485),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06004F90);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsCollapsedStructureInnerDL);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part2.c", 489);
@ -884,7 +874,7 @@ void func_80980110_Init2(DemoGt* this, GlobalContext* globalCtx) {
this->dyna.actor.scale.x *= 10.0f;
this->dyna.actor.scale.y *= 10.0f;
this->dyna.actor.scale.z *= 10.0f;
func_8097EE44(this, globalCtx, 2, 3, &D_060091E4);
func_8097EE44(this, globalCtx, 2, 3, &gTowerCollapseCsCollapsedStructureOuterCol);
}
void func_8098016C(DemoGt* this, GlobalContext* globalCtx) {
@ -1184,7 +1174,7 @@ void DemoGt_Draw3(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_gt_part3.c", 1028),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06007630);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsCollapsedStructureOuterDL);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part3.c", 1032);
@ -1306,7 +1296,7 @@ void DemoGt_Draw4(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, sp60, (G_MTX_PUSH | G_MTX_LOAD) | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06009610);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsStandalonePillarDL);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part4_1.c", 246);
@ -1425,7 +1415,7 @@ void DemoGt_Draw5(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, sp60, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06009610);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsStandalonePillarDL);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part4_2.c", 241);
@ -1517,7 +1507,7 @@ void DemoGt_Draw6(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, sp64, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06009610);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsStandalonePillarDL);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part4_3.c", 307);
@ -1609,7 +1599,7 @@ void DemoGt_Draw7(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, sp5C, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06009970);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsWalkwayDL);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part5.c", 160);
}
@ -1700,7 +1690,7 @@ void DemoGt_Draw8(DemoGt* this, GlobalContext* globalCtx) {
func_80093D18(gfxCtx);
gSPMatrix(POLY_OPA_DISP++, sp5C, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06009B08);
gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsAlternativeWalkwayDL);
CLOSE_DISPS(gfxCtx, "../z_demo_gt_part6.c", 163);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_door_gerudo.h"
#include "objects/object_door_gerudo/object_door_gerudo.h"
#define FLAGS 0x00000000
@ -36,8 +37,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F(scale, 1, ICHAIN_STOP),
};
extern Gfx D_06000040[];
extern CollisionHeader D_06000170;
extern UNK_TYPE D_80994B70;
void DoorGerudo_Init(Actor* thisx, GlobalContext* globalCtx) {
@ -46,7 +45,7 @@ void DoorGerudo_Init(Actor* thisx, GlobalContext* globalCtx) {
CollisionHeader* colHeader = NULL;
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
CollisionHeader_GetVirtual(&D_06000170, &colHeader);
CollisionHeader_GetVirtual(&gGerudoCellDoorCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
if (Flags_GetSwitch(globalCtx, thisx->params & 0x3F)) {
@ -154,7 +153,7 @@ void DoorGerudo_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_gerudo.c", 365),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06000040);
gSPDisplayList(POLY_OPA_DISP++, gGerudoCellDoorDL);
if (this->unk_166 != 0) {
Matrix_Scale(0.01f, 0.01f, 0.025f, MTXMODE_APPLY);

View file

@ -14,6 +14,7 @@
#include "objects/object_hidan_objects/object_hidan_objects.h"
#include "objects/object_jya_door/object_jya_door.h"
#include "objects/object_mizu_objects/object_mizu_objects.h"
#include "objects/object_bdan_objects/object_bdan_objects.h"
#define FLAGS 0x00000010
@ -91,7 +92,7 @@ static ShutterInfo sShutterInfo[] = {
{ gDTDungeonDoor1DL, gDoorMetalBarsDL, 130, 12, 20, 15 },
{ gDTDungeonDoor2DL, gDoorMetalBarsDL, 130, 12, 20, 15 },
{ 0x060000C0, 0x060001F0, 240, 14, 70, 15 },
{ 0x06000590, 0x06006460, 0, 110, 50, 15 },
{ gJabuDoorSection1DL, 0x06006460, 0, 110, 50, 15 },
{ gPhantomGanonBarsDL, NULL, 130, 12, 50, 15 },
{ gGohmaDoorDL, NULL, 130, 12, 50, 15 },
{ gSpiritDoorDL, gJyaDoorMetalBarsDL, 240, 14, 50, 15 },
@ -151,8 +152,9 @@ static BossDoorInfo D_80998288[] = {
{ -1, -1, 0x00 },
};
static Gfx* D_809982B4[] = {
0x06000590, 0x06000BF0, 0x06002BD0, 0x060018B0, 0x06001F10, 0x060018B0, 0x06001250, 0x06000BF0,
static Gfx* sJabuDoorDLists[] = {
gJabuDoorSection1DL, gJabuDoorSection2DL, gJabuDoorSection7DL, gJabuDoorSection4DL,
gJabuDoorSection5DL, gJabuDoorSection4DL, gJabuDoorSection3DL, gJabuDoorSection2DL,
};
// boss door textures?
@ -641,7 +643,7 @@ Gfx* func_80997838(GlobalContext* globalCtx, DoorShutter* this, Gfx* p) {
s32 i;
Matrix_Get(&mtx);
for (i = 0; i < ARRAY_COUNT(D_809982B4); i++) {
for (i = 0; i < ARRAY_COUNT(sJabuDoorDLists); i++) {
Matrix_RotateZ(angle, MTXMODE_APPLY);
if (i % 2 == 0) {
Matrix_Translate(0.0f, 800.0f, 0.0f, MTXMODE_APPLY);
@ -655,7 +657,7 @@ Gfx* func_80997838(GlobalContext* globalCtx, DoorShutter* this, Gfx* p) {
}
gSPMatrix(p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_shutter.c", 1991),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(p++, D_809982B4[i]);
gSPDisplayList(p++, sJabuDoorDLists[i]);
angle -= M_PI / 4;
Matrix_Put(&mtx);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_ani.h"
#include "objects/object_ani/object_ani.h"
#define FLAGS 0x00000009
@ -27,11 +28,6 @@ void func_809B0994(EnAni* this, GlobalContext* globalCtx);
void func_809B0A28(EnAni* this, GlobalContext* globalCtx);
void func_809B0A6C(EnAni* this, GlobalContext* globalCtx);
extern FlexSkeletonHeader D_060000F0;
extern AnimationHeader D_060067B8;
extern AnimationHeader D_060070F0;
extern AnimationHeader D_060076EC;
const ActorInit En_Ani_InitVars = {
ACTOR_EN_ANI,
ACTORCAT_NPC,
@ -79,8 +75,9 @@ void EnAni_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, -2800.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, &D_060076EC, this->jointTable, this->morphTable, 0x10);
Animation_PlayOnce(&this->skelAnime, &D_060076EC);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gRoofManSkel, &gRoofManIdleAnim, this->jointTable,
this->morphTable, 0x10);
Animation_PlayOnce(&this->skelAnime, &gRoofManIdleAnim);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
@ -214,8 +211,8 @@ void func_809B0988(EnAni* this, GlobalContext* globalCtx) {
void func_809B0994(EnAni* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.npcActions[0]->action == 4) {
Animation_Change(&this->skelAnime, &D_060070F0, 1.0f, 0.0f, Animation_GetLastFrame(&D_060070F0), ANIMMODE_ONCE,
-4.0f);
Animation_Change(&this->skelAnime, &gRoofManGettingUpAfterKnockbackAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gRoofManGettingUpAfterKnockbackAnim), ANIMMODE_ONCE, -4.0f);
this->unk_2AA++;
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
}
@ -232,8 +229,8 @@ void func_809B0A6C(EnAni* this, GlobalContext* globalCtx) {
this->skelAnime.curFrame = 0.0f;
}
if (globalCtx->csCtx.npcActions[0]->action == 2) {
Animation_Change(&this->skelAnime, &D_060067B8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060067B8), ANIMMODE_ONCE,
0.0f);
Animation_Change(&this->skelAnime, &gRoofManKnockbackAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gRoofManKnockbackAnim), ANIMMODE_ONCE, 0.0f);
this->actor.shape.shadowDraw = NULL;
this->unk_2AA++;
}
@ -317,9 +314,9 @@ void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
static u64* sEyeTextures[] = {
0x06000408,
0x06001518,
0x06001D18,
gRoofManEyeOpenTex,
gRoofManEyeHalfTex,
gRoofManEyeClosedTex,
};
void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -5,6 +5,7 @@
*/
#include "z_en_attack_niw.h"
#include "objects/object_niw/object_niw.h"
#include "overlays/actors/ovl_En_Niw/z_en_niw.h"
#define FLAGS 0x00000010
@ -20,9 +21,6 @@ void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx);
void func_809B5C18(EnAttackNiw* this, GlobalContext* globalCtx);
void func_809B59B0(EnAttackNiw* this, GlobalContext* globalCtx);
extern AnimationHeader D_060000E8;
extern FlexSkeletonHeader D_06002530;
const ActorInit En_Attack_Niw_InitVars = {
ACTOR_EN_ATTACK_NIW,
ACTORCAT_ENEMY,
@ -47,7 +45,7 @@ void EnAttackNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCuccoSkel, &gCuccoAnim, this->jointTable, this->morphTable, 16);
if (this->actor.params < 0) {
this->actor.params = 0;
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_bombf.h"
#include "objects/object_bombf/object_bombf.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
#define FLAGS 0x00000011
@ -81,10 +82,6 @@ static ColliderJntSphInit sJntSphInit = {
sJntSphElementsInit,
};
extern Gfx D_06000340[];
extern Gfx D_06000408[];
extern Gfx D_06000530[];
void EnBombf_SetupAction(EnBombf* this, EnBombfActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -494,8 +491,8 @@ void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (thisx->params != BOMBFLOWER_BODY) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1041),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06000340);
gSPDisplayList(POLY_OPA_DISP++, D_06000530);
gSPDisplayList(POLY_OPA_DISP++, gBombFlowerLeavesDL);
gSPDisplayList(POLY_OPA_DISP++, gBombFlowerBaseLeavesDL);
Matrix_Translate(0.0f, 1000.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(this->flowerBombScale, this->flowerBombScale, this->flowerBombScale, MTXMODE_APPLY);
@ -508,7 +505,7 @@ void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08,
SEGMENTED_TO_VIRTUAL(EnBombf_NewMtxDList(globalCtx->state.gfxCtx, globalCtx)));
gSPDisplayList(POLY_OPA_DISP++, D_06000408);
gSPDisplayList(POLY_OPA_DISP++, gBombFlowerBombAndSparkDL);
} else {
Collider_UpdateSpheres(0, &this->explosionCollider);
}

View file

@ -1,4 +1,5 @@
#include "z_en_bubble.h"
#include "objects/object_bubble/object_bubble.h"
#define FLAGS 0x00000001
@ -13,8 +14,6 @@ void EnBubble_Wait(EnBubble* this, GlobalContext* globalCtx);
void EnBubble_Pop(EnBubble* this, GlobalContext* globalCtx);
void EnBubble_Regrow(EnBubble* this, GlobalContext* globalCtx);
extern Gfx D_06001000[];
const ActorInit En_Bubble_InitVars = {
ACTOR_EN_BUBBLE,
ACTORCAT_ENEMY,
@ -426,7 +425,7 @@ void EnBubble_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bubble.c", 1220),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06001000);
gSPDisplayList(POLY_XLU_DISP++, gBubbleDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bubble.c", 1226);

View file

@ -5,6 +5,7 @@
*/
#include "z_en_cow.h"
#include "objects/object_cow/object_cow.h"
#define FLAGS 0x00000009
@ -60,13 +61,6 @@ static ColliderCylinderInit sCylinderInit = {
static Vec3f D_809E010C = { 0.0f, -1300.0f, 1100.0f };
extern AnimationHeader D_060001CC;
extern FlexSkeletonHeader D_06004010;
extern AnimationHeader D_06004264;
extern AnimationHeader D_06004348;
extern FlexSkeletonHeader D_06004C30;
extern AnimationHeader D_06004E98;
void func_809DEE00(Vec3f* vec, s16 rotY) {
f32 xCalc;
f32 rotCalcTemp;
@ -116,8 +110,8 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 72.0f);
switch (this->actor.params) {
case 0:
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004010, NULL, this->jointTable, this->morphTable, 6);
Animation_PlayLoop(&this->skelAnime, &D_060001CC);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCowBodySkel, NULL, this->jointTable, this->morphTable, 6);
Animation_PlayLoop(&this->skelAnime, &gCowBodyChewAnim);
Collider_InitCylinder(globalCtx, &this->colliders[0]);
Collider_SetCylinder(globalCtx, &this->colliders[0], &this->actor, &sCylinderInit);
Collider_InitCylinder(globalCtx, &this->colliders[1]);
@ -142,8 +136,8 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) {
DREG(53) = 0;
break;
case 1:
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004C30, NULL, this->jointTable, this->morphTable, 6);
Animation_PlayLoop(&this->skelAnime, &D_06004348);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCowTailSkel, NULL, this->jointTable, this->morphTable, 6);
Animation_PlayLoop(&this->skelAnime, &gCowTailIdleAnim);
this->actor.update = func_809DFE98;
this->actor.draw = func_809E0070;
this->actionFunc = func_809DFA84;
@ -171,13 +165,13 @@ void func_809DF494(EnCow* this, GlobalContext* globalCtx) {
this->unk_278 -= 1;
} else {
this->unk_278 = Rand_ZeroFloat(500.0f) + 40.0f;
Animation_Change(&this->skelAnime, &D_060001CC, 1.0f, this->skelAnime.curFrame,
Animation_GetLastFrame(&D_060001CC), ANIMMODE_ONCE, 1.0f);
Animation_Change(&this->skelAnime, &gCowBodyChewAnim, 1.0f, this->skelAnime.curFrame,
Animation_GetLastFrame(&gCowBodyChewAnim), ANIMMODE_ONCE, 1.0f);
}
if ((this->actor.xzDistToPlayer < 150.0f) && (!(this->unk_276 & 2))) {
this->unk_276 |= 2;
if (this->skelAnime.animation == &D_060001CC) {
if (this->skelAnime.animation == &gCowBodyChewAnim) {
this->unk_278 = 0;
}
}
@ -287,14 +281,14 @@ void func_809DFA84(EnCow* this, GlobalContext* globalCtx) {
this->unk_278--;
} else {
this->unk_278 = Rand_ZeroFloat(200.0f) + 40.0f;
Animation_Change(&this->skelAnime, &D_06004348, 1.0f, this->skelAnime.curFrame,
Animation_GetLastFrame(&D_06004348), ANIMMODE_ONCE, 1.0f);
Animation_Change(&this->skelAnime, &gCowTailIdleAnim, 1.0f, this->skelAnime.curFrame,
Animation_GetLastFrame(&gCowTailIdleAnim), ANIMMODE_ONCE, 1.0f);
}
if ((this->actor.xzDistToPlayer < 150.0f) &&
(ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) >= 0x61A9) && (!(this->unk_276 & 2))) {
this->unk_276 |= 2;
if (this->skelAnime.animation == &D_06004348) {
if (this->skelAnime.animation == &gCowTailIdleAnim) {
this->unk_278 = 0;
}
}
@ -313,12 +307,12 @@ void EnCow_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_MoveForward(thisx);
Actor_UpdateBgCheckInfo(globalCtx, thisx, 0.0f, 0.0f, 0.0f, 4);
if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->skelAnime.animation == &D_060001CC) {
if (this->skelAnime.animation == &gCowBodyChewAnim) {
Audio_PlayActorSound2(thisx, NA_SE_EV_COW_CRY);
Animation_Change(&this->skelAnime, &D_06004264, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004264),
ANIMMODE_ONCE, 1.0f);
Animation_Change(&this->skelAnime, &gCowBodyMoveHeadAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gCowBodyMoveHeadAnim), ANIMMODE_ONCE, 1.0f);
} else {
Animation_Change(&this->skelAnime, &D_060001CC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060001CC),
Animation_Change(&this->skelAnime, &gCowBodyChewAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCowBodyChewAnim),
ANIMMODE_LOOP, 1.0f);
}
}
@ -353,11 +347,11 @@ void func_809DFE98(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->skelAnime.animation == &D_06004348) {
Animation_Change(&this->skelAnime, &D_06004E98, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004E98),
ANIMMODE_ONCE, 1.0f);
if (this->skelAnime.animation == &gCowTailIdleAnim) {
Animation_Change(&this->skelAnime, &gCowTailSwishAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gCowTailSwishAnim), ANIMMODE_ONCE, 1.0f);
} else {
Animation_Change(&this->skelAnime, &D_06004348, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004348),
Animation_Change(&this->skelAnime, &gCowTailIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCowTailIdleAnim),
ANIMMODE_LOOP, 1.0f);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_dns.h"
#include "objects/object_shopnuts/object_shopnuts.h"
#include "vt.h"
#define FLAGS 0x00000009
@ -128,15 +129,11 @@ typedef struct {
} DnsAnimInfo; // size = 0xC
DnsAnimInfo D_809F0538[] = {
{ 0x06001108, 0x00, 0.0f },
{ 0x06004404, 0x02, 0.0f },
{ 0x060009A0, 0x02, 0.0f },
{ &gBusinessScrubNervousIdleAnim, 0x00, 0.0f },
{ &gBusinessScrubAnim_4404, 0x02, 0.0f },
{ &gBusinessScrubNervousTransitionAnim, 0x02, 0.0f },
};
extern FlexSkeletonHeader D_060041A8;
extern AnimationHeader D_060009A0;
extern AnimationHeader D_06004404;
void EnDns_Init(Actor* thisx, GlobalContext* globalCtx) {
EnDns* this = THIS;
@ -154,7 +151,8 @@ void EnDns_Init(Actor* thisx, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN) "◆◆◆ 売りナッツ『%s』 ◆◆◆" VT_RST "\n", D_809F0424[this->actor.params],
this->actor.params);
Actor_ProcessInitChain(&this->actor, sInitChain);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_060009A0, this->jointTable, this->morphTable, 18);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBusinessScrubSkel, &gBusinessScrubNervousTransitionAnim,
this->jointTable, this->morphTable, 18);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &sCylinderInit);
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawCircle, 35.0f);
@ -438,7 +436,7 @@ void func_809F008C(EnDns* this, GlobalContext* globalCtx) {
}
void EnDns_SetupBurrow(EnDns* this, GlobalContext* globalCtx) {
f32 frameCount = Animation_GetLastFrame(&D_06004404);
f32 frameCount = Animation_GetLastFrame(&gBusinessScrubAnim_4404);
if (this->skelAnime.curFrame == frameCount) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);

View file

@ -5,6 +5,7 @@
*/
#include "z_en_ds.h"
#include "objects/object_ds/object_ds.h"
#define FLAGS 0x00000009
@ -29,15 +30,13 @@ const ActorInit En_Ds_InitVars = {
(ActorFunc)EnDs_Draw,
};
extern FlexSkeletonHeader D_06004768;
extern AnimationHeader D_0600039C;
void EnDs_Init(Actor* thisx, GlobalContext* globalCtx) {
EnDs* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004768, &D_0600039C, this->jointTable, this->morphTable, 6);
Animation_PlayOnce(&this->skelAnime, &D_0600039C);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gPotionShopLadySkel, &gPotionShopLadyAnim, this->jointTable,
this->morphTable, 6);
Animation_PlayOnce(&this->skelAnime, &gPotionShopLadyAnim);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;

View file

@ -5,6 +5,7 @@
*/
#include "z_en_dy_extra.h"
#include "objects/object_dy_obj/object_dy_obj.h"
#include "vt.h"
#define FLAGS 0x00000030
@ -31,9 +32,6 @@ const ActorInit En_Dy_Extra_InitVars = {
(ActorFunc)EnDyExtra_Draw,
};
extern Vtx D_0601BFB0[];
extern Gfx D_0601C160[];
void EnDyExtra_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
@ -99,7 +97,7 @@ void EnDyExtra_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDyExtra* this = THIS;
s32 pad;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Vtx* vertices = SEGMENTED_TO_VIRTUAL(D_0601BFB0);
Vtx* vertices = SEGMENTED_TO_VIRTUAL(gGreatFairySpiralBeamVtx);
s32 i;
u8 unk[3];
@ -125,7 +123,7 @@ void EnDyExtra_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, primColors[this->type].r, primColors[this->type].g,
primColors[this->type].b, 255);
gDPSetEnvColor(POLY_XLU_DISP++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b, 128);
gSPDisplayList(POLY_XLU_DISP++, D_0601C160);
gSPDisplayList(POLY_XLU_DISP++, gGreatFairySpiralBeamDL);
CLOSE_DISPS(gfxCtx, "../z_en_dy_extra.c", 325);
}

View file

@ -1,4 +1,5 @@
#include "z_en_eiyer.h"
#include "objects/object_ei/object_ei.h"
#define FLAGS 0x00000005
@ -36,13 +37,6 @@ void EnEiyer_Die(EnEiyer* this, GlobalContext* globalCtx);
void EnEiyer_Dead(EnEiyer* this, GlobalContext* globalCtx);
void EnEiyer_Stunned(EnEiyer* this, GlobalContext* globalCtx);
extern AnimationHeader D_06000288;
extern AnimationHeader D_060004C4;
extern AnimationHeader D_06000704;
extern AnimationHeader D_06000FC0;
extern AnimationHeader D_060012AC;
extern SkeletonHeader D_06003410;
const ActorInit En_Eiyer_InitVars = {
ACTOR_EN_EIYER,
ACTORCAT_ENEMY,
@ -129,7 +123,8 @@ void EnEiyer_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 600.0f, ActorShadow_DrawCircle, 65.0f);
SkelAnime_Init(globalCtx, &this->skelanime, &D_06003410, &D_060012AC, this->jointTable, this->morphTable, 19);
SkelAnime_Init(globalCtx, &this->skelanime, &gStingerSkel, &gStingerIdleAnim, this->jointTable, this->morphTable,
19);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sColCylInit);
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@ -187,7 +182,7 @@ void EnEiyer_RotateAroundHome(EnEiyer* this) {
void EnEiyer_SetupAppearFromGround(EnEiyer* this) {
this->collider.info.bumper.dmgFlags = 0x19;
Animation_PlayLoop(&this->skelanime, &D_060012AC);
Animation_PlayLoop(&this->skelanime, &gStingerIdleAnim);
this->actor.world.pos.x = this->actor.home.pos.x;
this->actor.world.pos.y = this->actor.home.pos.y - 40.0f;
@ -235,7 +230,7 @@ void EnEiyer_SetupInactive(EnEiyer* this) {
void EnEiyer_SetupAmbush(EnEiyer* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
Animation_PlayOnce(&this->skelanime, &D_06000704);
Animation_PlayOnce(&this->skelanime, &gStingerBackflipAnim);
this->collider.info.bumper.dmgFlags = ~0x00300000;
this->basePos = this->actor.world.pos;
this->actor.world.rot.y = this->actor.shape.rot.y;
@ -251,7 +246,7 @@ void EnEiyer_SetupAmbush(EnEiyer* this, GlobalContext* globalCtx) {
void EnEiyer_SetupGlide(EnEiyer* this) {
this->targetYaw = this->actor.shape.rot.y;
this->basePos.y = (cosf(-M_PI / 8) * 5.0f) + this->actor.world.pos.y;
Animation_MorphToLoop(&this->skelanime, &D_06000FC0, -5.0f);
Animation_MorphToLoop(&this->skelanime, &gStingerHitAnim, -5.0f);
this->timer = 60;
this->actionFunc = EnEiyer_Glide;
}
@ -271,7 +266,7 @@ void EnEiyer_SetupDiveAttack(EnEiyer* this, GlobalContext* globalCtx) {
}
void EnEiyer_SetupLand(EnEiyer* this) {
Animation_MorphToPlayOnce(&this->skelanime, &D_060004C4, -3.0f);
Animation_MorphToPlayOnce(&this->skelanime, &gStingerDiveAnim, -3.0f);
this->collider.base.atFlags &= ~AT_ON;
this->actor.flags |= 0x10;
@ -284,7 +279,7 @@ void EnEiyer_SetupLand(EnEiyer* this) {
void EnEiyer_SetupHurt(EnEiyer* this) {
this->basePos.y = this->actor.world.pos.y;
Animation_Change(&this->skelanime, &D_06000FC0, 2.0f, 0.0f, 0.0f, 0, -3.0f);
Animation_Change(&this->skelanime, &gStingerHitAnim, 2.0f, 0.0f, 0.0f, 0, -3.0f);
this->timer = 40;
this->actor.gravity = 0.0f;
this->actor.velocity.y = 0.0f;
@ -300,7 +295,7 @@ void EnEiyer_SetupDie(EnEiyer* this) {
if (this->collider.info.bumper.dmgFlags != 0x19) {
this->actor.speedXZ = 6.0f;
Animation_MorphToLoop(&this->skelanime, &D_06000FC0, -3.0f);
Animation_MorphToLoop(&this->skelanime, &gStingerHitAnim, -3.0f);
} else {
this->actor.speedXZ -= 6.0f;
}
@ -319,7 +314,7 @@ void EnEiyer_SetupDead(EnEiyer* this) {
}
void EnEiyer_SetupStunned(EnEiyer* this) {
Animation_Change(&this->skelanime, &D_06000288, 2.0f, 0.0f, 0.0f, 0, -8.0f);
Animation_Change(&this->skelanime, &gStingerPopOutAnim, 2.0f, 0.0f, 0.0f, 0, -8.0f);
this->timer = 80;
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;

View file

@ -6,6 +6,7 @@
#include "z_en_fd.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_fw/object_fw.h"
#define FLAGS 0x00000215
@ -31,12 +32,6 @@ void EnFd_DrawDots(EnFd* this, GlobalContext* globalCtx);
void EnFd_DrawFlames(EnFd* this, GlobalContext* globalCtx);
void EnFd_Land(EnFd* this, GlobalContext* globalCtx);
extern Gfx D_060079F8[];
extern Gfx D_06007A78[];
extern Gfx D_06007928[];
extern Gfx D_06007938[];
extern FlexSkeletonHeader D_06005810;
const ActorInit En_Fd_InitVars = {
ACTOR_EN_FD,
ACTORCAT_ENEMY,
@ -200,11 +195,11 @@ static ColliderJntSphInit sJntSphInit = {
static CollisionCheckInfoInit2 sColChkInit = { 24, 2, 25, 25, MASS_IMMOVABLE };
static struct_80034EC0_Entry sAnimations[] = {
{ 0x060010B4, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, 0.0f },
{ 0x06005C64, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
{ 0x06006044, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
{ 0x06006A18, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP_INTERP, -10.0f },
{ 0x06006B64, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
{ &gFlareDancerCastingFireAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, 0.0f },
{ &gFlareDancerBackflipAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
{ &gFlareDancerGettingUpAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
{ &gFlareDancerChasingAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP_INTERP, -10.0f },
{ &gFlareDancerTwirlAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -10.0f },
};
s32 EnFd_SpawnCore(EnFd* this, GlobalContext* globalCtx) {
@ -450,7 +445,7 @@ void EnFd_Fade(EnFd* this, GlobalContext* globalCtx) {
void EnFd_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFd* this = THIS;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005810, NULL, this->jointTable, this->morphTable, 27);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gFlareDancerSkel, NULL, this->jointTable, this->morphTable, 27);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 32.0f);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colSphs);
@ -888,7 +883,7 @@ void EnFd_DrawFlames(EnFd* this, GlobalContext* globalCtx) {
if (eff->type == FD_EFFECT_FLAME) {
if (!firstDone) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0);
gSPDisplayList(POLY_XLU_DISP++, D_06007928);
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerDL_7928);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 10, 0, (u8)((this->fadeAlpha / 255.0f) * 255));
firstDone = true;
}
@ -901,7 +896,7 @@ void EnFd_DrawFlames(EnFd* this, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = eff->timer * (8.0f / eff->initialTimer);
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(D_80A0E0F8[idx]));
gSPDisplayList(POLY_XLU_DISP++, D_06007938);
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerSquareParticleDL);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fd.c", 2020);
@ -921,7 +916,7 @@ void EnFd_DrawDots(EnFd* this, GlobalContext* globalCtx) {
if (eff->type == FD_EFFECT_DOT) {
if (!firstDone) {
func_80093D84(globalCtx->state.gfxCtx);
gSPDisplayList(POLY_XLU_DISP++, D_060079F8);
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerDL_79F8);
firstDone = true;
}
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, eff->color.r, eff->color.g, eff->color.b,
@ -933,7 +928,7 @@ void EnFd_DrawDots(EnFd* this, GlobalContext* globalCtx) {
Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fd.c", 2064),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06007A78);
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerTriangleParticleDL);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_fw.h"
#include "objects/object_fw/object_fw.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "objects/gameplay_keep/gameplay_keep.h"
@ -67,16 +68,11 @@ static ColliderJntSphInit sJntSphInit = {
static CollisionCheckInfoInit2 D_80A1FB94 = { 8, 2, 25, 25, MASS_IMMOVABLE };
static struct_80034EC0_Entry D_80A1FBA0[] = {
{ 0x06006CF8, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, 0.0f },
{ 0x06007CD0, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -8.0f },
{ 0x06007DC8, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP_INTERP, -8.0f },
{ &gFlareDancerCoreInitRunCycleAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, 0.0f },
{ &gFlareDancerCoreRunCycleAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -8.0f },
{ &gFlareDancerCoreEndRunCycleAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP_INTERP, -8.0f },
};
extern FlexSkeletonHeader D_06007C30;
extern Gfx D_06007928[];
extern Gfx D_06007938[];
extern AnimationHeader D_06006CF8;
s32 EnFw_DoBounce(EnFw* this, s32 totalBounces, f32 yVelocity) {
s16 temp_v1;
@ -190,7 +186,8 @@ s32 EnFw_SpawnDust(EnFw* this, u8 timer, f32 scale, f32 scaleStep, s32 dustCnt,
void EnFw_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFw* this = THIS;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007C30, NULL, this->jointTable, this->morphTable, 11);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gFlareDancerCoreSkel, NULL, this->jointTable, this->morphTable,
11);
func_80034EC0(&this->skelAnime, D_80A1FBA0, 0);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
Collider_InitJntSph(globalCtx, &this->collider);
@ -222,7 +219,7 @@ void EnFw_Run(EnFw* this, GlobalContext* globalCtx) {
Actor* flareDancer;
Math_SmoothStepToF(&this->skelAnime.playSpeed, 1.0f, 0.1f, 1.0f, 0.0f);
if (this->skelAnime.animation == &D_06006CF8) {
if (this->skelAnime.animation == &gFlareDancerCoreInitRunCycleAnim) {
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) == 0) {
this->runRadius = Math_Vec3f_DistXYZ(&this->actor.world.pos, &this->actor.parent->world.pos);
func_80034EC0(&this->skelAnime, D_80A1FBA0, 2);
@ -466,7 +463,7 @@ void EnFw_DrawDust(EnFw* this, GlobalContext* globalCtx) {
if (eff->type != 0) {
if (!firstDone) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0U);
gSPDisplayList(POLY_XLU_DISP++, D_06007928);
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerDL_7928);
gDPSetEnvColor(POLY_XLU_DISP++, 100, 60, 20, 0);
firstDone = true;
}
@ -481,7 +478,7 @@ void EnFw_DrawDust(EnFw* this, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = eff->timer * (8.0f / eff->initialTimer);
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(D_80A1FC18[idx]));
gSPDisplayList(POLY_XLU_DISP++, &D_06007938);
gSPDisplayList(POLY_XLU_DISP++, &gFlareDancerSquareParticleDL);
}
}

View file

@ -1,4 +1,5 @@
#include "z_en_fz.h"
#include "objects/object_fz/object_fz.h"
#define FLAGS 0x00000415
@ -46,10 +47,6 @@ void EnFz_SpawnIceSmokeFreeze(EnFz* this, Vec3f* pos, Vec3f* velocity, Vec3f* ac
void EnFz_UpdateIceSmoke(EnFz* this, GlobalContext* globalCtx);
void EnFz_DrawIceSmoke(EnFz* this, GlobalContext* globalCtx);
// Same effects as "z_eff_ss_ice_smoke.h"
extern Gfx* D_060030A0[];
extern Gfx* D_06003158[];
const ActorInit En_Fz_InitVars = {
ACTOR_EN_FZ,
ACTORCAT_ENEMY,
@ -710,9 +707,9 @@ void EnFz_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnFz_Draw(Actor* thisx, GlobalContext* globalCtx) {
static Gfx* displayLists[] = {
0x06001130, // Body fully intact (5 or 6 health)
0x060021A0, // Top right horn chipped off (from Freezards perspective) (3 or 4 health)
0x06002CA0, // Entire head chipped off (1 or 2 health)
gFreezardIntactDL, // Body fully intact (5 or 6 health)
gFreezardTopRightHornChippedDL, // Top right horn chipped off (from Freezards perspective) (3 or 4 health)
gFreezardHeadChippedDL, // Entire head chipped off (1 or 2 health)
};
EnFz* this = THIS;
s32 pad;
@ -873,7 +870,7 @@ void EnFz_DrawIceSmoke(EnFz* this, GlobalContext* globalCtx) {
gDPPipeSync(POLY_XLU_DISP++);
if (!texLoaded) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&D_060030A0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&gFreezardSteamStartDL));
texLoaded++;
}
@ -886,7 +883,7 @@ void EnFz_DrawIceSmoke(EnFz* this, GlobalContext* globalCtx) {
Matrix_Scale(iceSmoke->xyScale, iceSmoke->xyScale, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_fz.c", 1424),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&D_06003158));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&gFreezardSteamDL));
}
iceSmoke++;

View file

@ -7,6 +7,7 @@
#include "z_en_goroiwa.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_goroiwa/object_goroiwa.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -76,8 +77,6 @@ static CollisionCheckInfoInit sColChkInfoInit = { 0, 12, 60, MASS_HEAVY };
// Unused
static f32 D_80A4DEBC[] = { 10.0f, 9.2f };
extern Gfx D_060006B0[];
void func_80A4BCA0(EnGoroiwa* this) {
static f32 colliderHeightOffset[] = { 0.0f, 59.5f };
Sphere16* worldSphere = &this->collider.elements[0].dim.worldSphere;
@ -743,5 +742,5 @@ void EnGoroiwa_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void EnGoroiwa_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_060006B0);
Gfx_DrawDListOpa(globalCtx, gRollingRockDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_gs.h"
#include "objects/object_gs/object_gs.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "objects/gameplay_keep/gameplay_keep.h"
@ -22,10 +23,6 @@ void func_80A4F700(EnGs* this, GlobalContext* globalCtx);
void func_80A4F77C(EnGs* this);
extern Gfx D_06000950[];
extern Gfx D_060009D0[];
extern Gfx D_06000A60[];
const ActorInit En_Gs_InitVars = {
ACTOR_EN_GS,
ACTORCAT_PROP,
@ -587,7 +584,7 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gs.c", 1064),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06000950);
gSPDisplayList(POLY_OPA_DISP++, gGossipStoneSetupDL);
if (this->unk_19E & 4) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, this->flashColor.r, this->flashColor.g, this->flashColor.b,
@ -596,8 +593,8 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
}
gSPDisplayList(POLY_OPA_DISP++, D_060009D0);
gSPDisplayList(POLY_OPA_DISP++, D_06000A60);
gSPDisplayList(POLY_OPA_DISP++, gGossipStoneDL);
gSPDisplayList(POLY_OPA_DISP++, gGossipStoneSquishedDL);
Matrix_Pop();
if (this->unk_19E & 2) {

View file

@ -5,6 +5,7 @@
*/
#include "z_en_guest.h"
#include "objects/object_os_anime/object_os_anime.h"
#include "vt.h"
#define FLAGS 0x00000019
@ -92,8 +93,8 @@ void EnGuest_Update(Actor* thisx, GlobalContext* globalCtx) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->jointTable, this->morphTable, 16);
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->osAnimeBankIndex].segment);
Animation_Change(&this->skelAnime, &D_060042AC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060042AC), ANIMMODE_LOOP,
0.0f);
Animation_Change(&this->skelAnime, &gObjOsAnim_42AC, 1.0f, 0.0f, Animation_GetLastFrame(&gObjOsAnim_42AC),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnGuest_Draw;
this->actor.update = func_80A505CC;

View file

@ -5,6 +5,8 @@
*/
#include "z_en_hy.h"
#include "objects/object_aob/object_aob.h"
#include "objects/object_os_anime/object_os_anime.h"
#define FLAGS 0x00000019
@ -25,12 +27,6 @@ void func_80A7127C(EnHy* this, GlobalContext* globalCtx);
void func_80A712B4(EnHy* this, GlobalContext* globalCtx);
void func_80A714C4(EnHy* this, GlobalContext* globalCtx);
extern AnimationHeader D_06000BFC;
extern AnimationHeader D_06000FE4;
extern AnimationHeader D_060012E8;
extern AnimationHeader D_06002160;
extern AnimationHeader D_0600265C;
extern AnimationHeader D_060033B4;
extern Gfx D_06005BC8[];
const ActorInit En_Hy_InitVars = {
@ -81,14 +77,14 @@ typedef struct {
} EnHyUnknownStruct1; // size = 0xC
static EnHyUnknownStruct1 D_80A71F50[] = {
{ OBJECT_AOB, 0x06003C88, D_80A71EF8 }, { OBJECT_BOB, 0x06003B78, D_80A71F40 },
{ OBJECT_BOJ, 0x060026F0, D_80A71F30 }, { OBJECT_BOJ, 0x060052E0, NULL },
{ OBJECT_BOJ, 0x06005528, NULL }, { OBJECT_BOJ, 0x06005738, NULL },
{ OBJECT_BOJ, 0x060059B0, NULL }, { OBJECT_AHG, 0x060030F0, D_80A71F08 },
{ OBJECT_AHG, 0x06005508, NULL }, { OBJECT_AHG, 0x06005728, NULL },
{ OBJECT_BBA, 0x06002948, D_80A71F18 }, { OBJECT_CNE, 0x06001300, NULL },
{ OBJECT_CNE, 0x06002860, NULL }, { OBJECT_BJI, 0x06002560, D_80A71F20 },
{ OBJECT_BJI, 0x06003F68, NULL }, { OBJECT_COB, 0x06001300, NULL },
{ OBJECT_AOB, gDogLadyHeadDL, D_80A71EF8 }, { OBJECT_BOB, 0x06003B78, D_80A71F40 },
{ OBJECT_BOJ, 0x060026F0, D_80A71F30 }, { OBJECT_BOJ, 0x060052E0, NULL },
{ OBJECT_BOJ, 0x06005528, NULL }, { OBJECT_BOJ, 0x06005738, NULL },
{ OBJECT_BOJ, 0x060059B0, NULL }, { OBJECT_AHG, 0x060030F0, D_80A71F08 },
{ OBJECT_AHG, 0x06005508, NULL }, { OBJECT_AHG, 0x06005728, NULL },
{ OBJECT_BBA, 0x06002948, D_80A71F18 }, { OBJECT_CNE, 0x06001300, NULL },
{ OBJECT_CNE, 0x06002860, NULL }, { OBJECT_BJI, 0x06002560, D_80A71F20 },
{ OBJECT_BJI, 0x06003F68, NULL }, { OBJECT_COB, 0x06001300, NULL },
};
typedef struct {
@ -97,25 +93,25 @@ typedef struct {
} EnHyUnknownStruct2; // size = 0x8
static EnHyUnknownStruct2 D_80A72010[] = {
{ OBJECT_AOB, 0x060000F0 }, { OBJECT_BOB, 0x060000F0 }, { OBJECT_BOJ, 0x060000F0 }, { OBJECT_AHG, 0x060000F0 },
{ OBJECT_BBA, 0x060000F0 }, { OBJECT_CNE, 0x060000F0 }, { OBJECT_BJI, 0x060000F0 }, { OBJECT_COB, 0x060021F8 },
{ OBJECT_AOB, &gDogLadySkel }, { OBJECT_BOB, 0x060000F0 }, { OBJECT_BOJ, 0x060000F0 }, { OBJECT_AHG, 0x060000F0 },
{ OBJECT_BBA, 0x060000F0 }, { OBJECT_CNE, 0x060000F0 }, { OBJECT_BJI, 0x060000F0 }, { OBJECT_COB, 0x060021F8 },
};
static struct_80034EC0_Entry D_80A72050[] = {
{ 0x0600092C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06000228, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x06004CF4, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x060016EC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x0600265C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x060042AC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x060028DC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06002160, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
{ 0x0600265C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f }, { 0x06004E90, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x06001E7C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06000170, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x060000B4, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06003D84, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x060041F8, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x0600300C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x060031B0, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x060031B0, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ 0x06002D0C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06002DC0, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x06004408, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x06001F18, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ 0x06004F28, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { 0x060033B4, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ 0x060012E8, 1.0f, 0.0f, -1.0f, 0x00, -8.0f }, { 0x06000FE4, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ 0x06000BFC, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ &gObjOsAnim_092C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_0228, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_4CF4, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_16EC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_265C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_42AC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_28DC, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_2160, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
{ &gObjOsAnim_265C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f }, { &gObjOsAnim_4E90, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_1E7C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_0170, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_00B4, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_3D84, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_41F8, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_300C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_31B0, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_31B0, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ &gObjOsAnim_2D0C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_2DC0, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_4408, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_1F18, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
{ &gObjOsAnim_4F28, 1.0f, 0.0f, -1.0f, 0x00, 0.0f }, { &gObjOsAnim_33B4, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ &gObjOsAnim_12E8, 1.0f, 0.0f, -1.0f, 0x00, -8.0f }, { &gObjOsAnim_0FE4, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
{ &gObjOsAnim_0BFC, 1.0f, 0.0f, -1.0f, 0x00, -8.0f },
};
typedef struct {
@ -430,7 +426,7 @@ s16 func_80A70058(GlobalContext* globalCtx, Actor* thisx) {
case 0x70F1:
case 0x70F2:
case 0x70F3:
if (this->skelAnime.animation != &D_060033B4) {
if (this->skelAnime.animation != &gObjOsAnim_33B4) {
func_80034EC0(&this->skelAnime, D_80A72050, 23);
func_800F5C64(0x922);
}
@ -812,14 +808,14 @@ void func_80A70E34(EnHy* this, GlobalContext* globalCtx) {
void func_80A710F8(EnHy* this, GlobalContext* globalCtx) {
if (this->unk_1E8.unk_00 != 0) {
if (this->skelAnime.animation != &D_06000BFC) {
if (this->skelAnime.animation != &gObjOsAnim_0BFC) {
func_80034EC0(&this->skelAnime, D_80A72050, 26);
}
} else if (gSaveContext.eventInf[3] & 1) {
if (this->skelAnime.animation != &D_06000FE4) {
if (this->skelAnime.animation != &gObjOsAnim_0FE4) {
func_80034EC0(&this->skelAnime, D_80A72050, 25);
}
} else if (this->skelAnime.animation != &D_060012E8) {
} else if (this->skelAnime.animation != &gObjOsAnim_12E8) {
func_80034EC0(&this->skelAnime, D_80A72050, 24);
}
}
@ -861,11 +857,11 @@ void func_80A7134C(EnHy* this, GlobalContext* globalCtx) {
s16 yaw;
f32 distSq;
if ((this->skelAnime.animation == &D_06002160) && (this->unk_1E8.unk_00 != 0)) {
if ((this->skelAnime.animation == &gObjOsAnim_2160) && (this->unk_1E8.unk_00 != 0)) {
func_80034EC0(&this->skelAnime, D_80A72050, 8);
}
if ((this->skelAnime.animation == &D_0600265C) && (this->unk_1E8.unk_00 == 0)) {
if ((this->skelAnime.animation == &gObjOsAnim_265C) && (this->unk_1E8.unk_00 == 0)) {
func_80034EC0(&this->skelAnime, D_80A72050, 7);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_js.h"
#include "objects/object_js/object_js.h"
#define FLAGS 0x00000009
@ -49,10 +50,6 @@ static ColliderCylinderInit sCylinderInit = {
{ 30, 40, 0, { 0, 0, 0 } },
};
extern FlexSkeletonHeader D_06005EA0;
extern AnimationHeader D_0600045C;
extern AnimationHeader D_0600018C;
void En_Js_SetupAction(EnJs* this, EnJsActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -62,8 +59,9 @@ void EnJs_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 36.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005EA0, &D_0600045C, this->jointTable, this->morphTable, 13);
Animation_PlayOnce(&this->skelAnime, &D_0600045C);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCarpetMerchantSkel, &gCarpetMerchantSlappingKneeAnim,
this->jointTable, this->morphTable, 13);
Animation_PlayOnce(&this->skelAnime, &gCarpetMerchantSlappingKneeAnim);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
@ -100,8 +98,8 @@ u8 func_80A88F64(EnJs* this, GlobalContext* globalCtx, u16 textId) {
void func_80A89008(EnJs* this) {
En_Js_SetupAction(this, func_80A89304);
Animation_Change(&this->skelAnime, &D_0600045C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600045C), ANIMMODE_ONCE,
-4.0f);
Animation_Change(&this->skelAnime, &gCarpetMerchantSlappingKneeAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gCarpetMerchantSlappingKneeAnim), ANIMMODE_ONCE, -4.0f);
}
void func_80A89078(EnJs* this, GlobalContext* globalCtx) {
@ -157,8 +155,8 @@ void func_80A891C4(EnJs* this, GlobalContext* globalCtx) {
void func_80A89294(EnJs* this) {
En_Js_SetupAction(this, func_80A891C4);
Animation_Change(&this->skelAnime, &D_0600018C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600018C), ANIMMODE_ONCE,
-4.0f);
Animation_Change(&this->skelAnime, &gCarpetMerchantIdleAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gCarpetMerchantIdleAnim), ANIMMODE_ONCE, -4.0f);
}
void func_80A89304(EnJs* this, GlobalContext* globalCtx) {

View file

@ -5,6 +5,7 @@
*/
#include "z_en_mag.h"
#include "objects/object_mag/object_mag.h"
#define FLAGS 0x00000030
@ -15,13 +16,6 @@ void EnMag_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnMag_Update(Actor* thisx, GlobalContext* globalCtx);
void EnMag_Draw(Actor* thisx, GlobalContext* globalCtx);
extern u8 D_06000000[]; // Main Logo
extern u8 D_06019A00[]; // Copyright Notice
extern u8 D_0601A400[]; // Master Quest Sub Title
extern u8 D_06024800[]; // Logo Flame Effect
extern u8 D_06024C00[]; // "The Legend of"
extern u8 D_06024E40[]; // "Ocarina of Time"
const ActorInit En_Mag_InitVars = {
ACTOR_EN_MAG,
ACTORCAT_PROP,
@ -389,8 +383,10 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
static u8 pressStartFontIndexes[] = {
0x19, 0x1B, 0x0E, 0x1C, 0x1C, 0x1C, 0x1D, 0x0A, 0x1B, 0x1D,
};
static u8* effectMaskTextures[] = {
0x06020000, 0x06020800, 0x06021000, 0x06021800, 0x06022000, 0x06022800, 0x06023000, 0x06023800, 0x06024000,
static void* effectMaskTextures[] = {
gTitleEffectMask00Tex, gTitleEffectMask01Tex, gTitleEffectMask02Tex,
gTitleEffectMask10Tex, gTitleEffectMask11Tex, gTitleEffectMask12Tex,
gTitleEffectMask20Tex, gTitleEffectMask21Tex, gTitleEffectMask22Tex,
};
EnMag* this = THIS;
Font* font = &this->font;
@ -420,8 +416,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
if ((s16)this->effectPrimLodFrac != 0) {
for (k = 0, i = 0, rectTop = 0; i < 3; i++, rectTop += 64) {
for (j = 0, rectLeft = 56; j < 3; j++, k++, rectLeft += 64) {
EnMag_DrawEffectTextures(&gfx, effectMaskTextures[k], D_06024800, 64, 64, 32, 32, rectLeft, rectTop, 64,
64, 1024, 1024, 1, 1, k, this);
EnMag_DrawEffectTextures(&gfx, effectMaskTextures[k], gTitleFlameEffectTex, 64, 64, 32, 32, rectLeft,
rectTop, 64, 64, 1024, 1024, 1, 1, k, this);
}
}
}
@ -429,7 +425,7 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, (s16)this->mainAlpha);
if ((s16)this->mainAlpha != 0) {
EnMag_DrawImageRGBA32(&gfx, 152, 100, D_06000000, 160, 160);
EnMag_DrawImageRGBA32(&gfx, 152, 100, (u8*)gTitleZeldaShieldLogoMQTex, 160, 160);
}
func_8009457C(&gfx);
@ -449,20 +445,20 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
gDPSetEnvColor(gfx++, 0, 0, 100, 255);
if ((s16)this->mainAlpha != 0) {
EnMag_DrawTextureI8(&gfx, D_06024C00, 72, 8, 146, 73, 72, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, D_06024E40, 96, 8, 144, 127, 96, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 146, 73, 72, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 144, 127, 96, 8, 1024, 1024);
gDPPipeSync(gfx++);
gDPSetPrimColor(gfx++, 0, 0, 100, 150, 255, (s16)this->mainAlpha);
gDPSetEnvColor(gfx++, 20, 80, 160, 255);
EnMag_DrawTextureI8(&gfx, D_06024C00, 72, 8, 145, 72, 72, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, D_06024E40, 96, 8, 143, 126, 96, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 145, 72, 72, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 143, 126, 96, 8, 1024, 1024);
gDPPipeSync(gfx++);
gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, (s16)this->subAlpha);
EnMag_DrawImageRGBA32(&gfx, 174, 145, D_0601A400, 128, 32);
EnMag_DrawImageRGBA32(&gfx, 174, 145, (u8*)gTitleMasterQuestSubtitleTex, 128, 32);
}
func_8009457C(&gfx);
@ -474,8 +470,9 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
(s16)this->copyrightAlpha);
if ((s16)this->copyrightAlpha != 0) {
gDPLoadTextureBlock(gfx++, D_06019A00, G_IM_FMT_IA, G_IM_SIZ_8b, 160, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock(gfx++, gTitleCopyright19982003Tex, G_IM_FMT_IA, G_IM_SIZ_8b, 160, 16, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, 312, 792, 952, 856, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_md.h"
#include "objects/object_md/object_md.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#define FLAGS 0x02000019
@ -57,18 +58,22 @@ static ColliderCylinderInit sCylinderInit = {
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
static struct_80034EC0_Entry sAnimations[] = {
{ 0x060002C8, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f }, { 0x060002C8, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f },
{ 0x0600917C, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f }, { 0x06009E68, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ 0x06009B1C, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f }, { 0x06008E84, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ 0x060097F0, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f }, { 0x060092B0, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ 0x0600A138, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f }, { 0x06008FC0, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ 0x060002C8, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -8.0f }, { 0x06008510, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ 0x060095BC, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f }, { 0x06008738, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoHandsOnHipsIdleAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f },
{ &gMidoHandsOnHipsIdleAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f },
{ &gMidoRaiseHand1Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ &gMidoHaltAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoPutHandDownAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ &gMidoAnnoyedPointedHeadIdle1Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoAnnoyedPointedHeadIdle2Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoAnim_92B0, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ &gMidoWalkingAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoHandsOnHipsTransitionAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ &gMidoHandsOnHipsIdleAnim, 0.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -8.0f },
{ &gMidoSlamAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
{ &gMidoRaiseHand2Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
{ &gMidoAngryHeadTurnAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },
};
extern AnimationHeader D_060002C8;
extern FlexSkeletonHeader D_06007FB8;
void func_80AAA250(EnMd* this) {
f32 startFrame;
@ -319,7 +324,7 @@ void func_80AAAA24(EnMd* this) {
}
break;
}
} else if (this->skelAnime.animation != &D_060002C8) {
} else if (this->skelAnime.animation != &gMidoHandsOnHipsIdleAnim) {
func_80034EC0(&this->skelAnime, sAnimations, 10);
func_80AAA92C(this, 0);
}
@ -608,7 +613,7 @@ void EnMd_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007FB8, NULL, this->jointTable, this->morphTable, 17);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gMidoSkel, NULL, this->jointTable, this->morphTable, 17);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@ -647,7 +652,7 @@ void EnMd_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80AAB874(EnMd* this, GlobalContext* globalCtx) {
if (this->skelAnime.animation == &D_060002C8) {
if (this->skelAnime.animation == &gMidoHandsOnHipsIdleAnim) {
func_80034F54(globalCtx, this->unk_214, this->unk_236, 17);
} else if ((this->unk_1E0.unk_00 == 0) && (this->unk_20B != 7)) {
func_80AAA92C(this, 7);
@ -657,7 +662,7 @@ void func_80AAB874(EnMd* this, GlobalContext* globalCtx) {
}
void func_80AAB8F8(EnMd* this, GlobalContext* globalCtx) {
if (this->skelAnime.animation == &D_060002C8) {
if (this->skelAnime.animation == &gMidoHandsOnHipsIdleAnim) {
func_80034F54(globalCtx, this->unk_214, this->unk_236, 17);
}
func_80AAA93C(this);
@ -709,7 +714,7 @@ void func_80AAB948(EnMd* this, GlobalContext* globalCtx) {
return;
}
if (this->skelAnime.animation == &D_060002C8) {
if (this->skelAnime.animation == &gMidoHandsOnHipsIdleAnim) {
func_80034F54(globalCtx, this->unk_214, this->unk_236, 17);
}
@ -822,20 +827,20 @@ void EnMd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnMd_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR sEyesSegments[] = {
0x06004FF0,
0x06005930,
0x06005D30,
static void* sEyeTextures[] = {
&gMidoEyeOpenTex,
&gMidoEyeHalfTex,
&gMidoEyeClosedTex,
};
EnMd* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_md.c", 1280);
if (this->alpha == 255) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIdx]));
func_80034BA0(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha);
} else if (this->alpha != 0) {
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIdx]));
func_80034CC4(globalCtx, &this->skelAnime, EnMd_OverrideLimbDraw, EnMd_PostLimbDraw, &this->actor, this->alpha);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_ms.h"
#include "objects/object_ms/object_ms.h"
#define FLAGS 0x00000009
@ -58,9 +59,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP),
};
extern AnimationHeader D_060005EC;
extern FlexSkeletonHeader D_06003DC0;
void EnMs_SetOfferText(EnMs* this, GlobalContext* globalCtx) {
this->actor.textId = Text_GetFaceReaction(globalCtx, 0x1B);
if (this->actor.textId == 0) {
@ -81,7 +79,8 @@ void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
Actor_ProcessInitChain(&this->actor, sInitChain);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, this->jointTable, this->morphTable, 9);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBeanSalesmanSkel, &gBeanSalesmanEatingAnim, this->jointTable,
this->morphTable, 9);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &sCylinderInit);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);

View file

@ -4,9 +4,10 @@
* Description: Cucco
*/
#include <vt.h>
#include "z_en_niw.h"
#include "objects/object_niw/object_niw.h"
#include "overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h"
#include "vt.h"
#define FLAGS 0x00800010
@ -119,11 +120,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};
extern FlexSkeletonHeader D_06002530;
extern AnimationHeader D_060000E8;
extern Gfx D_060023B0[];
extern Gfx D_06002428[];
void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
EnNiw* this = THIS;
s32 pad;
@ -158,7 +154,7 @@ void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.flags |= 1;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCuccoSkel, &gCuccoAnim, this->jointTable, this->morphTable, 16);
if (globalCtx->sceneNum == SCENE_SPOT01) {
for (i = 0; i < ARRAY_COUNT(sKakarikoPosList); i++) {
@ -409,7 +405,7 @@ void func_80AB6100(EnNiw* this, GlobalContext* globalCtx, s32 arg2) {
}
void EnNiw_ResetAction(EnNiw* this, GlobalContext* globalCtx) {
Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), ANIMMODE_LOOP,
Animation_Change(&this->skelAnime, &gCuccoAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCuccoAnim), ANIMMODE_LOOP,
-10.0f);
switch (this->actor.params) {
@ -823,7 +819,7 @@ void func_80AB7204(EnNiw* this, GlobalContext* globalCtx) {
}
void func_80AB7290(EnNiw* this, GlobalContext* globalCtx) {
Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), ANIMMODE_LOOP,
Animation_Change(&this->skelAnime, &gCuccoAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCuccoAnim), ANIMMODE_LOOP,
-10.0f);
this->unk_2A0 = Rand_ZeroFloat(1.99f);
this->actor.speedXZ = 4.0f;
@ -1215,7 +1211,7 @@ void EnNiw_FeatherDraw(EnNiw* this, GlobalContext* globalCtx) {
for (i = 0; i < ARRAY_COUNT(this->feathers); i++, feather++) {
if (feather->type == 1) {
if (!flag) {
gSPDisplayList(POLY_XLU_DISP++, D_060023B0);
gSPDisplayList(POLY_XLU_DISP++, gCuccoParticleAppearDL);
flag++;
}
Matrix_Translate(feather->pos.x, feather->pos.y, feather->pos.z, MTXMODE_NEW);
@ -1225,7 +1221,7 @@ void EnNiw_FeatherDraw(EnNiw* this, GlobalContext* globalCtx) {
Matrix_Translate(0.0f, -1000.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_niw.c", 1913),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06002428);
gSPDisplayList(POLY_XLU_DISP++, gCuccoParticleAliveDL);
}
}

View file

@ -1,4 +1,6 @@
#include "z_en_niw_lady.h"
#include "objects/object_ane/object_ane.h"
#include "objects/object_os_anime/object_os_anime.h"
#include "overlays/actors/ovl_En_Niw/z_en_niw.h"
#include "vt.h"
@ -65,12 +67,6 @@ static ColliderCylinderInit sCylinderInit = {
{ 10, 10, 0, { 0, 0, 0 } },
};
extern FlexSkeletonHeader D_060000F0;
extern AnimationHeader D_06000718;
extern AnimationHeader D_060007D0;
extern AnimationHeader D_06009F94;
extern AnimationHeader D_0600A630;
void EnNiwLady_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnNiwLady* this = THIS;
@ -115,8 +111,8 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 10:
this->unk_275 = 1;
case 9:
frames = Animation_GetLastFrame(&D_060007D0);
Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_07D0);
Animation_Change(&this->skelAnime, &gObjOsAnim_07D0, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
break;
case 0:
case 1:
@ -130,8 +126,8 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 22:
case 24:
case 29:
frames = Animation_GetLastFrame(&D_06009F94);
Animation_Change(&this->skelAnime, &D_06009F94, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_9F94);
Animation_Change(&this->skelAnime, &gObjOsAnim_9F94, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
break;
case 7:
case 20:
@ -140,12 +136,12 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 26:
case 27:
case 28:
frames = Animation_GetLastFrame(&D_06000718);
Animation_Change(&this->skelAnime, &D_06000718, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_0718);
Animation_Change(&this->skelAnime, &gObjOsAnim_0718, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
break;
case 100:
frames = Animation_GetLastFrame(&D_0600A630);
Animation_Change(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_A630);
Animation_Change(&this->skelAnime, &gObjOsAnim_A630, 1.0f, 0.0f, frames, ANIMMODE_LOOP, -10.0f);
this->unk_276 = 0;
break;
}
@ -160,7 +156,7 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->objectAneIndex) &&
Object_IsLoaded(&globalCtx->objectCtx, this->objectOsAnimeIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objectAneIndex].segment);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->jointTable, this->morphTable, 16);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCuccoLadySkel, NULL, this->jointTable, this->morphTable, 16);
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objectOsAnimeIndex].segment);
this->unk_27E = 1;
this->actor.gravity = -3.0f;
@ -174,11 +170,11 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
switch (this->unk_278) {
case 0:
if (!(gSaveContext.itemGetInf[0] & 0x1000) && LINK_IS_CHILD) {
frames = Animation_GetLastFrame(&D_0600A630);
Animation_Change(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_A630);
Animation_Change(&this->skelAnime, &gObjOsAnim_A630, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
} else {
frames = Animation_GetLastFrame(&D_060007D0);
Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_07D0);
Animation_Change(&this->skelAnime, &gObjOsAnim_07D0, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
}
if (LINK_IS_ADULT) {
this->actionFunc = func_80ABA778;
@ -187,8 +183,8 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
}
return;
case 1:
frames = Animation_GetLastFrame(&D_060007D0);
Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
frames = Animation_GetLastFrame(&gObjOsAnim_07D0);
Animation_Change(&this->skelAnime, &gObjOsAnim_07D0, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f);
this->actionFunc = func_80ABAD38;
return;
}
@ -570,7 +566,7 @@ s32 EnNiwLady_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
}
void EnNiwLady_Draw(Actor* thisx, GlobalContext* globalCtx) {
static Gfx* D_80ABB408[] = { 0x060008C8, 0x060010C8, 0x060018C8 };
static void* sEyeTextures[] = { gCuccoLadyEyeOpenTex, gCuccoLadyEyeHalfTex, gCuccoLadyEyeClosedTex };
EnNiwLady* this = THIS;
s32 pad;
@ -578,7 +574,7 @@ void EnNiwLady_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->unk_27E != 0) {
func_80093D18(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80ABB408[this->faceState]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->faceState]));
gSPSegment(POLY_OPA_DISP++, 0x0C, func_80ABB0A0(globalCtx->state.gfxCtx));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnNiwLady_OverrideLimbDraw, NULL, this);

View file

@ -5,6 +5,7 @@
*/
#include "z_en_nwc.h"
#include "objects/object_nwc/object_nwc.h"
#define FLAGS 0x00000030
@ -31,15 +32,6 @@ typedef enum {
/* 1 */ CHICK_NORMAL
} ChickTypes;
extern Gfx D_06000840[];
extern Gfx D_060008B0[];
extern Gfx D_06000BF0[];
extern Gfx D_06000C68[];
extern Gfx D_06000C88[];
extern Gfx D_06000CE0[];
extern Gfx D_06000D10[];
extern Gfx D_06000D50[];
const ActorInit En_Nwc_InitVars = {
ACTOR_EN_NWC,
ACTORCAT_PROP,
@ -170,9 +162,9 @@ void EnNwc_DrawChicks(EnNwc* this, GlobalContext* globalCtx) {
dList2 = dList1 + 3 * this->count + 1;
dList3 = dList2 + 2 * this->count + 1;
gSPDisplayList(dList1++, D_06000840);
gSPDisplayList(dList2++, D_06000BF0);
gSPDisplayList(dList3++, D_06000C88);
gSPDisplayList(dList1++, gCuccoChickSetupBodyDL);
gSPDisplayList(dList2++, gCuccoChickSetupEyeDL);
gSPDisplayList(dList3++, gCuccoChickSetupBeakDL);
chick = this->chicks;
for (i = 0; i < this->count; i++, chick++) {
@ -184,18 +176,18 @@ void EnNwc_DrawChicks(EnNwc* this, GlobalContext* globalCtx) {
mtx = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_nwc.c", 346);
gDPSetEnvColor(dList1++, 0, 100, 255, 255);
gSPMatrix(dList1++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(dList1++, D_060008B0);
gSPDisplayList(dList1++, gCuccoChickBodyDL);
gSPMatrix(dList2++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(dList2++, D_06000C68);
gSPDisplayList(dList2++, gCuccoChickEyesDL);
gSPMatrix(dList3++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(dList3++, D_06000CE0);
gSPDisplayList(dList3++, gCuccoChickBeakDL);
}
}
chick = this->chicks;
POLY_XLU_DISP = dList3;
func_80094044(globalCtx->state.gfxCtx);
gSPDisplayList(POLY_XLU_DISP++, D_06000D10);
gSPDisplayList(POLY_XLU_DISP++, gCuccoChickSetupShadowDL);
for (i = 0; i < this->count; i++, chick++) {
if ((chick->type != CHICK_NONE) && (chick->floorPoly != NULL)) {
@ -205,7 +197,7 @@ void EnNwc_DrawChicks(EnNwc* this, GlobalContext* globalCtx) {
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_nwc.c", 388),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000D50);
gSPDisplayList(POLY_XLU_DISP++, gCuccoChickShadowDL);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_nwc.c", 395);

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;

View file

@ -1,4 +1,5 @@
#include "z_en_peehat.h"
#include "objects/object_peehat/object_peehat.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
@ -41,12 +42,6 @@ void EnPeehat_Adult_StateDie(EnPeehat* this, GlobalContext* globalCtx);
void EnPeehat_SetStateExplode(EnPeehat* this);
void EnPeehat_StateExplode(EnPeehat* this, GlobalContext* globalCtx);
extern SkeletonHeader D_06001C80;
extern AnimationHeader D_060009C4;
extern AnimationHeader D_06000844;
extern AnimationHeader D_060005C4;
extern AnimationHeader D_06000350;
const ActorInit En_Peehat_InitVars = {
ACTOR_EN_PEEHAT,
ACTORCAT_ENEMY,
@ -199,7 +194,8 @@ void EnPeehat_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
Actor_SetScale(thisx, 36.0f * 0.001f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06001C80, &D_060009C4, this->jointTable, this->morphTable, 24);
SkelAnime_Init(globalCtx, &this->skelAnime, &gPeehatSkel, &gPeehatRisingAnim, this->jointTable, this->morphTable,
24);
ActorShape_Init(&this->actor.shape, 100.0f, ActorShadow_DrawCircle, 27.0f);
this->actor.focus.pos = this->actor.world.pos;
this->unk2D4 = 0;
@ -314,7 +310,8 @@ void EnPeehat_HitWhenGrounded(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Ground_SetStateGround(EnPeehat* this) {
Animation_Change(&this->skelAnime, &D_060009C4, 0.0f, 3.0f, Animation_GetLastFrame(&D_060009C4), 2, 0.0f);
Animation_Change(&this->skelAnime, &gPeehatRisingAnim, 0.0f, 3.0f, Animation_GetLastFrame(&gPeehatRisingAnim), 2,
0.0f);
this->seekPlayerTimer = 600;
this->unk2D4 = 0;
this->unk2FA = 0;
@ -351,7 +348,8 @@ void EnPeehat_Ground_StateGround(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Flying_SetStateGround(EnPeehat* this) {
Animation_Change(&this->skelAnime, &D_060009C4, 0.0f, 3.0f, Animation_GetLastFrame(&D_060009C4), 2, 0.0f);
Animation_Change(&this->skelAnime, &gPeehatRisingAnim, 0.0f, 3.0f, Animation_GetLastFrame(&gPeehatRisingAnim), 2,
0.0f);
this->seekPlayerTimer = 400;
this->unk2D4 = 0;
this->unk2FA = 0; // @bug: overwrites number of child larva spawned, allowing for more than MAX_LARVA spawns
@ -380,7 +378,7 @@ void EnPeehat_Flying_StateGrounded(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Flying_SetStateFly(EnPeehat* this) {
Animation_PlayLoop(&this->skelAnime, &D_060005C4);
Animation_PlayLoop(&this->skelAnime, &gPeehatFlyingAnim);
this->state = PEAHAT_STATE_FLY;
EnPeehat_SetupAction(this, EnPeehat_Flying_StateFly);
}
@ -408,9 +406,9 @@ void EnPeehat_Flying_StateFly(EnPeehat* this, GlobalContext* globalCtx) {
void EnPeehat_Ground_SetStateRise(EnPeehat* this) {
f32 lastFrame;
lastFrame = Animation_GetLastFrame(&D_060009C4);
lastFrame = Animation_GetLastFrame(&gPeehatRisingAnim);
if (this->state != PEAHAT_STATE_STUNNED) {
Animation_Change(&this->skelAnime, &D_060009C4, 0.0f, 3.0f, lastFrame, 2, 0.0f);
Animation_Change(&this->skelAnime, &gPeehatRisingAnim, 0.0f, 3.0f, lastFrame, 2, 0.0f);
}
this->state = PEAHAT_STATE_8;
this->animTimer = lastFrame;
@ -449,9 +447,9 @@ void EnPeehat_Ground_StateRise(EnPeehat* this, GlobalContext* globalCtx) {
void EnPeehat_Flying_SetStateRise(EnPeehat* this) {
f32 lastFrame;
lastFrame = Animation_GetLastFrame(&D_060009C4);
lastFrame = Animation_GetLastFrame(&gPeehatRisingAnim);
if (this->state != PEAHAT_STATE_STUNNED) {
Animation_Change(&this->skelAnime, &D_060009C4, 0.0f, 3.0f, lastFrame, 2, 0.0f);
Animation_Change(&this->skelAnime, &gPeehatRisingAnim, 0.0f, 3.0f, lastFrame, 2, 0.0f);
}
this->state = PEAHAT_STATE_9;
this->animTimer = lastFrame;
@ -489,7 +487,7 @@ void EnPeehat_Flying_StateRise(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Ground_SetStateSeekPlayer(EnPeehat* this) {
Animation_PlayLoop(&this->skelAnime, &D_060005C4);
Animation_PlayLoop(&this->skelAnime, &gPeehatFlyingAnim);
this->state = PEAHAT_STATE_SEEK_PLAYER;
this->unk2E0 = 0.0f;
EnPeehat_SetupAction(this, EnPeehat_Ground_StateSeekPlayer);
@ -525,7 +523,7 @@ void EnPeehat_Ground_StateSeekPlayer(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Larva_SetStateSeekPlayer(EnPeehat* this) {
Animation_PlayLoop(&this->skelAnime, &D_060005C4);
Animation_PlayLoop(&this->skelAnime, &gPeehatFlyingAnim);
this->state = PEAHAT_STATE_SEEK_PLAYER;
this->unk2D4 = 0;
EnPeehat_SetupAction(this, EnPeehat_Larva_StateSeekPlayer);
@ -597,7 +595,7 @@ void EnPeehat_Larva_StateSeekPlayer(EnPeehat* this, GlobalContext* globalCtx) {
void EnPeehat_Ground_SetStateLanding(EnPeehat* this) {
this->state = PEAHAT_STATE_LANDING;
Animation_PlayOnce(&this->skelAnime, &D_06000350);
Animation_PlayOnce(&this->skelAnime, &gPeehatLandingAnim);
EnPeehat_SetupAction(this, EnPeehat_Ground_StateLanding);
}
@ -623,7 +621,7 @@ void EnPeehat_Ground_StateLanding(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Flying_SetStateLanding(EnPeehat* this) {
Animation_PlayOnce(&this->skelAnime, &D_06000350);
Animation_PlayOnce(&this->skelAnime, &gPeehatLandingAnim);
this->state = PEAHAT_STATE_LANDING;
EnPeehat_SetupAction(this, EnPeehat_Flying_StateLanding);
}
@ -650,7 +648,7 @@ void EnPeehat_Flying_StateLanding(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_Ground_SetStateHover(EnPeehat* this) {
Animation_PlayLoop(&this->skelAnime, &D_060005C4);
Animation_PlayLoop(&this->skelAnime, &gPeehatFlyingAnim);
this->actor.speedXZ = Rand_ZeroOne() * 0.5f + 2.5f;
this->unk2D4 = Rand_ZeroOne() * 10 + 10;
this->state = PEAHAT_STATE_15;
@ -737,7 +735,7 @@ void EnPeehat_Ground_StateReturnHome(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_SetStateAttackRecoil(EnPeehat* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06000844, -4.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gPeehatRecoilAnim, -4.0f);
this->state = PEAHAT_STATE_ATTACK_RECOIL;
this->actor.speedXZ = -9.0f;
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
@ -808,7 +806,7 @@ void EnPeehat_Adult_StateDie(EnPeehat* this, GlobalContext* globalCtx) {
if (this->isStateDieFirstUpdate) {
this->unk2D4--;
if (this->unk2D4 <= 0 || this->actor.colChkInfo.health == 0) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06000844, -4.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gPeehatRecoilAnim, -4.0f);
this->bladeRotVel = 4000;
this->unk2D4 = 14;
this->actor.speedXZ = 0;
@ -854,7 +852,7 @@ void EnPeehat_Adult_StateDie(EnPeehat* this, GlobalContext* globalCtx) {
}
void EnPeehat_SetStateExplode(EnPeehat* this) {
Animation_PlayLoop(&this->skelAnime, &D_060005C4);
Animation_PlayLoop(&this->skelAnime, &gPeehatFlyingAnim);
this->state = PEAHAT_STATE_EXPLODE;
this->animTimer = 5;
this->unk2E0 = 0.0f;

View file

@ -82,7 +82,7 @@ static Vec3f D_80AD8D48 = { 0.0f, 1200.0f, 0.0f };
static u64* sEyesSegments[] = {
gDampeEyeOpenTex,
gDampeEyeHalfOpenTex,
gDampeEyeHalfTex,
gDampeEyeClosedTex,
};

View file

@ -5,6 +5,7 @@
*/
#include "z_en_rr.h"
#include "objects/object_rr/object_rr.h"
#include "vt.h"
#define FLAGS 0x00000435
@ -65,8 +66,6 @@ void EnRr_Death(EnRr* this, GlobalContext* globalCtx);
void EnRr_Retreat(EnRr* this, GlobalContext* globalCtx);
void EnRr_Stunned(EnRr* this, GlobalContext* globalCtx);
extern Gfx D_06000470[];
const ActorInit En_Rr_InitVars = {
ACTOR_EN_RR,
ACTORCAT_ENEMY,
@ -881,7 +880,7 @@ void EnRr_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
this->effectPos[0] = this->actor.world.pos;
Matrix_MultVec3f(&zeroVec, &this->mouthPos);
gSPDisplayList(POLY_XLU_DISP++, D_06000470);
gSPDisplayList(POLY_XLU_DISP++, gLikeLikeDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rr.c", 1551);
if (this->effectTimer != 0) {

View file

@ -5,6 +5,7 @@
*/
#include "z_en_ru2.h"
#include "objects/object_ru2/object_ru2.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -55,10 +56,10 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 30, 100, 0, { 0 } },
};
static UNK_PTR D_80AF410C[] = {
0x06000F20,
0x060022E0,
0x06002AE0,
static void* sEyeTextures[] = {
&gAdultRutoEyeOpenTex,
&gAdultRutoEyeHalfTex,
&gAdultRutoEyeClosedTex,
};
static UNK_TYPE D_80AF4118 = 0;
@ -89,15 +90,6 @@ const ActorInit En_Ru2_InitVars = {
(ActorFunc)EnRu2_Draw,
};
extern AnimationHeader D_060004CC;
extern FlexSkeletonHeader D_0600C700;
extern AnimationHeader D_0600D3DC;
extern AnimationHeader D_0600DCAC;
extern AnimationHeader D_06000DE8;
extern AnimationHeader D_0600E630;
extern AnimationHeader D_0600F03C;
extern AnimationHeader D_0600F8B8;
void func_80AF2550(Actor* thisx, GlobalContext* globalCtx) {
EnRu2* this = THIS;
@ -245,7 +237,7 @@ void func_80AF2978(EnRu2* this, GlobalContext* globalCtx) {
}
void func_80AF2994(EnRu2* this, GlobalContext* globalCtx) {
func_80AF28E8(this, &D_06000DE8, 0, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoIdleAnim, 0, 0.0f, 0);
this->actor.shape.yOffset = -10000.0f;
}
@ -307,7 +299,7 @@ void func_80AF2B94(EnRu2* this) {
}
void func_80AF2BC0(EnRu2* this, GlobalContext* globalCtx) {
AnimationHeader* animation = &D_0600D3DC;
AnimationHeader* animation = &gAdultRutoRaisingArmsUpAnim;
CsCmdActorAction* csCmdNPCAction;
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
@ -383,7 +375,7 @@ void func_80AF2DEC(EnRu2* this, GlobalContext* globalCtx) {
}
void func_80AF2E1C(EnRu2* this, GlobalContext* globalCtx) {
func_80AF28E8(this, &D_060004CC, 2, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoCrossingArmsAnim, 2, 0.0f, 0);
this->action = 7;
this->actor.shape.shadowAlpha = 0;
}
@ -476,7 +468,7 @@ void func_80AF31C8(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF321C(EnRu2* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->unk_2A4;
UNK_PTR addr = D_80AF410C[temp];
UNK_PTR addr = sEyeTextures[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2_inKenjyanomaDemo02.c", 264);
@ -495,7 +487,7 @@ void func_80AF321C(EnRu2* this, GlobalContext* globalCtx) {
}
void func_80AF3394(EnRu2* this, GlobalContext* globalCtx) {
func_80AF28E8(this, &D_0600E630, 0, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoIdleHandsOnHipsAnim, 0, 0.0f, 0);
this->action = 10;
this->drawConfig = 0;
this->actor.shape.shadowAlpha = 0;
@ -533,13 +525,13 @@ void func_80AF34A4(EnRu2* this) {
}
void func_80AF34F0(EnRu2* this) {
func_80AF28E8(this, &D_0600DCAC, 2, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoHeadTurnDownLeftAnim, 2, 0.0f, 0);
this->action = 13;
}
void func_80AF3530(EnRu2* this, UNK_TYPE arg1) {
if (arg1 != 0) {
func_80AF28E8(this, &D_0600F03C, 0, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoLookingDownLeftAnim, 0, 0.0f, 0);
}
}
@ -609,7 +601,7 @@ void func_80AF3744(EnRu2* this, GlobalContext* globalCtx) {
if (func_80AF3718(this, globalCtx)) {
Actor_Kill(&this->actor);
} else {
func_80AF28E8(this, &D_06000DE8, 0, 0.0f, 0);
func_80AF28E8(this, &gAdultRutoIdleAnim, 0, 0.0f, 0);
this->action = 14;
this->drawConfig = 1;
}
@ -701,7 +693,7 @@ void func_80AF39DC(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF3ADC(EnRu2* this, GlobalContext* globalCtx) {
this->unk_2C4 += 1.0f;
if (this->unk_2C4 > kREG(5) + 100.0f) {
func_80AF28E8(this, &D_0600F8B8, 0, -12.0f, 0);
func_80AF28E8(this, &gAdultRutoSwimmingUpAnim, 0, -12.0f, 0);
this->action = 19;
func_80AF36EC(this, globalCtx);
}
@ -777,7 +769,7 @@ void EnRu2_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
func_80AF2550(thisx, globalCtx);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C700, NULL, this->jointTable, this->morphTable, 23);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gAdultRutoSkel, NULL, this->jointTable, this->morphTable, 23);
switch (func_80AF26A0(this)) {
case 2:
@ -804,7 +796,7 @@ void func_80AF3F14(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF3F20(EnRu2* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->unk_2A4;
UNK_PTR addr = D_80AF410C[temp];
UNK_PTR addr = sEyeTextures[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2.c", 642);

View file

@ -1,4 +1,5 @@
#include "z_en_shopnuts.h"
#include "objects/object_shopnuts/object_shopnuts.h"
#define FLAGS 0x00000005
@ -17,15 +18,6 @@ void EnShopnuts_ThrowNut(EnShopnuts* this, GlobalContext* globalCtx);
void EnShopnuts_Burrow(EnShopnuts* this, GlobalContext* globalCtx);
void EnShopnuts_SpawnSalesman(EnShopnuts* this, GlobalContext* globalCtx);
extern AnimationHeader D_060001EC;
extern AnimationHeader D_0600039C;
extern AnimationHeader D_06000764;
extern AnimationHeader D_06000BA0;
extern AnimationHeader D_0600139C;
extern Gfx D_06003B68[];
extern FlexSkeletonHeader D_060041A8;
extern AnimationHeader D_06004574;
const ActorInit En_Shopnuts_InitVars = {
ACTOR_EN_SHOPNUTS,
ACTORCAT_ENEMY,
@ -71,7 +63,8 @@ void EnShopnuts_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_06004574, this->jointTable, this->morphTable, 18);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBusinessScrubSkel, &gBusinessScrubAnim_4574, this->jointTable,
this->morphTable, 18);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
@ -93,7 +86,7 @@ void EnShopnuts_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnShopnuts_SetupWait(EnShopnuts* this) {
Animation_PlayOnceSetSpeed(&this->skelAnime, &D_0600139C, 0.0f);
Animation_PlayOnceSetSpeed(&this->skelAnime, &gBusinessScrubAnim_139C, 0.0f);
this->animFlagAndTimer = Rand_S16Offset(100, 50);
this->collider.dim.height = 5;
this->collider.base.acFlags &= ~AC_ON;
@ -101,18 +94,18 @@ void EnShopnuts_SetupWait(EnShopnuts* this) {
}
void EnShopnuts_SetupLookAround(EnShopnuts* this) {
Animation_PlayLoop(&this->skelAnime, &D_06000BA0);
Animation_PlayLoop(&this->skelAnime, &gBusinessScrubLookAroundAnim);
this->animFlagAndTimer = 2;
this->actionFunc = EnShopnuts_LookAround;
}
void EnShopnuts_SetupThrowNut(EnShopnuts* this) {
Animation_PlayOnce(&this->skelAnime, &D_060001EC);
Animation_PlayOnce(&this->skelAnime, &gBusinessScrubAnim_1EC);
this->actionFunc = EnShopnuts_ThrowNut;
}
void EnShopnuts_SetupStand(EnShopnuts* this) {
Animation_MorphToLoop(&this->skelAnime, &D_06004574, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &gBusinessScrubAnim_4574, -3.0f);
if (this->actionFunc == EnShopnuts_ThrowNut) {
this->animFlagAndTimer = 2 | 0x1000; // sets timer and flag
} else {
@ -122,13 +115,13 @@ void EnShopnuts_SetupStand(EnShopnuts* this) {
}
void EnShopnuts_SetupBurrow(EnShopnuts* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_0600039C, -5.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gBusinessScrubAnim_39C, -5.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
this->actionFunc = EnShopnuts_Burrow;
}
void EnShopnuts_SetupSpawnSalesman(EnShopnuts* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06000764, -3.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gBusinessScrubRotateAnim, -3.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
this->collider.base.acFlags &= ~AC_ON;
this->actionFunc = EnShopnuts_SpawnSalesman;
@ -258,7 +251,7 @@ void EnShopnuts_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetFocus(&this->actor, this->skelAnime.curFrame);
} else if (this->actionFunc == EnShopnuts_Burrow) {
Actor_SetFocus(&this->actor,
20.0f - ((this->skelAnime.curFrame * 20.0f) / Animation_GetLastFrame(&D_0600039C)));
20.0f - ((this->skelAnime.curFrame * 20.0f) / Animation_GetLastFrame(&gBusinessScrubAnim_39C)));
} else {
Actor_SetFocus(&this->actor, 20.0f);
}
@ -303,7 +296,7 @@ void EnShopnuts_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
if (1) {}
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_shopnuts.c", 714),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06003B68);
gSPDisplayList(POLY_OPA_DISP++, gBusinessScrubNoseDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_shopnuts.c", 717);
}
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_syateki_niw.h"
#include "objects/object_niw/object_niw.h"
#include "vt.h"
#define FLAGS 0x00000010
@ -27,11 +28,6 @@ void func_80B128D8(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B131B8(EnSyatekiNiw* this, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4);
extern AnimationHeader D_060000E8;
extern Gfx D_060023B0[];
extern Gfx D_06002428[];
extern FlexSkeletonHeader D_06002530;
const ActorInit En_Syateki_Niw_InitVars = {
ACTOR_EN_SYATEKI_NIW,
ACTORCAT_PROP,
@ -76,7 +72,7 @@ void EnSyatekiNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.flags &= ~1;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gCuccoSkel, &gCuccoAnim, this->jointTable, this->morphTable, 16);
this->unk_29E = this->actor.params;
if (this->unk_29E < 0) {
@ -213,7 +209,7 @@ void func_80B11A94(EnSyatekiNiw* this, GlobalContext* globalCtx, s16 arg2) {
}
void func_80B11DEC(EnSyatekiNiw* this, GlobalContext* globalCtx) {
Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), ANIMMODE_LOOP,
Animation_Change(&this->skelAnime, &gCuccoAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCuccoAnim), ANIMMODE_LOOP,
-10.0f);
if (this->unk_29E != 0) {
Actor_SetScale(&this->actor, this->unk_2F4);
@ -353,7 +349,7 @@ void func_80B11E78(EnSyatekiNiw* this, GlobalContext* globalCtx) {
}
void func_80B123A8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), ANIMMODE_LOOP,
Animation_Change(&this->skelAnime, &gCuccoAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gCuccoAnim), ANIMMODE_LOOP,
-10.0f);
this->unk_27C = 6000.0f;
this->unk_288 = -10000.0f;
@ -778,7 +774,7 @@ void func_80B13464(EnSyatekiNiw* this, GlobalContext* globalCtx) {
for (i = 0; i < 5; i++, ptr++) {
if (ptr->unk_00 == 1) {
if (flag == 0) {
gSPDisplayList(POLY_XLU_DISP++, D_060023B0);
gSPDisplayList(POLY_XLU_DISP++, gCuccoParticleAppearDL);
flag++;
}
@ -790,7 +786,7 @@ void func_80B13464(EnSyatekiNiw* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_syateki_niw.c", 1251),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06002428);
gSPDisplayList(POLY_XLU_DISP++, gCuccoParticleAliveDL);
}
}

View file

@ -719,7 +719,7 @@ void EnTk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
void EnTk_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* sEyesSegments[] = {
gDampeEyeOpenTex,
gDampeEyeHalfOpenTex,
gDampeEyeHalfTex,
gDampeEyeClosedTex,
};
EnTk* this = THIS;

View file

@ -5,6 +5,7 @@
*/
#include "z_en_trap.h"
#include "objects/object_trap/object_trap.h"
#define FLAGS 0x00000010
@ -60,8 +61,6 @@ static ColliderCylinderInit sCylinderInit = {
{ 30, 20, 0, { 0, 0, 0 } },
};
extern Gfx D_06001400[];
void EnTrap_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 trapDist;
f32 trapSpeed;
@ -391,5 +390,5 @@ void EnTrap_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnTrap_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(thisx, globalCtx, 1);
Gfx_DrawDListOpa(globalCtx, D_06001400);
Gfx_DrawDListOpa(globalCtx, gSlidingBladeTrapDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_vm.h"
#include "objects/object_vm/object_vm.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "objects/gameplay_keep/gameplay_keep.h"
@ -122,16 +123,12 @@ static Vec3f D_80B2EB70 = { -500.0f, 0.0f, 0.0f };
static Vec3f D_80B2EB7C = { 0.4f, 0.4f, 0.4f };
static UNK_PTR D_80B2EB88[] = {
static void* D_80B2EB88[] = {
gEffEnemyDeathFlame1Tex, gEffEnemyDeathFlame2Tex, gEffEnemyDeathFlame3Tex, gEffEnemyDeathFlame4Tex,
gEffEnemyDeathFlame5Tex, gEffEnemyDeathFlame6Tex, gEffEnemyDeathFlame7Tex, gEffEnemyDeathFlame8Tex,
gEffEnemyDeathFlame9Tex, gEffEnemyDeathFlame10Tex,
};
extern SkeletonHeader D_06003F60;
extern AnimationHeader D_06000068;
extern Gfx D_06002728[];
void EnVm_SetupAction(EnVm* this, EnVmActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -139,7 +136,7 @@ void EnVm_SetupAction(EnVm* this, EnVmActionFunc actionFunc) {
void EnVm_Init(Actor* thisx, GlobalContext* globalCtx) {
EnVm* this = THIS;
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003F60, &D_06000068, this->jointTable, this->morphTable, 11);
SkelAnime_Init(globalCtx, &this->skelAnime, &gBeamosSkel, &gBeamosAnim, this->jointTable, this->morphTable, 11);
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
Collider_SetCylinder(globalCtx, &this->colliderCylinder, thisx, &sCylinderInit);
@ -169,9 +166,9 @@ void EnVm_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnVm_SetupWait(EnVm* this) {
f32 frameCount = Animation_GetLastFrame(&D_06000068);
f32 frameCount = Animation_GetLastFrame(&gBeamosAnim);
Animation_Change(&this->skelAnime, &D_06000068, 1.0f, frameCount, frameCount, ANIMMODE_ONCE, 0.0f);
Animation_Change(&this->skelAnime, &gBeamosAnim, 1.0f, frameCount, frameCount, ANIMMODE_ONCE, 0.0f);
this->unk_25E = this->unk_260 = 0;
this->unk_21C = 0;
this->timer = 10;
@ -253,7 +250,7 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
}
void EnVm_SetupAttack(EnVm* this) {
Animation_Change(&this->skelAnime, &D_06000068, 3.0f, 3.0f, 7.0f, ANIMMODE_ONCE, 0.0f);
Animation_Change(&this->skelAnime, &gBeamosAnim, 3.0f, 3.0f, 7.0f, ANIMMODE_ONCE, 0.0f);
this->timer = 305;
this->beamScale.x = 0.6f;
this->beamSpeed = 40.0f;
@ -321,7 +318,7 @@ void EnVm_Attack(EnVm* this, GlobalContext* globalCtx) {
}
void EnVm_SetupStun(EnVm* this) {
Animation_Change(&this->skelAnime, &D_06000068, -1.0f, Animation_GetLastFrame(&D_06000068), 0.0f, ANIMMODE_ONCE,
Animation_Change(&this->skelAnime, &gBeamosAnim, -1.0f, Animation_GetLastFrame(&gBeamosAnim), 0.0f, ANIMMODE_ONCE,
0.0f);
this->unk_260 = 0;
this->timer = 180;
@ -340,7 +337,7 @@ void EnVm_Stun(EnVm* this, GlobalContext* globalCtx) {
if (this->unk_25E == 3) {
EnVm_SetupWait(this);
} else if (this->unk_25E == 1) {
Animation_Change(&this->skelAnime, &D_06000068, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000068),
Animation_Change(&this->skelAnime, &gBeamosAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gBeamosAnim),
ANIMMODE_ONCE, 0.0f);
} else {
this->timer = 10;
@ -356,7 +353,7 @@ void EnVm_Stun(EnVm* this, GlobalContext* globalCtx) {
}
void EnVm_SetupDie(EnVm* this) {
Animation_Change(&this->skelAnime, &D_06000068, -1.0f, Animation_GetLastFrame(&D_06000068), 0.0f, ANIMMODE_ONCE,
Animation_Change(&this->skelAnime, &gBeamosAnim, -1.0f, Animation_GetLastFrame(&gBeamosAnim), 0.0f, ANIMMODE_ONCE,
0.0f);
this->timer = 33;
this->unk_25E = this->unk_260 = 0;
@ -555,7 +552,7 @@ void EnVm_Draw(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Scale(this->beamScale.x * 0.1f, this->beamScale.x * 0.1f, this->beamScale.z * 0.0015f, 1);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vm.c", 1063),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06002728);
gSPDisplayList(POLY_OPA_DISP++, gBeamosLaserDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_vm.c", 1068);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_weiyer.h"
#include "objects/object_ei/object_ei.h"
#define FLAGS 0x00000005
@ -27,11 +28,6 @@ void func_80B332B4(EnWeiyer* this, GlobalContext* globalCtx);
void func_80B33338(EnWeiyer* this, GlobalContext* globalCtx);
void func_80B3349C(EnWeiyer* this, GlobalContext* globalCtx);
extern AnimationHeader D_06000288;
extern AnimationHeader D_06000FC0;
extern AnimationHeader D_060012AC;
extern SkeletonHeader D_06003410;
const ActorInit En_Weiyer_InitVars = {
ACTOR_EN_WEIYER,
ACTORCAT_ENEMY,
@ -109,7 +105,8 @@ void EnWeiyer_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
ActorShape_Init(&this->actor.shape, 1000.0f, ActorShadow_DrawCircle, 65.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003410, &D_060012AC, this->jointTable, this->morphTable, 19);
SkelAnime_Init(globalCtx, &this->skelAnime, &gStingerSkel, &gStingerIdleAnim, this->jointTable, this->morphTable,
19);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@ -125,7 +122,7 @@ void EnWeiyer_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_80B32384(EnWeiyer* this) {
this->unk_196 = this->actor.shape.rot.y;
this->unk_27C = (cosf(-M_PI / 8) * 3.0f) + this->actor.world.pos.y;
Animation_MorphToLoop(&this->skelAnime, &D_06000FC0, -5.0f);
Animation_MorphToLoop(&this->skelAnime, &gStingerHitAnim, -5.0f);
this->unk_194 = 30;
this->actor.speedXZ = CLAMP_MAX(this->actor.speedXZ, 2.5f);
this->collider.base.atFlags &= ~AT_ON;
@ -134,7 +131,7 @@ void func_80B32384(EnWeiyer* this) {
}
void func_80B32434(EnWeiyer* this) {
Animation_MorphToLoop(&this->skelAnime, &D_06000FC0, -5.0f);
Animation_MorphToLoop(&this->skelAnime, &gStingerHitAnim, -5.0f);
this->collider.base.atFlags |= AT_ON;
this->unk_194 = 0;
this->actor.speedXZ = 5.0f;
@ -142,7 +139,7 @@ void func_80B32434(EnWeiyer* this) {
}
void func_80B32494(EnWeiyer* this) {
Animation_Change(&this->skelAnime, &D_06000288, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f);
Animation_Change(&this->skelAnime, &gStingerPopOutAnim, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f);
this->unk_194 = 40;
this->collider.base.atFlags |= AT_ON;
this->actionFunc = func_80B32D30;
@ -166,7 +163,7 @@ void func_80B32538(EnWeiyer* this) {
}
void func_80B325A0(EnWeiyer* this) {
Animation_Change(&this->skelAnime, &D_06000FC0, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -3.0f);
Animation_Change(&this->skelAnime, &gStingerHitAnim, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -3.0f);
this->unk_194 = 40;
this->collider.base.atFlags &= ~AT_ON;
this->collider.base.acFlags &= ~AC_ON;
@ -179,7 +176,7 @@ void func_80B325A0(EnWeiyer* this) {
}
void func_80B32660(EnWeiyer* this) {
Animation_Change(&this->skelAnime, &D_06000288, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f);
Animation_Change(&this->skelAnime, &gStingerPopOutAnim, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f);
this->unk_194 = 80;
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
@ -192,7 +189,7 @@ void func_80B32660(EnWeiyer* this) {
}
void func_80B32724(EnWeiyer* this) {
Animation_MorphToLoop(&this->skelAnime, &D_06000FC0, -5.0f);
Animation_MorphToLoop(&this->skelAnime, &gStingerHitAnim, -5.0f);
this->unk_194 = 20;
Actor_SetColorFilter(&this->actor, 0x4000, 0xC8, 0, 0x28);
this->collider.base.atFlags &= ~AT_ON;

View file

@ -5,6 +5,7 @@
*/
#include "z_en_yukabyun.h"
#include "objects/object_yukabyun/object_yukabyun.h"
#define FLAGS 0x00000010
@ -56,10 +57,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 16, ICHAIN_STOP),
};
static UNK_PTR D_80B43F64[] = { 0x06000AF0, 0x06000000 };
extern Gfx D_06000A60[];
extern Gfx D_06000970[];
static void* D_80B43F64[] = { gFloorTileEnemyTopTex, gFloorTileEnemyBottomTex };
void EnYukabyun_Init(Actor* thisx, GlobalContext* globalCtx) {
EnYukabyun* this = THIS;
@ -112,7 +110,7 @@ void func_80B43B6C(EnYukabyun* this, GlobalContext* globalCtx) {
void EnYukabyun_Break(EnYukabyun* this, GlobalContext* globalCtx) {
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.world.pos, 8.0f, 0, 1300, 300, 15, OBJECT_YUKABYUN, 10,
D_06000A60);
gFloorTileEnemyFragmentDL);
Actor_Kill(&this->actor);
}
@ -156,7 +154,7 @@ void EnYukabyun_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B43F64[this->unk_152]));
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_yukabyun.c", 373),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06000970);
gSPDisplayList(POLY_OPA_DISP++, gFloorTileEnemyDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_yukabyun.c", 378);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_en_zl1.h"
#include "objects/object_zl1/object_zl1.h"
#define FLAGS 0x00000019
@ -58,22 +59,9 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 46, 0, { 0, 0, 0 } },
};
static u64* D_80B4E61C[] = { 0x06007208, 0x06009848, 0x06009C48, 0x06009848 };
static u64* D_80B4E62C[] = { 0x06007608 };
extern AnimationHeader D_06000438;
extern u64 D_06008848[];
extern u64 D_06008C48[];
extern FlexSkeletonHeader D_0600F5D8;
extern AnimationHeader D_06010B38;
extern AnimationHeader D_06011348;
extern AnimationHeader D_060116E4;
extern AnimationHeader D_06011B88;
extern AnimationHeader D_06012118;
extern AnimationHeader D_060132D8;
extern AnimationHeader D_060138E0;
extern AnimationHeader D_06013F10;
extern AnimationHeader D_060143A8;
static void* D_80B4E61C[] = { gChildZelda1EyeOpenLookingUpRightTex, gChildZelda1EyeHalf2Tex, gChildZelda1EyeClosedTex,
gChildZelda1EyeHalf2Tex };
static void* D_80B4E62C[] = { gChildZelda1MouthNeutralTex };
void func_80B4AB40(void) {
}
@ -85,9 +73,9 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 frameCount;
EnZl1* this = THIS;
frameCount = Animation_GetLastFrame(&D_06012118);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600F5D8, NULL, NULL, NULL, 0);
Animation_Change(&this->skelAnime, &D_06012118, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_12118);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gChildZelda1Skel, NULL, NULL, NULL, 0);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_12118, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@ -96,21 +84,21 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.targetMode = 0;
if (gSaveContext.sceneSetupIndex >= 4) {
frameCount = Animation_GetLastFrame(&D_06000438);
Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
this->unk_1E6 = 0;
this->actionFunc = func_80B4BC78;
} else if (Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) {
Actor_Kill(&this->actor);
} else if ((Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x25)) ||
(Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x37))) {
frameCount = Animation_GetLastFrame(&D_06000438);
Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
this->actor.textId = 0x703D;
this->actionFunc = func_80B4AF18;
} else if (Flags_GetEventChkInf(0x40)) {
frameCount = Animation_GetLastFrame(&D_06000438);
Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
this->actor.textId = 0x703C;
this->actionFunc = func_80B4AF18;
} else {
@ -127,9 +115,9 @@ void EnZl1_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80B4AE18(EnZl1* this) {
if ((this->skelAnime.animation == &D_06010B38) && (this->skelAnime.curFrame < 26.0f)) {
this->unk_1F4 = &D_06008C48;
this->unk_1F8 = &D_06008848;
if ((this->skelAnime.animation == &gChildZelda1Anim_10B38) && (this->skelAnime.curFrame < 26.0f)) {
this->unk_1F4 = &gChildZelda1EyeOpenLookingRightTex;
this->unk_1F8 = &gChildZelda1EyeOpenLookingLeftTex;
this->unk_1FC = 2;
} else {
if (DECR(this->unk_1FC) == 0) {
@ -174,8 +162,8 @@ void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) {
s16 rotDiff;
if (func_8002F194(&this->actor, globalCtx)) {
Animation_Change(&this->skelAnime, &D_06010B38, 1.0f, 0.0f, Animation_GetLastFrame(&D_06010B38),
ANIMMODE_ONCE_INTERP, -10.0f);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_10B38, 1.0f, 0.0f,
Animation_GetLastFrame(&gChildZelda1Anim_10B38), ANIMMODE_ONCE_INTERP, -10.0f);
this->unk_1E8 = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, this->unk_1E8, CAM_STAT_ACTIVE);
@ -228,7 +216,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 64:
animHeaderSeg = &D_06011348;
animHeaderSeg = &gChildZelda1Anim_11348;
sp3C = 1;
this->actor.textId = 0x702E;
func_8010B680(globalCtx, this->actor.textId, NULL);
@ -250,20 +238,20 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
case 2:
if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) {
if (msgCtx->choiceIndex == 0) {
animHeaderSeg = &D_06013F10;
animHeaderSeg = &gChildZelda1Anim_13F10;
sp3C = 2;
this->unk_1E2++;
} else {
animHeaderSeg = &D_060116E4;
animHeaderSeg = &gChildZelda1Anim_116E4;
sp3C = 2;
this->unk_1E2 = 6;
}
}
break;
case 3:
frameCount = Animation_GetLastFrame(&D_06013F10);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_13F10);
if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_060143A8;
animHeaderSeg = &gChildZelda1Anim_143A8;
sp3C = 1;
this->actor.textId = 0x7032;
func_8010B720(globalCtx, this->actor.textId);
@ -273,7 +261,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
case 4:
if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) {
if (msgCtx->choiceIndex == 0) {
animHeaderSeg = &D_060132D8;
animHeaderSeg = &gChildZelda1Anim_132D8;
sp3C = 2;
this->unk_1E2 = 9;
} else {
@ -291,9 +279,9 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 6:
frameCount = Animation_GetLastFrame(&D_060116E4);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_116E4);
if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_06011B88;
animHeaderSeg = &gChildZelda1Anim_12B88;
sp3C = 1;
this->actor.textId = 0x7031;
func_8010B720(globalCtx, this->actor.textId);
@ -310,7 +298,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
case 8:
if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) {
if (msgCtx->choiceIndex == 0) {
animHeaderSeg = &D_060138E0;
animHeaderSeg = &gChildZelda1Anim_138E0;
sp3C = 2;
this->unk_1E2 = 3;
} else {
@ -321,9 +309,9 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 9:
frameCount = Animation_GetLastFrame(&D_060132D8);
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_132D8);
if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_06000438;
animHeaderSeg = &gChildZelda1Anim_00438;
sp3C = 1;
globalCtx->csCtx.segment = D_80B4C5D0;
gSaveContext.cutsceneTrigger = 1;
@ -358,8 +346,16 @@ void func_80B4B874(EnZl1* this, GlobalContext* globalCtx) {
void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
AnimationHeader* spB0[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x06012B04, 0x06012118, 0x06010B38,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
&gChildZelda1Anim_12B04,
&gChildZelda1Anim_12118,
&gChildZelda1Anim_10B38,
};
u8 spA4[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
@ -417,10 +413,10 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
void func_80B4BBC4(EnZl1* this, GlobalContext* globalCtx) {
s32 pad;
f32 frameCount = Animation_GetLastFrame(&D_06000438);
f32 frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438);
Player* player = PLAYER;
Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
func_8002DF54(globalCtx, &this->actor, 1);
func_8002F7DC(&player->actor, NA_SE_VO_LI_SURPRISE_KID);
this->actor.textId = 0x7039;
@ -431,8 +427,16 @@ void func_80B4BBC4(EnZl1* this, GlobalContext* globalCtx) {
void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) {
AnimationHeader* sp90[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x06012B04, 0x06012118, 0x06010B38,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
&gChildZelda1Anim_12B04,
&gChildZelda1Anim_12118,
&gChildZelda1Anim_10B38,
};
u8 sp84[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
@ -446,9 +450,9 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) {
s32 pad;
f32 frameCount;
if (SkelAnime_Update(&this->skelAnime) && (this->skelAnime.animation == &D_06010B38)) {
frameCount = Animation_GetLastFrame(&D_06011348);
Animation_Change(&this->skelAnime, &D_06011348, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, -10.0f);
if (SkelAnime_Update(&this->skelAnime) && (this->skelAnime.animation == &gChildZelda1Anim_10B38)) {
frameCount = Animation_GetLastFrame(&gChildZelda1Anim_11348);
Animation_Change(&this->skelAnime, &gChildZelda1Anim_11348, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, -10.0f);
}
func_80B4B874(this, globalCtx);
npcAction = globalCtx->csCtx.npcActions[0];

View file

@ -6,7 +6,6 @@
#include "z_en_fhg.h"
#include "objects/object_fhg/object_fhg.h"
#include "objects/object_fhg/object_fhg.h"
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
#include "overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.h"
#include "overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h"

View file

@ -5,6 +5,7 @@
*/
#include "z_item_ocarina.h"
#include "scenes/overworld/spot00/spot00_scene.h"
#define FLAGS 0x00000010
@ -35,8 +36,6 @@ const ActorInit Item_Ocarina_InitVars = {
(ActorFunc)ItemOcarina_Draw,
};
extern CutsceneData D_0200F870[]; // song of time cutscene
void ItemOcarina_SetupAction(ItemOcarina* this, ItemOcarinaActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@ -171,7 +170,7 @@ void ItemOcarina_DoNothing(ItemOcarina* this, GlobalContext* globalCtx) {
void ItemOcarina_StartSoTCutscene(ItemOcarina* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(D_0200F870);
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gZeldaSongOfTimeCs);
gSaveContext.cutsceneTrigger = 1;
}
}

View file

@ -5,8 +5,9 @@
*/
#include "z_obj_bean.h"
#include "vt.h"
#include "objects/object_mamenoki/object_mamenoki.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "vt.h"
#define FLAGS 0x00400000
@ -62,12 +63,6 @@ void ObjBean_SetupGrow(ObjBean* this);
void ObjBean_SetupWaitForStepOff(ObjBean* this);
void ObjBean_WaitForStepOff(ObjBean* this, GlobalContext* globalCtx);
extern Gfx D_06000090[];
extern Gfx D_060001B0[];
extern Gfx D_060003F0[];
extern CollisionHeader D_060005DC;
extern Gfx D_06000650[];
#define BEAN_STATE_DRAW_LEAVES (1 << 0)
#define BEAN_STATE_DRAW_SOIL (1 << 1)
#define BEAN_STATE_DRAW_PLANT (1 << 2)
@ -503,7 +498,7 @@ void ObjBean_Init(Actor* thisx, GlobalContext* globalCtx) {
ObjBean_Move(this);
ObjBean_SetupWaitForPlayer(this);
ObjBean_InitDynaPoly(this, globalCtx, &D_060005DC, DPM_UNK3);
ObjBean_InitDynaPoly(this, globalCtx, &gMagicBeanPlatformCol, DPM_UNK3);
this->stateFlags |= BEAN_STATE_DYNAPOLY_SET;
ObjBean_InitCollider(&this->dyna.actor, globalCtx);
this->stateFlags |= BEAN_STATE_COLLIDER_SET;
@ -924,7 +919,7 @@ void ObjBean_DrawSoftSoilSpot(ObjBean* this, GlobalContext* globalCtx) {
MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.home.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
Gfx_DrawDListOpa(globalCtx, D_06000650);
Gfx_DrawDListOpa(globalCtx, gMagicBeanSoftSoilDL);
}
void ObjBean_DrawBeanstalk(ObjBean* this, GlobalContext* globalCtx) {
@ -932,17 +927,17 @@ void ObjBean_DrawBeanstalk(ObjBean* this, GlobalContext* globalCtx) {
MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.1f, this->stalkSizeMultiplier, 0.1f, MTXMODE_APPLY);
Gfx_DrawDListOpa(globalCtx, D_060001B0);
Gfx_DrawDListOpa(globalCtx, gMagicBeanStemDL);
}
void ObjBean_Draw(Actor* thisx, GlobalContext* globalCtx) {
ObjBean* this = THIS;
if (this->stateFlags & BEAN_STATE_DRAW_SOIL) {
Gfx_DrawDListOpa(globalCtx, D_06000090);
Gfx_DrawDListOpa(globalCtx, gMagicBeanSeedlingDL);
}
if (this->stateFlags & BEAN_STATE_DRAW_PLANT) {
Gfx_DrawDListOpa(globalCtx, D_060003F0);
Gfx_DrawDListOpa(globalCtx, gMagicBeanPlatformDL);
}
if (this->stateFlags & BEAN_STATE_DRAW_LEAVES) {
ObjBean_DrawSoftSoilSpot(this, globalCtx);

View file

@ -5,6 +5,7 @@
*/
#include "z_obj_hsblock.h"
#include "objects/object_d_hsblock/object_d_hsblock.h"
#define FLAGS 0x00000000
@ -43,11 +44,11 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 2000, ICHAIN_STOP),
};
CollisionHeader* D_80B940DC[] = { 0x06000730, 0x06000730, 0x06000578 };
static CollisionHeader* sCollisionHeaders[] = { &gHookshotTargetCol, &gHookshotTargetCol, &gHookshotPostCol };
static Color_RGB8 sFireTempleColor = { 165, 125, 55 };
static Gfx* sDLists[] = { 0x06000210, 0x06000210, 0x06000470 };
static Gfx* sDLists[] = { gHookshotPostDL, gHookshotPostDL, gHookshotTargetDL };
void ObjHsblock_SetupAction(ObjHsblock* this, ObjHsblockActionFunc actionFunc) {
this->actionFunc = actionFunc;
@ -78,7 +79,7 @@ void func_80B93BF0(ObjHsblock* this, GlobalContext* globalCtx) {
void ObjHsblock_Init(Actor* thisx, GlobalContext* globalCtx) {
ObjHsblock* this = THIS;
func_80B93B68(this, globalCtx, D_80B940DC[thisx->params & 3], DPM_UNK);
func_80B93B68(this, globalCtx, sCollisionHeaders[thisx->params & 3], DPM_UNK);
Actor_ProcessInitChain(thisx, sInitChain);
func_80B93BF0(this, globalCtx);

View file

@ -5,6 +5,7 @@
*/
#include "z_obj_kibako2.h"
#include "objects/object_kibako2/object_kibako2.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#define FLAGS 0x00000000
@ -18,10 +19,6 @@ void ObjKibako2_Draw(Actor* thisx, GlobalContext* globalCtx);
void ObjKibako2_Idle(ObjKibako2* this, GlobalContext* globalCtx);
void ObjKibako2_Kill(ObjKibako2* this, GlobalContext* globalCtx);
extern Gfx D_06000960[];
extern UNK_TYPE D_06000B70;
extern Gfx D_06001000[];
const ActorInit Obj_Kibako2_InitVars = {
ACTOR_OBJ_KIBAKO2,
ACTORCAT_BG,
@ -103,7 +100,7 @@ void ObjKibako2_Break(ObjKibako2* this, GlobalContext* globalCtx) {
phi_s0 = 0x20;
}
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &pos, -200, phi_s0, 28, 2, 0, (Rand_ZeroOne() * 30.0f) + 5.0f,
0, 0, 70, KAKERA_COLOR_NONE, OBJECT_KIBAKO2, D_06001000);
0, 0, 70, KAKERA_COLOR_NONE, OBJECT_KIBAKO2, gLargeCrateFragmentDL);
}
func_80033480(globalCtx, thisPos, 90.0f, 6, 100, 160, 1);
}
@ -128,7 +125,7 @@ void ObjKibako2_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, 0);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
ObjKibako2_InitCollider(thisx, globalCtx);
CollisionHeader_GetVirtual(&D_06000B70, &colHeader);
CollisionHeader_GetVirtual(&gLargeCrateCol, &colHeader);
bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
this->collectibleFlag = this->dyna.actor.home.rot.z & 0x3F;
this->dyna.bgId = bgId;
@ -180,5 +177,5 @@ void ObjKibako2_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void ObjKibako2_Draw(Actor* thisx, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, D_06000960);
Gfx_DrawDListOpa(globalCtx, gLargeCrateDL);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_obj_lift.h"
#include "objects/object_d_lift/object_d_lift.h"
#define FLAGS 0x00000010
@ -15,9 +16,6 @@ void ObjLift_Destroy(Actor* thisx, GlobalContext* globalCtx);
void ObjLift_Update(Actor* thisx, GlobalContext* globalCtx);
void ObjLift_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06000140;
extern UNK_TYPE D_060003D0;
/*
const ActorInit Obj_Lift_InitVars = {
ACTOR_OBJ_LIFT,

View file

@ -5,6 +5,7 @@
*/
#include "z_obj_timeblock.h"
#include "objects/object_timeblock/object_timeblock.h"
#define FLAGS 0x0A000011
@ -26,9 +27,6 @@ void ObjTimeblock_Normal(ObjTimeblock* this, GlobalContext* globalCtx);
void ObjTimeblock_AltBehaviorVisible(ObjTimeblock* this, GlobalContext* globalCtx);
void ObjTimeblock_AltBehaviourNotVisible(ObjTimeblock* this, GlobalContext* globalCtx);
extern Gfx D_06000980[];
extern CollisionHeader D_06000B30;
const ActorInit Obj_Timeblock_InitVars = {
ACTOR_OBJ_TIMEBLOCK,
ACTORCAT_ITEMACTION,
@ -106,7 +104,7 @@ void ObjTimeblock_Init(Actor* thisx, GlobalContext* globalCtx) {
DynaPolyActor_Init(&this->dyna, DPM_UNK);
this->dyna.actor.world.rot.z = this->dyna.actor.shape.rot.z = 0;
CollisionHeader_GetVirtual(&D_06000B30, &colHeader);
CollisionHeader_GetVirtual(&gSongOfTimeBlockCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
@ -341,7 +339,7 @@ void ObjTimeblock_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_timeblock.c", 766),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, primColor->r, primColor->g, primColor->b, 255);
gSPDisplayList(POLY_OPA_DISP++, D_06000980);
gSPDisplayList(POLY_OPA_DISP++, gSongOfTimeBlockDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_obj_timeblock.c", 772);
}

View file

@ -5,6 +5,7 @@
*/
#include "z_obj_warp2block.h"
#include "objects/object_timeblock/object_timeblock.h"
#include "vt.h"
#define FLAGS 0x0A000011
@ -29,9 +30,6 @@ void func_80BA24F8(ObjWarp2block* this, GlobalContext* globalCtx);
void func_80BA2600(ObjWarp2block* this);
void func_80BA2610(ObjWarp2block* this, GlobalContext* globalCtx);
extern Gfx D_06000980[];
extern CollisionHeader D_06000B30;
const ActorInit Obj_Warp2block_InitVars = {
ACTOR_OBJ_WARP2BLOCK,
ACTORCAT_ITEMACTION,
@ -217,7 +215,7 @@ void ObjWarp2block_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->dyna.actor.draw = NULL;
}
DynaPolyActor_Init(&this->dyna, 0);
CollisionHeader_GetVirtual(&D_06000B30, &collisionHeader);
CollisionHeader_GetVirtual(&gSongOfTimeBlockCol, &collisionHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, collisionHeader);
} else {
ObjWarp2block_SetInactive(this);
@ -316,7 +314,7 @@ void ObjWarp2block_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_warp2block.c", 588),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sp44->r, sp44->g, sp44->b, 255);
gSPDisplayList(POLY_OPA_DISP++, D_06000980);
gSPDisplayList(POLY_OPA_DISP++, gSongOfTimeBlockDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_obj_warp2block.c", 594);
}