mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-04 19:24:28 +00:00
PR 1
This commit is contained in:
parent
3be2c03098
commit
606584f376
3 changed files with 364 additions and 317 deletions
4
spec
4
spec
|
@ -2556,7 +2556,11 @@ endseg
|
||||||
beginseg
|
beginseg
|
||||||
name "ovl_En_GirlA"
|
name "ovl_En_GirlA"
|
||||||
include "build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o"
|
include "build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o"
|
||||||
|
#ifdef NON_MATCHING
|
||||||
|
include "build/src/overlays/actors/ovl_En_GirlA/ovl_En_GirlA_reloc.o"
|
||||||
|
#else
|
||||||
include "build/data/overlays/actors/z_en_girla.reloc.o"
|
include "build/data/overlays/actors/z_en_girla.reloc.o"
|
||||||
|
#endif
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
|
|
@ -9,6 +9,60 @@ void EnGirlA_Init(Actor* this, GlobalContext* globalCtx);
|
||||||
void EnGirlA_Destroy(Actor* this, GlobalContext* globalCtx);
|
void EnGirlA_Destroy(Actor* this, GlobalContext* globalCtx);
|
||||||
void EnGirlA_Update(Actor* this, GlobalContext* globalCtx);
|
void EnGirlA_Update(Actor* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
|
void func_80A3BEAC(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BEE0(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BFE4(EnGirlA*, GlobalContext*);
|
||||||
|
void func_80A3C3BC(EnGirlA*, GlobalContext*);
|
||||||
|
void func_80A3C498(Actor*, GlobalContext*, s32);
|
||||||
|
void func_80A3C4D4(Actor*, GlobalContext*);
|
||||||
|
|
||||||
|
s32 func_80A3AAA8(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AB58(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3ABF8(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3ACAC(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AD60(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3ADD4(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AE48(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AEBC(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AF30(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3AFC4(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B040(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B0BC(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B160(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B204(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B250(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B2AC(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B308(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B318(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B328(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B3A8(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B454(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B464(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B4D8(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B54C(GlobalContext*, EnGirlA*);
|
||||||
|
s32 func_80A3B5C0(GlobalContext*, EnGirlA*);
|
||||||
|
|
||||||
|
void func_80A3B714(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B634(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B678(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B780(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BA40(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B7BC(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B800(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B83C(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B878(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B8B4(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B8F0(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B92C(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B968(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B9A4(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3B9D4(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BA04(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BB6C(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BC0C(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BC3C(GlobalContext*, EnGirlA*);
|
||||||
|
void func_80A3BC6C(GlobalContext*, EnGirlA*);
|
||||||
|
|
||||||
const ActorInit En_GirlA_InitVars = {
|
const ActorInit En_GirlA_InitVars = {
|
||||||
ACTOR_EN_GIRLA,
|
ACTOR_EN_GIRLA,
|
||||||
ACTORTYPE_PROP,
|
ACTORTYPE_PROP,
|
||||||
|
@ -21,67 +75,21 @@ const ActorInit En_GirlA_InitVars = {
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
char* D_80A3C590[] = {
|
static char* D_80A3C590[] = {
|
||||||
"デクの実×5 ",
|
"デクの実×5 ", "矢×30 ", "矢×50 ", "爆弾×5 ", "デクの実×10 ", "デクの棒 ",
|
||||||
"矢×30 ",
|
"爆弾×10 ", "さかな ", "赤クスリ ", "緑クスリ ", "青クスリ ", "巨人のナイフ ",
|
||||||
"矢×50 ",
|
"ハイリアの盾 ", "デクの盾 ", "ゴロンの服 ", "ゾ─ラの服 ", "回復のハート ", "ロンロン牛乳 ",
|
||||||
"爆弾×5 ",
|
"鶏の卵 ", "インゴー牛乳 ", "インゴー卵 ", "もだえ石 ", "大人の財布 ", "ハートの欠片 ",
|
||||||
"デクの実×10 ",
|
"ボムチュウ ", "ボムチュウ ", "ボムチュウ ", "ボムチュウ ", "ボムチュウ ", "デクのタネ ",
|
||||||
"デクの棒 ",
|
"キータンのお面", "こわそなお面 ", "ドクロのお面 ", "ウサギずきん ", "まことの仮面 ", "ゾーラのお面 ",
|
||||||
"爆弾×10 ",
|
"ゴロンのお面 ", "ゲルドのお面 ", "SOLDOUT", "炎 ", "虫 ", "チョウチョ ",
|
||||||
"さかな ",
|
"ポウ ", "妖精の魂 ", "矢×10 ", "爆弾×20 ", "爆弾×30 ", "爆弾×5 ",
|
||||||
"赤クスリ ",
|
"赤クスリ ", "赤クスリ ",
|
||||||
"緑クスリ ",
|
|
||||||
"青クスリ ",
|
|
||||||
"巨人のナイフ ",
|
|
||||||
"ハイリアの盾 ",
|
|
||||||
"デクの盾 ",
|
|
||||||
"ゴロンの服 ",
|
|
||||||
"ゾ─ラの服 ",
|
|
||||||
"回復のハート ",
|
|
||||||
"ロンロン牛乳 ",
|
|
||||||
"鶏の卵 ",
|
|
||||||
"インゴー牛乳 ",
|
|
||||||
"インゴー卵 ",
|
|
||||||
"もだえ石 ",
|
|
||||||
"大人の財布 ",
|
|
||||||
"ハートの欠片 ",
|
|
||||||
"ボムチュウ ",
|
|
||||||
"ボムチュウ ",
|
|
||||||
"ボムチュウ ",
|
|
||||||
"ボムチュウ ",
|
|
||||||
"ボムチュウ ",
|
|
||||||
"デクのタネ ",
|
|
||||||
"キータンのお面",
|
|
||||||
"こわそなお面 ",
|
|
||||||
"ドクロのお面 ",
|
|
||||||
"ウサギずきん ",
|
|
||||||
"まことの仮面 ",
|
|
||||||
"ゾーラのお面 ",
|
|
||||||
"ゴロンのお面 ",
|
|
||||||
"ゲルドのお面 ",
|
|
||||||
"SOLDOUT",
|
|
||||||
"炎 ",
|
|
||||||
"虫 ",
|
|
||||||
"チョウチョ ",
|
|
||||||
"ポウ ",
|
|
||||||
"妖精の魂 ",
|
|
||||||
"矢×10 ",
|
|
||||||
"爆弾×20 ",
|
|
||||||
"爆弾×30 ",
|
|
||||||
"爆弾×5 ",
|
|
||||||
"赤クスリ ",
|
|
||||||
"赤クスリ ",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
s16 D_80A3C658[8] = {
|
s16 D_80A3C658[8] = { 0x0024, 0x0026, 0x0025, 0x0027, 0x002B, 0x0029, 0x0028, 0x002A };
|
||||||
0x0024, 0x0026, 0x0025, 0x0027,
|
|
||||||
0x002B, 0x0029, 0x0028, 0x002A
|
|
||||||
};
|
|
||||||
|
|
||||||
u16 D_80A3C668[5] = {
|
u16 D_80A3C668[5] = { 0x70B6, 0x70B5, 0x70B4, 0x70B7, 0x70BB };
|
||||||
0x70B6, 0x70B5, 0x70B4, 0x70B7, 0x70BB
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ s16 objID;
|
/* 0x00 */ s16 objID;
|
||||||
|
@ -97,89 +105,117 @@ typedef struct {
|
||||||
/* 0x1C */ void (*unk_1C)(GlobalContext*, EnGirlA*);
|
/* 0x1C */ void (*unk_1C)(GlobalContext*, EnGirlA*);
|
||||||
} GirlAThing; // size = 0x20
|
} GirlAThing; // size = 0x20
|
||||||
|
|
||||||
// void func_8002ED80(EnGirlA*, GlobalContext*, s32);
|
|
||||||
// void func_8002EBCC(EnGirlA*, GlobalContext*, s32);
|
|
||||||
void func_80A3C498(Actor*, GlobalContext*, s32);
|
|
||||||
|
|
||||||
s32 func_80A3AAA8(GlobalContext*, EnGirlA*); s32 func_80A3AB58(GlobalContext*, EnGirlA*); s32 func_80A3ABF8(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3ACAC(GlobalContext*, EnGirlA*); s32 func_80A3AD60(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3ADD4(GlobalContext*, EnGirlA*); s32 func_80A3AE48(GlobalContext*, EnGirlA*); s32 func_80A3AEBC(GlobalContext*, EnGirlA*); s32 func_80A3AF30(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3AFC4(GlobalContext*, EnGirlA*); s32 func_80A3B040(GlobalContext*, EnGirlA*); s32 func_80A3B0BC(GlobalContext*, EnGirlA*); s32 func_80A3B160(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3B204(GlobalContext*, EnGirlA*); s32 func_80A3B250(GlobalContext*, EnGirlA*); s32 func_80A3B2AC(GlobalContext*, EnGirlA*); s32 func_80A3B308(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3B318(GlobalContext*, EnGirlA*); s32 func_80A3B328(GlobalContext*, EnGirlA*); s32 func_80A3B3A8(GlobalContext*, EnGirlA*); s32 func_80A3B454(GlobalContext*, EnGirlA*);
|
|
||||||
s32 func_80A3B464(GlobalContext*, EnGirlA*); s32 func_80A3B4D8(GlobalContext*, EnGirlA*); s32 func_80A3B54C(GlobalContext*, EnGirlA*); s32 func_80A3B5C0(GlobalContext*, EnGirlA*);
|
|
||||||
|
|
||||||
|
|
||||||
void func_80A3B714(GlobalContext*, EnGirlA*); void func_80A3B634(GlobalContext*, EnGirlA*); void func_80A3B678(GlobalContext*, EnGirlA*); void func_80A3B780(GlobalContext*, EnGirlA*);
|
|
||||||
void func_80A3BA40(GlobalContext*, EnGirlA*); void func_80A3B7BC(GlobalContext*, EnGirlA*); void func_80A3B800(GlobalContext*, EnGirlA*); void func_80A3B83C(GlobalContext*, EnGirlA*);
|
|
||||||
void func_80A3B878(GlobalContext*, EnGirlA*); void func_80A3B8B4(GlobalContext*, EnGirlA*); void func_80A3B8F0(GlobalContext*, EnGirlA*); void func_80A3B92C(GlobalContext*, EnGirlA*);
|
|
||||||
void func_80A3B968(GlobalContext*, EnGirlA*); void func_80A3B9A4(GlobalContext*, EnGirlA*); void func_80A3B9D4(GlobalContext*, EnGirlA*); void func_80A3BA04(GlobalContext*, EnGirlA*);
|
|
||||||
void func_80A3BB6C(GlobalContext*, EnGirlA*); void func_80A3BC0C(GlobalContext*, EnGirlA*); void func_80A3BC3C(GlobalContext*, EnGirlA*); void func_80A3BC6C(GlobalContext*, EnGirlA*);
|
|
||||||
|
|
||||||
GirlAThing D_80A3C674[] = {
|
GirlAThing D_80A3C674[] = {
|
||||||
{0x00BB, 0x0011, func_8002ED80, 0x000F, 0x0005, 0x00B2, 0x007F, 0x00000063, func_80A3ABF8, func_80A3B714, func_80A3BB6C},
|
{ 0x00BB, 0x0011, func_8002ED80, 0x000F, 0x0005, 0x00B2, 0x007F, GI_NUTS_5_2, func_80A3ABF8, func_80A3B714,
|
||||||
{0x00D8, 0x0025, func_8002EBCC, 0x003C, 0x001E, 0x00C1, 0x009B, 0x0000004A, func_80A3AAA8, func_80A3B634, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00D8, 0x0026, func_8002EBCC, 0x005A, 0x0032, 0x00B0, 0x007D, 0x0000004B, func_80A3AAA8, func_80A3B634, func_80A3BB6C},
|
{ 0x00D8, 0x0025, func_8002EBCC, 0x003C, 0x001E, 0x00C1, 0x009B, GI_ARROWS_MEDIUM, func_80A3AAA8, func_80A3B634,
|
||||||
{0x00CE, 0x001F, func_8002EBCC, 0x0019, 0x0005, 0x00A3, 0x008B, 0x00000001, func_80A3AB58, func_80A3B678, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00BB, 0x0011, func_8002ED80, 0x001E, 0x000A, 0x00A2, 0x0087, 0x00000064, func_80A3ABF8, func_80A3B714, func_80A3BB6C},
|
{ 0x00D8, 0x0026, func_8002EBCC, 0x005A, 0x0032, 0x00B0, 0x007D, GI_ARROWS_LARGE, func_80A3AAA8, func_80A3B634,
|
||||||
{0x00C7, 0x001A, 0x00000000, 0x000A, 0x0001, 0x00A1, 0x0088, 0x00000007, func_80A3ACAC, func_80A3B780, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00CE, 0x001F, func_8002EBCC, 0x0032, 0x000A, 0x00B1, 0x007C, 0x00000066, func_80A3AB58, func_80A3B678, func_80A3BB6C},
|
{ 0x00CE, 0x001F, func_8002EBCC, 0x0019, 0x0005, 0x00A3, 0x008B, GI_BOMBS_5, func_80A3AB58, func_80A3B678,
|
||||||
{0x00F4, 0x003E, func_8002ED80, 0x00C8, 0x0001, 0x00B3, 0x007E, 0x0000006C, func_80A3AD60, 0x00000000, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00EB, 0x0037, func_8002EBCC, 0x001E, 0x0001, 0x00A5, 0x008E, 0x00000010, func_80A3ADD4, func_80A3BA40, func_80A3BB6C},
|
{ 0x00BB, 0x0011, func_8002ED80, 0x001E, 0x000A, 0x00A2, 0x0087, GI_NUTS_10, func_80A3ABF8, func_80A3B714,
|
||||||
{0x00EB, 0x0036, func_8002EBCC, 0x001E, 0x0001, 0x00A6, 0x008F, 0x00000011, func_80A3AE48, func_80A3BA40, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00EB, 0x0038, func_8002EBCC, 0x003C, 0x0001, 0x00A7, 0x0090, 0x00000012, func_80A3AEBC, func_80A3BA40, func_80A3BB6C},
|
{ 0x00C7, 0x001A, 0x00000000, 0x000A, 0x0001, 0x00A1, 0x0088, GI_STICKS_1, func_80A3ACAC, func_80A3B780,
|
||||||
{0x00F8, 0x0042, func_8002EBCC, 0x03E8, 0x0001, 0x00A8, 0x0091, 0x00000028, func_80A3AF30, func_80A3B7BC, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00DC, 0x002B, func_8002EBCC, 0x0050, 0x0001, 0x00A9, 0x0092, 0x0000002A, func_80A3AFC4, func_80A3B800, func_80A3BB6C},
|
{ 0x00CE, 0x001F, func_8002EBCC, 0x0032, 0x000A, 0x00B1, 0x007C, GI_BOMBS_10, func_80A3AB58, func_80A3B678,
|
||||||
{0x00CB, 0x001C, func_8002EBCC, 0x0028, 0x0001, 0x009F, 0x0089, 0x00000029, func_80A3B040, func_80A3B83C, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00F2, 0x003B, 0x00000000, 0x00C8, 0x0001, 0x00AA, 0x0093, 0x0000002C, func_80A3B0BC, func_80A3B878, func_80A3BC0C},
|
{ 0x00F4, 0x003E, func_8002ED80, 0x00C8, 0x0001, 0x00B3, 0x007E, GI_FISH, func_80A3AD60, 0x00000000,
|
||||||
{0x00F2, 0x003C, 0x00000000, 0x012C, 0x0001, 0x00AB, 0x0094, 0x0000002D, func_80A3B160, func_80A3B8B4, func_80A3BC3C},
|
func_80A3BB6C },
|
||||||
{0x00B7, 0x0008, 0x00000000, 0x000A, 0x0010, 0x00AC, 0x0095, 0x00000048, func_80A3B204, func_80A3B8F0, func_80A3BB6C},
|
{ 0x00EB, 0x0037, func_8002EBCC, 0x001E, 0x0001, 0x00A5, 0x008E, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
|
||||||
{0x00DF, 0x002F, func_80A3C498, 0x0064, 0x0001, 0x00AD, 0x0097, 0x00000014, func_80A3B250, func_80A3B92C, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00DA, 0x0028, func_8002EBCC, 0x0064, 0x0001, 0x00AE, 0x0099, 0x00000047, func_80A3B2AC, func_80A3B968, func_80A3BB6C},
|
{ 0x00EB, 0x0036, func_8002EBCC, 0x001E, 0x0001, 0x00A6, 0x008F, GI_POTION_GREEN, func_80A3AE48, func_80A3BA40,
|
||||||
{0x00DF, 0x002F, func_80A3C498, 0x2710, 0x0001, 0x00B4, 0x0085, 0x00000000, func_80A3B308, func_80A3B9A4, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x00DA, 0x0028, func_8002EBCC, 0x2710, 0x0001, 0x00B5, 0x0085, 0x00000000, func_80A3B318, func_80A3B9D4, func_80A3BB6C},
|
{ 0x00EB, 0x0038, func_8002EBCC, 0x003C, 0x0001, 0x00A7, 0x0090, GI_POTION_BLUE, func_80A3AEBC, func_80A3BA40,
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, 0x00000003, func_80A3B328, 0x00000000, func_80A3BC6C},
|
func_80A3BB6C },
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, 0x0000006B, func_80A3B328, 0x00000000, func_80A3BC6C},
|
{ 0x00F8, 0x0042, func_8002EBCC, 0x03E8, 0x0001, 0x00A8, 0x0091, GI_SWORD_KNIFE, func_80A3AF30, func_80A3B7BC,
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, 0x0000006B, func_80A3B328, 0x00000000, func_80A3BC6C},
|
func_80A3BB6C },
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, 0x00000003, func_80A3B328, 0x00000000, func_80A3BC6C},
|
{ 0x00DC, 0x002B, func_8002EBCC, 0x0050, 0x0001, 0x00A9, 0x0092, GI_SHIELD_HYLIAN, func_80A3AFC4, func_80A3B800,
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, 0x00000003, func_80A3B328, 0x00000000, func_80A3BC6C},
|
func_80A3BB6C },
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, 0x0000006B, func_80A3B328, 0x00000000, func_80A3BC6C},
|
{ 0x00CB, 0x001C, func_8002EBCC, 0x0028, 0x0001, 0x009F, 0x0089, GI_SHIELD_DEKU, func_80A3B040, func_80A3B83C,
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, 0x0000006B, func_80A3B328, 0x00000000, func_80A3BC6C},
|
func_80A3BB6C },
|
||||||
{0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, 0x00000003, func_80A3B328, 0x00000000, func_80A3BC6C},
|
{ 0x00F2, 0x003B, 0x00000000, 0x00C8, 0x0001, 0x00AA, 0x0093, GI_TUNIC_GORON, func_80A3B0BC, func_80A3B878,
|
||||||
{0x0119, 0x0047, func_8002EBCC, 0x001E, 0x001E, 0x00DF, 0x00DE, 0x00000069, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
func_80A3BC0C },
|
||||||
{0x0134, 0x0030, func_8002EBCC, 0x0000, 0x0001, 0x70B2, 0x70BE, 0x0000001A, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
{ 0x00F2, 0x003C, 0x00000000, 0x012C, 0x0001, 0x00AB, 0x0094, GI_TUNIC_ZORA, func_80A3B160, func_80A3B8B4,
|
||||||
{0x0135, 0x0031, func_8002EBCC, 0x0000, 0x0001, 0x70B1, 0x70BD, 0x00000018, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
func_80A3BC3C },
|
||||||
{0x0136, 0x004E, func_8002EBCC, 0x0000, 0x0001, 0x70B0, 0x70BC, 0x00000017, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
{ 0x00B7, 0x0008, 0x00000000, 0x000A, 0x0010, 0x00AC, 0x0095, GI_HEART, func_80A3B204, func_80A3B8F0,
|
||||||
{0x0137, 0x004F, func_8002EBCC, 0x0000, 0x0001, 0x70B3, 0x70BF, 0x0000001B, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x0138, 0x0050, func_80A3C498, 0x0000, 0x0001, 0x70AF, 0x70C3, 0x0000001C, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
{ 0x00DF, 0x002F, func_80A3C498, 0x0064, 0x0001, 0x00AD, 0x0097, GI_MILK_BOTTLE, func_80A3B250, func_80A3B92C,
|
||||||
{0x0151, 0x005B, 0x00000000, 0x0000, 0x0001, 0x70B9, 0x70C1, 0x00000052, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x0150, 0x005A, 0x00000000, 0x0000, 0x0001, 0x70B8, 0x70C0, 0x00000051, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
{ 0x00DA, 0x0028, func_8002EBCC, 0x0064, 0x0001, 0x00AE, 0x0099, GI_WEIRD_EGG, func_80A3B2AC, func_80A3B968,
|
||||||
{0x0152, 0x005C, 0x00000000, 0x0000, 0x0001, 0x70BA, 0x70C2, 0x00000053, func_80A3B3A8, func_80A3BA04, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x0148, 0x0058, func_8002EBCC, 0x0000, 0x0000, 0x00BD, 0x70C2, 0x00000053, func_80A3B454, 0x00000000, 0x00000000},
|
{ 0x00DF, 0x002F, func_80A3C498, 0x2710, 0x0001, 0x00B4, 0x0085, GI_INVALID, func_80A3B308, func_80A3B9A4,
|
||||||
{0x0173, 0x0066, func_8002EBCC, 0x012C, 0x0001, 0x00B9, 0x00B8, 0x0000006E, func_80A3B464, func_80A3BA40, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x0174, 0x0067, func_80A3C498, 0x0032, 0x0001, 0x00BB, 0x00BA, 0x0000006D, func_80A3B4D8, func_80A3BA40, func_80A3BB6C},
|
{ 0x00DA, 0x0028, func_8002EBCC, 0x2710, 0x0001, 0x00B5, 0x0085, GI_INVALID, func_80A3B318, func_80A3B9D4,
|
||||||
{0x0176, 0x006F, func_80A3C498, 0x0032, 0x0001, 0x506F, 0x5070, 0x00000070, func_80A3B54C, func_80A3BA40, func_80A3BB6C},
|
func_80A3BB6C },
|
||||||
{0x0176, 0x0069, func_80A3C498, 0x001E, 0x0001, 0x506D, 0x506E, 0x0000006F, func_80A3B54C, func_80A3BA40, func_80A3BB6C},
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, 0x00000000,
|
||||||
{0x0177, 0x006A, func_80A3C498, 0x0032, 0x0001, 0x00B7, 0x00B6, 0x00000013, func_80A3B5C0, func_80A3BA40, func_80A3BB6C},
|
func_80A3BC6C },
|
||||||
{0x00D8, 0x0024, func_8002EBCC, 0x0014, 0x000A, 0x00A0, 0x008A, 0x00000049, func_80A3AAA8, func_80A3B634, func_80A3BB6C},
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, 0x00000000,
|
||||||
{0x00CE, 0x001F, func_8002EBCC, 0x0050, 0x0014, 0x001C, 0x0006, 0x00000067, func_80A3AB58, func_80A3B678, func_80A3BB6C},
|
func_80A3BC6C },
|
||||||
{0x00CE, 0x001F, func_8002EBCC, 0x0078, 0x001E, 0x001D, 0x001E, 0x00000068, func_80A3AB58, func_80A3B678, func_80A3BB6C},
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, 0x00000000,
|
||||||
{0x00CE, 0x001F, func_8002EBCC, 0x0023, 0x0005, 0x00CB, 0x00CA, 0x00000001, func_80A3AB58, func_80A3B678, func_80A3BB6C},
|
func_80A3BC6C },
|
||||||
{0x00EB, 0x0037, func_8002EBCC, 0x0028, 0x0001, 0x0064, 0x0062, 0x00000010, func_80A3ADD4, func_80A3BA40, func_80A3BB6C},
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, 0x00000000,
|
||||||
{0x00EB, 0x0037, func_8002EBCC, 0x0032, 0x0001, 0x0065, 0x0063, 0x00000010, func_80A3ADD4, func_80A3BA40, func_80A3BB6C},
|
func_80A3BC6C },
|
||||||
};
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, 0x00000000,
|
||||||
|
func_80A3BC6C },
|
||||||
s16 D_80A3CCB4[8] = {
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, 0x00000000,
|
||||||
0x0005, 0x000A, 0x000F, 0x0014, 0x0019, 0x001E, 0x0023, 0x0028
|
func_80A3BC6C },
|
||||||
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, 0x00000000,
|
||||||
|
func_80A3BC6C },
|
||||||
|
{ 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, 0x00000000,
|
||||||
|
func_80A3BC6C },
|
||||||
|
{ 0x0119, 0x0047, func_8002EBCC, 0x001E, 0x001E, 0x00DF, 0x00DE, GI_SEEDS_30, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0134, 0x0030, func_8002EBCC, 0x0000, 0x0001, 0x70B2, 0x70BE, GI_MASK_KEATON, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0135, 0x0031, func_8002EBCC, 0x0000, 0x0001, 0x70B1, 0x70BD, GI_MASK_SPOOKY, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0136, 0x004E, func_8002EBCC, 0x0000, 0x0001, 0x70B0, 0x70BC, GI_MASK_SKULL, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0137, 0x004F, func_8002EBCC, 0x0000, 0x0001, 0x70B3, 0x70BF, GI_MASK_BUNNY, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0138, 0x0050, func_80A3C498, 0x0000, 0x0001, 0x70AF, 0x70C3, GI_MASK_TRUTH, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0151, 0x005B, 0x00000000, 0x0000, 0x0001, 0x70B9, 0x70C1, GI_MASK_ZORA, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0150, 0x005A, 0x00000000, 0x0000, 0x0001, 0x70B8, 0x70C0, GI_MASK_GORON, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0152, 0x005C, 0x00000000, 0x0000, 0x0001, 0x70BA, 0x70C2, GI_MASK_GERUDO, func_80A3B3A8, func_80A3BA04,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0148, 0x0058, func_8002EBCC, 0x0000, 0x0000, 0x00BD, 0x70C2, GI_MASK_GERUDO, func_80A3B454, 0x00000000,
|
||||||
|
0x00000000 },
|
||||||
|
{ 0x0173, 0x0066, func_8002EBCC, 0x012C, 0x0001, 0x00B9, 0x00B8, GI_BLUE_FIRE, func_80A3B464, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0174, 0x0067, func_80A3C498, 0x0032, 0x0001, 0x00BB, 0x00BA, GI_BUGS, func_80A3B4D8, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0176, 0x006F, func_80A3C498, 0x0032, 0x0001, 0x506F, 0x5070, GI_BIG_POE, func_80A3B54C, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0176, 0x0069, func_80A3C498, 0x001E, 0x0001, 0x506D, 0x506E, GI_POE, func_80A3B54C, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x0177, 0x006A, func_80A3C498, 0x0032, 0x0001, 0x00B7, 0x00B6, GI_FAIRY, func_80A3B5C0, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00D8, 0x0024, func_8002EBCC, 0x0014, 0x000A, 0x00A0, 0x008A, GI_ARROWS_SMALL, func_80A3AAA8, func_80A3B634,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00CE, 0x001F, func_8002EBCC, 0x0050, 0x0014, 0x001C, 0x0006, GI_BOMBS_20, func_80A3AB58, func_80A3B678,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00CE, 0x001F, func_8002EBCC, 0x0078, 0x001E, 0x001D, 0x001E, GI_BOMBS_30, func_80A3AB58, func_80A3B678,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00CE, 0x001F, func_8002EBCC, 0x0023, 0x0005, 0x00CB, 0x00CA, GI_BOMBS_5, func_80A3AB58, func_80A3B678,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00EB, 0x0037, func_8002EBCC, 0x0028, 0x0001, 0x0064, 0x0062, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
|
{ 0x00EB, 0x0037, func_8002EBCC, 0x0032, 0x0001, 0x0065, 0x0063, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
|
||||||
|
func_80A3BB6C },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
s16 D_80A3CCB4[8] = { 0x0005, 0x000A, 0x000F, 0x0014, 0x0019, 0x001E, 0x0023, 0x0028 };
|
||||||
|
|
||||||
void func_80A3A750(EnGirlA* this, void* arg1) {
|
void func_80A3A750(EnGirlA* this, void* arg1) {
|
||||||
this->actionFunc = arg1;
|
this->actionFunc = arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3A758(EnGirlA* this) {
|
s32 func_80A3A758(EnGirlA* this) {
|
||||||
switch(this->actor.params) {
|
switch (this->actor.params) {
|
||||||
case 0x11:
|
case 0x11:
|
||||||
if (gSaveContext.itemGetInf[0] & 0x4) {
|
if (gSaveContext.itemGetInf[0] & 0x4) {
|
||||||
this->actor.params = 0x10;
|
this->actor.params = 0x10;
|
||||||
|
@ -238,22 +274,30 @@ s32 func_80A3A758(EnGirlA* this) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3BFE4(EnGirlA*, GlobalContext*);
|
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
|
// Weird allocations
|
||||||
void func_80A3A8D0(EnGirlA* this, GlobalContext* globalCtx) {
|
void func_80A3A8D0(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
//EnGirlA* this = THIS;
|
char** strptr = &D_80A3C590[this->actor.params];
|
||||||
char* strptr = D_80A3C590[this->actor.params];
|
|
||||||
char* strptr2 = D_80A3C590[this->actor.params];
|
|
||||||
s16 params = this->actor.params;
|
s16 params = this->actor.params;
|
||||||
|
|
||||||
osSyncPrintf("%s(%2d)初期設定\n", strptr, this->actor.params);
|
if (strptr) {};
|
||||||
|
osSyncPrintf("%s(%2d)初期設定\n", *(&D_80A3C590[this->actor.params]), this->actor.params);
|
||||||
if ((params >= 50) && (params < 0)) {
|
if ((params >= 50) && (params < 0)) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
osSyncPrintf(VT_COL(RED, WHITE));
|
osSyncPrintf("\x1b"
|
||||||
// Bad argument!
|
"["
|
||||||
|
"4"
|
||||||
|
"1"
|
||||||
|
";"
|
||||||
|
"3"
|
||||||
|
"7"
|
||||||
|
"m");
|
||||||
osSyncPrintf("引数がおかしいよ(arg_data=%d)!!\n", this->actor.params);
|
osSyncPrintf("引数がおかしいよ(arg_data=%d)!!\n", this->actor.params);
|
||||||
osSyncPrintf(VT_RST);
|
osSyncPrintf("\x1b"
|
||||||
|
"["
|
||||||
|
""
|
||||||
|
"m");
|
||||||
|
if (!this->actor.params) {};
|
||||||
__assert("0", "../z_en_girlA.c", 0x58D);
|
__assert("0", "../z_en_girlA.c", 0x58D);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -261,14 +305,23 @@ void func_80A3A8D0(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
this->unk_194 = Object_GetIndex(&globalCtx->objectCtx, D_80A3C674[params].objID);
|
this->unk_194 = Object_GetIndex(&globalCtx->objectCtx, D_80A3C674[params].objID);
|
||||||
if (this->unk_194 < 0) {
|
if (this->unk_194 < 0) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
osSyncPrintf(VT_COL(RED, WHITE));
|
osSyncPrintf("\x1b"
|
||||||
// No bank!
|
"["
|
||||||
osSyncPrintf("バンクが無いよ!!(%s)\n", strptr2);
|
"4"
|
||||||
osSyncPrintf(VT_RST);
|
"1"
|
||||||
if (this) {};
|
";"
|
||||||
|
"3"
|
||||||
|
"7"
|
||||||
|
"m");
|
||||||
|
osSyncPrintf("バンクが無いよ!!(%s)\n", *strptr);
|
||||||
|
osSyncPrintf("\x1b"
|
||||||
|
"["
|
||||||
|
""
|
||||||
|
"m");
|
||||||
__assert("0", "../z_en_girlA.c", 0x59A);
|
__assert("0", "../z_en_girlA.c", 0x59A);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->actor.params = params & 0xFFFF;
|
this->actor.params = params & 0xFFFF;
|
||||||
this->unk_198 = func_80A3BFE4;
|
this->unk_198 = func_80A3BFE4;
|
||||||
}
|
}
|
||||||
|
@ -276,26 +329,27 @@ void func_80A3A8D0(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_GirlA/func_80A3A8D0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_GirlA/func_80A3A8D0.s")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void EnGirlA_Init(Actor* thisx, GlobalContext* globalCtx) {
|
void EnGirlA_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnGirlA* this = THIS;
|
EnGirlA* this = THIS;
|
||||||
|
|
||||||
func_80A3A758(this);
|
func_80A3A758(this);
|
||||||
func_80A3A8D0(this, globalCtx);
|
func_80A3A8D0(this, globalCtx);
|
||||||
osSyncPrintf("%s(%2d)初期設定\n", D_80A3C590[thisx->params], thisx->params);
|
osSyncPrintf("%s(%2d)初期設定\n", D_80A3C590[this->actor.params], this->actor.params);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnGirlA_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
void EnGirlA_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnGirlA* this = THIS;
|
EnGirlA* this = THIS;
|
||||||
|
|
||||||
if (this->unk_19C != 0) {
|
if (this->unk_19C != 0) {
|
||||||
SkelAnime_Free(&this->skelAnime, globalCtx);
|
SkelAnime_Free(&this->skelAnime, globalCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AAA8(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AAA8(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Item_CheckObtainability(3) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_BOW) == ITEM_NONE) {
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
if (gSaveContext.ammo[gItemSlots[3]] >= gUpgradeCapacities[0][(s32)(gSaveContext.upgrades & gUpgradeMasks[0]) >> gUpgradeShifts[0]]) {
|
if (AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
|
@ -305,10 +359,10 @@ s32 func_80A3AAA8(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AB58(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AB58(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if ((gBitFlags[0x13] & gSaveContext.questItems) == 0) {
|
if (!CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.ammo[gItemSlots[2]] >= gUpgradeCapacities[1][(s32)(gSaveContext.upgrades & gUpgradeMasks[1]) >> gUpgradeShifts[1]]) {
|
if (AMMO(ITEM_BOMB) >= CUR_CAPACITY(UPG_BOMB_BAG)) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
|
@ -318,127 +372,117 @@ s32 func_80A3AB58(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3ABF8(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3ABF8(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
s32 tmp = gUpgradeCapacities[7][(s32)(gSaveContext.upgrades & gUpgradeMasks[7]) >> gUpgradeShifts[7]];
|
if ((CUR_CAPACITY(UPG_NUTS) != 0) && (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS))) {
|
||||||
|
|
||||||
if (tmp != 0) {
|
|
||||||
if (gSaveContext.ammo[gItemSlots[1]] >= tmp) {
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(1) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3ACAC(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3ACAC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
s32 tmp = gUpgradeCapacities[6][(s32)(gSaveContext.upgrades & gUpgradeMasks[6]) >> gUpgradeShifts[6]];
|
if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) {
|
||||||
|
|
||||||
if (tmp != 0) {
|
|
||||||
if (gSaveContext.ammo[gItemSlots[0]] >= tmp) {
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_STICK) == 0xFF) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AD60(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AD60(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x19) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_FISH) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3ADD4(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3ADD4(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x15) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_POTION_RED) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AE48(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AE48(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x16) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_POTION_GREEN) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AEBC(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AEBC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x17) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_POTION_BLUE) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AF30(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AF30(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if ((gBitFlags[2] & gSaveContext.equipment) != 0) {
|
if ((gBitFlags[2] & gSaveContext.equipment) && !(gBitFlags[3] & gSaveContext.equipment)) {
|
||||||
if ((gBitFlags[3] & gSaveContext.equipment) == 0) {
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x3D) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_SWORD_BGS) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3AFC4(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3AFC4(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if ((gBitFlags[5] & gSaveContext.equipment) != 0) {
|
if (gBitFlags[5] & gSaveContext.equipment) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x3F) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_SHIELD_HYLIAN) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B040(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B040(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if ((gBitFlags[4] & gSaveContext.equipment) != 0) {
|
if (gBitFlags[4] & gSaveContext.equipment) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x3E) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_SHIELD_DEKU) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -448,13 +492,13 @@ s32 func_80A3B0BC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if ((gBitFlags[9] & gSaveContext.equipment) != 0) {
|
if (gBitFlags[9] & gSaveContext.equipment) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x42) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_TUNIC_GORON) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -464,13 +508,13 @@ s32 func_80A3B160(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if ((gBitFlags[10] & gSaveContext.equipment) != 0) {
|
if (gBitFlags[10] & gSaveContext.equipment) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x43) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_TUNIC_ZORA) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -490,7 +534,7 @@ s32 func_80A3B250(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x1A) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_MILK_BOTTLE) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -500,7 +544,7 @@ s32 func_80A3B2AC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x23) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_LETTER_ZELDA) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -515,26 +559,26 @@ s32 func_80A3B318(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B328(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B328(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (gSaveContext.ammo[gItemSlots[9]] >= 0x32) {
|
if (AMMO(ITEM_BOMBCHU) >= 50) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(9) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_BOMBCHU) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B3A8(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B3A8(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (gSaveContext.ammo[gItemSlots[6]] >= gUpgradeCapacities[5][(s32)(gSaveContext.upgrades & gUpgradeMasks[5]) >> gUpgradeShifts[5]]) {
|
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x58) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_SEEDS) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -545,52 +589,52 @@ s32 func_80A3B454(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B464(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B464(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x1C) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_BLUE_FIRE) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B4D8(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B4D8(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x1D) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_BUG) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B54C(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B54C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x20) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_POE) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80A3B5C0(GlobalContext* globalCtx, EnGirlA* this) {
|
s32 func_80A3B5C0(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
if (Inventory_HasEmptyBottle() == 0) {
|
if (!Inventory_HasEmptyBottle()) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (gSaveContext.rupees < this->unk_1C8) {
|
if (gSaveContext.rupees < this->unk_1C8) {
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
if (Item_CheckObtainability(0x18) == 0xFF) {
|
if (Item_CheckObtainability(ITEM_FAIRY) == ITEM_NONE) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -601,20 +645,19 @@ void func_80A3B634(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_80A3B678(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B678(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
switch (this->unk_1CA) {
|
switch (this->unk_1CA) {
|
||||||
case 5:
|
case 5:
|
||||||
Item_Give(globalCtx, 0x8E);
|
Item_Give(globalCtx, ITEM_BOMBS_5);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
Item_Give(globalCtx, 0x8F);
|
Item_Give(globalCtx, ITEM_BOMBS_10);
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 20:
|
||||||
Item_Give(globalCtx, 0x90);
|
Item_Give(globalCtx, ITEM_BOMBS_20);
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
Item_Give(globalCtx, 0x91);
|
Item_Give(globalCtx, ITEM_BOMBS_30);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
|
@ -623,10 +666,10 @@ void func_80A3B678(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
void func_80A3B714(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B714(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
switch (this->unk_1CA) {
|
switch (this->unk_1CA) {
|
||||||
case 5:
|
case 5:
|
||||||
Item_Give(globalCtx, 0x8C);
|
Item_Give(globalCtx, ITEM_NUTS_5);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
Item_Give(globalCtx, 0x8D);
|
Item_Give(globalCtx, ITEM_NUTS_10);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
|
@ -644,22 +687,22 @@ void func_80A3B7BC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B800(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B800(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x3F);
|
Item_Give(globalCtx, ITEM_SHIELD_HYLIAN);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B83C(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B83C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x3E);
|
Item_Give(globalCtx, ITEM_SHIELD_DEKU);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B878(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B878(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x42);
|
Item_Give(globalCtx, ITEM_TUNIC_GORON);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B8B4(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B8B4(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x43);
|
Item_Give(globalCtx, ITEM_TUNIC_ZORA);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -669,12 +712,12 @@ void func_80A3B8F0(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B92C(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B92C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x1A);
|
Item_Give(globalCtx, ITEM_MILK_BOTTLE);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3B968(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3B968(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x21);
|
Item_Give(globalCtx, ITEM_WEIRD_EGG);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -687,38 +730,38 @@ void func_80A3B9D4(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3BA04(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BA04(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
Item_Give(globalCtx, 0x95);
|
Item_Give(globalCtx, ITEM_SEEDS_30);
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3BA40(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BA40(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
switch(this->actor.params) {
|
switch (this->actor.params) {
|
||||||
case 7:
|
case 7:
|
||||||
Item_Give(globalCtx, 0x19);
|
Item_Give(globalCtx, ITEM_FISH);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
Item_Give(globalCtx, 0x15);
|
Item_Give(globalCtx, ITEM_POTION_RED);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
Item_Give(globalCtx, 0x16);
|
Item_Give(globalCtx, ITEM_POTION_GREEN);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
Item_Give(globalCtx, 0x17);
|
Item_Give(globalCtx, ITEM_POTION_BLUE);
|
||||||
break;
|
break;
|
||||||
case 0x27:
|
case 0x27:
|
||||||
Item_Give(globalCtx, 0x1C);
|
Item_Give(globalCtx, ITEM_BLUE_FIRE);
|
||||||
break;
|
break;
|
||||||
case 0x28:
|
case 0x28:
|
||||||
Item_Give(globalCtx, 0x1D);
|
Item_Give(globalCtx, ITEM_BUG);
|
||||||
break;
|
break;
|
||||||
case 0x29:
|
case 0x29:
|
||||||
Item_Give(globalCtx, 0x1E);
|
Item_Give(globalCtx, ITEM_BIG_POE);
|
||||||
break;
|
break;
|
||||||
case 0x2A:
|
case 0x2A:
|
||||||
Item_Give(globalCtx, 0x20);
|
Item_Give(globalCtx, ITEM_POE);
|
||||||
break;
|
break;
|
||||||
case 0x2B:
|
case 0x2B:
|
||||||
Item_Give(globalCtx, 0x18);
|
Item_Give(globalCtx, ITEM_FAIRY);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Rupees_ChangeBy(-this->unk_1C8);
|
Rupees_ChangeBy(-this->unk_1C8);
|
||||||
|
@ -743,7 +786,7 @@ void func_80A3BC3C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3BC6C(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BC6C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
switch(this->actor.params) {
|
switch (this->actor.params) {
|
||||||
case 0x18:
|
case 0x18:
|
||||||
gSaveContext.itemGetInf[0] |= 0x40;
|
gSaveContext.itemGetInf[0] |= 0x40;
|
||||||
break;
|
break;
|
||||||
|
@ -775,16 +818,13 @@ void func_80A3BC6C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
void func_80A3BD80(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BD80(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3C4D4(Actor*, GlobalContext*);
|
|
||||||
void func_80A3BEAC(GlobalContext*, EnGirlA*);
|
|
||||||
|
|
||||||
void func_80A3BD8C(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BD8C(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
GirlAThing* tmp = &D_80A3C674[this->actor.params];
|
GirlAThing* tmp = &D_80A3C674[this->actor.params];
|
||||||
s32 params = this->actor.params;
|
s32 params = this->actor.params;
|
||||||
s32 params2;
|
s32 params2;
|
||||||
s32 tmp3;
|
s32 tmp3;
|
||||||
|
|
||||||
if ((this->actor.params >= 0x1E) && (this->actor.params < 0x23) ){
|
if ((this->actor.params >= 0x1E) && (this->actor.params < 0x23)) {
|
||||||
params2 = this->actor.params - 0x1E;
|
params2 = this->actor.params - 0x1E;
|
||||||
tmp3 = 0;
|
tmp3 = 0;
|
||||||
switch (this->actor.params) {
|
switch (this->actor.params) {
|
||||||
|
@ -835,8 +875,10 @@ void func_80A3BEAC(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
|
// Small regalloc
|
||||||
void func_80A3BEE0(GlobalContext* globalCtx, EnGirlA* this) {
|
void func_80A3BEE0(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
GirlAThing* tmp;
|
GirlAThing* tmp;
|
||||||
|
|
||||||
if (func_80A3A758(this)) {
|
if (func_80A3A758(this)) {
|
||||||
func_80A3A8D0(this, globalCtx);
|
func_80A3A8D0(this, globalCtx);
|
||||||
tmp = &D_80A3C674[this->actor.params];
|
tmp = &D_80A3C674[this->actor.params];
|
||||||
|
@ -851,8 +893,10 @@ void func_80A3BEE0(GlobalContext* globalCtx, EnGirlA* this) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
s32 func_80A3BF54(EnGirlA* this, GlobalContext* globalCtx) {
|
s32 func_80A3BF54(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
if ((this->actor.params >= 0x1E) && (this->actor.params < 0x26) ) {
|
s32 params;
|
||||||
s32 params = this->actor.params - 0x1E;
|
|
||||||
|
if ((this->actor.params >= 0x1E) && (this->actor.params < 0x26)) {
|
||||||
|
params = this->actor.params - 0x1E;
|
||||||
if (gSaveContext.items[gItemSlots[0x21]] == D_80A3C658[params]) {
|
if (gSaveContext.items[gItemSlots[0x21]] == D_80A3C658[params]) {
|
||||||
func_80A3BEAC(globalCtx, this);
|
func_80A3BEAC(globalCtx, this);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -863,16 +907,12 @@ s32 func_80A3BF54(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80A3C3BC(EnGirlA*, GlobalContext*);
|
|
||||||
void func_80A3BEE0(GlobalContext*, EnGirlA*);
|
|
||||||
|
|
||||||
void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
|
void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
s16 params = this->actor.params;
|
s16 params = this->actor.params;
|
||||||
GirlAThing* tmp = &D_80A3C674[params];
|
GirlAThing* tmp = &D_80A3C674[params];
|
||||||
|
|
||||||
if (Object_IsLoaded(&globalCtx->objectCtx, this->unk_194)) {
|
if (Object_IsLoaded(&globalCtx->objectCtx, this->unk_194)) {
|
||||||
this->actor.flags &= 0xFFFFFFEF;
|
this->actor.flags &= ~0x10;
|
||||||
this->actor.objBankIndex = this->unk_194;
|
this->actor.objBankIndex = this->unk_194;
|
||||||
switch (this->actor.params - 0x1E) {
|
switch (this->actor.params - 0x1E) {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -884,7 +924,6 @@ void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
this->unk_1A0 = tmp->unk_0E;
|
this->unk_1A0 = tmp->unk_0E;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
|
||||||
if (gSaveContext.itemGetInf[3] & 0x400) {
|
if (gSaveContext.itemGetInf[3] & 0x400) {
|
||||||
this->actor.textId = 0x70B5;
|
this->actor.textId = 0x70B5;
|
||||||
} else {
|
} else {
|
||||||
|
@ -920,12 +959,10 @@ void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
|
||||||
this->actor.textId = tmp->unk_0C;
|
this->actor.textId = tmp->unk_0C;
|
||||||
this->unk_1A0 = tmp->unk_0E;
|
this->unk_1A0 = tmp->unk_0E;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
|
|
||||||
this->actor.textId = tmp->unk_0C;
|
this->actor.textId = tmp->unk_0C;
|
||||||
this->unk_1A0 = tmp->unk_0E;
|
this->unk_1A0 = tmp->unk_0E;
|
||||||
break;
|
break;
|
||||||
|
@ -953,7 +990,7 @@ void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
this->unk_1D0 = tmp->unk_04;
|
this->unk_1D0 = tmp->unk_04;
|
||||||
this->unk_1CC = tmp->unk_02;
|
this->unk_1CC = tmp->unk_02;
|
||||||
osSyncPrintf("%s(%2d)\n", D_80A3C590[params], params);
|
osSyncPrintf("%s(%2d)\n", D_80A3C590[params], params);
|
||||||
this->actor.flags &= 0xFFFFFFFE;
|
this->actor.flags &= ~1;
|
||||||
Actor_SetScale(&this->actor, 0.25f);
|
Actor_SetScale(&this->actor, 0.25f);
|
||||||
this->actor.shape.unk_08 = 24.0f;
|
this->actor.shape.unk_08 = 24.0f;
|
||||||
this->actor.shape.unk_10 = 4.0f;
|
this->actor.shape.unk_10 = 4.0f;
|
||||||
|
@ -979,14 +1016,15 @@ void func_80A3C3BC(EnGirlA* this, GlobalContext* globalCtx) {
|
||||||
if (this->actor.params != 0x26) {
|
if (this->actor.params != 0x26) {
|
||||||
if (this->unk_1B4 != 0) {
|
if (this->unk_1B4 != 0) {
|
||||||
this->unk_1B8 += 0x1F4;
|
this->unk_1B8 += 0x1F4;
|
||||||
return;
|
} else {
|
||||||
}
|
|
||||||
Math_SmoothScaleMaxMinS(&this->unk_1B8, 0, 10, 0x7D0, 0);
|
Math_SmoothScaleMaxMinS(&this->unk_1B8, 0, 10, 0x7D0, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnGirlA_Update(Actor* thisx, GlobalContext* globalCtx) {
|
void EnGirlA_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnGirlA* this = THIS;
|
EnGirlA* this = THIS;
|
||||||
|
|
||||||
this->unk_198(this, globalCtx);
|
this->unk_198(this, globalCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -997,6 +1035,7 @@ void func_80A3C498(Actor* this, GlobalContext* globalCtx, s32 flags) {
|
||||||
|
|
||||||
void func_80A3C4D4(Actor* thisx, GlobalContext* globalCtx) {
|
void func_80A3C4D4(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
EnGirlA* this = THIS;
|
EnGirlA* this = THIS;
|
||||||
|
|
||||||
Matrix_RotateY(((this->unk_1B8 * 360.0f) / 65536.0f) * 0.017453292f, MTXMODE_APPLY);
|
Matrix_RotateY(((this->unk_1B8 * 360.0f) / 65536.0f) * 0.017453292f, MTXMODE_APPLY);
|
||||||
if (this->unk_1D0 != NULL) {
|
if (this->unk_1D0 != NULL) {
|
||||||
this->unk_1D0(thisx, globalCtx, 0);
|
this->unk_1D0(thisx, globalCtx, 0);
|
||||||
|
|
|
@ -6,22 +6,26 @@
|
||||||
|
|
||||||
struct EnGirlA;
|
struct EnGirlA;
|
||||||
|
|
||||||
|
typedef void (*EnGirlAActionFunc)(struct EnGirlA*, GlobalContext*);
|
||||||
|
typedef void (*EnGirlA2Func)(GlobalContext*, struct EnGirlA*);
|
||||||
|
typedef void (*EnGirlA3Func)(Actor*, GlobalContext*, s32);
|
||||||
|
|
||||||
typedef struct EnGirlA {
|
typedef struct EnGirlA {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ SkelAnime skelAnime;
|
/* 0x014C */ SkelAnime skelAnime;
|
||||||
/* 0x0190 */ void (*actionFunc)(struct EnGirlA*, GlobalContext*);
|
/* 0x0190 */ EnGirlAActionFunc actionFunc;
|
||||||
/* 0x0194 */ s8 unk_194;
|
/* 0x0194 */ s8 unk_194;
|
||||||
/* 0x0195 */ s8 unk_195;
|
/* 0x0195 */ s8 unk_195;
|
||||||
/* 0x0196 */ s16 unk_196;
|
/* 0x0196 */ s16 unk_196;
|
||||||
/* 0x0198 */ void (*unk_198)(struct EnGirlA*, GlobalContext*);
|
/* 0x0198 */ EnGirlAActionFunc unk_198;
|
||||||
/* 0x019C */ s32 unk_19C;
|
/* 0x019C */ s32 unk_19C;
|
||||||
/* 0x01A0 */ s16 unk_1A0;
|
/* 0x01A0 */ s16 unk_1A0;
|
||||||
/* 0x01A2 */ s16 unk_1A2;
|
/* 0x01A2 */ s16 unk_1A2;
|
||||||
/* 0x01A4 */ s32 unk_1A4;
|
/* 0x01A4 */ s32 unk_1A4;
|
||||||
/* 0x01A8 */ s16 unk_1A8;
|
/* 0x01A8 */ s16 unk_1A8;
|
||||||
/* 0x01AA */ s16 unk_1AA;
|
/* 0x01AA */ s16 unk_1AA;
|
||||||
/* 0x01AC */ void (*unk_1AC)(GlobalContext*, struct EnGirlA*);
|
/* 0x01AC */ EnGirlA2Func unk_1AC;
|
||||||
/* 0x01B0 */ void (*unk_1B0)(GlobalContext*, struct EnGirlA*);
|
/* 0x01B0 */ EnGirlA2Func unk_1B0;
|
||||||
/* 0x01B4 */ s16 unk_1B4;
|
/* 0x01B4 */ s16 unk_1B4;
|
||||||
/* 0x01B6 */ s16 unk_1B6;
|
/* 0x01B6 */ s16 unk_1B6;
|
||||||
/* 0x01B8 */ s16 unk_1B8;
|
/* 0x01B8 */ s16 unk_1B8;
|
||||||
|
@ -33,7 +37,7 @@ typedef struct EnGirlA {
|
||||||
/* 0x01CA */ s16 unk_1CA;
|
/* 0x01CA */ s16 unk_1CA;
|
||||||
/* 0x01CC */ s16 unk_1CC;
|
/* 0x01CC */ s16 unk_1CC;
|
||||||
/* 0x01CE */ s16 unk_1CE;
|
/* 0x01CE */ s16 unk_1CE;
|
||||||
/* 0x01D0 */ void (*unk_1D0)(Actor*, GlobalContext*, s32);
|
/* 0x01D0 */ EnGirlA3Func unk_1D0;
|
||||||
} EnGirlA; // size = 0x01D4
|
} EnGirlA; // size = 0x01D4
|
||||||
|
|
||||||
extern const ActorInit En_Girla_InitVars;
|
extern const ActorInit En_Girla_InitVars;
|
||||||
|
|
Loading…
Add table
Reference in a new issue