En_Bombers (#684)

* En_Bombers

* No need for this >:

* Override

* PR
This commit is contained in:
Maide
2022-03-24 23:21:14 -03:00
committed by GitHub
parent 984a5061c2
commit 9a54ec9e0b
8 changed files with 533 additions and 40 deletions
+6
View File
@@ -0,0 +1,6 @@
<Root>
<File Name="ovl_En_Bombers" BaseAddress="0x80C03530" RangeStart="0x12C8" RangeEnd="0x12E8">
<DList Name="ovl_En_Bombers_DL_12C8" Offset="0x12C8" />
<DList Name="ovl_En_Bombers_DL_12D8" Offset="0x12D8" />
</File>
</Root>
+1 -2
View File
@@ -5014,8 +5014,7 @@ beginseg
name "ovl_En_Bombers"
compress
include "build/src/overlays/actors/ovl_En_Bombers/z_en_bombers.o"
include "build/data/ovl_En_Bombers/ovl_En_Bombers.data.o"
include "build/data/ovl_En_Bombers/ovl_En_Bombers.reloc.o"
include "build/src/overlays/actors/ovl_En_Bombers/ovl_En_Bombers_reloc.o"
endseg
beginseg
@@ -43,7 +43,7 @@ typedef struct EnBomBowlMan {
/* 0x02C2 */ s16 unk_2C2;
/* 0x02C4 */ f32 unk_2C4;
/* 0x02C8 */ f32 unk_2C8;
/* 0x02CC */ UNK_TYPE1 unk2CC[4];
/* 0x02CC */ s16 unk_2CC[2];
/* 0x02D0 */ s16 unk_2D0;
/* 0x02D2 */ s16 unk_2D2;
/* 0x02D4 */ s16 unk_2D4;
File diff suppressed because it is too large Load Diff
@@ -7,11 +7,47 @@ struct EnBombers;
typedef void (*EnBombersActionFunc)(struct EnBombers*, GlobalContext*);
#define ENBOMBERS_GET_F(thisx) ((thisx)->params & 0xF)
#define ENBOMBERS_GET_F0(thisx) (((thisx)->params >> 4) & 0xF)
enum {
/* 0 */ ENBOMBERS_F_0,
/* 1 */ ENBOMBERS_F_1,
/* 2 */ ENBOMBERS_F_2,
/* 3 */ ENBOMBERS_F_3,
/* 4 */ ENBOMBERS_F_4,
};
#define ENBOMBERS_F0_0 0
typedef struct EnBombers {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x140];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ Vec3s jointTable[21];
/* 0x0206 */ Vec3s morphtable[21];
/* 0x0284 */ EnBombersActionFunc actionFunc;
/* 0x0288 */ char unk_288[0x8C];
/* 0x0288 */ s16 unk_288;
/* 0x028A */ s16 unk_28A;
/* 0x028C */ UNK_TYPE1 unk28C[2];
/* 0x028E */ s16 unk_28E;
/* 0x0290 */ s16 unk_290;
/* 0x0294 */ Vec3f unk_294;
/* 0x02A0 */ s16 unk_2A0;
/* 0x02A2 */ UNK_TYPE1 unk2A2[2];
/* 0x02A4 */ s16 unk_2A4;
/* 0x02A6 */ s16 unk_2A6;
/* 0x02A8 */ s16 unk_2A8;
/* 0x02AA */ s16 unk_2AA;
/* 0x02AC */ s16 unk_2AC;
/* 0x02B0 */ f32 unk_2B0;
/* 0x02B4 */ f32 unk_2B4;
/* 0x02B8 */ s16 unk_2B8;
/* 0x02BA */ s16 unk_2BA;
/* 0x02BC */ s16 unk_2BC;
/* 0x02BE */ s16 unk_2BE;
/* 0x02C0 */ s16 unk_2C0;
/* 0x02C4 */ s32 unk_2C4;
/* 0x02C8 */ ColliderCylinder collider;
} EnBombers; // size = 0x314
extern const ActorInit En_Bombers_InitVars;
@@ -905,12 +905,15 @@ void func_80C00284(EnBomjima* this, GlobalContext* globalCtx) {
this->unk_2BC &= 1;
}
if ((player->transformation != PLAYER_FORM_GORON) && (player->transformation != PLAYER_FORM_ZORA)) {
if (player->transformation == PLAYER_FORM_HUMAN) {
this->unk_28E = -4000;
}
} else {
this->unk_28E = -6000;
switch (player->transformation) {
case PLAYER_FORM_HUMAN:
this->unk_28E = -0xFA0;
break;
case PLAYER_FORM_GORON:
case PLAYER_FORM_ZORA:
this->unk_28E = -0x1770;
break;
}
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
+1 -1
View File
@@ -16530,7 +16530,7 @@
0x80C04354:("func_80C04354",),
0x80C043C8:("func_80C043C8",),
0x80C0443C:("EnBombers_Update",),
0x80C045B4:("func_80C045B4",),
0x80C045B4:("EnBombers_OverrideLimbDraw",),
0x80C04614:("EnBombers_Draw",),
0x80C04930:("EnBombers2_Init",),
0x80C04A80:("EnBombers2_Destroy",),
-5
View File
@@ -1130,11 +1130,6 @@ D_06002390 = 0x06002390;
D_06000A00 = 0x06000A00;
D_06000D78 = 0x06000D78;
// ovl_En_Bombers
D_060064B8 = 0x060064B8;
D_0600F82C = 0x0600F82C;
// ovl_En_Bombers2
D_060064B8 = 0x060064B8;