Move const data into playerItemGustBig

This commit is contained in:
Tal Hayon 2022-04-13 22:34:33 +03:00
parent 875fd3e024
commit a78e5f4ca9
4 changed files with 29 additions and 67 deletions

View File

@ -3566,31 +3566,6 @@
"start": 736544,
"size": 176
},
{
"path": "playerItemGustBig/gUnk_080B3DE0.bin",
"start": 736736,
"size": 8
},
{
"path": "playerItemGustBig/gUnk_080B3DF4.bin",
"start": 736756,
"size": 36
},
{
"path": "playerItemGustBig/gUnk_080B3E18.bin",
"start": 736792,
"size": 8
},
{
"path": "playerItemGustBig/gUnk_080B3E20.bin",
"start": 736800,
"size": 8
},
{
"path": "playerItemGustBig/gUnk_080B3E28.bin",
"start": 736808,
"size": 8
},
{
"path": "data_080B3E70/gUnk_080B3E80.bin",
"start": 736896,

View File

@ -1,32 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_080B3DD0:: @ 080B3DD0
.4byte sub_08018CBC
.4byte sub_08018DE8
.4byte sub_08018E68
.4byte sub_08018F6C
gUnk_080B3DE0:: @ 080B3DE0
.incbin "playerItemGustBig/gUnk_080B3DE0.bin"
gUnk_080B3DE8:: @ 080B3DE8
.4byte gUnk_080B3E18
.4byte gUnk_080B3E20
.4byte gUnk_080B3E28
gUnk_080B3DF4:: @ 080B3DF4
.incbin "playerItemGustBig/gUnk_080B3DF4.bin"
gUnk_080B3E18:: @ 080B3E18
.incbin "playerItemGustBig/gUnk_080B3E18.bin"
gUnk_080B3E20:: @ 080B3E20
.incbin "playerItemGustBig/gUnk_080B3E20.bin"
gUnk_080B3E28:: @ 080B3E28
.incbin "playerItemGustBig/gUnk_080B3E28.bin"

View File

@ -892,7 +892,7 @@ SECTIONS {
src/npc.o(.rodata);
src/collision.o(.rodata);
data/data_080B3740.o(.rodata);
data/const/playerItem/playerItemGustBig.o(.rodata);
src/playerItem/playerItemGustBig.o(.rodata);
src/playerItem/playerItemBow.o(.rodata);
data/data_080B3E70.o(.rodata);
src/playerItem/playerItemSwordBeam.o(.rodata);

View File

@ -7,20 +7,22 @@
extern void sub_08078CD0(Entity*);
extern void sub_08018FA0(Entity*);
extern void sub_08018CBC(Entity*);
extern void sub_08018DE8(Entity*);
extern void sub_08018E68(Entity*);
extern void sub_08018F6C(Entity*);
extern void (*const gUnk_080B3DD0[])(Entity*);
extern Hitbox gUnk_080B3E18;
extern u8 gUnk_080B3DE0[];
extern Hitbox* gUnk_080B3DE8[];
extern u32 sub_08007DD6(u32, const u16*);
extern const u16 gUnk_080B3DF4[];
extern const u8 gUnk_08003E44[];
void PlayerItemGustBig(Entity* this) {
static void (*const gUnk_080B3DD0[])(Entity*) = {
sub_08018CBC,
sub_08018DE8,
sub_08018E68,
sub_08018F6C,
};
if (this->health) {
this->iframes = 0;
gUnk_080B3DD0[this->action](this);
@ -29,6 +31,23 @@ void PlayerItemGustBig(Entity* this) {
}
}
static const u8 gUnk_080B3DE0[] = { 0x10, 0x2, 0x20, 0x3, 0x40, 0x6, 0, 0 };
static const Hitbox gUnk_080B3E18;
static const Hitbox gUnk_080B3E20;
static const Hitbox gUnk_080B3E28;
static const Hitbox* const gUnk_080B3DE8[] = {
&gUnk_080B3E18,
&gUnk_080B3E20,
&gUnk_080B3E28,
};
static const u16 gUnk_080B3DF4[] = {
0x75, 0x1, 0x76, 0x1, 0x3ac, 0x1, 0x4050, 0x1, 0x377, 0x1, 0x378, 0x1, 0x71, 0x1, 0x72, 0x1, 0, 0,
};
static const Hitbox gUnk_080B3E18 = { 0, 0, { 6, 3, 3, 6 }, 6, 6 };
static const Hitbox gUnk_080B3E20 = { 0, 0, { 6, 3, 3, 6 }, 8, 8 };
static const Hitbox gUnk_080B3E28 = { 0, 0, { 6, 3, 3, 6 }, 12, 12 };
void sub_08018CBC(Entity* this) {
u32 PVar1;
u8 uVar2;
@ -49,7 +68,7 @@ void sub_08018CBC(Entity* this) {
this->timer = 0x56;
this->hurtType = 0x1c;
this->damage = 6;
this->hitbox = &gUnk_080B3E18;
this->hitbox = (Hitbox*)&gUnk_080B3E18;
this->child->spriteOffsetX = 0;
this->child->spriteSettings.draw = 0;
} else {
@ -65,7 +84,7 @@ void sub_08018CBC(Entity* this) {
this->timer = gUnk_080B3DE0[this->type * 2];
this->damage = gUnk_080B3DE0[this->type * 2 + 1];
this->hurtType = 0x1b;
this->hitbox = gUnk_080B3DE8[this->type];
this->hitbox = (Hitbox*)gUnk_080B3DE8[this->type];
(u32*)gPlayerEntity.field_0x70.WORD = this;
sub_08078CD0(&gPlayerEntity);
(u32*)gPlayerEntity.field_0x70.WORD = pEVar3;