mirror of
https://github.com/zeldaret/mm.git
synced 2024-11-23 12:59:44 +00:00
EnPoFusen: OK (#69)
* EnPoFusen: OK EnPoFusen: WIP EnPoFusen: init is matched * EnPoFusen: requested changes * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.h Co-authored-by: Rozelette <Rozelette@users.noreply.github.com> * EnPoFusen: forgot I renamed a function to check diff, changed back * EnPoFusen: Bad search and replace * EnPoFusen: really bad search replace * EnPoFusen: ColliderInit and requested changes * Functions: renamed func_800B8EC8 to Audio_PlayActorSound2 Co-authored-by: isghj8 <isghj8@gmail.com> Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
This commit is contained in:
parent
1a2e6d7ffe
commit
e64d4d8bf2
@ -821,7 +821,7 @@ u32 Actor_HasParent(Actor* actor, GlobalContext* ctxt);
|
||||
// void func_800B8DD4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
// void func_800B8E1C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_800B8E58(void);
|
||||
void func_800B8EC8(Actor* actor, u32 uParm2);
|
||||
void Audio_PlayActorSound2(Actor* actor, u16 sfxId);
|
||||
// void func_800B8EF4(void);
|
||||
void func_800B8F98(Actor* actor, u16 sfxId);
|
||||
// void func_800B8FC0(void);
|
||||
|
@ -5553,9 +5553,9 @@ SECTIONS
|
||||
ovl_En_Po_Fusen : AT(RomLocation)
|
||||
{
|
||||
build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.text)
|
||||
build/asm/overlays/ovl_En_Po_Fusen_data.o(.data)
|
||||
build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.data)
|
||||
build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.rodata)
|
||||
build/asm/overlays/ovl_En_Po_Fusen_rodata.o(.rodata)
|
||||
build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen_overlay.o(.ovl)
|
||||
}
|
||||
SegmentEnd = .;
|
||||
SegmentSize = SegmentEnd - SegmentStart;
|
||||
@ -9342,4 +9342,4 @@ SECTIONS
|
||||
SegmentSize = SegmentEnd - SegmentStart;
|
||||
RomLocation += SegmentSize;
|
||||
_ovl_En_RsnSegmentEnd = SegmentEnd;
|
||||
}
|
||||
}
|
||||
|
@ -94,6 +94,10 @@ D_06007750 = 0x06007750;
|
||||
D_0600A390 = 0x0600A390;
|
||||
D_0600A490 = 0x0600A490;
|
||||
|
||||
/* en_po_fusen */
|
||||
D_06000040 = 0x06000040;
|
||||
D_060024F0 = 0x060024F0;
|
||||
|
||||
/* bg_ikana_shutter */
|
||||
D_06000F28 = 0x06000F28;
|
||||
D_06000CE8 = 0x06000CE8;
|
||||
|
@ -556,7 +556,7 @@ u32 Actor_HasParent(Actor* actor, GlobalContext* ctxt) {
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8E58.asm")
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8EC8.asm")
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Audio_PlayActorSound2.asm")
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8EF4.asm")
|
||||
|
||||
|
@ -76,7 +76,7 @@ void EnDyExtra_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDyExtra* this = THIS;
|
||||
|
||||
DECR(this->unk14C);
|
||||
func_800B8EC8(&this->actor, 0xC4U);
|
||||
Audio_PlayActorSound2(&this->actor, 0xC4U);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
}
|
||||
|
@ -7,7 +7,10 @@ struct EnMa4;
|
||||
|
||||
typedef struct EnMa4 {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x1FC];
|
||||
/* 0x144 */ char unk_144[0x1F4];
|
||||
/* 0x338 */ s16 unk338; // modified by EnPoFusen
|
||||
/* 0x33A */ char unk33A[0x6];
|
||||
|
||||
} EnMa4; // size = 0x340
|
||||
|
||||
extern const ActorInit En_Ma4_InitVars;
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "z_en_po_fusen.h"
|
||||
#include "../ovl_En_Ma4/z_en_ma4.h"
|
||||
|
||||
#define FLAGS 0x80100030
|
||||
|
||||
@ -9,7 +10,14 @@ void EnPoFusen_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnPoFusen_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnPoFusen_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
u16 EnPoFusen_CheckParent(EnPoFusen* this, GlobalContext* globalCtx);
|
||||
void EnPoFusen_InitNoFuse(EnPoFusen* this);
|
||||
void EnPoFusen_InitFuse(EnPoFusen *this);
|
||||
void EnPoFusen_Pop(EnPoFusen *this, GlobalContext *gCtx);
|
||||
void EnPoFusen_Idle(EnPoFusen* this, GlobalContext* gCtx);
|
||||
void EnPoFusen_IdleFuse(EnPoFusen* this, GlobalContext* gCtx);
|
||||
s32 EnPoFusen_OverrideLimbDraw(GlobalContext* gCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, struct Actor* actor);
|
||||
|
||||
const ActorInit En_Po_Fusen_InitVars = {
|
||||
ACTOR_EN_PO_FUSEN,
|
||||
ACTORCAT_PROP,
|
||||
@ -21,34 +29,239 @@ const ActorInit En_Po_Fusen_InitVars = {
|
||||
(ActorFunc)EnPoFusen_Update,
|
||||
(ActorFunc)EnPoFusen_Draw
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/EnPoFusen_Init.asm")
|
||||
static ColliderSphereInit sSphereInit = {
|
||||
{ COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1 | OC2_UNK1, COLSHAPE_SPHERE, },
|
||||
{ ELEMTYPE_UNK0, { 0xF7CFFFFF, 0x00, 0x00 }, { 0xF7CFFFFF, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON, OCELEM_ON, },
|
||||
{ 0, { { 0, 0, 0 }, 200 }, 100 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/EnPoFusen_Destroy.asm")
|
||||
DamageTable EnPoFusenDamageTable = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xF1, 0xF1, 0xF1, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC1450.asm")
|
||||
void EnPoFusen_Init(Actor *thisx, GlobalContext *globalCtx) {
|
||||
EnPoFusen* this = THIS;
|
||||
f32 heightTemp;
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC14A4.asm")
|
||||
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.00700000021607;
|
||||
this->actor.targetMode = 6;
|
||||
this->actor.colChkInfo.damageTable = &EnPoFusenDamageTable;
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC1574.asm")
|
||||
Collider_InitSphere(globalCtx, &this->collider);
|
||||
Collider_SetSphere(globalCtx, &this->collider, &this->actor, &sSphereInit);
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC158C.asm")
|
||||
if (0){}
|
||||
this->collider.dim.worldSphere.radius = 40;
|
||||
SkelAnime_InitSV(globalCtx, &this->anime, &D_060024F0, &D_06000040, &this->limbDrawTbl, &this->transitionDrawTbl, 10);
|
||||
Actor_SetDrawParams(&this->actor.shape, 0.0f, func_800B3FC0, 25.0f);
|
||||
func_800B78B8(globalCtx, this, 0.0f, 0.0f, 0.0f, 4);
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC18EC.asm")
|
||||
if (EnPoFusen_CheckParent(this, globalCtx) == 0) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC192C.asm")
|
||||
heightTemp = this->actor.floorHeight + 90.0f;
|
||||
if (this->actor.home.pos.y < heightTemp) {
|
||||
this->actor.home.pos.y = heightTemp;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC19B0.asm")
|
||||
this->randScaleChange = ((rand() % 0xFFFEU) - 0x7FFF);
|
||||
this->randYRotChange = ((rand() % 0x4B0U) - 0x258);
|
||||
this->avgBaseRotation = 0x1555;
|
||||
this->limb3Rot = 0;
|
||||
this->limb46Rot = 0;
|
||||
this->limb57Rot = 0;
|
||||
this->limb8Rot = 0;
|
||||
this->limb9Rot = 0x71C;
|
||||
this->randBaseRotChange = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC19DC.asm")
|
||||
if (GET_IS_FUSE_TYPE_PARAM(this)) {
|
||||
EnPoFusen_InitFuse(this);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/EnPoFusen_Update.asm")
|
||||
EnPoFusen_InitNoFuse(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC1A68.asm")
|
||||
void EnPoFusen_Destroy(Actor* thisx, GlobalContext *gCtx) {
|
||||
EnPoFusen* this = THIS;
|
||||
Collider_DestroySphere(gCtx, &this->collider);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC1CE8.asm")
|
||||
u16 EnPoFusen_CheckParent(EnPoFusen *this, GlobalContext *globalCtx) {
|
||||
struct Actor *actorPtr;
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/func_80AC1D00.asm")
|
||||
actorPtr = globalCtx->actorCtx.actorList[4].first;
|
||||
if (GET_IS_FUSE_TYPE_PARAM(this)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Fusen_0x80AC1270/EnPoFusen_Draw.asm")
|
||||
if (actorPtr != 0) {
|
||||
do{
|
||||
if (actorPtr->id == ACTOR_EN_MA4) {
|
||||
this->actor.parent = actorPtr;
|
||||
return 1;
|
||||
}
|
||||
actorPtr = actorPtr->next;
|
||||
} while (actorPtr != 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u16 EnPoFusen_CheckCollision(EnPoFusen *this, GlobalContext *gCtx) {
|
||||
if ((u32) this->actionFunc == (u32) EnPoFusen_IdleFuse ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
this->collider.dim.worldSphere.center.x = this->actor.world.pos.x;
|
||||
this->collider.dim.worldSphere.center.y = (this->actor.world.pos.y + 20.0f);
|
||||
this->collider.dim.worldSphere.center.z = this->actor.world.pos.z;
|
||||
|
||||
if (((this->collider.base.acFlags & 2) != 0)
|
||||
&& (this->actor.colChkInfo.damageEffect == 0xF)) {
|
||||
this->collider.base.acFlags &= ~0x2;
|
||||
return 1;
|
||||
}
|
||||
|
||||
CollisionCheck_SetOC(gCtx, &gCtx->colCheckCtx, &this->collider);
|
||||
CollisionCheck_SetAC(gCtx, &gCtx->colCheckCtx, &this->collider);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnPoFusen_InitNoFuse(EnPoFusen *this) {
|
||||
this->actor.shape.rot.z = 0;
|
||||
this->actionFunc = EnPoFusen_Idle;
|
||||
}
|
||||
|
||||
void EnPoFusen_Idle(EnPoFusen *this, GlobalContext *gCtx) {
|
||||
f32 shadowScaleTmp;
|
||||
f32 shadowAlphaTmp;
|
||||
f32 heightOffset;
|
||||
f32 f255 = 255.0f;
|
||||
|
||||
this->actor.world.pos = this->actor.home.pos;
|
||||
this->randScaleChange += 0x190;
|
||||
this->randXZRotChange += 0x5DC;
|
||||
this->randBaseRotChange += 0x9C4;
|
||||
heightOffset = Math_Sins(this->randScaleChange);
|
||||
heightOffset = 50.0f * heightOffset;
|
||||
this->actor.shape.rot.y += this->randYRotChange;
|
||||
this->actor.world.pos.y += heightOffset;
|
||||
this->actor.shape.rot.z = (Math_Sins(this->randBaseRotChange) * 910.0f);
|
||||
|
||||
if ((this->randScaleChange < 0x4000) && (this->randScaleChange >= -0x3FFF)) {
|
||||
Math_SmoothScaleMaxMinS( &this->limb9Rot, 0x38E, 0x14, 0xBB8, 0x64);
|
||||
} else {
|
||||
Math_SmoothScaleMaxMinS( &this->limb9Rot, 0x71C, 0x8, 0xBB8, 0x64);
|
||||
}
|
||||
|
||||
this->avgBaseRotation = this->limb9Rot * 3;
|
||||
this->limb3Rot = (Math_Sins(this->randBaseRotChange + 0x38E3) * this->avgBaseRotation);
|
||||
this->limb46Rot = (Math_Sins(this->randBaseRotChange) * this->avgBaseRotation);
|
||||
this->limb57Rot = (Math_Sins(this->randBaseRotChange - 0x38E3) * this->avgBaseRotation);
|
||||
this->limb8Rot = (Math_Sins(this->randBaseRotChange - 0x71C6) * this->avgBaseRotation);
|
||||
|
||||
shadowScaleTmp = ((1.0f - Math_Sins(this->randScaleChange)) * 10.0f) + 50.0f;
|
||||
shadowAlphaTmp = ((1.0f - Math_Sins(this->randScaleChange)) * 75.0f) + 100.0f;
|
||||
this->actor.shape.shadowScale = shadowScaleTmp;
|
||||
this->actor.shape.shadowAlpha = (shadowAlphaTmp > f255) ? (u8) f255 : (u8) shadowAlphaTmp;
|
||||
}
|
||||
|
||||
void EnPoFusen_IncrementMalonPop(EnPoFusen *this) {
|
||||
Actor* parent = this->actor.parent;
|
||||
EnMa4* romani;
|
||||
|
||||
if ((parent != 0) && (parent->id == ACTOR_EN_MA4)) {
|
||||
romani = (EnMa4*) parent;
|
||||
romani->unk338++;
|
||||
}
|
||||
|
||||
this->actor.draw = NULL;
|
||||
this->actionFunc = EnPoFusen_Pop;
|
||||
}
|
||||
|
||||
void EnPoFusen_Pop(EnPoFusen *this, GlobalContext *gCtx) {
|
||||
Actor_Spawn(&gCtx->actorCtx, gCtx, ACTOR_EN_CLEAR_TAG,
|
||||
this->actor.world.pos.x, this->actor.world.pos.y + 20.0f, this->actor.world.pos.z,
|
||||
255, 255, 200, 2);
|
||||
Audio_PlayActorSound2(&this->actor, 0x180E); // NA_SE_IT_BOMB_EXPLOSION sfx
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
|
||||
void EnPoFusen_InitFuse(EnPoFusen *this) {
|
||||
s16 rotZ = this->actor.shape.rot.z;
|
||||
this->fuse = GET_FUSE_LEN_PARAM(this);
|
||||
this->actor.shape.rot.z = 0;
|
||||
this->randScaleChange = rotZ & 0xFFFFu;
|
||||
this->actionFunc = EnPoFusen_IdleFuse;
|
||||
}
|
||||
|
||||
void EnPoFusen_IdleFuse(EnPoFusen *this, GlobalContext *gCtx) {
|
||||
EnPoFusen_Idle(this, gCtx);
|
||||
if (this->fuse-- == 0) {
|
||||
EnPoFusen_IncrementMalonPop(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnPoFusen_Update(Actor *thisx, GlobalContext *globalCtx) {
|
||||
EnPoFusen* this = THIS;
|
||||
this->actionFunc(this, globalCtx);
|
||||
if (EnPoFusen_CheckCollision(this, globalCtx) != 0) {
|
||||
EnPoFusen_IncrementMalonPop(this);
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnPoFusen_OverrideLimbDraw(GlobalContext *gCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, struct Actor *actor) {
|
||||
EnPoFusen* this = (EnPoFusen*)actor;
|
||||
f32 zScale;
|
||||
f32 yScale;
|
||||
f32 xScale;
|
||||
s16 pad;
|
||||
s16 zRot;
|
||||
s16 pad2;
|
||||
s16 xRot;
|
||||
|
||||
if (limbIndex == 2) {
|
||||
zScale = (Math_Coss(this->randScaleChange) * 0.0799999982119f) + 1.0f;
|
||||
xScale = zScale;
|
||||
if (!zScale) { }
|
||||
yScale = (Math_Sins(this->randScaleChange) * 0.0799999982119f) + 1.0f;
|
||||
yScale = yScale * yScale;
|
||||
xRot = ((Math_Sins(this->randXZRotChange) * 2730.0f));
|
||||
zRot = ((Math_Coss(this->randXZRotChange) * 2730.0f));
|
||||
SysMatrix_InsertRotation(xRot, 0, zRot , 1);
|
||||
SysMatrix_InsertScale(xScale, yScale , zScale, 1);
|
||||
SysMatrix_InsertZRotation_s( -zRot, 1);
|
||||
SysMatrix_InsertXRotation_s( -xRot, 1);
|
||||
} else if (limbIndex == 3) {
|
||||
rot->y += this->limb3Rot;
|
||||
} else if (limbIndex == 6) {
|
||||
rot->y += this->limb46Rot;
|
||||
} else if (limbIndex == 4) {
|
||||
rot->z += this->limb46Rot;
|
||||
} else if ((limbIndex == 5) || (limbIndex == 7)) {
|
||||
rot->z += this->limb57Rot;
|
||||
} else if (limbIndex == 8) {
|
||||
rot->z += this->limb8Rot;
|
||||
} else if (limbIndex == 9) {
|
||||
rot->y += (s16) (this->limb9Rot * Math_Sins(this->randBaseRotChange));
|
||||
rot->z += (s16) (this->limb9Rot * Math_Coss(this->randBaseRotChange));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnPoFusen_PostLimbDraw(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { }
|
||||
|
||||
void EnPoFusen_UnkActorDraw(s32 arg0, s32 arg1, s32 arg2) { }
|
||||
|
||||
void EnPoFusen_Draw(Actor *thisx, GlobalContext *globalCtx) {
|
||||
EnPoFusen* this = THIS;
|
||||
func_8012C28C(globalCtx->state.gfxCtx);
|
||||
func_801343C0(globalCtx, this->anime.skeleton,
|
||||
this->anime.limbDrawTbl, this->anime.dListCount,
|
||||
EnPoFusen_OverrideLimbDraw, EnPoFusen_PostLimbDraw, EnPoFusen_UnkActorDraw, &this->actor);
|
||||
}
|
||||
|
@ -5,11 +5,34 @@
|
||||
|
||||
struct EnPoFusen;
|
||||
|
||||
typedef void (*EnPoFusenActionFunc)(struct EnPoFusen*, GlobalContext*);
|
||||
|
||||
typedef struct EnPoFusen {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x130];
|
||||
/* 0x144 */ SkelAnime anime;
|
||||
/* 0x188 */ EnPoFusenActionFunc actionFunc;
|
||||
/* 0x18C */ ColliderSphere collider;
|
||||
/* 0x1E4 */ Vec3s limbDrawTbl[0xA];
|
||||
/* 0x220 */ Vec3s transitionDrawTbl[0xA];
|
||||
/* 0x25C */ s16 randScaleChange;
|
||||
/* 0x25E */ s16 randXZRotChange;
|
||||
/* 0x260 */ s16 randYRotChange;
|
||||
/* 0x262 */ s16 avgBaseRotation;
|
||||
/* 0x264 */ s16 limb3Rot;
|
||||
/* 0x266 */ s16 limb46Rot;
|
||||
/* 0x268 */ s16 limb57Rot;
|
||||
/* 0x26A */ s16 limb8Rot;
|
||||
/* 0x26C */ s16 limb9Rot;
|
||||
/* 0x26E */ s16 randBaseRotChange;
|
||||
/* 0x270 */ s16 fuse;
|
||||
} EnPoFusen; // size = 0x274
|
||||
|
||||
extern SkeletonHeader D_06000040;
|
||||
extern AnimationHeader D_060024F0;
|
||||
|
||||
extern const ActorInit En_Po_Fusen_InitVars;
|
||||
|
||||
#define GET_FUSE_LEN_PARAM(thisx) ((this)->actor.params & 0x3FF)
|
||||
#define GET_IS_FUSE_TYPE_PARAM(thisx) ((this)->actor.params & 0x8000)
|
||||
|
||||
#endif // Z_EN_PO_FUSEN_H
|
||||
|
@ -810,7 +810,7 @@
|
||||
0x800B8DD4:("func_800B8DD4",),
|
||||
0x800B8E1C:("func_800B8E1C",),
|
||||
0x800B8E58:("func_800B8E58",),
|
||||
0x800B8EC8:("func_800B8EC8",),
|
||||
0x800B8EC8:("Audio_PlayActorSound2",),
|
||||
0x800B8EF4:("func_800B8EF4",),
|
||||
0x800B8F98:("func_800B8F98",),
|
||||
0x800B8FC0:("func_800B8FC0",),
|
||||
|
Loading…
Reference in New Issue
Block a user