mirror of https://github.com/zeldaret/tmc.git
Add DialogType and DialogFlagType enums
This commit is contained in:
parent
a957ee9580
commit
5347c5ddaf
|
@ -19,6 +19,38 @@
|
|||
|
||||
#include "structures.h"
|
||||
|
||||
typedef enum {
|
||||
DIALOG_ROOM_FLAG,
|
||||
DIALOG_LOCAL_FLAG,
|
||||
DIALOG_GLOBAL_FLAG,
|
||||
DIALOG_KINSTONE,
|
||||
DIALOG_INVENTORY,
|
||||
} DialogFlagType;
|
||||
|
||||
typedef enum {
|
||||
DIALOG_NONE,
|
||||
DIALOG_NORMAL,
|
||||
DIALOG_SET_FLAG,
|
||||
DIALOG_TOGGLE_FLAG,
|
||||
DIALOG_CHECK_FLAG,
|
||||
DIALOG_CALL_FUNC,
|
||||
DIALOG_MINISH,
|
||||
} DialogType;
|
||||
|
||||
typedef struct {
|
||||
u32 flag : 12;
|
||||
DialogFlagType flagType : 4;
|
||||
DialogType type : 4;
|
||||
u32 fromSelf : 1;
|
||||
union {
|
||||
struct {
|
||||
u16 a;
|
||||
u16 b;
|
||||
} indices;
|
||||
void (*func)(Entity* e);
|
||||
} data;
|
||||
} Dialog;
|
||||
|
||||
void sub_0806EC20(Entity* ent);
|
||||
void sub_0806EC38(void);
|
||||
u32 sub_0806ED78(Entity* ent);
|
||||
|
|
|
@ -175,20 +175,6 @@ typedef struct {
|
|||
} struct_02034480;
|
||||
extern struct_02034480 gUnk_02034480;
|
||||
|
||||
typedef struct {
|
||||
u32 flag : 12;
|
||||
u32 flagType : 4;
|
||||
u32 type : 4;
|
||||
u32 unk : 1;
|
||||
union {
|
||||
struct {
|
||||
u16 a;
|
||||
u16 b;
|
||||
} indices;
|
||||
void (*func)(Entity* e);
|
||||
} data;
|
||||
} Dialog;
|
||||
|
||||
extern u16 gBG0Buffer[0x400];
|
||||
extern u16 gBG1Buffer[0x400];
|
||||
extern u16 gBG2Buffer[0x400];
|
||||
|
|
|
@ -99,10 +99,16 @@ void sub_0806362C(Entity* this) {
|
|||
|
||||
void sub_080636D8(Entity* this) {
|
||||
static const Dialog gUnk_0810CAAC[] = {
|
||||
{ 0, 0, 1, 1, { 0, 0x2510 } }, { 0, 0, 1, 1, { 0, 0x2510 } }, { 5, 0, 3, 1, { 0x3424, 0x3423 } },
|
||||
{ 5, 0, 3, 1, { 0x3424, 0x3423 } }, { 5, 0, 3, 1, { 0x351f, 0x351e } }, { 5, 0, 3, 1, { 0x361e, 0x361d } },
|
||||
{ 5, 0, 3, 1, { 0x371f, 0x371e } }, { 5, 0, 3, 1, { 0x381f, 0x381e } }, { 5, 0, 3, 1, { 0x3919, 0x3918 } },
|
||||
{ 5, 0, 3, 1, { 0x3919, 0x3918 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x2510 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x2510 } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3424, 0x3423 } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3424, 0x3423 } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x351f, 0x351e } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x361e, 0x361d } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x371f, 0x371e } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x381f, 0x381e } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3919, 0x3918 } },
|
||||
{ 5, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3919, 0x3918 } },
|
||||
};
|
||||
|
||||
ShowNPCDialogue(this, &gUnk_0810CAAC[gSave.global_progress]);
|
||||
|
|
|
@ -82,7 +82,7 @@ void sub_080672C8(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_08067304(Entity* this) {
|
||||
static const Dialog dialog = { 0xb, 3, 4, 1, { 0x3642, 0x3641 } };
|
||||
static const Dialog dialog = { 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3642, 0x3641 } };
|
||||
ShowNPCDialogue(this, &dialog);
|
||||
}
|
||||
|
||||
|
|
|
@ -126,10 +126,16 @@ void sub_0806464C(Entity* this) {
|
|||
|
||||
void sub_08064688(Entity* this) {
|
||||
static const Dialog gUnk_0810F894[] = {
|
||||
{ 7, 0, 3, 1, { 0x3426, 0x3425 } }, { 7, 0, 3, 1, { 0x3426, 0x3425 } }, { 7, 0, 3, 1, { 0x3426, 0x3425 } },
|
||||
{ 7, 0, 3, 1, { 0x3426, 0x3425 } }, { 7, 0, 3, 1, { 0x3521, 0x3520 } }, { 0, 0, 1, 1, { 0, 0x361f } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3720 } }, { 0, 0, 1, 1, { 0, 0x3820 } }, { 0, 0, 1, 1, { 0, 0x3820 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3820 } },
|
||||
{ 7, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3426, 0x3425 } },
|
||||
{ 7, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3426, 0x3425 } },
|
||||
{ 7, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3426, 0x3425 } },
|
||||
{ 7, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3426, 0x3425 } },
|
||||
{ 7, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3521, 0x3520 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x361f } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3720 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3820 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3820 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3820 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_0810F894[gSave.global_progress]);
|
||||
}
|
||||
|
|
120
src/npc/cat.c
120
src/npc/cat.c
|
@ -35,66 +35,66 @@ extern Hitbox* gUnk_08111154[8];
|
|||
|
||||
void sub_08067790(Entity* this) {
|
||||
static const Dialog dialogs[][10] = {
|
||||
{ { 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, 6, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, 6, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, 6, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, 6, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, 6, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, 6, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, 6, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, 6, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, 6, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, 6, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, 6, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, 6, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, 6, 1, 0x4e17, 0x4e18 } },
|
||||
{ { 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, 6, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, 6, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, 6, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, 6, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, 6, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x4e17, 0x4e18 } },
|
||||
{ { 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3407, 0x3408 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3503, 0x3504 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3603, 0x3604 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3703, 0x3704 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3803, 0x3804 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 },
|
||||
{ 0, 0, DIALOG_MINISH, 1, 0x3902, 0x3903 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &dialogs[this->type][gSave.global_progress]);
|
||||
}
|
||||
|
|
|
@ -189,11 +189,11 @@ void sub_080691E0(Entity* ent) {
|
|||
|
||||
// Show dialogue
|
||||
void Cow_ShowDialogue(Entity* ent) {
|
||||
static const Dialog gUnk_08111938[] = { { 0x0, 0x0, 6, 1, { 0x2018, 0x3f34 } },
|
||||
{ 0x0, 0x0, 6, 1, { 0x2018, 0x3f35 } },
|
||||
{ 0x0, 0x0, 6, 1, { 0x2018, 0x3f36 } },
|
||||
{ 0x0, 0x0, 6, 1, { 0x2018, 0x3f37 } },
|
||||
{ 0x0, 0x0, 6, 1, { 0x2018, 0x3f38 } } };
|
||||
static const Dialog gUnk_08111938[] = { { 0x0, 0x0, DIALOG_MINISH, 1, { 0x2018, 0x3f34 } },
|
||||
{ 0x0, 0x0, DIALOG_MINISH, 1, { 0x2018, 0x3f35 } },
|
||||
{ 0x0, 0x0, DIALOG_MINISH, 1, { 0x2018, 0x3f36 } },
|
||||
{ 0x0, 0x0, DIALOG_MINISH, 1, { 0x2018, 0x3f37 } },
|
||||
{ 0x0, 0x0, DIALOG_MINISH, 1, { 0x2018, 0x3f38 } } };
|
||||
ShowNPCDialogue(ent, &gUnk_08111938[ent->type]);
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ void sub_08065A34(Entity* this) {
|
|||
|
||||
void sub_08065A50(Entity* this) {
|
||||
static const Dialog typeDialogs[] = {
|
||||
{ 0, 0, 6, 1, { 0x2017, 0x3f3c } },
|
||||
{ 0, 0, DIALOG_MINISH, 1, { 0x2017, 0x3f3c } },
|
||||
};
|
||||
ShowNPCDialogue(this, &typeDialogs[this->type]);
|
||||
}
|
||||
|
|
|
@ -65,8 +65,8 @@ void sub_0806BCD4(Entity* this) {
|
|||
|
||||
void sub_0806BCE8(Entity* this) {
|
||||
static const Dialog gUnk_08113158[] = {
|
||||
{ 0x29, 3, 4, 1, { 0x1a07, 0x1a02 } },
|
||||
{ 0x29, 3, 4, 1, { 0x1a11, 0x1a0d } },
|
||||
{ 0x29, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x1a07, 0x1a02 } },
|
||||
{ 0x29, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x1a11, 0x1a0d } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_08113158[this->type]);
|
||||
}
|
||||
|
|
|
@ -239,22 +239,22 @@ void sub_08065F20(Entity* this) {
|
|||
|
||||
void sub_08065F64(Entity* this) {
|
||||
static const Dialog dialogs[][8] = {
|
||||
{ { 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3f31 } } },
|
||||
{ { 4, 0, 3, 1, { 0x3417, 0x3416 } },
|
||||
{ 4, 0, 3, 1, { 0x3417, 0x3416 } },
|
||||
{ 4, 0, 3, 1, { 0x3513, 0x3512 } },
|
||||
{ 4, 0, 3, 1, { 0x3613, 0x3612 } },
|
||||
{ 4, 0, 3, 1, { 0x3713, 0x3712 } },
|
||||
{ 4, 0, 3, 1, { 0x3813, 0x3812 } },
|
||||
{ 4, 0, 3, 1, { 0x3912, 0x3911 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3A03 } } },
|
||||
{ { 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f31 } } },
|
||||
{ { 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3417, 0x3416 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3417, 0x3416 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3513, 0x3512 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3613, 0x3612 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3713, 0x3712 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3813, 0x3812 } },
|
||||
{ 4, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3912, 0x3911 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3A03 } } },
|
||||
};
|
||||
s32 tmp = gSave.global_progress - 2;
|
||||
if (tmp < 0) {
|
||||
|
|
|
@ -124,9 +124,12 @@ void sub_080694B0(Entity* this) {
|
|||
|
||||
void sub_080694D8(Entity* this) {
|
||||
static const Dialog gUnk_08111A94[] = {
|
||||
{ 0x2f, 3, 4, 1, { 0x3f13, 0x3f0e } }, { 0x2f, 3, 4, 1, { 0x3f14, 0x3f0f } },
|
||||
{ 0x2f, 3, 4, 1, { 0x3f15, 0x3f10 } }, { 0x2f, 3, 4, 1, { 0x3f16, 0x3f11 } },
|
||||
{ 0x2f, 3, 4, 1, { 0x3f17, 0x3f12 } }, { 0, 0, 1, 1, { 0, 0x3f18 } },
|
||||
{ 0x2f, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3f13, 0x3f0e } },
|
||||
{ 0x2f, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3f14, 0x3f0f } },
|
||||
{ 0x2f, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3f15, 0x3f10 } },
|
||||
{ 0x2f, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3f16, 0x3f11 } },
|
||||
{ 0x2f, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x3f17, 0x3f12 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3f18 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_08111A94[this->type]);
|
||||
}
|
||||
|
|
|
@ -55,12 +55,14 @@ void HurdyGurdyMan_Head(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0806E418(Entity* this) {
|
||||
static const Dialog dialogs[] = {
|
||||
{ 0x59, 0x1, 3, 1, { 0x4f52, 0x4f51 } }, { 0x59, 0x1, 3, 1, { 0x4f52, 0x4f51 } },
|
||||
{ 0x59, 0x1, 3, 1, { 0x4f54, 0x4f53 } }, { 0x59, 0x1, 3, 1, { 0x4f56, 0x4f55 } },
|
||||
{ 0x59, 0x1, 3, 1, { 0x4f58, 0x4f57 } }, { 0x59, 0x1, 3, 1, { 0x4f5a, 0x4f59 } },
|
||||
{ 0x59, 0x1, 3, 1, { 0x4f5c, 0x4f5b } }, { 0x59, 0x1, 3, 1, { 0x4f5e, 0x4f5d } }
|
||||
};
|
||||
static const Dialog dialogs[] = { { 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f52, 0x4f51 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f52, 0x4f51 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f54, 0x4f53 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f56, 0x4f55 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f58, 0x4f57 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f5a, 0x4f59 } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f5c, 0x4f5b } },
|
||||
{ 0x59, DIALOG_LOCAL_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f5e, 0x4f5d } } };
|
||||
s32 tmp = gSave.global_progress - 2;
|
||||
if (tmp < 0) {
|
||||
tmp = 0;
|
||||
|
|
|
@ -78,10 +78,16 @@ void sub_0806C4A8(Entity* this, ScriptExecutionContext* context) {
|
|||
|
||||
void sub_0806C4DC(Entity* this) {
|
||||
static const Dialog dialogs[] = {
|
||||
{ 1, 0, 3, 1, { 0x4f03, 0x4f02 } }, { 1, 0, 3, 1, { 0x4f03, 0x4f02 } }, { 1, 0, 3, 1, { 0x4f03, 0x4f02 } },
|
||||
{ 1, 0, 3, 1, { 0x4f03, 0x4f02 } }, { 1, 0, 3, 1, { 0x4f0d, 0x4f0c } }, { 1, 0, 3, 1, { 0x4f1b, 0x4f1a } },
|
||||
{ 1, 0, 3, 1, { 0x4f27, 0x4f26 } }, { 1, 0, 3, 1, { 0x4f33, 0x4f32 } }, { 1, 0, 3, 1, { 0x4f3f, 0x4f3e } },
|
||||
{ 1, 0, 3, 1, { 0x4f49, 0x4f48 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f03, 0x4f02 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f03, 0x4f02 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f03, 0x4f02 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f03, 0x4f02 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f0d, 0x4f0c } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f1b, 0x4f1a } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f27, 0x4f26 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f33, 0x4f32 } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f3f, 0x4f3e } },
|
||||
{ 1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f49, 0x4f48 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &dialogs[gSave.global_progress]);
|
||||
}
|
||||
|
|
|
@ -50,11 +50,21 @@ void sub_0806CE5C(Entity* this) {
|
|||
|
||||
void sub_0806CE80(Entity* this) {
|
||||
static const Dialog dialogs[] = {
|
||||
{ 0x89, 1, 2, 1, 0x4c0d, 0x4c01 }, { 0x89, 1, 2, 1, 0x4c0d, 0x4c01 }, { 0x89, 1, 2, 1, 0x4c0d, 0x4c01 },
|
||||
{ 0x89, 1, 2, 1, 0x4c0d, 0x4c01 }, { 0, 0, 1, 1, 0, 0x4c0e }, { 0, 0, 1, 1, 0, 0x4c0e },
|
||||
{ 0, 0, 1, 1, 0, 0x4c0f }, { 0, 0, 1, 1, 0, 0x4c10 }, { 0, 0, 1, 1, 0, 0x4c11 },
|
||||
{ 0, 0, 1, 1, 0, 0x4c12 }, { 0, 0, 1, 1, 0, 0x4c14 }, { 0, 0, 1, 1, 0, 0x4c02 },
|
||||
{ 0, 0, 1, 1, 0, 0x4c0c }, { 0, 0, 1, 1, 0, 0x4c03 }, { 0, 0, 1, 1, 0, 0x4c04 },
|
||||
{ 0x89, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, 0x4c0d, 0x4c01 },
|
||||
{ 0x89, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, 0x4c0d, 0x4c01 },
|
||||
{ 0x89, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, 0x4c0d, 0x4c01 },
|
||||
{ 0x89, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, 0x4c0d, 0x4c01 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c0e },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c0e },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c0f },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c10 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c11 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c12 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c14 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c02 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c0c },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c03 },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, 0, 0x4c04 },
|
||||
};
|
||||
u32 v;
|
||||
u32 v2;
|
||||
|
|
|
@ -68,11 +68,16 @@ void sub_080670B4(Entity* this) {
|
|||
|
||||
void sub_080670E4(Entity* this) {
|
||||
static const Dialog dialogs[] = {
|
||||
{ 0, 0, 3, 1, { 0x4101, 0x4100 } }, { 0, 0, 3, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, 0, 3, 1, { 0x4101, 0x4100 } }, { 0, 0, 3, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, 0, 3, 1, { 0x4101, 0x4100 } }, { 0xb, 3, 4, 1, { 0x4104, 0x4102 } },
|
||||
{ 0xb, 3, 4, 1, { 0x4104, 0x4103 } }, { 0xb, 3, 4, 1, { 0x4104, 0x4103 } },
|
||||
{ 0xb, 3, 4, 1, { 0x4104, 0x4105 } }, { 0xb, 3, 4, 1, { 0x4104, 0x4105 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4101, 0x4100 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4101, 0x4100 } },
|
||||
{ 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x4104, 0x4102 } },
|
||||
{ 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x4104, 0x4103 } },
|
||||
{ 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x4104, 0x4103 } },
|
||||
{ 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x4104, 0x4105 } },
|
||||
{ 0xb, DIALOG_KINSTONE, DIALOG_CHECK_FLAG, 1, { 0x4104, 0x4105 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &dialogs[gSave.global_progress]);
|
||||
}
|
||||
|
|
|
@ -90,11 +90,11 @@ void sub_0806B41C(Entity* this) {
|
|||
|
||||
void sub_0806B4F0(Entity* this) {
|
||||
static const Dialog gUnk_08112E2C[5] = {
|
||||
{ 0, 0, 5, 0, { .func = sub_0806B504 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x2312 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x2311 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x2519 } },
|
||||
{ 0, 0, 5, 0, { .func = sub_0806B540 } },
|
||||
{ 0, 0, DIALOG_CALL_FUNC, 0, { .func = sub_0806B504 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x2312 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x2311 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x2519 } },
|
||||
{ 0, 0, DIALOG_CALL_FUNC, 0, { .func = sub_0806B540 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_08112E2C[this->type2]);
|
||||
}
|
||||
|
|
|
@ -136,10 +136,16 @@ void sub_08063C74(void) {
|
|||
|
||||
void sub_08063C90(Entity* this) {
|
||||
static const Dialog gUnk_0810CE04[] = {
|
||||
{ 6, 0, 3, 1, { 0x3422, 0x3421 } }, { 6, 0, 3, 1, { 0x3422, 0x3421 } }, { 6, 0, 3, 1, { 0x3422, 0x3421 } },
|
||||
{ 6, 0, 3, 1, { 0x3422, 0x3421 } }, { 6, 0, 3, 1, { 0x351d, 0x351c } }, { 6, 0, 3, 1, { 0x361c, 0x361b } },
|
||||
{ 6, 0, 3, 1, { 0x371d, 0x371c } }, { 6, 0, 3, 1, { 0x381d, 0x381c } }, { 6, 0, 3, 1, { 0x3917, 0x3916 } },
|
||||
{ 6, 0, 3, 1, { 0x3917, 0x3916 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3422, 0x3421 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3422, 0x3421 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3422, 0x3421 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3422, 0x3421 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x351d, 0x351c } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x361c, 0x361b } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x371d, 0x371c } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x381d, 0x381c } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3917, 0x3916 } },
|
||||
{ 6, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3917, 0x3916 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_0810CE04[gSave.global_progress]);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "save.h"
|
||||
#include "npc.h"
|
||||
#include "functions.h"
|
||||
#include "item.h"
|
||||
|
||||
void SmallTownMinish(Entity* this) {
|
||||
static const Hitbox gUnk_081142FC = { -2, 1, { 0, 0, 0, 0 }, 6, 6 };
|
||||
|
@ -25,62 +26,64 @@ void SmallTownMinish(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0806E2DC(Entity* this) {
|
||||
static const Dialog gUnk_08114308[][8] = { { { 0x0, 0x0, 1, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3638 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3737 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3839 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392c } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3639 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3738 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x383a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392d } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x363a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3739 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x383b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392e } } },
|
||||
{ { 0x45, 0x4, 4, 1, { 0x363c, 0x363b } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x363c, 0x363b } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x363c, 0x363b } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x363c, 0x363b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x373a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x383c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x392f } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x383d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3930 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x3930 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e1c } } },
|
||||
{ { 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ 0x45, 0x4, 4, 1, { 0x4e1e, 0x4e1d } } } };
|
||||
static const Dialog gUnk_08114308[][8] = {
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3539 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3638 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3737 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3839 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392c } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3639 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3738 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x383a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392d } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x353b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x363a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3739 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x383b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392e } } },
|
||||
{ { ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x363c, 0x363b } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x363c, 0x363b } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x363c, 0x363b } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x363c, 0x363b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x383c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x392f } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x373b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x383d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3930 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x3930 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e1c } } },
|
||||
{ { ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } },
|
||||
{ ITEM_POWER_BRACELETS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4e1e, 0x4e1d } } }
|
||||
};
|
||||
s32 dialog = gSave.global_progress - 2;
|
||||
if (dialog < 0) {
|
||||
dialog = 0;
|
||||
|
|
|
@ -144,10 +144,14 @@ void sub_08066218(Entity* this) {
|
|||
|
||||
void sub_0806622C(Entity* this) {
|
||||
static const Dialog dialogs[] = {
|
||||
{ 0x15, 2, 4, 1, { 0x3201, 0x100e } }, { 0x15, 2, 4, 1, { 0x3201, 0x100e } },
|
||||
{ 0x15, 2, 4, 1, { 0x3202, 0x100e } }, { 0x15, 2, 4, 1, { 0x3203, 0x100e } },
|
||||
{ 0x15, 2, 4, 1, { 0x3204, 0x100e } }, { 0x15, 2, 4, 1, { 0x3205, 0x100e } },
|
||||
{ 0x15, 2, 4, 1, { 0x3206, 0x100e } }, { 0x15, 2, 4, 1, { 0x3206, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3201, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3201, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3202, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3203, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3204, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3205, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3206, 0x100e } },
|
||||
{ TABIDACHI, DIALOG_GLOBAL_FLAG, DIALOG_CHECK_FLAG, 1, { 0x3206, 0x100e } },
|
||||
};
|
||||
u32 index;
|
||||
|
||||
|
|
|
@ -80,8 +80,8 @@ void sub_08062CA4(Entity* ent) {
|
|||
|
||||
void sub_08062CBC(Entity* ent) {
|
||||
static const Dialog gUnk_0810C2E4[2] = {
|
||||
{ 0, 0, 0x3, 1, { 0x4001, 0x4000 } },
|
||||
{ 0, 0, 0x3, 1, { 0x4003, 0x4002 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4001, 0x4000 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4003, 0x4002 } },
|
||||
};
|
||||
u32 uVar1;
|
||||
if (CheckKinstoneFused(44)) {
|
||||
|
|
|
@ -72,22 +72,22 @@ void Teachers_Head(Entity* this) {
|
|||
|
||||
void sub_0806C70C(Entity* this) {
|
||||
static const Dialog gUnk_08113930[][8] = {
|
||||
{ { 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e09 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e09 } } },
|
||||
{ { 0xa, 0, 3, 1, { 0x3435, 0x3434 } },
|
||||
{ 0xa, 0, 3, 1, { 0x3435, 0x3434 } },
|
||||
{ 0xa, 0, 3, 1, { 0x3528, 0x3527 } },
|
||||
{ 0xa, 0, 3, 1, { 0x3625, 0x3624 } },
|
||||
{ 0, 0, 3, 1, { 0x3e03, 0x3e02 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e06 } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e0a } },
|
||||
{ 0, 0, 1, 1, { 0, 0x3e0a } } },
|
||||
{ { 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e01 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e09 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e09 } } },
|
||||
{ { 0xa, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3435, 0x3434 } },
|
||||
{ 0xa, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3435, 0x3434 } },
|
||||
{ 0xa, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3528, 0x3527 } },
|
||||
{ 0xa, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3625, 0x3624 } },
|
||||
{ 0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x3e03, 0x3e02 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e06 } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e0a } },
|
||||
{ 0, 0, DIALOG_NORMAL, 1, { 0, 0x3e0a } } },
|
||||
};
|
||||
int offset;
|
||||
|
||||
|
|
|
@ -354,166 +354,168 @@ void sub_0806AFA0(Entity* this) {
|
|||
void sub_0806AFBC(Entity* this, ScriptExecutionContext* context) {
|
||||
//! @bug sub_0806B004 uses context but ShowNPCDialogue doesn't pass it.
|
||||
// In fact r1 contains sub_0806B004's address.
|
||||
static const Dialog dialogs[][8] = { { { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B004 } } },
|
||||
{ { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B064 } } },
|
||||
{ { 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b0a, 0x4b04 } } },
|
||||
{ { 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b07, 0x4b01 } } },
|
||||
{ { 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4b08, 0x4b02 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4c0a, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c05 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x46, 0x4, 4, 1, { 0x4c0b, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4c06 } } },
|
||||
{ { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } } },
|
||||
{ { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B098 } } },
|
||||
{ { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B0E0 } } },
|
||||
{ { 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, 5, 0, { .func = (EntityActionPtr)sub_0806B134 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e30 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e31 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e32 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e33 } } },
|
||||
{ { 0x0, 0x0, 3, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f22 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f2e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3a } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3a } } },
|
||||
{ { 0x1, 0x0, 3, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x1, 0x0, 3, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x1, 0x0, 3, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f23 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f2f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3b } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4f3b } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b11 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b11 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b15 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b15 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b12 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b12 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b16 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b16 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b13 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b13 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b17 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b17 } } },
|
||||
{ { 0x0, 0x0, 1, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b14 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b14 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b18 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4b18 } } },
|
||||
{ { 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e26, 0x4e25 } } },
|
||||
{ { 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, 0x1, 2, 1, { 0x4e28, 0x4e27 } } } };
|
||||
static const Dialog dialogs[][8] = {
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B004 } } },
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B064 } } },
|
||||
{ { ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b0a, 0x4b04 } } },
|
||||
{ { ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b07, 0x4b01 } } },
|
||||
{ { ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4b08, 0x4b02 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4c0a, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c05 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ ITEM_FLIPPERS, DIALOG_INVENTORY, DIALOG_CHECK_FLAG, 1, { 0x4c0b, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4c06 } } },
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } } },
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B098 } } },
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B0E0 } } },
|
||||
{ { 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } },
|
||||
{ 0x0, 0x0, DIALOG_CALL_FUNC, 0, { .func = (EntityActionPtr)sub_0806B134 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e2f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e30 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e31 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e32 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e33 } } },
|
||||
{ { 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f15, 0x4f14 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f22 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f2e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3a } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3a } } },
|
||||
{ { 0x1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x1, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4f17, 0x4f16 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f23 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f2f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3b } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4f3b } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0d } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b11 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b11 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b15 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b15 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0e } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b12 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b12 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b16 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b16 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b0f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b13 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b13 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b17 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b17 } } },
|
||||
{ { 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b10 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b14 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b14 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b18 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4b18 } } },
|
||||
{ { 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e26, 0x4e25 } } },
|
||||
{ { 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } },
|
||||
{ 0x9c, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x4e28, 0x4e27 } } }
|
||||
};
|
||||
int idx = gSave.global_progress - 2;
|
||||
if (idx < 0)
|
||||
idx = 0;
|
||||
|
|
|
@ -128,11 +128,16 @@ void sub_0806C90C(Entity* this, ScriptExecutionContext* context) {
|
|||
|
||||
void sub_0806C928(Entity* this, ScriptExecutionContext* context) {
|
||||
static const Dialog gUnk_08113ABC[] = {
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e20, 0x4e1f } }, { 0x0, 0x0, 3, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, 0x0, 3, 1, { 0x4e20, 0x4e1f } }, { 0x0, 0x0, 3, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e21 } }, { 0x0, 0x0, 1, 1, { 0x0, 0x4e22 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e23 } }, { 0x0, 0x0, 1, 1, { 0x0, 0x4e23 } },
|
||||
{ 0x0, 0x0, 1, 1, { 0x0, 0x4e24 } }, { 0x0, 0x0, 1, 1, { 0x0, 0x4e24 } }
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, DIALOG_ROOM_FLAG, DIALOG_TOGGLE_FLAG, 1, { 0x4e20, 0x4e1f } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e21 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e22 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e23 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e23 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e24 } },
|
||||
{ 0x0, 0x0, DIALOG_NORMAL, 1, { 0x0, 0x4e24 } },
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_08113ABC[gSave.global_progress]);
|
||||
}
|
||||
|
@ -223,40 +228,13 @@ void sub_0806CA2C(Entity* this, ScriptExecutionContext* context) {
|
|||
}
|
||||
|
||||
void sub_0806CA3C(Entity* this, ScriptExecutionContext* context) {
|
||||
static const Dialog gUnk_08113B28 = {
|
||||
#if defined(DEMO_JP) || defined(EU) || defined(JP)
|
||||
0xf5,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
{ 0x2f19, 0x2f16 }
|
||||
#else
|
||||
0xf8,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
{ 0x2f19, 0x2f16 }
|
||||
#endif
|
||||
|
||||
};
|
||||
static const Dialog gUnk_08113B28 = { KUMOUE_GIRL_TALK, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x2f19, 0x2f16 } };
|
||||
ShowNPCDialogue(this, &gUnk_08113B28);
|
||||
}
|
||||
|
||||
void sub_0806CA4C(Entity* this, ScriptExecutionContext* context) {
|
||||
static const Dialog gUnk_08113B30 = {
|
||||
#if defined(DEMO_JP) || defined(EU) || defined(JP)
|
||||
0xf4,
|
||||
0x1,
|
||||
2,
|
||||
1,
|
||||
{ 0x2f18, 0x2f17 }
|
||||
#else
|
||||
0xf7,
|
||||
0x1,
|
||||
2,
|
||||
1,
|
||||
{ 0x2f18, 0x2f17 }
|
||||
#endif
|
||||
KUMOUE_UNCLE_TALK, DIALOG_LOCAL_FLAG, DIALOG_SET_FLAG, 1, { 0x2f18, 0x2f17 }
|
||||
};
|
||||
ShowNPCDialogue(this, &gUnk_08113B30);
|
||||
}
|
||||
|
|
106
src/npcUtils.c
106
src/npcUtils.c
|
@ -337,122 +337,128 @@ void sub_0806F188(Entity* ent) {
|
|||
}
|
||||
|
||||
void ShowNPCDialogue(Entity* ent, const Dialog* dia) {
|
||||
u32 uVar1;
|
||||
u32 fromSelf;
|
||||
s32 temp;
|
||||
u32 uVar2;
|
||||
u32 uVar3;
|
||||
u32 flagType;
|
||||
s32 uVar4;
|
||||
int iVar5;
|
||||
bool32 isFlagSet;
|
||||
|
||||
temp = *(((u16*)dia) + 1);
|
||||
uVar1 = (temp >> 4) & 1;
|
||||
fromSelf = (temp >> 4) & 1;
|
||||
temp &= 0xf;
|
||||
switch (temp) {
|
||||
case 2:
|
||||
case DIALOG_SET_FLAG:
|
||||
uVar3 = (int)*(u32*)dia;
|
||||
temp = (s32)uVar3 >> 0xc & 0xf;
|
||||
uVar3 = uVar3 & 0xfff;
|
||||
iVar5 = 0;
|
||||
isFlagSet = FALSE;
|
||||
switch (temp) {
|
||||
case 0:
|
||||
iVar5 = CheckRoomFlag(uVar3);
|
||||
_SetRoomFlag:
|
||||
case DIALOG_ROOM_FLAG:
|
||||
isFlagSet = CheckRoomFlag(uVar3);
|
||||
SetRoomFlag(uVar3);
|
||||
break;
|
||||
case 1:
|
||||
iVar5 = CheckLocalFlag(uVar3);
|
||||
_SetLocalFlag:
|
||||
case DIALOG_LOCAL_FLAG:
|
||||
isFlagSet = CheckLocalFlag(uVar3);
|
||||
SetLocalFlag(uVar3);
|
||||
break;
|
||||
case 2:
|
||||
iVar5 = CheckGlobalFlag(uVar3);
|
||||
case DIALOG_GLOBAL_FLAG:
|
||||
isFlagSet = CheckGlobalFlag(uVar3);
|
||||
SetGlobalFlag(uVar3);
|
||||
break;
|
||||
}
|
||||
_check:
|
||||
if (iVar5 == 0) {
|
||||
if (!isFlagSet) {
|
||||
uVar2 = dia->data.indices.b;
|
||||
} else {
|
||||
uVar2 = dia->data.indices.a;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case DIALOG_TOGGLE_FLAG:
|
||||
uVar3 = (int)*(u32*)dia;
|
||||
uVar4 = (s32)uVar3 >> 0xc & 0xf;
|
||||
uVar3 = uVar3 & 0xfff;
|
||||
iVar5 = 0;
|
||||
isFlagSet = 0;
|
||||
switch (uVar4) {
|
||||
case 0:
|
||||
iVar5 = CheckRoomFlag(uVar3);
|
||||
if (iVar5 == 0) {
|
||||
goto _SetRoomFlag;
|
||||
case DIALOG_ROOM_FLAG:
|
||||
isFlagSet = CheckRoomFlag(uVar3);
|
||||
if (!isFlagSet) {
|
||||
SetRoomFlag(uVar3);
|
||||
} else {
|
||||
ClearRoomFlag(uVar3);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
iVar5 = CheckLocalFlag(uVar3);
|
||||
if (iVar5 == 0) {
|
||||
goto _SetLocalFlag;
|
||||
case DIALOG_LOCAL_FLAG:
|
||||
isFlagSet = CheckLocalFlag(uVar3);
|
||||
if (!isFlagSet) {
|
||||
SetLocalFlag(uVar3);
|
||||
} else {
|
||||
ClearLocalFlag(uVar3);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
iVar5 = CheckGlobalFlag(uVar3);
|
||||
if (iVar5 == 0) {
|
||||
case DIALOG_GLOBAL_FLAG:
|
||||
isFlagSet = CheckGlobalFlag(uVar3);
|
||||
if (!isFlagSet) {
|
||||
SetGlobalFlag(uVar3);
|
||||
} else {
|
||||
ClearGlobalFlag(uVar3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
goto _check;
|
||||
case 4:
|
||||
if (!isFlagSet) {
|
||||
uVar2 = dia->data.indices.b;
|
||||
} else {
|
||||
uVar2 = dia->data.indices.a;
|
||||
}
|
||||
break;
|
||||
case DIALOG_CHECK_FLAG:
|
||||
uVar3 = (int)*(u32*)dia;
|
||||
uVar4 = (s32)uVar3 >> 0xc & 0xf;
|
||||
uVar3 = uVar3 & 0xfff;
|
||||
iVar5 = 0;
|
||||
isFlagSet = FALSE;
|
||||
{
|
||||
u32 local;
|
||||
bool32 local;
|
||||
switch (uVar4) {
|
||||
case 0:
|
||||
local = CheckRoomFlag(uVar3);
|
||||
case DIALOG_ROOM_FLAG:
|
||||
isFlagSet = CheckRoomFlag(uVar3);
|
||||
break;
|
||||
case 1:
|
||||
local = CheckLocalFlag(uVar3);
|
||||
case DIALOG_LOCAL_FLAG:
|
||||
isFlagSet = CheckLocalFlag(uVar3);
|
||||
break;
|
||||
case 2:
|
||||
local = CheckGlobalFlag(uVar3);
|
||||
case DIALOG_GLOBAL_FLAG:
|
||||
isFlagSet = CheckGlobalFlag(uVar3);
|
||||
break;
|
||||
case 3:
|
||||
local = CheckKinstoneFused(uVar3);
|
||||
case DIALOG_KINSTONE:
|
||||
isFlagSet = CheckKinstoneFused(uVar3);
|
||||
break;
|
||||
case 4:
|
||||
case DIALOG_INVENTORY:
|
||||
local = GetInventoryValue(uVar3);
|
||||
if (local != 0) {
|
||||
local = 1;
|
||||
}
|
||||
isFlagSet = local;
|
||||
break;
|
||||
default:
|
||||
goto _check;
|
||||
}
|
||||
iVar5 = local;
|
||||
}
|
||||
goto _check;
|
||||
case 5:
|
||||
if (!isFlagSet) {
|
||||
uVar2 = dia->data.indices.b;
|
||||
} else {
|
||||
uVar2 = dia->data.indices.a;
|
||||
}
|
||||
break;
|
||||
case DIALOG_CALL_FUNC:
|
||||
if (dia->data.func != 0) {
|
||||
dia->data.func(ent);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
case 0:
|
||||
case DIALOG_NONE:
|
||||
uVar2 = 0;
|
||||
break;
|
||||
case 1:
|
||||
case DIALOG_NORMAL:
|
||||
uVar2 = dia->data.indices.b;
|
||||
break;
|
||||
case 6:
|
||||
case DIALOG_MINISH:
|
||||
if ((gPlayerState.flags & PL_MINISH) != 0) {
|
||||
uVar2 = dia->data.indices.b;
|
||||
} else {
|
||||
|
@ -461,7 +467,7 @@ void ShowNPCDialogue(Entity* ent, const Dialog* dia) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (uVar1 != 0) {
|
||||
if (fromSelf) {
|
||||
MessageNoOverlap(uVar2, ent);
|
||||
} else {
|
||||
MessageFromTarget(uVar2);
|
||||
|
|
Loading…
Reference in New Issue