z_msgevent

This commit is contained in:
RevoSucks
2023-10-31 20:52:55 -04:00
46 changed files with 5449 additions and 710 deletions
+162 -54
View File
@@ -591,59 +591,167 @@ void ZeldaArena_GetSizes(size_t* outMaxFree, size_t* outFree, size_t* outAlloc);
s32 ZeldaArena_Check(void);
void ZeldaArena_Init(void* start, size_t size);
void ZeldaArena_Cleanup(void);
u8 ZeldaArena_IsInitialized(void);
// void func_8010A760(void);
// void func_8010A7CC(void);
// void func_8010A814(void);
// void func_8010A85C(void);
// void func_8010A8A4(void);
// void func_8010A8EC(void);
// void func_8010A990(void);
// void func_8010AA54(void);
// void func_8010AB30(void);
// void func_8010AB94(void);
// void func_8010AC00(void);
// void func_8010AD24(void);
// void func_8010ADD4(void);
// void func_8010AE48(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// UNK_TYPE4 func_8010AECC(UNK_TYPE4 param_1, s32 param_2, s32* param_3);
// void func_8010AF20(void);
// void func_8010AF6C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_8010AF94(void);
// void func_8010AFE0(void);
// void func_8010B010(void);
// void func_8010B06C(void);
// void func_8010B0B4(void);
// void func_8010B0DC(void);
// void func_8010B108(void);
// void func_8010B140(void);
// void func_8010B180(void);
// void func_8010B1BC(void);
// void func_8010B22C(void);
// void func_8010B284(void);
// void func_8010B2C0(void);
// void func_8010B300(void);
// void func_8010B434(void);
// void func_8010B4A4(void);
// void func_8010B520(void);
// void func_8010B664(void);
// void func_8010B7A8(void);
// void func_8010B828(void);
// void func_8010B878(void);
// void func_8010B8E4(void);
// void func_8010BB0C(void);
// void func_8010BB6C(void);
// void func_8010BBCC(void);
// void func_8010BC28(void);
// void func_8010BC7C(void);
// void func_8010BD48(void);
// void func_8010BD90(void);
// void func_8010BDDC(void);
// void func_8010BE78(void);
// void func_8010BEBC(void);
// void func_8010BEF0(void);
// void func_8010BF24(void);
s32 func_8010BF58(Actor* actor, PlayState* play, void* param_3, UNK_PTR param_4, s32* param_5);
u8 ZeldaArena_IsInitialized();
// void func_80102E40(void);
// void func_80102E90(void);
// void func_80102EA4(void);
void func_80102EB4(u32 param_1);
void func_80102ED0(u32 param_1);
s32 func_80102EF0(PlayState* play);
// void func_80102F9C(void);
// void func_80103090(void);
// void func_801030B4(void);
// void func_801030F4(void);
// void func_801031D0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_801039EC(void);
// void func_80103A10(void);
// void func_80103A58(void);
// void func_8010439C(void);
// void func_801045AC(void);
// void func_80104AE8(void);
// void func_80104C80(void);
void func_80104CF4(PlayState* play);
// void func_80104F34(void);
s32 func_80105294(void);
s16 func_80105318(void);
// void func_80105328(void);
// void func_8010534C(void);
void func_8010549C(PlayState* play, void* segmentAddress);
void func_8010565C(PlayState* play, u8 num, void* segmentAddress);
void func_80105818(PlayState* play, u32 uParm2, TransitionActorEntry* puParm3);
void func_80105A40(PlayState* play);
void func_80105B34(PlayState* play);
void func_80105C40(s16 arg0);
// void func_80105FE0(void);
// void func_80106408(void);
// void func_80106450(void);
// void func_801064CC(void);
s32 func_80106530(PlayState* play);
// void func_8010657C(void);
void func_80106644(PlayState* play, s16 arg1, s16 arg2, s16 arg3);
// void func_8010683C(void);
// void func_801068B4(void);
// void func_801068D8(void);
void* func_801068FC(PlayState* play, void* arg1, size_t size);
// void func_80106BEC(void);
// void func_80106D08(void);
// void func_80106D5C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_80107B78(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80108124(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80108558(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_80108A10(void);
// void func_80108A64(void);
void func_80108AF8(PlayState* play);
s32 func_801090B0(s32 arg0);
s32 func_80109124(s16 arg0);
void func_801091F0(PlayState* play);
void func_80109428(PlayState* play);
// void func_801094A0(void);
// void func_801094C8(void);
// void func_801094F8(void);
// void func_80109528(void);
// void func_8010954C(void);
// void func_8010956C(void);
// void func_8010958C(void);
// void func_801095AC(void);
// void func_801095DC(void);
// void func_8010960C(void);
// void func_80109630(void);
// void func_80109650(void);
// void func_80109670(void);
// void func_801096D4(void);
// void func_80109714(void);
// void func_80109754(void);
// void func_801097C8(void);
// void func_8010983C(void);
// void func_801098A0(void);
// void func_80109908(void);
// UNK_TYPE4 func_80109964(s32 param_1);
// void func_8010997C(void);
// void func_801099AC(void);
// void func_801099DC(void);
// void func_80109A00(void);
// void func_80109A20(void);
// void func_80109A40(void);
// void func_80109A98(void);
// void func_80109AD8(void);
// void func_80109B38(void);
// void func_80109BA0(void);
// void func_80109BF4(void);
// void func_80109C38(void);
// void func_80109CBC(void);
// void func_80109D40(void);
// void func_80109DD8(void);
// void func_80109E70(void);
// void func_80109EF8(void);
// void func_80109F78(void);
s32 Map_GetDungeonOrBossAreaIndex(PlayState* play);
s32 Map_IsInDungeonOrBossArea(PlayState* play);
s32 func_8010A0A4(PlayState* play);
// void Map_GetDungeonAreaIndex(PlayState* play);
// void Map_IsInDungeonArea(PlayState* play);
// void Map_GetBossAreaIndex(PlayState* play);
// void Map_IsInBossArea(PlayState* play);
// void func_8010A238(PlayState* play);
// void func_8010A2AC(PlayState* play);
void Minimap_SavePlayerRoomInitInfo(PlayState* play);
void Map_InitRoomData(PlayState* play, s16 room);
void Map_Destroy(PlayState* play);
void Map_Init(PlayState* play);
void Minimap_Draw(PlayState* play);
void Map_Update(PlayState* play);
// void MsgEvent_Cmd00(void);
// void MsgEvent_Cmd01(void);
// void MsgEvent_Cmd02(void);
// void MsgEvent_Cmd03(void);
// void MsgEvent_Cmd04(void);
// void MsgEvent_Cmd05(void);
// void MsgEvent_Cmd06(void);
// void MsgEvent_Cmd07(void);
// void MsgEvent_Cmd08(void);
// void MsgEvent_Cmd09(void);
// void MsgEvent_Cmd10(void);
// void MsgEvent_Cmd11(void);
// void MsgEvent_Cmd12(void);
// void MsgEvent_Cmd13(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// UNK_TYPE4 MsgEvent_Cmd14(UNK_TYPE4 param_1, s32 param_2, s32* param_3);
// void MsgEvent_Cmd15(void);
// void MsgEvent_Cmd16(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void MsgEvent_Cmd17(void);
// void MsgEvent_Cmd18(void);
// void MsgEvent_Cmd19(void);
// void MsgEvent_Cmd20(void);
// void MsgEvent_Cmd21(void);
// void MsgEvent_Cmd22(void);
// void MsgEvent_Cmd23(void);
// void MsgEvent_Cmd24(void);
// void MsgEvent_Cmd25(void);
// void MsgEvent_Cmd26(void);
// void MsgEvent_Cmd27(void);
// void MsgEvent_Cmd28(void);
// void MsgEvent_Cmd29(void);
// void MsgEvent_Cmd30(void);
// void MsgEvent_Cmd31(void);
// void MsgEvent_Cmd32(void);
// void MsgEvent_Cmd33(void);
// void MsgEvent_Cmd34(void);
// void MsgEvent_Cmd35(void);
// void MsgEvent_Cmd36(void);
// void MsgEvent_Cmd37(void);
// void MsgEvent_Cmd38(void);
// void MsgEvent_Cmd39(void);
// void MsgEvent_Cmd40(void);
// void MsgEvent_Cmd41(void);
// void MsgEvent_Cmd42(void);
// void MsgEvent_Cmd43(void);
// void MsgEvent_Cmd44(void);
// void MsgEvent_Cmd45(void);
// void MsgEvent_Cmd46(void);
// void MsgEvent_Cmd47(void);
// void MsgEvent_Cmd48(void);
// void MsgEvent_Cmd49(void);
// void MsgEvent_Cmd50(void);
s32 MsgEvent_RunScript(Actor* actor, PlayState* play, MsgScript* script, MsgEventCallback callback, s32* pos);
void Nmi_Init(void);
void Nmi_SetPrenmiStart(void);
// s32 Nmi_GetPrenmiHasStarted(void);
@@ -712,7 +820,7 @@ void func_80123E90(PlayState* play, Actor* actor);
s32 func_80123F2C(PlayState* play, s32 ammo);
s32 Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 yRange);
u8 Player_GetStrength(void);
u8 Player_GetMask(PlayState* play);
s32 Player_GetMask(PlayState* play);
void Player_RemoveMask(PlayState* play);
s32 Player_HasMirrorShieldEquipped(PlayState* play);
s32 Player_IsHoldingMirrorShield(PlayState* play);
+55
View File
@@ -102,6 +102,61 @@ extern u8 kanfontOrdering[92];
// extern actor_init_var_func sInitChainHandlers[11];
extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE4 D_801BEAD4;
// extern UNK_TYPE4 D_801BEAD8;
// extern UNK_TYPE1 D_801BEAE0;
// extern UNK_TYPE4 D_801BEAF4;
// extern UNK_TYPE4 D_801BEAF8;
// extern UNK_TYPE4 D_801BEB04;
// extern UNK_TYPE4 D_801BEB08;
// extern UNK_TYPE4 D_801BEB14;
// extern UNK_TYPE4 D_801BEB18;
// extern UNK_TYPE4 D_801BEB24;
// extern UNK_TYPE4 D_801BEB28;
// extern UNK_TYPE1 D_801BEB38;
// extern UNK_TYPE4 D_801BEBB8;
// extern UNK_TYPE4 D_801BEBD8;
// extern UNK_TYPE2 D_801BEBF8;
// extern UNK_TYPE2 D_801BEBFA;
// extern UNK_TYPE2 D_801BEBFC;
// extern UNK_TYPE2 D_801BEC10;
extern UNK_PTR D_801BEC14;
// extern UNK_TYPE4 D_801BEC1C;
// extern UNK_TYPE4 D_801BEC20;
// extern UNK_TYPE1 D_801BEC24;
// extern UNK_TYPE1 D_801BEC2C;
// extern UNK_TYPE2 D_801BEC5C;
// extern UNK_TYPE2 D_801BEC5E;
// extern UNK_TYPE4 D_801BEC70;
// extern UNK_TYPE1 D_801BEC84;
// extern UNK_TYPE1 D_801BECA4;
// extern UNK_TYPE1 D_801BECC4;
// extern UNK_TYPE1 D_801BECE4;
// extern UNK_TYPE1 D_801BED00;
// extern UNK_TYPE2 D_801BED24;
// extern UNK_TYPE1 D_801BED3C;
// extern UNK_TYPE1 D_801BED40;
// extern UNK_TYPE1 D_801BED4C;
// extern UNK_TYPE1 D_801BED54;
// extern UNK_TYPE1 D_801BED55;
// extern UNK_TYPE1 D_801BED56;
// extern UNK_TYPE1 D_801BED88;
// extern UNK_TYPE1 D_801BEFC8;
// extern UNK_TYPE1 D_801BF15C;
// extern UNK_TYPE1 D_801BF170;
// extern UNK_TYPE1 D_801BF176;
// extern UNK_TYPE1 D_801BF177;
// extern UNK_TYPE1 D_801BF178;
// extern UNK_TYPE1 D_801BF3B4;
// extern UNK_TYPE2 D_801BF550;
// extern UNK_TYPE2 D_801BF554;
// extern UNK_TYPE2 D_801BF558;
// extern UNK_TYPE4 D_801BF55C;
// extern UNK_TYPE4 D_801BF580;
// extern UNK_TYPE4 D_801BF594;
// extern UNK_TYPE4 D_801BF5A4;
// extern UNK_TYPE2 D_801BF5B0;
// extern UNK_TYPE1 D_801BF68C;
extern FlexSkeletonHeader* gPlayerSkeletons[PLAYER_FORM_MAX];
extern PlayerModelIndices gPlayerModelTypes[];
+1
View File
@@ -64,6 +64,7 @@
#include "z64rumble.h"
#include "z64transition.h"
#include "z64view.h"
#include "z64msgevent.h"
#include "regs.h"
+395
View File
@@ -0,0 +1,395 @@
#ifndef Z64MSGEVENT_H
#define Z64MSGEVENT_H
#include "PR/ultratypes.h"
struct PlayState;
struct Actor;
typedef enum {
MSCRIPT_CMD_00,
MSCRIPT_CMD_01,
MSCRIPT_CMD_02,
MSCRIPT_CMD_03,
MSCRIPT_CMD_04,
MSCRIPT_CMD_05,
MSCRIPT_CMD_06,
MSCRIPT_CMD_07,
MSCRIPT_CMD_08,
MSCRIPT_CMD_09,
MSCRIPT_CMD_10,
MSCRIPT_CMD_11,
MSCRIPT_CMD_12,
MSCRIPT_CMD_13,
MSCRIPT_CMD_14,
MSCRIPT_CMD_15,
MSCRIPT_CMD_16,
MSCRIPT_CMD_17,
MSCRIPT_CMD_18,
MSCRIPT_CMD_19,
MSCRIPT_CMD_20,
MSCRIPT_CMD_21,
MSCRIPT_CMD_22,
MSCRIPT_CMD_23,
MSCRIPT_CMD_24,
MSCRIPT_CMD_25,
MSCRIPT_CMD_26,
MSCRIPT_CMD_27,
MSCRIPT_CMD_28,
MSCRIPT_CMD_29,
MSCRIPT_CMD_30,
MSCRIPT_CMD_31,
MSCRIPT_CMD_32,
MSCRIPT_CMD_33,
MSCRIPT_CMD_34,
MSCRIPT_CMD_35,
MSCRIPT_CMD_36,
MSCRIPT_CMD_BRANCH_ON_ITEM,
MSCRIPT_CMD_38,
MSCRIPT_CMD_39,
MSCRIPT_CMD_40,
MSCRIPT_CMD_41,
MSCRIPT_CMD_DEL_ITEM,
MSCRIPT_CMD_43,
MSCRIPT_CMD_44,
MSCRIPT_CMD_45,
MSCRIPT_CMD_46,
MSCRIPT_CMD_47,
MSCRIPT_CMD_48,
MSCRIPT_CMD_49,
MSCRIPT_CMD_50
} MsgScriptCmd;
typedef u8 MsgScript;
typedef s32 (*MsgEventCallback)(struct Actor* thisx, struct PlayState* play);
typedef s32 (*MsgEventHandler)(struct Actor* actor, struct PlayState* play, u8** scriptPtr, MsgEventCallback callback, s32*);
#define MSCRIPT_GET_8(script, i) ((script)[i])
#define MSCRIPT_GET_16(script, i) ((((script)[i + 1] | ((script)[i] << 8))))
// Command macros
#define MSCRIPT_PACK_8(v) (u8)(v)
#define MSCRIPT_PACK_16(v) (u8)_SHIFTR(v, 8, 8), (u8)_SHIFTR(v, 0, 8)
/**
*
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(flags, test, skip) \
MSCRIPT_CMD_00, MSCRIPT_PACK_8(flags), MSCRIPT_PACK_8(test), MSCRIPT_PACK_16(skip)
#define MSCRIPT_BRANCH_ON_WEEK_EVENT_REG_LENGTH 5
/**
*
* Size = 3
*/
#define MSCRIPT_BRANCH_IF_GORON(skip) \
MSCRIPT_CMD_01, MSCRIPT_PACK_16(skip)
/**
*
* Size = 3
*/
#define MSCRIPT_BRANCH_IF_ZORA(skip) \
MSCRIPT_CMD_02, MSCRIPT_PACK_16(skip)
/**
*
* Size = 3
*/
#define MSCRIPT_BRANCH_IF_DEKU(skip) \
MSCRIPT_CMD_03, MSCRIPT_PACK_16(skip)
/**
*
* Size = 3
*/
#define MSCRIPT_BRANCH_IF_HUMAN(skip) \
MSCRIPT_CMD_04, MSCRIPT_PACK_16(skip)
/**
*
* Size = 7
*/
#define MSCRIPT_BRANCH_ON_TEXT_CHOICE(skip0, skip1, skip2) \
MSCRIPT_CMD_05, MSCRIPT_PACK_16(skip0), MSCRIPT_PACK_16(skip1), MSCRIPT_PACK_16(skip2)
/**
*
* Size = 5
*/
#define MSCRIPT_OFFER_ITEM(unk, skip) \
MSCRIPT_CMD_06, MSCRIPT_PACK_16(unk), MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_CMD07(skip) \
MSCRIPT_CMD_07, MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_RUPEES(rupees, skip) \
MSCRIPT_CMD_08, MSCRIPT_PACK_16(rupees), MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(skip) \
MSCRIPT_CMD_09, MSCRIPT_PACK_16(skip)
/**
* Size = 13
*/
#define MSCRIPT_BRANCH_ON_DAY(skipDay1, skipNight1, skipDay2, skipNight2, skipDay3, skipNight3) \
MSCRIPT_CMD_10, \
MSCRIPT_PACK_16(skipDay1), MSCRIPT_PACK_16(skipNight1), \
MSCRIPT_PACK_16(skipDay2), MSCRIPT_PACK_16(skipNight2), \
MSCRIPT_PACK_16(skipDay3), MSCRIPT_PACK_16(skipNight3)
/**
* Size = 3
*/
#define MSCRIPT_CMD11(skip) \
MSCRIPT_CMD_11, MSCRIPT_PACK_16(skip)
/**
* Size = 1
*/
#define MSCRIPT_AWAIT_TEXT() \
MSCRIPT_CMD_12
/**
* Size = 1
*/
#define MSCRIPT_CMD13() \
MSCRIPT_CMD_13
/**
* Size = 3
*/
#define MSCRIPT_BEGIN_TEXT(arg) \
MSCRIPT_CMD_14, MSCRIPT_PACK_16(arg)
/**
* Size = 3
*/
#define MSCRIPT_CONTINUE_TEXT(arg) \
MSCRIPT_CMD_15, MSCRIPT_PACK_16(arg)
/**
* Size = 1
*/
#define MSCRIPT_DONE() \
MSCRIPT_CMD_16
/**
* Size = 3
*/
#define MSCRIPT_WEEK_EVENT_REG_SET(flags, value) \
MSCRIPT_CMD_17, MSCRIPT_PACK_8(flags), MSCRIPT_PACK_8(value)
/**
* Size = 1
*/
#define MSCRIPT_CLOSE_TEXT() \
MSCRIPT_CMD_18
/**
* Size = 3
*/
#define MSCRIPT_COLLECT_SET(collectFlag) \
MSCRIPT_CMD_19, MSCRIPT_PACK_16(collectFlag)
/**
* Size = 3
*/
#define MSCRIPT_CHANGE_RUPEES(unk) \
MSCRIPT_CMD_20, MSCRIPT_PACK_16(unk)
/**
* Size = 1
*/
#define MSCRIPT_PAUSE() \
MSCRIPT_CMD_21
/**
* Size = 1
*/
#define MSCRIPT_CMD22() \
MSCRIPT_CMD_22
/**
* Size = 1
*/
#define MSCRIPT_FOCUS_TO_CHILD() \
MSCRIPT_CMD_23
/**
* Size = 1
*/
#define MSCRIPT_FOCUS_TO_SELF() \
MSCRIPT_CMD_24
/**
* Size = 3
*/
#define MSCRIPT_JUMP(skip) \
MSCRIPT_CMD_25, MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_QUEST_ITEM(questItem, skip) \
MSCRIPT_CMD_26, MSCRIPT_PACK_16(questItem), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_EVENT_INF(flag, value, skip) \
MSCRIPT_CMD_27, MSCRIPT_PACK_8(flag), MSCRIPT_PACK_8(value), MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_SET_EVENT_INF(flag, value) \
MSCRIPT_CMD_28, MSCRIPT_PACK_8(flag), MSCRIPT_PACK_8(value)
/**
* Size = 3
*/
#define MSCRIPT_UNSET_EVENT_INF(flag, value) \
MSCRIPT_CMD_29, MSCRIPT_PACK_8(flag), MSCRIPT_PACK_8(value)
/**
* Size = 9
*/
#define MSCRIPT_BRANCH_ON_ITEMACTION(unk, skipEqual, skipDefault, skipUnk) \
MSCRIPT_CMD_30, MSCRIPT_PACK_16(unk), MSCRIPT_PACK_16(skipEqual), MSCRIPT_PACK_16(skipDefault), MSCRIPT_PACK_16(skipUnk)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_SONG_OBTAINED(questItem, skip) \
MSCRIPT_CMD_31, MSCRIPT_PACK_16(questItem), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_WORN_MASK(mask, skip) \
MSCRIPT_CMD_32, MSCRIPT_PACK_16(mask), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_TIME_GT(hours, minutes, skip) \
MSCRIPT_CMD_33, MSCRIPT_PACK_8(hours), MSCRIPT_PACK_8(minutes), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_TIME_LEQ(hours, minutes, skip) \
MSCRIPT_CMD_34, MSCRIPT_PACK_8(hours), MSCRIPT_PACK_8(minutes), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_SWITCH_FLAG(switchFlag, skip) \
MSCRIPT_CMD_35, MSCRIPT_PACK_16(switchFlag), MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_SET_SWITCH_FLAG(switchFlag) \
MSCRIPT_CMD_36, MSCRIPT_PACK_16(switchFlag)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_ON_ITEM(item, skip) \
MSCRIPT_CMD_BRANCH_ON_ITEM, MSCRIPT_PACK_16(item), MSCRIPT_PACK_16(skip)
/**
* Size = 7
*/
#define MSCRIPT_BRANCH_ON_TIME_INTERVAL(hours1, minutes1, hours2, minutes2, skip) \
MSCRIPT_CMD_38, MSCRIPT_PACK_8(hours1), MSCRIPT_PACK_8(minutes1), MSCRIPT_PACK_8(hours2), MSCRIPT_PACK_8(minutes2), MSCRIPT_PACK_16(skip)
/**
* Size = 5
*/
#define MSCRIPT_BRANCH_IF_DAY(day, skip) \
MSCRIPT_CMD_39, MSCRIPT_PACK_16(day), MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_BRANCH_ON_CALLBACK_2(skip) \
MSCRIPT_CMD_40, MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_HAS_POWDER_KEG(skip) \
MSCRIPT_CMD_41, MSCRIPT_PACK_16(skip)
/**
* Size = 3
*/
#define MSCRIPT_DEL_ITEM(item) \
MSCRIPT_CMD_DEL_ITEM, MSCRIPT_PACK_16(item)
/**
* Size = 7
*/
#define MSCRIPT_BRANCH_ON_CALLBACK(skip1, skip2, skip3) \
MSCRIPT_CMD_43, MSCRIPT_PACK_16(skip1), MSCRIPT_PACK_16(skip2), MSCRIPT_PACK_16(skip3)
/**
* Size = 3
*/
#define MSCRIPT_CMD44(textId) \
MSCRIPT_CMD_44, MSCRIPT_PACK_16(textId)
/**
* Size = 3
*/
#define MSCRIPT_NOTEBOOK_EVENT(event) \
MSCRIPT_CMD_45, MSCRIPT_PACK_16(event)
/**
* Size = 1
*/
#define MSCRIPT_CMD46() \
MSCRIPT_CMD_46
/**
* Size = 3
*/
#define MSCRIPT_JUMP_3(skip) \
MSCRIPT_CMD_47, MSCRIPT_PACK_16(skip)
/**
* Size = 1
*/
#define MSCRIPT_PLAY_DECIDE() \
MSCRIPT_CMD_48
/**
* Size = 1
*/
#define MSCRIPT_PLAY_CANCEL() \
MSCRIPT_CMD_49
/**
* Size = 1
*/
#define MSCRIPT_PLAY_ERROR() \
MSCRIPT_CMD_50
#endif
-1
View File
@@ -484,7 +484,6 @@ beginseg
include "build/src/code/z_map_data.o"
include "build/src/code/z_map_exp.o"
include "build/src/code/z_msgevent.o"
include "build/data/code/z_msgevent.data.o"
include "build/src/code/z_nmi_buff.o"
include "build/src/code/code_8010C1B0.o"
include "build/src/code/z_olib.o"
+1098 -52
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1385,7 +1385,7 @@ u8 Player_GetStrength(void) {
return sPlayerStrengths[GET_PLAYER_FORM];
}
u8 Player_GetMask(PlayState* play) {
s32 Player_GetMask(PlayState* play) {
Player* player = GET_PLAYER(play);
return player->currentMask;
+40 -15
View File
@@ -30,20 +30,43 @@ ActorInit Dm_Tag_InitVars = {
/**/ NULL,
};
s32 D_80C22BF0[] = {
0x0E28F00C,
0x15090000,
0x10000000,
MsgScript D_80C22BF0[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F0),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x01 */ MSCRIPT_PAUSE(),
/* 0x0005 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0008 0x01 */ MSCRIPT_DONE(),
};
s32 D_80C22BFC[] = {
0x0900000E, 0x28F10C09, 0x00000E28, 0xF20C0900, 0x000E28F3, 0x0C090000, 0x0E28F40C,
0x0900000E, 0x28F50C09, 0x00000E28, 0xF60C1511, 0x55040900, 0x00100000,
MsgScript D_80C22BFC[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F1),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x000A 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F2),
/* 0x000D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000E 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0011 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F3),
/* 0x0014 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0015 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0018 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F4),
/* 0x001B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001C 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x001F 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F5),
/* 0x0022 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0023 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0026 0x03 */ MSCRIPT_BEGIN_TEXT(0x28F6),
/* 0x0029 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002A 0x01 */ MSCRIPT_PAUSE(),
/* 0x002B 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x55, 0x04),
/* 0x002E 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0031 0x01 */ MSCRIPT_DONE(),
};
s32 D_80C22C30[] = {
0x0E28EF0C,
0x10000000,
MsgScript D_80C22C30[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x28EF),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x01 */ MSCRIPT_DONE(),
};
Actor* func_80C22350(DmTag* this, PlayState* play, u8 actorCat, s16 actorId) {
@@ -91,8 +114,8 @@ s16 func_80C2247C(DmTag* this, s32 numCutscenes) {
return csId;
}
s32 func_80C224D8(DmTag* this, PlayState* play) {
s32 pad;
s32 func_80C224D8(Actor* thisx, PlayState* play) {
DmTag* this = THIS;
Actor* sp30;
Actor* sp2C;
s16 csId = this->actor.csId;
@@ -169,7 +192,9 @@ s32 func_80C224D8(DmTag* this, PlayState* play) {
return ret;
}
s32 func_80C227E8(DmTag* this, PlayState* play) {
s32 func_80C227E8(Actor* thisx, PlayState* play) {
DmTag* this = THIS;
if (this->unk_1A4 == 0) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
play->nextEntrance = ENTRANCE(STOCK_POT_INN, 4);
@@ -182,7 +207,7 @@ s32 func_80C227E8(DmTag* this, PlayState* play) {
return false;
}
s32* func_80C22880(DmTag* this, PlayState* play) {
MsgScript* func_80C22880(DmTag* this, PlayState* play) {
s32 time;
switch (this->unk_18E) {
@@ -230,7 +255,7 @@ void DmTag_DoNothing(DmTag* this, PlayState* play) {
}
void func_80C229FC(DmTag* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, this->msgEventScript, this->msgEventCallback, &this->msgEventArg4)) {
if (MsgEvent_RunScript(&this->actor, play, this->msgEventScript, this->msgEventCallback, &this->msgEventArg4)) {
this->actionFunc = func_80C229AC;
}
}
+2 -3
View File
@@ -6,7 +6,6 @@
struct DmTag;
typedef void (*DmTagActionFunc)(struct DmTag*, PlayState*);
typedef s32 (*DmTagMsgEventFunc)(struct DmTag*, PlayState*);
typedef struct DmTag {
/* 0x000 */ Actor actor;
@@ -14,11 +13,11 @@ typedef struct DmTag {
/* 0x188 */ DmTagActionFunc actionFunc;
/* 0x18C */ u16 unk_18C;
/* 0x18E */ u8 unk_18E;
/* 0x190 */ s32* msgEventScript;
/* 0x190 */ MsgScript* msgEventScript;
/* 0x194 */ s32 msgEventArg4;
/* 0x198 */ UNK_TYPE1 pad198[0xC];
/* 0x1A4 */ s16 unk_1A4;
/* 0x1A8 */ DmTagMsgEventFunc msgEventCallback;
/* 0x1A8 */ MsgEventCallback msgEventCallback;
} DmTag; // size = 0x1AC
#endif // Z_DM_TAG_H
+30 -7
View File
@@ -39,13 +39,36 @@ static u8 D_80BD3DB0[] = {
/* 0x37 */ SCHEDULE_CMD_RET_NONE(),
};
s32 D_80BD3DE8[] = { 0x0E28FF0C, 0x10000000 };
MsgScript D_80BD3DE8[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x28FF),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BD3DF0[] = { 0x0E29000C, 0x10000000 };
MsgScript D_80BD3DF0[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x2900),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BD3DF8[] = { 0x00330100, 0x050E28FE, 0x0C100E28, -0x03F3F000 };
MsgScript D_80BD3DF8[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x33, 0x01, 0x000A - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x28FE),
/* 0x0008 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0009 0x01 */ MSCRIPT_DONE(),
s32 D_80BD3E08[] = { 0x0E28FD0C, 0x0F29540C, 0x10000000 };
/* 0x000A 0x03 */ MSCRIPT_BEGIN_TEXT(0x28FC),
/* 0x000D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000E 0x01 */ MSCRIPT_DONE(),
};
MsgScript D_80BD3E08[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x28FD),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2954),
/* 0x0007 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0008 0x01 */ MSCRIPT_DONE(),
};
ActorInit En_Ah_InitVars = {
/**/ ACTOR_EN_AH,
@@ -363,7 +386,7 @@ s32 func_80BD3198(EnAh* this, PlayState* play) {
return false;
}
s32* func_80BD3294(EnAh* this, PlayState* play) {
MsgScript* func_80BD3294(EnAh* this, PlayState* play) {
s32 mask = Player_GetMask(play);
if (PLAYER_MASK_KAFEIS_MASK == mask) {
@@ -514,8 +537,8 @@ void func_80BD3768(EnAh* this, PlayState* play) {
Vec3f sp40;
Vec3f sp34;
if (func_8010BF58(&this->actor, play, func_80BD3294(this, play), NULL, &this->unk_1E0)) {
SubS_SetOfferMode(&this->unk_2D8, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->actor, play, func_80BD3294(this, play), NULL, &this->unk_1E0)) {
SubS_SetOfferMode(&this->unk_2D8, 3, 7);
this->unk_2D8 &= ~8;
this->unk_2D8 |= 0x80;
this->unk_2F4 = 20;
+354 -45
View File
@@ -36,52 +36,360 @@ static u8 D_80BDFC70[] = {
/* 0x46 */ SCHEDULE_CMD_RET_VAL_L(1),
};
s32 D_80BDFCBC[] = {
0x09000017, 0x0E27A50C, 0x09000018, 0x0E27A60C, 0x09000017, 0x0E27A70C, 0x09000018, 0x0E27A80C,
0x09000017, 0x0E27A90C, 0x09000018, 0x0E27AA0C, 0x09000017, 0x0E27AB0C, 0x09000018, 0x0E27AC0C,
0x09000017, 0x0E27AD2D, 0x000B2D00, 0x080C1159, 0x08090000, 0x10000000,
MsgScript D_80BDFCBC[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0004 0x03 */ MSCRIPT_BEGIN_TEXT(0x27A5),
/* 0x0007 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0008 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x000B 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x000C 0x03 */ MSCRIPT_BEGIN_TEXT(0x27A6),
/* 0x000F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0010 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0013 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0014 0x03 */ MSCRIPT_BEGIN_TEXT(0x27A7),
/* 0x0017 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0018 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x001B 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x001C 0x03 */ MSCRIPT_BEGIN_TEXT(0x27A8),
/* 0x001F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0020 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0023 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0024 0x03 */ MSCRIPT_BEGIN_TEXT(0x27A9),
/* 0x0027 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0028 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x002B 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x002C 0x03 */ MSCRIPT_BEGIN_TEXT(0x27AA),
/* 0x002F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0030 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0033 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0034 0x03 */ MSCRIPT_BEGIN_TEXT(0x27AB),
/* 0x0037 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0038 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x003B 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x003C 0x03 */ MSCRIPT_BEGIN_TEXT(0x27AC),
/* 0x003F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0040 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0043 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0044 0x03 */ MSCRIPT_BEGIN_TEXT(0x27AD),
/* 0x0047 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN),
/* 0x004A 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x004D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x004E 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x59, 0x08),
/* 0x0051 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0054 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BDFD14[] = {
0x00562000, 0xA2090000, 0x170E2AA6, 0x0C090000, 0x180E2AA7, 0x0C090000, 0x170E2AA8, 0x0C090000,
0x180E2AA9, 0x0C090000, 0x170E2AAA, 0x0C090000, 0x180E2AAB, 0x0C090000, 0x170E2AAC, 0x0C090000,
0x170E2AAD, 0x0C0F2AAE, 0x0C090000, 0x180E2AAF, 0x0C090000, 0x170E2AB0, 0x0C090000, 0x170E2AB1,
0x0C090000, 0x180E2AB2, 0x0C090000, 0x170E2AB3, 0x0C090000, 0x180E2AB4, 0x0C090000, 0x170E2AB5,
0x0C090000, 0x180E2AB6, 0x0C090000, 0x170E2AB7, 0x0C090000, 0x180E2AB8, 0x2D00082D, 0x00092D00,
0x0A0C1156, 0x20121009, 0x0000170E, 0x2AEA0C09, 0x0000180E, 0x2AEB0C09, 0x00001210,
MsgScript D_80BDFD14[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x56, 0x20, 0x00A7 - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0008 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0009 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA6),
/* 0x000C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000D 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0010 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0011 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA7),
/* 0x0014 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0015 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0018 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0019 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA8),
/* 0x001C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001D 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0020 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0021 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA9),
/* 0x0024 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0025 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0028 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0029 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AAA),
/* 0x002C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002D 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0030 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0031 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AAB),
/* 0x0034 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0035 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0038 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0039 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AAC),
/* 0x003C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x003D 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0040 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0041 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AAD),
/* 0x0044 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0045 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2AAE),
/* 0x0048 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0049 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x004C 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x004D 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AAF),
/* 0x0050 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0051 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0054 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x0055 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB0),
/* 0x0058 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0059 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x005C 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x005D 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB1),
/* 0x0060 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0061 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0064 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0065 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB2),
/* 0x0068 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0069 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x006C 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x006D 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB3),
/* 0x0070 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0071 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0074 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0075 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB4),
/* 0x0078 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0079 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x007C 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x007D 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB5),
/* 0x0080 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0081 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0084 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0085 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB6),
/* 0x0088 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0089 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x008C 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x008D 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB7),
/* 0x0090 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0091 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0094 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x0095 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AB8),
/* 0x0098 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x009B 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_TOTO),
/* 0x009E 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_GORMAN),
/* 0x00A1 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00A2 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x56, 0x20),
/* 0x00A5 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x00A6 0x01 */ MSCRIPT_DONE(),
/* 0x00A7 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x00AA 0x01 */ MSCRIPT_FOCUS_TO_CHILD(),
/* 0x00AB 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AEA),
/* 0x00AE 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00AF 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x00B2 0x01 */ MSCRIPT_FOCUS_TO_SELF(),
/* 0x00B3 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AEB),
/* 0x00B6 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00B7 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x00BA 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x00BB 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BDFDD0[] = { 0x005C0800, 0x0B0E2AE5, 0x2D000811, 0x5C080C10, 0x0E2AE62D, 0x00080C10 };
MsgScript D_80BDFDD0[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x5C, 0x08, 0x0010 - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AE5),
/* 0x0008 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x000B 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x5C, 0x08),
/* 0x000E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000F 0x01 */ MSCRIPT_DONE(),
s32 D_80BDFDE8[] = { 0x0900000E, 0x2B192D00, 0x080C1509, 0x00001210 };
s32 D_80BDFDF8[] = {
0x09000000, 0x39040071, 0x0E2B1A0C, 0x0F00FF1E, 0x00330018, 0x000D0000, 0x0E2B1B2D, 0x00080C15, 0x09000012,
0x102C2B1C, 0x0C2F0000, 0x0C19FFDC, 0x2C2B1D0C, 0x2F00000C, 0x0F2B1E0C, 0x0F2B1F0C, 0x122A002E, 0x00390800,
0x1306006F, 0x00001300, 0x6F2F0000, 0x2E2D0023, 0x0C07000C, 0x06000500, 0x00130005, 0x0C070000, 0x0E2B202D,
0x00080C16, 0x11390411, 0x390819FF, 0xA60E2B3C, 0x2D00080C, 0x19FF9C00,
/* 0x0010 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AE6),
/* 0x0013 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0016 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0017 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BDFE7C[] = { 0x0E2A9C2D, 0x00080C10 };
s32 D_80BDFE84[] = { 0x0E2A9D2D, 0x00080C10 };
s32 D_80BDFE8C[] = {
0x00390200, 0x0F0E2A9E, 0x0C0F2A9F, 0x0C0F2AA0, 0x0C190004, 0x0E2AA00C, 0x05000000, 0x1A001A30, 0x0E2AA20C,
0x1206008F, 0x00001300, 0x8F2F0000, 0x2E2D002C, 0x2D00080C, 0x10310E2A, 0xA12D0008, 0x0C113902, 0x10000000,
MsgScript D_80BDFDE8[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B19),
/* 0x0006 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0009 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000A 0x01 */ MSCRIPT_PAUSE(),
/* 0x000B 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x000E 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x000F 0x01 */ MSCRIPT_DONE(),
};
s32 D_80BDFED4[] = {
0x0900002C, 0x2B1D0C2F, 0x00000C0F, 0x2B1E0C0F, 0x2B1F0C12, 0x2A002E00, 0x39080013,
0x06006F00, 0x0013006F, 0x2F00002E, 0x2D00230C, 0x07000C06, 0x00050000, 0x1300050C,
0x0700000E, 0x2B202D00, 0x080C1611, 0x39041139, 0x08150900, 0x00121000,
MsgScript D_80BDFDF8[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x39, 0x04, 0x0079 - 0x0008),
/* 0x0008 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B1A),
/* 0x000B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000C 0x03 */ MSCRIPT_CONTINUE_TEXT(0x00FF),
/* 0x000F 0x09 */ MSCRIPT_BRANCH_ON_ITEMACTION(0x0033, 0x0030 - 0x0018, 0x0025 - 0x0018, 0x0),
/* 0x0018 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B1B),
/* 0x001B 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x001E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001F 0x01 */ MSCRIPT_PAUSE(),
/* 0x0020 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0023 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0024 0x01 */ MSCRIPT_DONE(),
/* 0x0025 0x03 */ MSCRIPT_CMD44(0x2B1C),
/* 0x0028 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0029 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x002C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002D 0x03 */ MSCRIPT_JUMP(0x000C - 0x0030),
/* 0x0030 0x03 */ MSCRIPT_CMD44(0x2B1D),
/* 0x0033 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0034 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0037 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0038 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1E),
/* 0x003B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x003C 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1F),
/* 0x003F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0040 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0041 0x03 */ MSCRIPT_DEL_ITEM(ITEM_LETTER_MAMA),
/* 0x0044 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x39, 0x08, 0x005C - 0x0049),
/* 0x0049 0x05 */ MSCRIPT_OFFER_ITEM(GI_CHATEAU_BOTTLE, 0x0),
/* 0x004E 0x03 */ MSCRIPT_COLLECT_SET(0x006F),
/* 0x0051 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0054 0x01 */ MSCRIPT_CMD46(),
/* 0x0055 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL),
/* 0x0058 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0059 0x03 */ MSCRIPT_CMD07(0x0068 - 0x005C),
/* 0x005C 0x05 */ MSCRIPT_OFFER_ITEM(GI_RUPEE_PURPLE, 0x0),
/* 0x0061 0x03 */ MSCRIPT_COLLECT_SET(0x0005),
/* 0x0064 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0065 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x0068 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B20),
/* 0x006B 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x006E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x006F 0x01 */ MSCRIPT_CMD22(),
/* 0x0070 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x04),
/* 0x0073 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x08),
/* 0x0076 0x03 */ MSCRIPT_JUMP(0x001F - 0x0079),
/* 0x0079 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B3C),
/* 0x007C 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x007F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0080 0x03 */ MSCRIPT_JUMP(0x001F - 0x0083),
};
s32 D_80BDFF24[] = {
0x0900002C, 0x2B1C0C0F, 0x00FF1E00, 0x33000DFF, 0xF000000E, 0x2B1B2D00, 0x080C1509, 0x00001210,
0x2C2B1D0C, 0x2F00000C, 0x0F2B1E0C, 0x0F2B1F0C, 0x122A002E, 0x00390800, 0x1306006F, 0x00001300,
0x6F2F0000, 0x2E2D0023, 0x0C07000C, 0x06000500, 0x00130005, 0x0C070000, 0x0E2B202D, 0x00080C16,
0x11390411, 0x390819FF, 0xB10E2B3C, 0x2D00080C, 0x19FFA700,
MsgScript D_80BDFE7C[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x2A9C),
/* 0x0003 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x01 */ MSCRIPT_DONE(),
};
MsgScript D_80BDFE84[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x2A9D),
/* 0x0003 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x01 */ MSCRIPT_DONE(),
};
MsgScript D_80BDFE8C[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x39, 0x02, 0x0014 - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x2A9E),
/* 0x0008 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0009 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2A9F),
/* 0x000C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000D 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2AA0),
/* 0x0010 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0011 0x03 */ MSCRIPT_JUMP(0x0018 - 0x0014),
/* 0x0014 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA0),
/* 0x0017 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0018 0x07 */ MSCRIPT_BRANCH_ON_TEXT_CHOICE(0x0, 0x0039 - 0x001F, 0x0039 - 0x001F),
/* 0x001F 0x01 */ MSCRIPT_PLAY_DECIDE(),
/* 0x0020 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA2),
/* 0x0023 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0024 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0025 0x05 */ MSCRIPT_OFFER_ITEM(GI_MASK_KAFEIS_MASK, 0x0),
/* 0x002A 0x03 */ MSCRIPT_COLLECT_SET(0x008F),
/* 0x002D 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0030 0x01 */ MSCRIPT_CMD46(),
/* 0x0031 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAFEIS_MASK),
/* 0x0034 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0037 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0038 0x01 */ MSCRIPT_DONE(),
/* 0x0039 0x01 */ MSCRIPT_PLAY_CANCEL(),
/* 0x003A 0x03 */ MSCRIPT_BEGIN_TEXT(0x2AA1),
/* 0x003D 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0040 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0041 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x02),
/* 0x0044 0x01 */ MSCRIPT_DONE(),
};
MsgScript D_80BDFED4[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x03 */ MSCRIPT_CMD44(0x2B1D),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x000A 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000B 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1E),
/* 0x000E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000F 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1F),
/* 0x0012 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0013 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0014 0x03 */ MSCRIPT_DEL_ITEM(ITEM_LETTER_MAMA),
/* 0x0017 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x39, 0x08, 0x002F - 0x001C),
/* 0x001C 0x05 */ MSCRIPT_OFFER_ITEM(GI_CHATEAU_BOTTLE, 0x0),
/* 0x0021 0x03 */ MSCRIPT_COLLECT_SET(0x006F),
/* 0x0024 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0027 0x01 */ MSCRIPT_CMD46(),
/* 0x0028 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL),
/* 0x002B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002C 0x03 */ MSCRIPT_CMD07(0x003B - 0x002F),
/* 0x002F 0x05 */ MSCRIPT_OFFER_ITEM(GI_RUPEE_PURPLE, 0x0),
/* 0x0034 0x03 */ MSCRIPT_COLLECT_SET(0x0005),
/* 0x0037 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0038 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x003B 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B20),
/* 0x003E 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0041 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0042 0x01 */ MSCRIPT_CMD22(),
/* 0x0043 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x04),
/* 0x0046 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x08),
/* 0x0049 0x01 */ MSCRIPT_PAUSE(),
/* 0x004A 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x004D 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x004E 0x01 */ MSCRIPT_DONE(),
};
MsgScript D_80BDFF24[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0003 0x03 */ MSCRIPT_CMD44(0x2B1C),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x03 */ MSCRIPT_CONTINUE_TEXT(0x00FF),
/* 0x000A 0x09 */ MSCRIPT_BRANCH_ON_ITEMACTION(0x0033, 0x0020 - 0x0013, 0x0003 - 0x0013, 0x0),
/* 0x0013 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B1B),
/* 0x0016 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x0019 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001A 0x01 */ MSCRIPT_PAUSE(),
/* 0x001B 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x001E 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x001F 0x01 */ MSCRIPT_DONE(),
/* 0x0020 0x03 */ MSCRIPT_CMD44(0x2B1D),
/* 0x0023 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0024 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0027 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0028 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1E),
/* 0x002B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002C 0x03 */ MSCRIPT_CONTINUE_TEXT(0x2B1F),
/* 0x002F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0030 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0031 0x03 */ MSCRIPT_DEL_ITEM(ITEM_LETTER_MAMA),
/* 0x0034 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x39, 0x08, 0x004C - 0x0039),
/* 0x0039 0x05 */ MSCRIPT_OFFER_ITEM(GI_CHATEAU_BOTTLE, 0x0),
/* 0x003E 0x03 */ MSCRIPT_COLLECT_SET(0x006F),
/* 0x0041 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0044 0x01 */ MSCRIPT_CMD46(),
/* 0x0045 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL),
/* 0x0048 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0049 0x03 */ MSCRIPT_CMD07(0x0058 - 0x004C),
/* 0x004C 0x05 */ MSCRIPT_OFFER_ITEM(GI_RUPEE_PURPLE, 0x0),
/* 0x0051 0x03 */ MSCRIPT_COLLECT_SET(0x0005),
/* 0x0054 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0055 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x0058 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B20),
/* 0x005B 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x005E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x005F 0x01 */ MSCRIPT_CMD22(),
/* 0x0060 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x04),
/* 0x0063 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x39, 0x08),
/* 0x0066 0x03 */ MSCRIPT_JUMP(0x001A - 0x0069),
// Unreachable
/* 0x0069 0x03 */ MSCRIPT_BEGIN_TEXT(0x2B3C),
/* 0x006C 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA),
/* 0x006F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0070 0x03 */ MSCRIPT_JUMP(0x001A - 0x0073),
};
ActorInit En_Al_InitVars = {
@@ -331,8 +639,8 @@ s32 func_80BDE678(EnAl* this, s16* arg1, s16 arg2) {
return ret;
}
s32 func_80BDE7FC(EnAl* this, PlayState* play) {
s32 pad;
s32 func_80BDE7FC(Actor* thisx, PlayState* play) {
EnAl* this = THIS;
s16 csId = func_80BDE484(this, 0);
s32 pad2;
s32 sp20 = false;
@@ -376,8 +684,9 @@ s32 func_80BDE7FC(EnAl* this, PlayState* play) {
return sp20;
}
s32 func_80BDE92C(EnAl* this, PlayState* play) {
s32 pad[2];
s32 func_80BDE92C(Actor* thisx, PlayState* play) {
s32 pad;
EnAl* this = THIS;
Actor* sp1C = func_80BDE1A0(this, play, ACTORCAT_NPC, ACTOR_EN_GM);
Actor* temp_v0 = func_80BDE1A0(this, play, ACTORCAT_NPC, ACTOR_EN_TOTO);
@@ -423,8 +732,8 @@ s32 func_80BDE92C(EnAl* this, PlayState* play) {
return true;
}
s32 func_80BDEA14(EnAl* this, PlayState* play) {
s32 pad;
s32 func_80BDEA14(Actor* thisx, PlayState* play) {
EnAl* this = THIS;
s32 sp18 = false;
switch (this->unk_4E6) {
@@ -450,7 +759,7 @@ s32 func_80BDEA14(EnAl* this, PlayState* play) {
return sp18;
}
s32* func_80BDEABC(EnAl* this, PlayState* play) {
MsgScript* func_80BDEABC(EnAl* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (this->unk_35C == 3) {
@@ -514,7 +823,7 @@ s32 func_80BDEC2C(EnAl* this, PlayState* play) {
}
SubS_SetOfferMode(&this->unk_4C2, SUBS_OFFER_MODE_NONE, SUBS_OFFER_MODE_MASK);
this->unk_4E6 = 0;
this->unk_4EC = 0;
this->unk_4EC = NULL;
this->actor.child = this->unk_368;
this->unk_360 = func_80BDEABC(this, play);
this->unk_4C2 |= 0x20;
@@ -799,8 +1108,8 @@ void func_80BDF5E8(EnAl* this, PlayState* play) {
}
void func_80BDF6C4(EnAl* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, this->unk_360, this->unk_4EC, &this->unk_364)) {
SubS_SetOfferMode(&this->unk_4C2, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->actor, play, this->unk_360, this->unk_4EC, &this->unk_364)) {
SubS_SetOfferMode(&this->unk_4C2, 3, 7);
this->unk_4C2 &= ~0x20;
this->unk_4C2 |= 0x200;
this->actor.child = NULL;
+2 -3
View File
@@ -7,7 +7,6 @@
struct EnAl;
typedef void (*EnAlActionFunc)(struct EnAl*, PlayState*);
typedef s32 (*EnAlUnkFunc)(struct EnAl*, PlayState*);
typedef void (*EnAlUnkFunc2)(struct EnAl*, PlayState*);
typedef struct EnAl {
@@ -18,7 +17,7 @@ typedef struct EnAl {
/* 0x190 */ MtxF unk_190[6];
/* 0x310 */ ColliderCylinder unk_310;
/* 0x35C */ u8 unk_35C;
/* 0x360 */ s32* unk_360;
/* 0x360 */ MsgScript* unk_360;
/* 0x364 */ s32 unk_364;
/* 0x368 */ Actor* unk_368;
/* 0x36C */ Vec3f unk_36C;
@@ -39,7 +38,7 @@ typedef struct EnAl {
/* 0x4E6 */ s16 unk_4E6;
/* 0x4E8 */ s16 unk_4E8;
/* 0x4EA */ s16 unk_4EA;
/* 0x4EC */ EnAlUnkFunc unk_4EC;
/* 0x4EC */ MsgEventCallback unk_4EC;
/* 0x4F0 */ s32 unk_4F0;
/* 0x4F4 */ s32 unk_4F4;
/* 0x4F8 */ s32 animIndex;
+1 -1
View File
@@ -3217,7 +3217,7 @@ void EnAn_FollowSchedule(EnAn* this, PlayState* play) {
}
void EnAn_Talk(EnAn* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, this->msgEventScript, this->msgEventFunc, &this->msgScriptResumePos)) {
if (MsgEvent_RunScript(&this->actor, play, this->msgEventScript, this->msgEventFunc, &this->msgScriptResumePos)) {
// Message event script is done
SubS_SetOfferMode(&this->stateFlags, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
+53 -8
View File
@@ -37,13 +37,58 @@ static u8 sScheduleScript[] = {
/* 0x11 */ SCHEDULE_CMD_RET_NONE(),
};
static u8 sMsgEventScript[] = {
0x0E, 0x29, 0x48, 0x0C, 0x0E, 0x00, 0xFF, 0x2B, 0x00, 0x00, 0x00, 0x52, 0x00, 0x5F, 0x2C, 0x29, 0x4A, 0x0C, 0x2F,
0x00, 0x00, 0x0C, 0x15, 0x09, 0x00, 0x00, 0x0E, 0x29, 0x4B, 0x0C, 0x15, 0x09, 0x00, 0x00, 0x0E, 0x29, 0x4C, 0x0C,
0x12, 0x00, 0x49, 0x08, 0x00, 0x1D, 0x09, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x00, 0x13, 0x00, 0x0C, 0x2F, 0x00,
0x00, 0x2E, 0x2D, 0x00, 0x28, 0x2D, 0x00, 0x0D, 0x0C, 0x11, 0x49, 0x08, 0x11, 0x5A, 0x80, 0x10, 0x09, 0x00, 0x00,
0x06, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x02, 0x2F, 0x00, 0x00, 0x2E, 0x2D, 0x00, 0x0D, 0x0C, 0x11, 0x5A, 0x80,
0x10, 0x2C, 0x29, 0x49, 0x0C, 0x2F, 0x00, 0x00, 0x0C, 0x2D, 0x00, 0x0D, 0x12, 0x10, 0x2D, 0x00, 0x0D, 0x12, 0x10,
static MsgScript sMsgEventScript[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x2948),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x03 */ MSCRIPT_BEGIN_TEXT(0x00FF),
/* 0x0007 0x07 */ MSCRIPT_BRANCH_ON_CALLBACK(0x0, 0x0060 - 0x000E, 0x006D - 0x000E),
/* 0x000E 0x03 */ MSCRIPT_CMD44(0x294A),
/* 0x0011 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0012 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0015 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0016 0x01 */ MSCRIPT_PAUSE(),
/* 0x0017 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x001A 0x03 */ MSCRIPT_BEGIN_TEXT(0x294B),
/* 0x001D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001E 0x01 */ MSCRIPT_PAUSE(),
/* 0x001F 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0022 0x03 */ MSCRIPT_BEGIN_TEXT(0x294C),
/* 0x0025 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0026 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0027 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x49, 0x08, 0x0049 - 0x002C),
/* 0x002C 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x002F 0x05 */ MSCRIPT_OFFER_ITEM(GI_HEART_PIECE, 0x0),
/* 0x0034 0x03 */ MSCRIPT_COLLECT_SET(0x000C),
/* 0x0037 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x003A 0x01 */ MSCRIPT_CMD46(),
/* 0x003B 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_TOILET_HAND_HP),
/* 0x003E 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_TOLIET_HAND),
/* 0x0041 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0042 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x49, 0x08),
/* 0x0045 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x5A, 0x80),
/* 0x0048 0x01 */ MSCRIPT_DONE(),
/* 0x0049 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x004C 0x05 */ MSCRIPT_OFFER_ITEM(GI_RUPEE_BLUE, 0x0),
/* 0x0051 0x03 */ MSCRIPT_COLLECT_SET(0x0002),
/* 0x0054 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0057 0x01 */ MSCRIPT_CMD46(),
/* 0x0058 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_TOLIET_HAND),
/* 0x005B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x005C 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x5A, 0x80),
/* 0x005F 0x01 */ MSCRIPT_DONE(),
/* 0x0060 0x03 */ MSCRIPT_CMD44(0x2949),
/* 0x0063 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0064 0x03 */ MSCRIPT_JUMP_3(0x0),
/* 0x0067 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0068 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_TOLIET_HAND),
/* 0x006B 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x006C 0x01 */ MSCRIPT_DONE(),
/* 0x006D 0x03 */ MSCRIPT_NOTEBOOK_EVENT(BOMBERS_NOTEBOOK_EVENT_MET_TOLIET_HAND),
/* 0x0070 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0071 0x01 */ MSCRIPT_DONE(),
};
ActorInit En_Bjt_InitVars = {
@@ -364,7 +409,7 @@ s32 EnBjt_ChooseAnimation(EnBjt* this, PlayState* play) {
void EnBjt_Talk(EnBjt* this, PlayState* play) {
s16 yaw = this->actor.yawTowardsPlayer;
if (func_8010BF58(&this->actor, play, sMsgEventScript, this->msgEventCallback, &this->msgEventArg4)) {
if (MsgEvent_RunScript(&this->actor, play, sMsgEventScript, this->msgEventCallback, &this->msgEventArg4)) {
this->actor.flags &= ~ACTOR_FLAG_TALK_REQUESTED;
SubS_SetOfferMode(&this->stateFlags, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
this->stateFlags &= ~TOILET_HAND_STATE_TALKING;
+1 -2
View File
@@ -7,7 +7,6 @@
struct EnBjt;
typedef void (*EnBjtActionFunc)(struct EnBjt*, PlayState*);
typedef s32 (*MsgEventFunc)(Actor*, PlayState*);
typedef struct EnBjt {
/* 0x000 */ Actor actor;
@@ -26,7 +25,7 @@ typedef struct EnBjt {
/* 0x242 */ s16 timer;
/* 0x244 */ UNK_TYPE1 unk_244[4];
/* 0x248 */ s32 playedSfx; // to only play once
/* 0x24C */ MsgEventFunc msgEventCallback;
/* 0x24C */ MsgEventCallback msgEventCallback;
/* 0x250 */ s32 animIndex;
/* 0x254 */ UNK_TYPE1 pad_254[8];
} EnBjt; // size = 0x25C
+24 -6
View File
@@ -246,10 +246,28 @@ void func_80B3E834(EnDai* this) {
}
}
// Some kind of struct?
static s32 D_80B3FC8C[] = {
0x0100060E, 0x0C900C12, 0x10005520, 0x00110E0C, 0x910C0F0C,
0x920C0F0C, 0x930C1211, 0x5520100E, 0x0C940C12, 0x10000000,
static MsgScript D_80B3FC8C[] = {
/* 0x0000 0x03 */ MSCRIPT_BRANCH_IF_GORON(0x0009 - 0x0003),
/* 0x0003 0x03 */ MSCRIPT_BEGIN_TEXT(0x0C90),
/* 0x0006 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0007 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0008 0x01 */ MSCRIPT_DONE(),
/* 0x0009 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x55, 0x20, 0x001F - 0x000E),
/* 0x000E 0x03 */ MSCRIPT_BEGIN_TEXT(0x0C91),
/* 0x0011 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0012 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0C92),
/* 0x0015 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0016 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0C93),
/* 0x0019 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001A 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x001B 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x55, 0x20),
/* 0x001E 0x01 */ MSCRIPT_DONE(),
/* 0x001F 0x03 */ MSCRIPT_BEGIN_TEXT(0x0C94),
/* 0x0022 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0023 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0024 0x01 */ MSCRIPT_DONE(),
};
static f32 D_80B3FCB4[] = {
@@ -443,8 +461,8 @@ void func_80B3EEDC(EnDai* this, PlayState* play) {
}
void func_80B3EF90(EnDai* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, D_80B3FC8C, NULL, &this->unk_1D0)) {
SubS_SetOfferMode(&this->unk_1CE, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->actor, play, D_80B3FC8C, NULL, &this->unk_1D0)) {
SubS_SetOfferMode(&this->unk_1CE, 3, 7);
this->unk_1D0 = 0;
this->actionFunc = func_80B3F00C;
} else {
+198 -23
View File
@@ -18,28 +18,203 @@ void EnDnh_Draw(Actor* thisx, PlayState* play);
void func_80A50F38(EnDnh* this, PlayState* play);
void EnDnh_DoNothing(EnDnh* this, PlayState* play);
UNK_TYPE D_80A51250[] = {
0x000C0800, 0x080E0862, 0x0C111101, 0x10040005, 0x0E08670C, 0x10001402, 0x007A0019, 0x1000300E, 0x08590C25,
0x000D0018, 0x0F08630C, 0x12060043, 0x00001300, 0x430C0700, 0x000E088D, 0x0C190007, 0x0F088D0C, 0x19000012,
0x11191009, 0x00001000, 0x1A100016, 0x0E085A11, 0x1A100C0F, 0x085B0C0F, 0x085C0C05, 0x00060024, 0x00060E08,
0x5B19FFEE, 0x300F085E, 0x0C08000A, 0x00050F08, 0x750C1014, 0xFFF60F08, 0x600C1211, 0x19100900, 0x0010310F,
0x085F0C10, 0x00192000, 0x49001A10, 0x003D0E08, 0x68111A10, 0x0C0F0869, 0x0C0F086A, 0x0C0F086B, 0x0C0F086C,
0x0C050000, 0x00190000, 0x300E086E, 0x1119201C, 0x03201D03, 0x401D0380, 0x1D04010C, 0x12090000, 0x10310E08,
0x6D0C100E, 0x08700C19, 0xFFCB0019, 0x2000070E, 0x08710C19, 0xFFBB0E08, 0x720C0F08, 0x730C0500, 0x00001700,
0x0008000A, 0x0006320F, 0x08750C10, 0x3014FFF6, 0x001A4000, 0x0919FFA8, 0x310E0874, 0x0C100E08, 0x76111920,
0x1C03201D, 0x03401D03, 0x801D0401, 0x0C120900, 0x00100000,
MsgScript D_80A51250[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x0C, 0x08, 0x000D - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x0862),
/* 0x0008 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0009 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x11, 0x01),
/* 0x000C 0x01 */ MSCRIPT_DONE(),
/* 0x000D 0x03 */ MSCRIPT_BRANCH_IF_HUMAN(0x0015 - 0x0010),
/* 0x0010 0x03 */ MSCRIPT_BEGIN_TEXT(0x0867),
/* 0x0013 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0014 0x01 */ MSCRIPT_DONE(),
/* 0x0015 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x14, 0x02, 0x0094 - 0x001A),
/* 0x001A 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x19, 0x10, 0x004F - 0x001F),
/* 0x001F 0x03 */ MSCRIPT_BEGIN_TEXT(0x0859),
/* 0x0022 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0023 0x05 */ MSCRIPT_BRANCH_ON_ITEM(ITEM_PICTOGRAPH_BOX, 0x0040 - 0x0028),
/* 0x0028 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0863),
/* 0x002B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002C 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x002D 0x05 */ MSCRIPT_OFFER_ITEM(GI_PICTOGRAPH_BOX, 0x0),
/* 0x0032 0x03 */ MSCRIPT_COLLECT_SET(0x0043),
/* 0x0035 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0036 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x0039 0x03 */ MSCRIPT_BEGIN_TEXT(0x088D),
/* 0x003C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x003D 0x03 */ MSCRIPT_JUMP(0x0047 - 0x0040),
/* 0x0040 0x03 */ MSCRIPT_CONTINUE_TEXT(0x088D),
/* 0x0043 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0044 0x03 */ MSCRIPT_JUMP(0x0),
/* 0x0047 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0048 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x19, 0x10),
/* 0x004B 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x004E 0x01 */ MSCRIPT_DONE(),
/* 0x004F 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x1A, 0x10, 0x006A - 0x0054),
/* 0x0054 0x03 */ MSCRIPT_BEGIN_TEXT(0x085A),
/* 0x0057 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x1A, 0x10),
/* 0x005A 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x005B 0x03 */ MSCRIPT_CONTINUE_TEXT(0x085B),
/* 0x005E 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x005F 0x03 */ MSCRIPT_CONTINUE_TEXT(0x085C),
/* 0x0062 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0063 0x07 */ MSCRIPT_BRANCH_ON_TEXT_CHOICE(0x0070 - 0x006A, 0x008E - 0x006A, 0x0070 - 0x006A),
/* 0x006A 0x03 */ MSCRIPT_BEGIN_TEXT(0x085B),
/* 0x006D 0x03 */ MSCRIPT_JUMP(0x005E - 0x0070),
/* 0x0070 0x01 */ MSCRIPT_PLAY_DECIDE(),
/* 0x0071 0x03 */ MSCRIPT_CONTINUE_TEXT(0x085E),
/* 0x0074 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0075 0x05 */ MSCRIPT_BRANCH_ON_RUPEES(0x000A, 0x007F - 0x007A),
/* 0x007A 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0875),
/* 0x007D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x007E 0x01 */ MSCRIPT_DONE(),
/* 0x007F 0x03 */ MSCRIPT_CHANGE_RUPEES(0xFFF6),
/* 0x0082 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0860),
/* 0x0085 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0086 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0087 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x19, 0x10),
/* 0x008A 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x008D 0x01 */ MSCRIPT_DONE(),
/* 0x008E 0x01 */ MSCRIPT_PLAY_CANCEL(),
/* 0x008F 0x03 */ MSCRIPT_CONTINUE_TEXT(0x085F),
/* 0x0092 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0093 0x01 */ MSCRIPT_DONE(),
/* 0x0094 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x19, 0x20, 0x00E2 - 0x0099),
/* 0x0099 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x1A, 0x10, 0x00DB - 0x009E),
/* 0x009E 0x03 */ MSCRIPT_BEGIN_TEXT(0x0868),
/* 0x00A1 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x1A, 0x10),
/* 0x00A4 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00A5 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0869),
/* 0x00A8 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00A9 0x03 */ MSCRIPT_CONTINUE_TEXT(0x086A),
/* 0x00AC 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00AD 0x03 */ MSCRIPT_CONTINUE_TEXT(0x086B),
/* 0x00B0 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00B1 0x03 */ MSCRIPT_CONTINUE_TEXT(0x086C),
/* 0x00B4 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00B5 0x07 */ MSCRIPT_BRANCH_ON_TEXT_CHOICE(0x0, 0x00D5 - 0x00BC, 0x0),
/* 0x00BC 0x01 */ MSCRIPT_PLAY_DECIDE(),
/* 0x00BD 0x03 */ MSCRIPT_BEGIN_TEXT(0x086E),
/* 0x00C0 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x19, 0x20),
/* 0x00C3 0x03 */ MSCRIPT_SET_EVENT_INF(0x03, 0x20),
/* 0x00C6 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x40),
/* 0x00C9 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x80),
/* 0x00CC 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x04, 0x01),
/* 0x00CF 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00D0 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x00D1 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x00D4 0x01 */ MSCRIPT_DONE(),
/* 0x00D5 0x01 */ MSCRIPT_PLAY_CANCEL(),
/* 0x00D6 0x03 */ MSCRIPT_BEGIN_TEXT(0x086D),
/* 0x00D9 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00DA 0x01 */ MSCRIPT_DONE(),
/* 0x00DB 0x03 */ MSCRIPT_BEGIN_TEXT(0x0870),
/* 0x00DE 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00DF 0x03 */ MSCRIPT_JUMP(0x00AD - 0x00E2),
/* 0x00E2 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x19, 0x20, 0x00EE - 0x00E7),
/* 0x00E7 0x03 */ MSCRIPT_BEGIN_TEXT(0x0871),
/* 0x00EA 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00EB 0x03 */ MSCRIPT_JUMP(0x00A9 - 0x00EE),
/* 0x00EE 0x03 */ MSCRIPT_BEGIN_TEXT(0x0872),
/* 0x00F1 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00F2 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0873),
/* 0x00F5 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x00F6 0x07 */ MSCRIPT_BRANCH_ON_TEXT_CHOICE(0x0, 0x0114 - 0x00FD, 0x0),
/* 0x00FD 0x05 */ MSCRIPT_BRANCH_ON_RUPEES(0x000A, 0x0108 - 0x0102),
/* 0x0102 0x01 */ MSCRIPT_PLAY_ERROR(),
/* 0x0103 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0875),
/* 0x0106 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0107 0x01 */ MSCRIPT_DONE(),
/* 0x0108 0x01 */ MSCRIPT_PLAY_DECIDE(),
/* 0x0109 0x03 */ MSCRIPT_CHANGE_RUPEES(0xFFF6),
/* 0x010C 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x1A, 0x40, 0x011A - 0x0111),
/* 0x0111 0x03 */ MSCRIPT_JUMP(0x00BC - 0x0114),
/* 0x0114 0x01 */ MSCRIPT_PLAY_CANCEL(),
/* 0x0115 0x03 */ MSCRIPT_BEGIN_TEXT(0x0874),
/* 0x0118 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0119 0x01 */ MSCRIPT_DONE(),
/* 0x011A 0x03 */ MSCRIPT_BEGIN_TEXT(0x0876),
/* 0x011D 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x19, 0x20),
/* 0x0120 0x03 */ MSCRIPT_SET_EVENT_INF(0x03, 0x20),
/* 0x0123 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x40),
/* 0x0126 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x80),
/* 0x0129 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x04, 0x01),
/* 0x012C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x012D 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x012E 0x03 */ MSCRIPT_BRANCH_ON_CALLBACK_OPTIONAL(0x0),
/* 0x0131 0x01 */ MSCRIPT_DONE(),
};
UNK_TYPE D_80A51384[] = {
0x0E08610C,
0x16100000,
MsgScript D_80A51384[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x0861),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x01 */ MSCRIPT_CMD22(),
/* 0x0005 0x01 */ MSCRIPT_DONE(),
};
UNK_TYPE D_80A5138C[] = {
0x1B034000, 0x67001A40, 0x003A1B03, 0x80001A0E, 0x087C0C00, 0x5B20000A, 0x0F087E0C, 0x115B2019,
0x004E0F08, 0x7B0C1900, 0x470E087D, 0x0C120600, 0x0C000013, 0x000C0C07, 0x00000E08, 0x7E0C111A,
0x4019002C, 0x1B038000, 0x0B0E087A, 0x0C0F087B, 0x0C19001C, 0x0E08780C, 0x12060005, 0x00001300,
0x050C0700, 0x000E0879, 0x0C190004, 0x0E08770C, 0x1D03201D, 0x03401D03, 0x801D0401, 0x16100000,
MsgScript D_80A5138C[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_EVENT_INF(0x03, 0x40, 0x006C - 0x0005),
/* 0x0005 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x1A, 0x40, 0x0044 - 0x000A),
/* 0x000A 0x05 */ MSCRIPT_BRANCH_ON_EVENT_INF(0x03, 0x80, 0x0029 - 0x000F),
/* 0x000F 0x03 */ MSCRIPT_BEGIN_TEXT(0x087C),
/* 0x0012 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0013 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x5B, 0x20, 0x0022 - 0x0018),
/* 0x0018 0x03 */ MSCRIPT_CONTINUE_TEXT(0x087E),
/* 0x001B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001C 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x5B, 0x20),
/* 0x001F 0x03 */ MSCRIPT_JUMP(0x0070 - 0x0022),
/* 0x0022 0x03 */ MSCRIPT_CONTINUE_TEXT(0x087B),
/* 0x0025 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0026 0x03 */ MSCRIPT_JUMP(0x0070 - 0x0029),
/* 0x0029 0x03 */ MSCRIPT_BEGIN_TEXT(0x087D),
/* 0x002C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x002D 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x002E 0x05 */ MSCRIPT_OFFER_ITEM(GI_HEART_PIECE, 0x0),
/* 0x0033 0x03 */ MSCRIPT_COLLECT_SET(0x000C),
/* 0x0036 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0037 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x003A 0x03 */ MSCRIPT_BEGIN_TEXT(0x087E),
/* 0x003D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x003E 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x1A, 0x40),
/* 0x0041 0x03 */ MSCRIPT_JUMP(0x0070 - 0x0044),
/* 0x0044 0x05 */ MSCRIPT_BRANCH_ON_EVENT_INF(0x03, 0x80, 0x0054 - 0x0049),
/* 0x0049 0x03 */ MSCRIPT_BEGIN_TEXT(0x087A),
/* 0x004C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x004D 0x03 */ MSCRIPT_CONTINUE_TEXT(0x087B),
/* 0x0050 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0051 0x03 */ MSCRIPT_JUMP(0x0070 - 0x0054),
/* 0x0054 0x03 */ MSCRIPT_BEGIN_TEXT(0x0878),
/* 0x0057 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0058 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x0059 0x05 */ MSCRIPT_OFFER_ITEM(GI_RUPEE_PURPLE, 0x0),
/* 0x005E 0x03 */ MSCRIPT_COLLECT_SET(0x0005),
/* 0x0061 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0062 0x03 */ MSCRIPT_CMD07(0x0),
/* 0x0065 0x03 */ MSCRIPT_BEGIN_TEXT(0x0879),
/* 0x0068 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0069 0x03 */ MSCRIPT_JUMP(0x0070 - 0x006C),
/* 0x006C 0x03 */ MSCRIPT_BEGIN_TEXT(0x0877),
/* 0x006F 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0070 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x20),
/* 0x0073 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x40),
/* 0x0076 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x03, 0x80),
/* 0x0079 0x03 */ MSCRIPT_UNSET_EVENT_INF(0x04, 0x01),
/* 0x007C 0x01 */ MSCRIPT_CMD22(),
/* 0x007D 0x01 */ MSCRIPT_DONE(),
};
ActorInit En_Dnh_InitVars = {
@@ -70,8 +245,8 @@ static TexturePtr sEyeTextures[] = {
gKoumeKioskEyeHalfTex,
};
s32 func_80A50D40(Actor* actor, PlayState* play) {
func_800B7298(play, actor, PLAYER_CSACTION_WAIT);
s32 func_80A50D40(Actor* thisx, PlayState* play) {
func_800B7298(play, thisx, PLAYER_CSACTION_WAIT);
if (CHECK_EVENTINF(EVENTINF_35)) {
play->nextEntrance = ENTRANCE(SOUTHERN_SWAMP_CLEARED, 6);
} else {
@@ -86,7 +261,7 @@ s32 func_80A50D40(Actor* actor, PlayState* play) {
return 1;
}
void* func_80A50DF8(EnDnh* this, PlayState* play) {
MsgScript* func_80A50DF8(EnDnh* this, PlayState* play) {
switch (this->unk198) {
case 1:
return D_80A51384;
@@ -121,8 +296,8 @@ s32 func_80A50EC0(EnDnh* this) {
}
void func_80A50F38(EnDnh* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, this->msgEventScript, this->msgEventCallback, &this->unk194)) {
SubS_SetOfferMode(&this->unk18C, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->actor, play, this->msgEventScript, this->msgEventCallback, &this->unk194)) {
SubS_SetOfferMode(&this->unk18C, 3, 7);
this->unk194 = 0;
this->unk198 = 0;
this->actionFunc = EnDnh_DoNothing;
+2 -1
View File
@@ -6,9 +6,10 @@
struct EnDnh;
typedef void (*EnDnhActionFunc)(struct EnDnh*, PlayState*);
typedef s32 (*MsgEventFunc)(Actor*, PlayState*);
typedef void (*EnDnhActionFunc)(struct EnDnh*, PlayState*);
typedef struct EnDnh {
/* 0x000 */ Actor actor;
/* 0x144 */ EnDnhActionFunc actionFunc;
+18 -4
View File
@@ -126,8 +126,22 @@ static AnimationInfoS sAnimationInfo[DEKU_PRINCESS_ANIM_MAX] = {
{ &gDekuPrincessGlareLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, // DEKU_PRINCESS_ANIM_GLARE_LOOP
};
static s32 D_80B3DE58[] = {
0x00172000, 0x0D040005, 0x0E09670C, 0x100E0968, 0x0C100E09, 0x6F0C0F09, 0x700C1000,
static MsgScript D_80B3DE58[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x17, 0x20, 0x0012 - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BRANCH_IF_HUMAN(0x000D - 0x0008),
/* 0x0008 0x03 */ MSCRIPT_BEGIN_TEXT(0x0967),
/* 0x000B 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000C 0x01 */ MSCRIPT_DONE(),
/* 0x000D 0x03 */ MSCRIPT_BEGIN_TEXT(0x0968),
/* 0x0010 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0011 0x01 */ MSCRIPT_DONE(),
/* 0x0012 0x03 */ MSCRIPT_BEGIN_TEXT(0x096F),
/* 0x0015 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0016 0x03 */ MSCRIPT_CONTINUE_TEXT(0x0970),
/* 0x0019 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001A 0x01 */ MSCRIPT_DONE(),
};
s32 func_80B3CA20(EnDnp* this) {
@@ -367,8 +381,8 @@ void func_80B3D338(EnDnp* this, PlayState* play) {
}
void func_80B3D3F8(EnDnp* this, PlayState* play) {
if (func_8010BF58(&this->actor, play, D_80B3DE58, NULL, &this->unk_328)) {
SubS_SetOfferMode(&this->unk_322, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->actor, play, D_80B3DE58, NULL, &this->unk_328)) {
SubS_SetOfferMode(&this->unk_322, 3, 7);
this->unk_322 &= ~8;
this->actionFunc = func_80B3D2D4;
} else {
+45 -9
View File
@@ -20,9 +20,45 @@ void EnDnq_Draw(Actor* thisx, PlayState* play);
void func_80A52FB8(EnDnq* this, PlayState* play);
static s32 D_80A53400[] = {
0x00120100, 0x150E0899, 0x0C120F08, 0x9A0C0F08, 0x9B0C0F08, 0x9C0C1112, 0x01100E08, 0x980C1000, 0x00120200,
0x0C0E089D, 0x0C0F089E, 0x0C111202, 0x100E089F, 0x0C100000, 0x0E08A10C, 0x0F08A20C, 0x10000000,
static MsgScript D_80A53400[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x12, 0x01, 0x001A - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x0899),
/* 0x0008 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0009 0x01 */ MSCRIPT_CLOSE_TEXT(),
/* 0x000A 0x03 */ MSCRIPT_CONTINUE_TEXT(0x089A),
/* 0x000D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000E 0x03 */ MSCRIPT_CONTINUE_TEXT(0x089B),
/* 0x0011 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0012 0x03 */ MSCRIPT_CONTINUE_TEXT(0x089C),
/* 0x0015 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0016 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x12, 0x01),
/* 0x0019 0x01 */ MSCRIPT_DONE(),
/* 0x001A 0x03 */ MSCRIPT_BEGIN_TEXT(0x0898),
/* 0x001D 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x001E 0x01 */ MSCRIPT_DONE(),
};
static MsgScript D_80A53420[] = {
/* 0x0000 0x05 */ MSCRIPT_BRANCH_ON_WEEK_EVENT_REG(0x12, 0x02, 0x0011 - 0x0005),
/* 0x0005 0x03 */ MSCRIPT_BEGIN_TEXT(0x089D),
/* 0x0008 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0009 0x03 */ MSCRIPT_CONTINUE_TEXT(0x089E),
/* 0x000C 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x000D 0x03 */ MSCRIPT_WEEK_EVENT_REG_SET(0x12, 0x02),
/* 0x0010 0x01 */ MSCRIPT_DONE(),
/* 0x0011 0x03 */ MSCRIPT_BEGIN_TEXT(0x089F),
/* 0x0014 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0015 0x01 */ MSCRIPT_DONE(),
};
static MsgScript D_80A53438[] = {
/* 0x0000 0x03 */ MSCRIPT_BEGIN_TEXT(0x08A1),
/* 0x0003 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0004 0x03 */ MSCRIPT_CONTINUE_TEXT(0x08A2),
/* 0x0007 0x01 */ MSCRIPT_AWAIT_TEXT(),
/* 0x0008 0x01 */ MSCRIPT_DONE(),
};
ActorInit En_Dnq_InitVars = {
@@ -340,16 +376,16 @@ void func_80A52C6C(EnDnq* this, PlayState* play) {
this->picto.actor.xzDistToPlayer = Math_Vec3f_DistXZ(&sp28, &sp1C);
}
s32* func_80A52CF8(EnDnq* this, PlayState* play) {
MsgScript* func_80A52CF8(EnDnq* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
return &D_80A53400[14];
return D_80A53438;
}
if (this->unk_3A4 != 0) {
return &D_80A53400[8];
return D_80A53420;
}
return &D_80A53400[0];
return D_80A53400;
}
s32 func_80A52D44(EnDnq* this, PlayState* play) {
@@ -411,8 +447,8 @@ void func_80A52DC8(EnDnq* this, PlayState* play) {
void func_80A52FB8(EnDnq* this, PlayState* play) {
s16 sp2E = this->picto.actor.yawTowardsPlayer;
if (func_8010BF58(&this->picto.actor, play, this->unk_380, NULL, &this->unk_1E0)) {
SubS_SetOfferMode(&this->unk_37C, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
if (MsgEvent_RunScript(&this->picto.actor, play, this->unk_380, NULL, &this->unk_1E0)) {
SubS_SetOfferMode(&this->unk_37C, 3, 7);
this->unk_386 = 0;
this->actionFunc = func_80A52DC8;
} else {

Some files were not shown because too many files have changed in this diff Show More