mirror of https://github.com/zeldaret/mm.git
EnBsb (Captain Keeta) OK (#1667)
* Match EnBsb * A couple nicer matches * clean up * PR review * hitmark enum * PR Review 2 --------- Co-authored-by: Synray <31429825+Synray@users.noreply.github.com>
This commit is contained in:
parent
cd087d8511
commit
1e4a56fbdf
|
@ -99,13 +99,6 @@ D_06041B30 = 0x06041B30;
|
|||
D_06042330 = 0x06042330;
|
||||
D_06043330 = 0x06043330;
|
||||
|
||||
// ovl_En_Bsb
|
||||
|
||||
D_06000C50 = 0x06000C50;
|
||||
D_06004894 = 0x06004894;
|
||||
D_060086BC = 0x060086BC;
|
||||
D_0600C3E0 = 0x0600C3E0;
|
||||
|
||||
// segment 0x07
|
||||
|
||||
// segment 0x08
|
||||
|
|
3
spec
3
spec
|
@ -4736,8 +4736,7 @@ beginseg
|
|||
name "ovl_En_Bsb"
|
||||
compress
|
||||
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bsb/z_en_bsb.o"
|
||||
include "$(BUILD_DIR)/data/ovl_En_Bsb/ovl_En_Bsb.data.o"
|
||||
include "$(BUILD_DIR)/data/ovl_En_Bsb/ovl_En_Bsb.reloc.o"
|
||||
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bsb/ovl_En_Bsb_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,18 +2,118 @@
|
|||
#define Z_EN_BSB_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_bsb/object_bsb.h"
|
||||
|
||||
struct EnBsb;
|
||||
|
||||
typedef void (*EnBsbActionFunc)(struct EnBsb*, PlayState*);
|
||||
|
||||
#define ENBSB_GET_PARAMS_8000(thisx) (((thisx)->params) & 0x8000)
|
||||
|
||||
#define ENBSB_GET_SWITCH_FLAG1(thisx) (((thisx)->params) & 0x7F)
|
||||
#define ENBSB_GET_SWITCH_FLAG2(thisx) (((thisx)->world.rot.z) & 0x7F)
|
||||
#define ENBSB_GET_PATH_INDEX(thisx) ((((thisx)->params) >> 7) & 0x1F)
|
||||
|
||||
#define ENBSB_PATH_INDEX_NONE 0x1F
|
||||
|
||||
#define ENBSB_PARAMS(switchFlag1, pathIndex) (((switchFlag1) & 0x7F) | (((pathIndex) & 0x1F) << 7))
|
||||
|
||||
#define ENBSB_GET_LIMB_INDEX(thisx) (((thisx)->params) & 0xFF)
|
||||
|
||||
#define ENBSB_PARAMS2(limbIndex) ((limbIndex) + 0x8000)
|
||||
|
||||
|
||||
typedef enum EnBsbBodyPart {
|
||||
/* 0 */ ENBSB_BODYPART_0,
|
||||
/* 1 */ ENBSB_BODYPART_1,
|
||||
/* 2 */ ENBSB_BODYPART_2,
|
||||
/* 3 */ ENBSB_BODYPART_3,
|
||||
/* 4 */ ENBSB_BODYPART_4,
|
||||
/* 5 */ ENBSB_BODYPART_5,
|
||||
/* 6 */ ENBSB_BODYPART_6,
|
||||
/* 7 */ ENBSB_BODYPART_7,
|
||||
/* 8 */ ENBSB_BODYPART_9,
|
||||
/* 9 */ ENBSB_BODYPART_8,
|
||||
/* 10 */ ENBSB_BODYPART_10,
|
||||
/* 11 */ ENBSB_BODYPART_11,
|
||||
/* 12 */ ENBSB_BODYPART_12,
|
||||
/* 13 */ ENBSB_BODYPART_13,
|
||||
/* 14 */ ENBSB_BODYPART_14,
|
||||
/* 15 */ ENBSB_BODYPART_15,
|
||||
/* 16 */ ENBSB_BODYPART_16,
|
||||
/* 17 */ ENBSB_BODYPART_MAX
|
||||
} EnBsbBodyPart;
|
||||
|
||||
typedef struct EnBsbEffect {
|
||||
/* 0x00 */ u8 isEnabled;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ Vec3s rot;
|
||||
/* 0x30 */ f32 scale;
|
||||
/* 0x34 */ s16 life;
|
||||
} EnBsbEffect; // size = 0x38
|
||||
|
||||
#define ENBSB_EFFECT_COUNT 50
|
||||
|
||||
typedef struct EnBsb {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0x140];
|
||||
/* 0x0144 */ SkelAnime skelAnime;
|
||||
/* 0x0188 */ Vec3s jointTable[OBJECT_BSB_LIMB_MAX];
|
||||
/* 0x0206 */ Vec3s morphTable[OBJECT_BSB_LIMB_MAX];
|
||||
/* 0x0284 */ EnBsbActionFunc actionFunc;
|
||||
/* 0x0288 */ char unk_288[0x54];
|
||||
/* 0x02DC */ s32 unk2DC;
|
||||
/* 0x02E0 */ char unk2E0[0xE78];
|
||||
/* 0x0288 */ Path* path;
|
||||
/* 0x028C */ s32 waypoint;
|
||||
/* 0x0290 */ u8 playedSfx;
|
||||
/* 0x0292 */ s16 unk_0292;
|
||||
/* 0x0294 */ s16 unk_0294;
|
||||
/* 0x0296 */ s16 cueId;
|
||||
/* 0x0298 */ Vec3f unk_0298;
|
||||
/* 0x02A4 */ s32 unk_02A4;
|
||||
/* 0x02A8 */ s32 unk_02A8;
|
||||
/* 0x02AC */ s16 unk_02AC;
|
||||
/* 0x02AE */ u8 unk_02AE;
|
||||
/* 0x02AF */ u8 unk_02AF;
|
||||
/* 0x02B0 */ s32 unk_02B0;
|
||||
/* 0x02B4 */ s16 unk_02B4;
|
||||
/* 0x02B6 */ s16 pathIndex;
|
||||
/* 0x02B8 */ s16 switchFlag1;
|
||||
/* 0x02BA */ s16 switchFlag2;
|
||||
/* 0x02BC */ s16 unk_02BC;
|
||||
/* 0x02C0 */ f32 unk_02C0;
|
||||
/* 0x02C4 */ f32 animEndFrame;
|
||||
/* 0x02C8 */ UNK_TYPE1 unk_02C8[0x2];
|
||||
/* 0x02CA */ s16 alpha;
|
||||
/* 0x02CC */ s16 csIdList[5];
|
||||
/* 0x02D8 */ s32 animIndex;
|
||||
/* 0x02DC */ s32 unk_02DC;
|
||||
/* 0x02E0 */ Vec3f unk_02E0;
|
||||
/* 0x02EC */ Vec3f unk_02EC;
|
||||
/* 0x02F8 */ Vec3f unk_02F8;
|
||||
/* 0x0304 */ Vec3f unk_0304;
|
||||
/* 0x0310 */ Vec3s unk_0310;
|
||||
/* 0x0316 */ Vec3s unk_0316;
|
||||
/* 0x031C */ Vec3s unk_031C;
|
||||
/* 0x0322 */ s16 drawDmgEffTimer;
|
||||
/* 0x0324 */ s16 drawDmgEffType;
|
||||
/* 0x0328 */ f32 drawDmgEffScale;
|
||||
/* 0x032C */ f32 drawDmgEffFrozenSteamScale;
|
||||
/* 0x0330 */ Vec3f bodyPartsPos[ENBSB_BODYPART_MAX];
|
||||
/* 0x03FC */ s32 unk_03FC[ENBSB_BODYPART_MAX];
|
||||
/* 0x0440 */ s16 bodyPartIndex;
|
||||
/* 0x0444 */ EnBsbEffect effects[ENBSB_EFFECT_COUNT];
|
||||
/* 0x0F34 */ ColliderJntSph collider;
|
||||
/* 0x0F54 */ ColliderJntSphElement colliderElements[7];
|
||||
/* 0x1114 */ UNK_TYPE1 unk_1114[0x4];
|
||||
/* 0x1118 */ s16 unk_1118;
|
||||
/* 0x111A */ s16 subCamId;
|
||||
/* 0x111C */ s16 unk_111C;
|
||||
/* 0x1120 */ f32 subCamFov;
|
||||
/* 0x1124 */ f32 subCamFovNext;
|
||||
/* 0x1128 */ Vec3f subCamEye;
|
||||
/* 0x1134 */ Vec3f subCamAt;
|
||||
/* 0x1140 */ Vec3f subCamEyeNext;
|
||||
/* 0x114C */ Vec3f subCamAtNext;
|
||||
} EnBsb; // size = 0x1158
|
||||
|
||||
#endif // Z_EN_BSB_H
|
||||
|
|
|
@ -99,13 +99,13 @@ void func_809C4078(EnEncount4* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if ((this->unk_148 != 0) || (this->actor.xzDistToPlayer < 240.0f)) {
|
||||
if ((this->unk_148 == 0) && (captainKeeta->unk2DC != 0)) {
|
||||
if ((this->unk_148 == 0) && captainKeeta->unk_02DC) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
fireWallParams = BGFIREWALL_PARAM_0;
|
||||
if ((this->unk_148 == 0) || (captainKeeta->unk2DC != 0)) {
|
||||
if ((this->unk_148 == 0) || captainKeeta->unk_02DC) {
|
||||
i = 0;
|
||||
if (this->unk_148 != 0) {
|
||||
fireWallParams = BGFIREWALL_PARAM_1;
|
||||
|
|
|
@ -16680,7 +16680,7 @@
|
|||
0x80C0AE5C:("func_80C0AE5C",),
|
||||
0x80C0AF18:("BgIkninSusceil_Update",),
|
||||
0x80C0B080:("BgIkninSusceil_Draw",),
|
||||
0x80C0B290:("func_80C0B290",),
|
||||
0x80C0B290:("EnBsb_ChangeAnim",),
|
||||
0x80C0B31C:("func_80C0B31C",),
|
||||
0x80C0B62C:("EnBsb_Init",),
|
||||
0x80C0B820:("EnBsb_Destroy",),
|
||||
|
@ -16729,13 +16729,13 @@
|
|||
0x80C0E618:("func_80C0E618",),
|
||||
0x80C0E9CC:("func_80C0E9CC",),
|
||||
0x80C0EB8C:("EnBsb_Update",),
|
||||
0x80C0EEA0:("func_80C0EEA0",),
|
||||
0x80C0F078:("func_80C0F078",),
|
||||
0x80C0F170:("func_80C0F170",),
|
||||
0x80C0EEA0:("EnBsb_OverrideLimbDrawOpa",),
|
||||
0x80C0F078:("EnBsb_OverrideLimbDrawXlu",),
|
||||
0x80C0F170:("EnBsb_PostLimbDrawOpa",),
|
||||
0x80C0F308:("EnBsb_Draw",),
|
||||
0x80C0F544:("func_80C0F544",),
|
||||
0x80C0F640:("func_80C0F640",),
|
||||
0x80C0F758:("func_80C0F758",),
|
||||
0x80C0F544:("EnBsb_InitializeEffect",),
|
||||
0x80C0F640:("EnBsb_UpdateEffects",),
|
||||
0x80C0F758:("EnBsb_DrawEffects",),
|
||||
0x80C0FFD0:("EnRecepgirl_Init",),
|
||||
0x80C100CC:("EnRecepgirl_Destroy",),
|
||||
0x80C100DC:("EnRecepgirl_UpdateEyes",),
|
||||
|
|
|
@ -16108,8 +16108,8 @@
|
|||
0x80C0F9D0:("D_80C0F9D0","UNK_TYPE1","",0x1),
|
||||
0x80C0F9E0:("D_80C0F9E0","UNK_TYPE1","",0x1),
|
||||
0x80C0FA00:("En_Bsb_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80C0FA20:("D_80C0FA20","UNK_TYPE1","",0x1),
|
||||
0x80C0FA84:("D_80C0FA84","UNK_TYPE1","",0x1),
|
||||
0x80C0FA20:("sAnimations","UNK_TYPE1","",0x1),
|
||||
0x80C0FA84:("sAnimationModes","UNK_TYPE1","",0x1),
|
||||
0x80C0FAA0:("D_80C0FAA0","UNK_TYPE4","",0x4),
|
||||
0x80C0FAAC:("D_80C0FAAC","UNK_TYPE4","",0x4),
|
||||
0x80C0FAB8:("D_80C0FAB8","UNK_TYPE4","",0x4),
|
||||
|
|
Loading…
Reference in New Issue