En_Syateki_Man (#269)

* En_Syateki_Man

* a
This commit is contained in:
Maide 2021-09-25 17:22:51 +01:00 committed by GitHub
parent 456cf789ac
commit 039fc4623e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 1288 additions and 59 deletions

View File

@ -2178,7 +2178,7 @@ void func_80115A14(s32 arg0, s16 arg1);
// void func_80118BA4(void);
// void func_80119030(void);
// void func_80119610(void);
// void func_8011B4E0(void);
void func_8011B4E0(GlobalContext* globalCtx, s32 arg1);
// void func_8011B5C0(void);
// void func_8011B9E0(void);
// void func_8011BF70(void);
@ -2238,7 +2238,7 @@ void func_80123D50(GlobalContext* globalCtx, Player* player, UNK_TYPE arg2, UNK_
void func_80123DA4(Player* player);
// void func_80123DC0(void);
void func_80123E90(GlobalContext* globalCtx, Actor* actor);
// void func_80123F2C(void);
void func_80123F2C(GlobalContext* globalCtx, s32 arg1);
// void func_80123F48(void);
// void func_80124020(void);
u8 Player_GetMask(GlobalContext* globalCtx);
@ -3911,8 +3911,8 @@ void func_801A246C(u8 param_1, u8 param_2);
// void func_801A27E8(void);
// void func_801A281C(void);
void func_801A29D4(UNK_TYPE arg0, f32 arg1, UNK_TYPE arg2);
// void func_801A2BB8(void);
// void func_801A2C20(void);
void func_801A2BB8(s32 arg0);
void func_801A2C20(void);
// void func_801A2C44(void);
// void func_801A2C88(void);
// void func_801A2D54(void);

View File

@ -1559,7 +1559,7 @@ struct GlobalContext {
/* 0x18784 */ s32 (*damagePlayer)(struct GlobalContext* globalCtx, s32 damage);
/* 0x18788 */ void (*talkWithPlayer)(struct GlobalContext* globalCtx, Actor* actor);
/* 0x1878C */ void (*unk_1878C)(struct GlobalContext* globalCtx);
/* 0x18790 */ void* unk_18790; //! @TODO: Determine function prototype
/* 0x18790 */ void (*unk_18790)(struct GlobalContext* globalCtx, s16 arg1, Actor* actor);
/* 0x18794 */ void* unk_18794; //! @TODO: Determine function prototype
/* 0x18798 */ s32 (*setPlayerTalkAnim)(struct GlobalContext* globalCtx, void* talkAnim, s32 arg2);
/* 0x1879C */ s16 unk_1879C[10];

View File

@ -89,9 +89,13 @@ typedef enum {
/* 0x1B */ GI_BOMB_BAG_20,
/* 0x1C */ GI_BOMB_BAG_30,
/* 0x1D */ GI_BOMB_BAG_40,
/* 0x1E */ GI_ARROWS_SMALL,
/* 0x1F */ GI_ARROWS_MEDIUM,
/* 0x20 */ GI_ARROWS_LARGE,
/* 0x1E */ GI_ARROWS_10,
/* 0x1F */ GI_ARROWS_30,
/* 0x20 */ GI_ARROWS_40,
/* 0x21 */ GI_ARROWS_50,
/* 0x22 */ GI_QUIVER_30,
/* 0x23 */ GI_QUIVER_40,
/* 0x24 */ GI_QUIVER_50,
/* 0x28 */ GI_NUTS_1 = 0x28,
/* 0x2A */ GI_NUTS_10 = 0x2A,
/* 0x32 */ GI_SHIELD_HERO = 0x32,

3
spec
View File

@ -2487,8 +2487,7 @@ beginseg
name "ovl_En_Syateki_Man"
compress
include "build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o"
include "build/data/ovl_En_Syateki_Man/ovl_En_Syateki_Man.data.o"
include "build/data/ovl_En_Syateki_Man/ovl_En_Syateki_Man.reloc.o"
include "build/src/overlays/actors/ovl_En_Syateki_Man/ovl_En_Syateki_Man_reloc.o"
endseg
beginseg

View File

@ -72,7 +72,7 @@ static ShopItemEntry sShopItemEntries[] = {
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_BOTTLE_04, GID_FAIRY, func_800B8050, 1, 0X06B6, 0X06B7, GI_FAIRY, EnGirlA_CanBuyFairy,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_800B8050, 50, 0X06BA, 0X06BB, GI_ARROWS_LARGE, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_800B8050, 50, 0X06BA, 0X06BB, GI_ARROWS_40, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_LIQUID, GID_POTION_GREEN, func_800B8050, 1, 0X06B2, 0X06B3, GI_POTION_GREEN, EnGirlA_CanBuyPotionGreen,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
@ -80,7 +80,7 @@ static ShopItemEntry sShopItemEntries[] = {
EnGirlA_BuyShieldHero, EnGirlA_BuyFanfare },
{ OBJECT_GI_STICK, GID_STICK, NULL, 1, 0X06B4, 0X06B5, GI_STICKS_1, EnGirlA_CanBuyStick, EnGirlA_BuyStick,
EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_800B8050, 30, 0X06B8, 0X06B9, GI_ARROWS_MEDIUM, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_800B8050, 30, 0X06B8, 0X06B9, GI_ARROWS_30, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_NUTS, GID_NUTS, func_800B8118, 10, 0X06B0, 0X06B1, GI_NUTS_10, EnGirlA_CanBuyNuts, EnGirlA_BuyNuts,
EnGirlA_BuyFanfare },
@ -88,9 +88,9 @@ static ShopItemEntry sShopItemEntries[] = {
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_BOTTLE_04, GID_FAIRY, func_800B8050, 1, 0X06D3, 0X06D4, GI_FAIRY, EnGirlA_CanBuyFairy,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_800B8050, 30, 0X06D5, 0X06D6, GI_ARROWS_MEDIUM, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_800B8050, 30, 0X06D5, 0X06D6, GI_ARROWS_30, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_800B8050, 50, 0X06D7, 0X06D8, GI_ARROWS_LARGE, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_800B8050, 50, 0X06D7, 0X06D8, GI_ARROWS_40, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_LIQUID, GID_POTION_GREEN, func_800B8050, 1, 0X06CF, 0X06D0, GI_POTION_GREEN, EnGirlA_CanBuyPotionGreen,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
@ -120,19 +120,19 @@ static ShopItemEntry sShopItemEntries[] = {
EnGirlA_BuyFanfare },
{ OBJECT_GI_SHIELD_2, GID_SHIELD_HERO, func_800B8050, 1, 0X12DB, 0X12DC, GI_SHIELD_HERO, EnGirlA_CanBuyShieldHero,
EnGirlA_BuyShieldHero, EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X12DD, 0X12DE, GI_ARROWS_SMALL, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X12DD, 0X12DE, GI_ARROWS_10, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_LIQUID, GID_POTION_RED, func_800B8050, 1, 0X12DF, 0X12E0, GI_POTION_RED, EnGirlA_CanBuyPotionRed,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_BOMB_1, GID_BOMB, func_800B8050, 10, 0X0BC5, 0X0BC6, GI_BOMBS_10, EnGirlA_CanBuyBombs, EnGirlA_BuyBombs,
EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X0BC7, 0X0BC8, GI_ARROWS_SMALL, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X0BC7, 0X0BC8, GI_ARROWS_10, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_LIQUID, GID_POTION_RED, func_800B8050, 1, 0X0BC9, 0X0BCA, GI_POTION_RED, EnGirlA_CanBuyPotionRed,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },
{ OBJECT_GI_BOMB_1, GID_BOMB, func_800B8050, 10, 0X0BCB, 0X0BCC, GI_BOMBS_10, EnGirlA_CanBuyBombs, EnGirlA_BuyBombs,
EnGirlA_BuyFanfare },
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X0BCD, 0X0BCE, GI_ARROWS_SMALL, EnGirlA_CanBuyArrows,
{ OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_800B8050, 10, 0X0BCD, 0X0BCE, GI_ARROWS_10, EnGirlA_CanBuyArrows,
EnGirlA_BuyArrows, EnGirlA_BuyFanfare },
{ OBJECT_GI_LIQUID, GID_POTION_RED, func_800B8050, 1, 0X0BCF, 0X0BD0, GI_POTION_RED, EnGirlA_CanBuyPotionRed,
EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare },

File diff suppressed because it is too large Load Diff

View File

@ -7,11 +7,44 @@ struct EnSyatekiMan;
typedef void (*EnSyatekiManActionFunc)(struct EnSyatekiMan*, GlobalContext*);
#define ENSYATEKIMAN_GET_FF00(thisx) (((thisx)->params & 0xFF00) >> 8)
typedef struct {
/* 0x00 */ s16 index;
/* 0x04 */ f32 x;
/* 0x08 */ f32 y;
/* 0x0C */ f32 z;
/* 0x10 */ s32 variable;
} EnSyatekiManUnkStruct;
typedef struct EnSyatekiMan {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x44];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ EnSyatekiManActionFunc actionFunc;
/* 0x018C */ char unk_18C[0xFC];
/* 0x018C */ Path* path;
/* 0x0190 */ s32 unk_190;
/* 0x0194 */ s32 unk_194;
/* 0x0198 */ Vec3s jointTable[16];
/* 0x01F8 */ Vec3s morphTable[16];
/* 0x0258 */ Vec3s unk_258;
/* 0x025E */ Vec3s unk_25E;
/* 0x0264 */ s16 unk_264;
/* 0x0266 */ s16 unk_266;
/* 0x0268 */ UNK_TYPE1 unk268[0x2];
/* 0x026A */ s16 unk_26A;
/* 0x026C */ s16 unk_26C;
/* 0x026E */ s16 unk_26E;
/* 0x0270 */ s16 unk_270;
/* 0x0272 */ s16 unk_272;
/* 0x0274 */ s16 unk_274;
/* 0x0276 */ s16 unk_276;
/* 0x0278 */ s16 unk_278;
/* 0x027A */ s16 unk_27A;
/* 0x027C */ s16 unk_27C;
/* 0x027E */ s16 unk_27E;
/* 0x0280 */ s16 unk_280;
/* 0x0282 */ s16 unk_282;
/* 0x0284 */ s16 unk_284;
} EnSyatekiMan; // size = 0x288
extern const ActorInit En_Syateki_Man_InitVars;

View File

@ -9113,8 +9113,8 @@
0x809C8BF0:("func_809C8BF0",),
0x809C8DE8:("func_809C8DE8",),
0x809C8E44:("EnSyatekiMan_Update",),
0x809C8EE4:("func_809C8EE4",),
0x809C8FAC:("func_809C8FAC",),
0x809C8EE4:("EnSyatekiMan_OverrideLimbDraw",),
0x809C8FAC:("EnSyatekiMan_PostLimbDraw",),
0x809C9008:("EnSyatekiMan_Draw",),
0x809C9A60:("BgIcicle_Init",),
0x809C9B54:("BgIcicle_Destroy",),