Play_Hireso (Bombers Notebook) OK w/ Docs (#1235)

* Start

* Try every function

* Import data

* Docs from message branch

* Fix non-equivalency for func_8016AE1C

* Everything looks NON_MATCHING

* Some more clean up and docs

* Some cleanup

* Small format

* Small improvements here and there

* Match a couple

* Anotha one

* and than there was 1

* and than there were none :)

* Lots of docs

* Finish code docs

* schedule static

* Macros + cleanup

* text ids array cleanup

* Entries cleanup

* Use sBombersNotebookEntries in macros

* Some docs from message branch

* eventIndex -> event

* Remove outdated comments

* PR

* BOMBERS_NOTEBOOK_ENTRY_SIZE

* tables

* Token pasting to simplify

* Some more fixes

* PR pt 1

* Format

* Bring over BombersNotebook docs from z_message branch

Co-authored-by: ZoeyZolotova <zoey.zolotova@gmail.com>

* Full enum glory

* Format

* Name weekeventregs

* typo

* Some comments

* bss

* Review

* bss

* Update src/code/z_play_hireso.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Fix

* Namefixer

* bss

* Format

* 0 = 0x0000

---------

Co-authored-by: ZoeyZolotova <zoey.zolotova@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
Derek Hensley 2023-06-06 07:54:50 -07:00 committed by GitHub
parent a0701c170b
commit 8c961f2b16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 2015 additions and 521 deletions

View File

@ -0,0 +1,38 @@
<Root>
<File Name="schedule_static" Segment="8">
<Texture Name="gBombersNotebookEntryIconExclamationPointTex" OutName="bombers_notebook_entry_icon_exlamation_point" Format="ia8" Width="16" Height="16" Offset="0x0000"/>
<Texture Name="gBombersNotebookStampTex" OutName="bombers_notebook_stamp" Format="ia8" Width="32" Height="48" Offset="0x0100"/>
<Texture Name="gBombersNotebookArrowTex" OutName="bombers_notebook_arrow" Format="ia8" Width="24" Height="16" Offset="0x0700"/>
<Texture Name="gBombersNotebookConnectorTex" OutName="bombers_notebook_connector" Format="ia8" Width="32" Height="14" Offset="0x0880"/>
<Texture Name="gBombersNotebookEmptyPhotoTex" OutName="bombers_notebook_empty_photo" Format="rgba16" Width="32" Height="32" Offset="0x0A40"/>
<Texture Name="gBombersNotebookEntryBoxEndTex" OutName="bombers_notebook_entry_end" Format="rgba16" Width="4" Height="16" Offset="0x1240"/>
<Texture Name="gBombersNotebookEntryBoxMiddleTex" OutName="bombers_notebook_entry_middle" Format="rgba16" Width="4" Height="16" Offset="0x12C0"/>
<Texture Name="gBombersNotebookSubColumnBoxTex" OutName="bombers_notebook_sub_column_box" Format="i4" Width="48" Height="1" Offset="0x1340"/>
<Texture Name="gBombersNotebookCircleTex" OutName="bombers_notebook_circle" Format="i4" Width="16" Height="16" Offset="0x1358"/>
<Texture Name="gBombersNotebookBackgroundTex" OutName="bombers_notebook_background" Format="i8" Width="32" Height="32" Offset="0x13D8"/>
<Texture Name="gBombersNotebookHeaderBoxTex" OutName="bombers_notebook_header_box" Format="i8" Width="8" Height="24" Offset="0x17D8"/>
<Texture Name="gBombersNotebookLineTex" OutName="bombers_notebook_line" Format="i8" Width="8" Height="1" Offset="0x1898"/>
<Texture Name="gBombersNotebookBarTex" OutName="bombers_notebook_bar" Format="i8" Width="8" Height="4" Offset="0x18B0"/>
<Texture Name="gBombersNotebookCursorTex" OutName="bombers_notebook_cursor" Format="ia4" Width="16" Height="16" Offset="0x18D0"/>
<Texture Name="gBombersNoteoobkTimeOfDayBoxTex" OutName="bombers_notebook_time_of_day_box" Format="ia4" Width="64" Height="28" Offset="0x1950"/>
<Texture Name="gBombersNotebookTimeBoxLeftTex" OutName="bombers_notebook_time_box_left" Format="ia4" Width="16" Height="28" Offset="0x1CD0"/>
<Texture Name="gBombersNotebookTimeBoxRightTex" OutName="bombers_notebook_time_box_right" Format="ia4" Width="16" Height="28" Offset="0x1DB0"/>
<Texture Name="gBombersNotebookTimeBoxMiddleTex" OutName="bombers_notebook_time_box_middle" Format="ia4" Width="16" Height="28" Offset="0x1E90"/>
<Texture Name="gBombersNotebook1800Tex" OutName="bombers_notebook_1800" Format="ia4" Width="48" Height="11" Offset="0x1F70"/>
<Texture Name="gBombersNotebookDigit0Tex" OutName="bombers_notebook_digit_0" Format="i4" Width="16" Height="17" Offset="0x2078"/>
<Texture Name="gBombersNotebookDigit1Tex" OutName="bombers_notebook_digit_1" Format="i4" Width="16" Height="17" Offset="0x2100"/>
<Texture Name="gBombersNotebookDigit2Tex" OutName="bombers_notebook_digit_2" Format="i4" Width="16" Height="17" Offset="0x2188"/>
<Texture Name="gBombersNotebookDigit3Tex" OutName="bombers_notebook_digit_3" Format="i4" Width="16" Height="17" Offset="0x2210"/>
<Texture Name="gBombersNotebookDigit4Tex" OutName="bombers_notebook_digit_4" Format="i4" Width="16" Height="17" Offset="0x2298"/>
<Texture Name="gBombersNotebookDigit5Tex" OutName="bombers_notebook_digit_5" Format="i4" Width="16" Height="17" Offset="0x2320"/>
<Texture Name="gBombersNotebookDigit6Tex" OutName="bombers_notebook_digit_6" Format="i4" Width="16" Height="17" Offset="0x23A8"/>
<Texture Name="gBombersNotebookDigit7Tex" OutName="bombers_notebook_digit_7" Format="i4" Width="16" Height="17" Offset="0x2430"/>
<Texture Name="gBombersNotebookDigit8Tex" OutName="bombers_notebook_digit_8" Format="i4" Width="16" Height="17" Offset="0x24B8"/>
<Texture Name="gBombersNotebookDigit9Tex" OutName="bombers_notebook_digit_9" Format="i4" Width="16" Height="17" Offset="0x2540"/>
<Texture Name="gBombersNotebookColonTex" OutName="bombers_notebook_colon" Format="i4" Width="16" Height="17" Offset="0x25C8"/>
<Texture Name="gBombersNotebookDay1stTex" OutName="bombers_notebook_day_1st" Format="ia8" Width="48" Height="22" Offset="0x2650"/>
<Texture Name="gBombersNotebookDay2ndTex" OutName="bombers_notebook_day_2nd" Format="ia8" Width="48" Height="22" Offset="0x2A70"/>
<Texture Name="gBombersNotebookDayFinalTex" OutName="bombers_notebook_day_final" Format="ia8" Width="48" Height="22" Offset="0x2E90"/>
<Texture Name="gBombersNotebookTimeOfDayTex" OutName="bombers_notebook_time_of_day" Format="i4" Width="96" Height="20" Offset="0x32B0"/>
</File>
</Root>

View File

@ -4699,7 +4699,7 @@ _DW({ \
/* like gSPTextureRectangle but accepts negative position arguments */
#define gSPScisTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \
{ \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
\
_g->words.w0 = (_SHIFTL(G_TEXRECT, 24, 8) | \
@ -4723,7 +4723,7 @@ _DW({ \
0, 16))); \
gImmp1(pkt, G_RDPHALF_2, (_SHIFTL((dsdx), 16, 16) | \
_SHIFTL((dtdy), 0, 16))); \
}
})
#define gsSPTextureRectangleFlip(xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \
(_SHIFTL(G_TEXRECTFLIP, 24, 8) | _SHIFTL(xh, 12, 12) | \

View File

@ -1695,7 +1695,7 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2);
void Message_StartTextbox(PlayState* play, u16 textId, Actor* Actor);
void Message_ContinueTextbox(PlayState* play, u16 textId);
void func_80151A68(PlayState* play, u16 textId);
void func_80151BB4(PlayState* play, u8 arg1);
void Message_BombersNotebookQueueEvent(PlayState* play, u8 event);
// void func_80151C9C(void);
void func_80151DA4(PlayState* play, u16 arg2);
void func_80152434(PlayState* play, u16 arg2);
@ -1825,19 +1825,6 @@ void Play_AssignPlayerCsIdsFromScene(GameState* thisx, s32 spawnCsId);
void Play_FillScreen(GameState* thisx, s16 fillScreenOn, u8 red, u8 green, u8 blue, u8 alpha);
void Play_Init(GameState* thisx);
// void func_8016AC10(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, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10);
// void func_8016AE1C(void);
// void func_8016B278(void);
// void func_8016B4B0(void);
// void func_8016C344(void);
// void func_8016CD4C(void);
// void func_8016E40C(void);
// void func_8016EA90(void);
void BombersNotebook_Draw(BombersNotebook* this, GraphicsContext* gfxCtx);
// void func_8016F4EC(void);
void BombersNotebook_Update(PlayState* play, BombersNotebook* this, Input* input);
void BombersNotebook_Init(BombersNotebook* this);
void BombersNotebook_Destroy(BombersNotebook* this);
void PreRender_SetValuesSave(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf, void* cvg);
void PreRender_Init(PreRender* this);
void PreRender_SetValues(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf);

View File

@ -34,6 +34,7 @@
#define CLOCK_TIME(hr, min) (s32)(((hr) * 60 + (min)) * 0x10000 / (24 * 60))
#define CLOCK_TIME_MINUTE (CLOCK_TIME(0, 1))
#define CLOCK_TIME_HOUR (CLOCK_TIME(1, 0))
#define DAY_LENGTH (CLOCK_TIME(24, 0))
#define TIME_TO_HOURS_F(time) ((time) * (24.0f / 0x10000))
@ -44,6 +45,7 @@
#define CLOCK_TIME_F(hr, min) (((hr) * 60.0f + (min)) * (0x10000 / (24.0f * 60.0f)))
#define CLOCK_TIME_ALT_F(hr, min) (((hr) * 60.0f + (min)) / (24.0f * 60.0f / 0x10000))
#define CLOCK_TIME_ALT2_F(hr, min) ((((hr) + (min) / 60.0f) * 60.0f) / (24.0f * 60.0f / 0x10000))
#define CLOCK_TIME_HOUR_F (CLOCK_TIME_F(1, 0))
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))

View File

@ -57,6 +57,7 @@ DECLARE_ROM_SEGMENT(icon_item_static_old)
DECLARE_ROM_SEGMENT(icon_item_24_static_test)
DECLARE_ROM_SEGMENT(icon_item_24_static_old)
DECLARE_ROM_SEGMENT(schedule_dma_static_test)
DECLARE_ROM_SEGMENT(schedule_dma_static_old)
DECLARE_ROM_SEGMENT(schedule_static)
DECLARE_ROM_SEGMENT(story_static)
DECLARE_ROM_SEGMENT(do_action_static)

View File

@ -0,0 +1,48 @@
/**
* Bombers Notebook Event Table
*
* DEFINE_EVENT should be used for events in the notebook
* - Argument 0: Enum value for the event
* - Argument 1: Icon to use (see BombersNotebookEventIcon)
* - Argument 2: WeekEventFlag that updates the icons color
* - Argument 3: Message id for the description of this event
* - Argument 4: Message id for the completion of this event
* - Argument 5: WeekEventFlag for the completion of this event
*
* Note: These events are after the MET events, so will start indexing at BOMBERS_NOTEBOOK_PERSON_MAX
*/
/* 0x14 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROOM_KEY, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_RECEIVED_ROOM_KEY, 0x2198, 0x2152, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROOM_KEY)
/* 0x15 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_PROMISED_MIDNIGHT_MEETING, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_PROMISED_MIDNIGHT_MEETING, 0x2199, 0x2153, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_MIDNIGHT_MEETING)
/* 0x16 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_MEET_KAFEI, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_HAD_MIDNIGHT_MEETING, 0x219A, 0x2154, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_MEET_KAFEI)
/* 0x17 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_LETTER_TO_KAFEI, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_HAD_MIDNIGHT_MEETING, 0x219B, 0x0000, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_LETTER_TO_KAFEI)
/* 0x18 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_DEPOSITED_LETTER_TO_KAFEI, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI, 0x219C, 0x2156, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEPOSITED_LETTER_TO_KAFEI)
/* 0x19 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_PENDANT_OF_MEMORIES, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_RECEIVED_PENDANT_OF_MEMORIES, 0x219D, 0x2157, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PENDANT_OF_MEMORIES)
/* 0x1A */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_DELIVERED_PENDANT_OF_MEMORIES, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_DELIVERED_PENDANT_OF_MEMORIES, 0x219E, 0x2158, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PENDANT_OF_MEMORIES)
/* 0x1B */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_ESCAPED_SAKONS_HIDEOUT, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT, 0x219F, 0x2159, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCAPED_SAKONS_HIDEOUT)
/* 0x1C */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_HELP_WITH_THEM, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM, 0x21A0, 0x215A, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_HELP_WITH_THEM)
/* 0x1D */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_DEFENDED_AGAINST_THEM, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_DEFENDED_AGAINST_THEM, 0x21A1, 0x215B, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEFENDED_AGAINST_THEM)
/* 0x1E */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_MILK_BOTTLE, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A2, 0x0000, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MILK_BOTTLE)
/* 0x1F */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_ESCORTED_CREMIA, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_ESCORTED_CREMIA, 0x21A3, 0x215D, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCORTED_CREMIA)
/* 0x20 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROMANIS_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A4, 0x0000, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROMANIS_MASK)
/* 0x21 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_KEATON_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A5, 0x215F, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KEATON_MASK)
/* 0x22 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_PRIORITY_MAIL, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, WEEKEVENTREG_RECEIVED_PRIORITY_MAIL, 0x21A6, 0x2160, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PRIORITY_MAIL)
/* 0x23 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A7, 0x2161, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL)
/* 0x24 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE, BOMBERS_NOTEBOOK_EVENT_ICON_EXCLAMATION_POINT, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A8, 0x0000, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE)
/* 0x25 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21A9, 0x2163, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK)
/* 0x26 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_MAYOR_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AA, 0x2164, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MAYOR_HP)
/* 0x27 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROSA_SISTERS_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AB, 0x2165, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROSA_SISTERS_HP)
/* 0x28 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_TOILET_HAND_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AC, 0x2166, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_TOILET_HAND_HP)
/* 0x29 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_SHORT_STORY_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AD, 0x2167, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_SHORT_STORY_HP)
/* 0x2A */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_LONG_STORY_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AE, 0x2168, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_LONG_STORY_HP)
/* 0x2B */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMAN_HP, BOMBERS_NOTEBOOK_EVENT_ICON_RIBBON, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21AF, 0x2169, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMAN_HP)
/* 0x2C */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAFEIS_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B0, 0x216A, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAFEIS_MASK)
/* 0x2D */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_ALL_NIGHT_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B1, 0x216B, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ALL_NIGHT_MASK)
/* 0x2E */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_BUNNY_HOOD, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B2, 0x216C, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BUNNY_HOOD)
/* 0x2F */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B3, 0x216D, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK)
/* 0x30 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_CIRCUS_LEADERS_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B4, 0x216E, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_CIRCUS_LEADERS_MASK)
/* 0x31 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMANS_HAT, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B5, 0x216F, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMANS_HAT)
/* 0x32 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_COUPLES_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B6, 0x2170, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_COUPLES_MASK)
/* 0x33 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B7, 0x2171, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK)
/* 0x34 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAMAROS_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B8, 0x2172, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAMAROS_MASK)
/* 0x35 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_STONE_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21B9, 0x2173, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_STONE_MASK)
/* 0x36 */ DEFINE_EVENT(BOMBERS_NOTEBOOK_EVENT_RECEIVED_BREMEN_MASK, BOMBERS_NOTEBOOK_EVENT_ICON_MASK, BOMBERS_NOTEBOOK_EVENT_COLOR_WEEKEVENTREG_NONE, 0x21BA, 0x2174, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BREMEN_MASK)

View File

@ -0,0 +1,31 @@
/**
* Bombers Notebook Person Table
*
* DEFINE_PERSON should be used for people with entries in the notebook
* - Argument 0: Enum value for this person
* - Argument 1: Photo texture for this person
* - Argument 2: Message id for the description of this person
* - Argument 3: Enum value for the event meeting this person
* - Argument 4: Message id for the event meeting this person
* - Argument 5: WeekEventFlag for the event meeting this person
*/
/* 0x00 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_BOMBERS, D_07009800, 0x21DD, BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS, 0x2147, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS)
/* 0x01 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_ANJU, D_07000000, 0x21CA, BOMBERS_NOTEBOOK_EVENT_MET_ANJU, 0x2134, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJU)
/* 0x02 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_KAFEI, D_07000800, 0x21CB, BOMBERS_NOTEBOOK_EVENT_MET_KAFEI, 0x2135, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAFEI)
/* 0x03 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_CURIOSITY_SHOP_MAN, D_07001000, 0x21CC, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN, 0x2136, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN)
/* 0x04 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_BOMB_SHOP_LADY, D_07001800, 0x21CD, BOMBERS_NOTEBOOK_EVENT_MET_BOMB_SHOP_LADY, 0x2137, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMB_SHOP_LADY)
/* 0x05 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_ROMANI, D_07002000, 0x21CE, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI, 0x2138, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROMANI)
/* 0x06 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_CREMIA, D_07002800, 0x21CF, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA, 0x2139, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CREMIA)
/* 0x07 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_MAYOR_DOTOUR, D_07003000, 0x21D0, BOMBERS_NOTEBOOK_EVENT_MET_MAYOR_DOTOUR, 0x213A, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MAYOR_DOTOUR)
/* 0x08 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_MADAME_AROMA, D_07003800, 0x21D1, BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA, 0x213B, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA)
/* 0x09 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_TOTO, D_07004000, 0x21D2, BOMBERS_NOTEBOOK_EVENT_MET_TOTO, 0x213C, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOTO)
/* 0x0A */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_GORMAN, D_07004800, 0x21D3, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN, 0x213D, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN)
/* 0x0B */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_POSTMAN, D_07005000, 0x21D4, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN, 0x213E, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN)
/* 0x0C */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_ROSA_SISTERS, D_07005800, 0x21D5, BOMBERS_NOTEBOOK_EVENT_MET_ROSA_SISTERS, 0x213F, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROSA_SISTERS)
/* 0x0D */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_TOILET_HAND, D_07006000, 0x21D6, BOMBERS_NOTEBOOK_EVENT_MET_TOLIET_HAND, 0x2140, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOILET_HAND)
/* 0x0E */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_ANJUS_GRANDMOTHER, D_07006800, 0x21D7, BOMBERS_NOTEBOOK_EVENT_MET_ANJUS_GRANDMOTHER, 0x2141, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJUS_GRANDMOTHER)
/* 0x0F */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_KAMARO, D_07007000, 0x21D8, BOMBERS_NOTEBOOK_EVENT_MET_KAMARO, 0x2142, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAMARO)
/* 0x10 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_GROG, D_07007800, 0x21D9, BOMBERS_NOTEBOOK_EVENT_MET_GROG, 0x2143, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GROG)
/* 0x11 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_GORMAN_BROTHERS, D_07008000, 0x21DA, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS, 0x2144, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS)
/* 0x12 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_SHIRO, D_07008800, 0x21DB, BOMBERS_NOTEBOOK_EVENT_MET_SHIRO, 0x2145, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_SHIRO)
/* 0x13 */ DEFINE_PERSON(BOMBERS_NOTEBOOK_PERSON_GURU_GURU, D_07009000, 0x21DC, BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU, 0x2146, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU)

View File

@ -563,8 +563,6 @@ extern UNK_PTR D_801C5CB0;
// extern UNK_TYPE2 D_801C6A90;
// extern UNK_TYPE2 D_801C6A94;
extern u8 gPageSwitchNextButtonStatus[6][5];
// extern UNK_TYPE1 D_801C6AB8;
// extern UNK_TYPE1 D_801C6B28;
// extern UNK_TYPE1 D_801CED40;
// extern UNK_TYPE2 D_801CFC78;
// extern UNK_TYPE1 D_801CFC7A;
@ -697,53 +695,6 @@ extern s32 gDbgCamEnabled;
extern Input* D_801D0D60;
// extern UNK_TYPE2 sPlayerCsIdToCsCamId;
// extern UNK_TYPE1 D_801D0D7A;
// extern UNK_TYPE1 D_801D0D80;
// extern UNK_TYPE1 D_801D11F4;
// extern UNK_TYPE1 D_801D1230;
// extern UNK_TYPE1 D_801D1234;
// extern UNK_TYPE4 D_801D1238;
// extern UNK_TYPE1 D_801D1244;
// extern UNK_TYPE1 D_801D12C0;
// extern UNK_TYPE1 D_801D12D0;
// extern UNK_TYPE1 D_801D12D4;
// extern UNK_TYPE1 D_801D12D8;
// extern UNK_TYPE1 D_801D12DC;
// extern UNK_TYPE2 D_801D1330;
// extern UNK_TYPE1 D_801D1342;
// extern UNK_TYPE2 D_801D1344;
// extern UNK_TYPE1 D_801D1368;
// extern UNK_TYPE2 D_801D1374;
// extern UNK_TYPE1 D_801D1388;
// extern UNK_TYPE2 D_801D13D8;
// extern UNK_TYPE2 D_801D13DC;
// extern UNK_TYPE2 D_801D13E0;
// extern UNK_TYPE2 D_801D13E4;
// extern UNK_TYPE4 D_801D13E8;
// extern UNK_TYPE1 D_801D13EC;
// extern UNK_TYPE1 D_801D13F0;
// extern UNK_TYPE1 D_801D13F4;
// extern UNK_TYPE1 D_801D13F8;
// extern UNK_TYPE1 D_801D1420;
// extern UNK_TYPE2 D_801D142C;
// extern UNK_TYPE2 D_801D1434;
// extern UNK_TYPE2 D_801D1438;
// extern UNK_TYPE2 D_801D143C;
// extern UNK_TYPE2 D_801D1440;
// extern UNK_TYPE2 D_801D1444;
// extern UNK_TYPE2 D_801D1448;
// extern UNK_TYPE2 D_801D144C;
// extern UNK_TYPE2 D_801D1450;
// extern UNK_TYPE2 D_801D1454;
// extern UNK_TYPE2 D_801D1458;
// extern UNK_TYPE2 D_801D145C;
// extern UNK_TYPE2 D_801D1460;
// extern UNK_TYPE1 D_801D1464;
// extern UNK_TYPE1 D_801D1468;
// extern UNK_TYPE1 D_801D146C;
// extern UNK_TYPE2 D_801D14DC;
// extern UNK_TYPE2 D_801D14E0;
// extern UNK_TYPE2 D_801D14E4;
// extern UNK_TYPE2 D_801D14E8;
// extern UNK_TYPE4 D_801D14F0;
extern u32 retryCount;

View File

@ -35,6 +35,7 @@
#include "z64animation_legacy.h"
#include "z64audio.h"
#include "z64bgcheck.h"
#include "z64bombers_notebook.h"
#include "z64camera.h"
#include "z64collision_check.h"
#include "z64curve.h"
@ -529,26 +530,6 @@ typedef struct PlayState {
/* 0x18E6C */ char unk_18E6C[0x3EC];
} PlayState; // size = 0x19258
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ char unk_01[0x3F];
/* 0x40 */ void* unk_40;
/* 0x44 */ u32 unk_44;
/* 0x48 */ u32 unk_48;
/* 0x4C */ DmaRequest unk_4C;
/* 0x6C */ OSMesgQueue unk_6C;
/* 0x84 */ OSMesg unk_84[1];
/* 0x88 */ void* unk_88;
/* 0x8C */ uintptr_t unk_8C;
/* 0x90 */ size_t unk_90;
/* 0x94 */ s32 unk_94;
/* 0x98 */ s32 unk_98;
/* 0x9C */ s32 unk_9C;
/* 0xA0 */ char unk_A0[0x4];
/* 0xA4 */ s32 unk_A4;
/* 0xA8 */ s32 unk_A8;
} BombersNotebook; // size = 0xAC
typedef enum {
/* 0 */ PICTO_PHOTO_STATE_OFF,
/* 1 */ PICTO_PHOTO_STATE_SETUP,

View File

@ -0,0 +1,58 @@
#ifndef Z64BOMBERS_NOTEBOOK_H
#define Z64BOMBERS_NOTEBOOK_H
#include "ultra64.h"
#include "io/controller.h"
#include "z64dma.h"
#define DEFINE_PERSON(enum, _photo, _description, _metEnum, _metMessage, _metFlag) enum,
typedef enum BombersNotebookPerson {
#include "tables/bombers_notebook/person_table.h"
/* 0x14 */ BOMBERS_NOTEBOOK_PERSON_MAX
} BombersNotebookPerson;
#undef DEFINE_PERSON
typedef enum BombersNotebookLoadState {
/* 0 */ BOMBERS_NOTEBOOK_LOAD_STATE_NONE,
/* 1 */ BOMBERS_NOTEBOOK_LOAD_STATE_STARTED,
/* 2 */ BOMBERS_NOTEBOOK_LOAD_STATE_DONE
} BombersNotebookLoadState;
#define DEFINE_PERSON(_enum, _photo, _description, metEnum, _metMessage, _metFlag) metEnum,
#define DEFINE_EVENT(enum, _icon, _colorFlag, _description, _completedMessage, _completedFlag) enum,
typedef enum BombersNotebookEvent {
#include "tables/bombers_notebook/person_table.h"
#include "tables/bombers_notebook/event_table.h"
/* 0x37 */ BOMBERS_NOTEBOOK_EVENT_MAX
} BombersNotebookEvent;
#undef DEFINE_PERSON
#undef DEFINE_EVENT
typedef struct {
/* 0x00 */ u8 loadState;
/* 0x01 */ UNK_TYPE1 pad01[0x3F];
/* 0x40 */ void* scheduleDmaSegment;
/* 0x44 */ uintptr_t scheduleDmaSegmentStart;
/* 0x48 */ size_t scheduleDmaSegmentSize;
/* 0x4C */ DmaRequest dmaRequest;
/* 0x6C */ OSMesgQueue loadQueue;
/* 0x84 */ OSMesg loadMsg[1];
/* 0x88 */ void* scheduleSegment;
/* 0x8C */ uintptr_t scheduleSegmentStart;
/* 0x90 */ size_t scheduleSegmentSize;
/* 0x94 */ s32 cursorPageRow;
/* 0x98 */ s32 cursorEntry; // Entries are 3 apart, see BOMBERS_NOTEBOOK_ENTRY_SIZE
/* 0x9C */ s32 cursorPage;
/* 0xA0 */ UNK_TYPE1 padA0[0x4];
/* 0xA4 */ s32 scrollAmount;
/* 0xA8 */ s32 scrollOffset;
} BombersNotebook; // size = 0xAC
void BombersNotebook_Draw(BombersNotebook* this, struct GraphicsContext* gfxCtx);
void BombersNotebook_Update(struct PlayState* play, BombersNotebook* this, Input* input);
void BombersNotebook_Init(BombersNotebook* this);
void BombersNotebook_Destroy(BombersNotebook* this);
#endif

View File

@ -9,6 +9,9 @@ struct Actor;
struct MessageTableEntry;
struct OcarinaStaff;
extern u16 sBombersNotebookEventMessages[BOMBERS_NOTEBOOK_EVENT_MAX];
extern u16 gBombersNotebookWeekEventFlags[BOMBERS_NOTEBOOK_EVENT_MAX];
typedef enum TextState {
/* 0 */ TEXT_STATE_NONE,
/* 1 */ TEXT_STATE_1,
@ -159,8 +162,8 @@ typedef struct MessageContext {
/* 0x120A0 */ s32 unk120A0;
/* 0x120A4 */ s16 unk120A4[6];
/* 0x120B0 */ u8 unk120B0;
/* 0x120B1 */ u8 unk120B1;
/* 0x120B2 */ u8 unk120B2[0xA];
/* 0x120B1 */ u8 bombersNotebookEventQueueCount;
/* 0x120B2 */ u8 bombersNotebookEventQueue[10];
/* 0x120BC */ u16 unk_120BC;
/* 0x120BE */ s16 unk120BE;
/* 0x120C0 */ s16 unk120C0;

View File

@ -733,13 +733,13 @@ typedef enum {
#define WEEKEVENTREG_TALKED_THAWED_GRAVEYARD_GORON PACK_WEEKEVENTREG_FLAG(21, 0x08)
#define WEEKEVENTREG_21_10 PACK_WEEKEVENTREG_FLAG(21, 0x10)
#define WEEKEVENTREG_21_20 PACK_WEEKEVENTREG_FLAG(21, 0x20)
#define WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM PACK_WEEKEVENTREG_FLAG(21, 0x20)
#define WEEKEVENTREG_21_40 PACK_WEEKEVENTREG_FLAG(21, 0x40)
#define WEEKEVENTREG_21_80 PACK_WEEKEVENTREG_FLAG(21, 0x80)
// Aliens defeated
// "Winning" the alien invasion
#define WEEKEVENTREG_22_01 PACK_WEEKEVENTREG_FLAG(22, 0x01)
#define WEEKEVENTREG_DEFENDED_AGAINST_THEM PACK_WEEKEVENTREG_FLAG(22, 0x01)
#define WEEKEVENTREG_22_02 PACK_WEEKEVENTREG_FLAG(22, 0x02)
@ -795,11 +795,11 @@ typedef enum {
#define WEEKEVENTREG_26_40 PACK_WEEKEVENTREG_FLAG(26, 0x40)
#define WEEKEVENTREG_26_80 PACK_WEEKEVENTREG_FLAG(26, 0x80)
#define WEEKEVENTREG_27_01 PACK_WEEKEVENTREG_FLAG(27, 0x01)
#define WEEKEVENTREG_27_02 PACK_WEEKEVENTREG_FLAG(27, 0x02)
#define WEEKEVENTREG_27_04 PACK_WEEKEVENTREG_FLAG(27, 0x04)
#define WEEKEVENTREG_27_08 PACK_WEEKEVENTREG_FLAG(27, 0x08)
#define WEEKEVENTREG_27_10 PACK_WEEKEVENTREG_FLAG(27, 0x10)
#define WEEKEVENTREG_27_20 PACK_WEEKEVENTREG_FLAG(27, 0x20)
#define WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_UPPER_CLOCKTOWN PACK_WEEKEVENTREG_FLAG(27, 0x02)
#define WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_NORTH_CLOCKTOWN PACK_WEEKEVENTREG_FLAG(27, 0x04)
#define WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_UPPER_CLOCKTOWN PACK_WEEKEVENTREG_FLAG(27, 0x08)
#define WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_LOWER_CLOCKTOWN PACK_WEEKEVENTREG_FLAG(27, 0x10)
#define WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_LOWER_CLOCKTOWN PACK_WEEKEVENTREG_FLAG(27, 0x20)
#define WEEKEVENTREG_27_40 PACK_WEEKEVENTREG_FLAG(27, 0x40)
#define WEEKEVENTREG_27_80 PACK_WEEKEVENTREG_FLAG(27, 0x80)
#define WEEKEVENTREG_28_01 PACK_WEEKEVENTREG_FLAG(28, 0x01)
@ -956,22 +956,22 @@ typedef enum {
#define WEEKEVENTREG_50_01 PACK_WEEKEVENTREG_FLAG(50, 0x01)
#define WEEKEVENTREG_50_02 PACK_WEEKEVENTREG_FLAG(50, 0x02)
#define WEEKEVENTREG_50_04 PACK_WEEKEVENTREG_FLAG(50, 0x04)
#define WEEKEVENTREG_50_08 PACK_WEEKEVENTREG_FLAG(50, 0x08)
#define WEEKEVENTREG_PROMISED_MIDNIGHT_MEETING PACK_WEEKEVENTREG_FLAG(50, 0x08)
#define WEEKEVENTREG_50_10 PACK_WEEKEVENTREG_FLAG(50, 0x10)
#define WEEKEVENTREG_50_20 PACK_WEEKEVENTREG_FLAG(50, 0x20)
#define WEEKEVENTREG_HAD_MIDNIGHT_MEETING PACK_WEEKEVENTREG_FLAG(50, 0x20)
#define WEEKEVENTREG_50_40 PACK_WEEKEVENTREG_FLAG(50, 0x40)
#define WEEKEVENTREG_50_80 PACK_WEEKEVENTREG_FLAG(50, 0x80)
#define WEEKEVENTREG_51_01 PACK_WEEKEVENTREG_FLAG(51, 0x01)
#define WEEKEVENTREG_RECEIVED_PENDANT_OF_MEMORIES PACK_WEEKEVENTREG_FLAG(50, 0x80)
#define WEEKEVENTREG_DELIVERED_PENDANT_OF_MEMORIES PACK_WEEKEVENTREG_FLAG(51, 0x01)
#define WEEKEVENTREG_51_02 PACK_WEEKEVENTREG_FLAG(51, 0x02)
#define WEEKEVENTREG_51_04 PACK_WEEKEVENTREG_FLAG(51, 0x04)
#define WEEKEVENTREG_51_08 PACK_WEEKEVENTREG_FLAG(51, 0x08)
#define WEEKEVENTREG_51_10 PACK_WEEKEVENTREG_FLAG(51, 0x10)
#define WEEKEVENTREG_51_20 PACK_WEEKEVENTREG_FLAG(51, 0x20)
#define WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT PACK_WEEKEVENTREG_FLAG(51, 0x20)
#define WEEKEVENTREG_51_40 PACK_WEEKEVENTREG_FLAG(51, 0x40)
#define WEEKEVENTREG_51_80 PACK_WEEKEVENTREG_FLAG(51, 0x80)
// ProtectedCremia
#define WEEKEVENTREG_52_01 PACK_WEEKEVENTREG_FLAG(52, 0x01)
#define WEEKEVENTREG_ESCORTED_CREMIA PACK_WEEKEVENTREG_FLAG(52, 0x01)
// Lose Milk Run minigame
#define WEEKEVENTREG_52_02 PACK_WEEKEVENTREG_FLAG(52, 0x02)
@ -1101,61 +1101,65 @@ typedef enum {
#define WEEKEVENTREG_65_20 PACK_WEEKEVENTREG_FLAG(65, 0x20)
#define WEEKEVENTREG_65_40 PACK_WEEKEVENTREG_FLAG(65, 0x40)
#define WEEKEVENTREG_65_80 PACK_WEEKEVENTREG_FLAG(65, 0x80)
#define WEEKEVENTREG_66_01 PACK_WEEKEVENTREG_FLAG(66, 0x01)
#define WEEKEVENTREG_66_02 PACK_WEEKEVENTREG_FLAG(66, 0x02)
#define WEEKEVENTREG_66_04 PACK_WEEKEVENTREG_FLAG(66, 0x04)
#define WEEKEVENTREG_66_08 PACK_WEEKEVENTREG_FLAG(66, 0x08)
#define WEEKEVENTREG_66_10 PACK_WEEKEVENTREG_FLAG(66, 0x10)
#define WEEKEVENTREG_66_20 PACK_WEEKEVENTREG_FLAG(66, 0x20)
#define WEEKEVENTREG_66_40 PACK_WEEKEVENTREG_FLAG(66, 0x40)
#define WEEKEVENTREG_66_80 PACK_WEEKEVENTREG_FLAG(66, 0x80)
#define WEEKEVENTREG_67_01 PACK_WEEKEVENTREG_FLAG(67, 0x01)
#define WEEKEVENTREG_67_02 PACK_WEEKEVENTREG_FLAG(67, 0x02)
#define WEEKEVENTREG_67_04 PACK_WEEKEVENTREG_FLAG(67, 0x04)
#define WEEKEVENTREG_67_08 PACK_WEEKEVENTREG_FLAG(67, 0x08)
#define WEEKEVENTREG_67_10 PACK_WEEKEVENTREG_FLAG(67, 0x10)
#define WEEKEVENTREG_67_20 PACK_WEEKEVENTREG_FLAG(67, 0x20)
#define WEEKEVENTREG_67_40 PACK_WEEKEVENTREG_FLAG(67, 0x40)
#define WEEKEVENTREG_67_80 PACK_WEEKEVENTREG_FLAG(67, 0x80)
#define WEEKEVENTREG_68_01 PACK_WEEKEVENTREG_FLAG(68, 0x01)
#define WEEKEVENTREG_68_02 PACK_WEEKEVENTREG_FLAG(68, 0x02)
#define WEEKEVENTREG_68_04 PACK_WEEKEVENTREG_FLAG(68, 0x04)
#define WEEKEVENTREG_68_08 PACK_WEEKEVENTREG_FLAG(68, 0x08)
#define WEEKEVENTREG_68_10 PACK_WEEKEVENTREG_FLAG(68, 0x10)
#define WEEKEVENTREG_68_20 PACK_WEEKEVENTREG_FLAG(68, 0x20)
#define WEEKEVENTREG_68_40 PACK_WEEKEVENTREG_FLAG(68, 0x40)
#define WEEKEVENTREG_68_80 PACK_WEEKEVENTREG_FLAG(68, 0x80)
#define WEEKEVENTREG_69_01 PACK_WEEKEVENTREG_FLAG(69, 0x01)
#define WEEKEVENTREG_69_02 PACK_WEEKEVENTREG_FLAG(69, 0x02)
#define WEEKEVENTREG_69_04 PACK_WEEKEVENTREG_FLAG(69, 0x04)
#define WEEKEVENTREG_69_08 PACK_WEEKEVENTREG_FLAG(69, 0x08)
#define WEEKEVENTREG_69_10 PACK_WEEKEVENTREG_FLAG(69, 0x10)
#define WEEKEVENTREG_69_20 PACK_WEEKEVENTREG_FLAG(69, 0x20)
#define WEEKEVENTREG_69_40 PACK_WEEKEVENTREG_FLAG(69, 0x40)
#define WEEKEVENTREG_69_80 PACK_WEEKEVENTREG_FLAG(69, 0x80)
#define WEEKEVENTREG_70_01 PACK_WEEKEVENTREG_FLAG(70, 0x01)
#define WEEKEVENTREG_70_02 PACK_WEEKEVENTREG_FLAG(70, 0x02)
#define WEEKEVENTREG_70_04 PACK_WEEKEVENTREG_FLAG(70, 0x04)
#define WEEKEVENTREG_70_08 PACK_WEEKEVENTREG_FLAG(70, 0x08)
#define WEEKEVENTREG_70_10 PACK_WEEKEVENTREG_FLAG(70, 0x10)
#define WEEKEVENTREG_70_20 PACK_WEEKEVENTREG_FLAG(70, 0x20)
#define WEEKEVENTREG_70_40 PACK_WEEKEVENTREG_FLAG(70, 0x40)
#define WEEKEVENTREG_70_80 PACK_WEEKEVENTREG_FLAG(70, 0x80)
#define WEEKEVENTREG_71_01 PACK_WEEKEVENTREG_FLAG(71, 0x01)
#define WEEKEVENTREG_71_02 PACK_WEEKEVENTREG_FLAG(71, 0x02)
#define WEEKEVENTREG_71_04 PACK_WEEKEVENTREG_FLAG(71, 0x04)
#define WEEKEVENTREG_71_08 PACK_WEEKEVENTREG_FLAG(71, 0x08)
#define WEEKEVENTREG_71_10 PACK_WEEKEVENTREG_FLAG(71, 0x10)
#define WEEKEVENTREG_71_20 PACK_WEEKEVENTREG_FLAG(71, 0x20)
#define WEEKEVENTREG_71_40 PACK_WEEKEVENTREG_FLAG(71, 0x40)
#define WEEKEVENTREG_71_80 PACK_WEEKEVENTREG_FLAG(71, 0x80)
#define WEEKEVENTREG_72_01 PACK_WEEKEVENTREG_FLAG(72, 0x01)
#define WEEKEVENTREG_72_02 PACK_WEEKEVENTREG_FLAG(72, 0x02)
#define WEEKEVENTREG_72_04 PACK_WEEKEVENTREG_FLAG(72, 0x04)
#define WEEKEVENTREG_72_08 PACK_WEEKEVENTREG_FLAG(72, 0x08)
#define WEEKEVENTREG_72_10 PACK_WEEKEVENTREG_FLAG(72, 0x10)
#define WEEKEVENTREG_72_20 PACK_WEEKEVENTREG_FLAG(72, 0x20)
#define WEEKEVENTREG_72_40 PACK_WEEKEVENTREG_FLAG(72, 0x40)
/* Bombers' Notebook Events */
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJU PACK_WEEKEVENTREG_FLAG(66, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAFEI PACK_WEEKEVENTREG_FLAG(66, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN PACK_WEEKEVENTREG_FLAG(66, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMB_SHOP_LADY PACK_WEEKEVENTREG_FLAG(66, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROMANI PACK_WEEKEVENTREG_FLAG(66, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CREMIA PACK_WEEKEVENTREG_FLAG(66, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MAYOR_DOTOUR PACK_WEEKEVENTREG_FLAG(66, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MADAME_AROMA PACK_WEEKEVENTREG_FLAG(66, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOTO PACK_WEEKEVENTREG_FLAG(67, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN PACK_WEEKEVENTREG_FLAG(67, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN PACK_WEEKEVENTREG_FLAG(67, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROSA_SISTERS PACK_WEEKEVENTREG_FLAG(67, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOILET_HAND PACK_WEEKEVENTREG_FLAG(67, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJUS_GRANDMOTHER PACK_WEEKEVENTREG_FLAG(67, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAMARO PACK_WEEKEVENTREG_FLAG(67, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GROG PACK_WEEKEVENTREG_FLAG(67, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS PACK_WEEKEVENTREG_FLAG(68, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_SHIRO PACK_WEEKEVENTREG_FLAG(68, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU PACK_WEEKEVENTREG_FLAG(68, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS PACK_WEEKEVENTREG_FLAG(68, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROOM_KEY PACK_WEEKEVENTREG_FLAG(68, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_MIDNIGHT_MEETING PACK_WEEKEVENTREG_FLAG(68, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_MEET_KAFEI PACK_WEEKEVENTREG_FLAG(68, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_LETTER_TO_KAFEI PACK_WEEKEVENTREG_FLAG(68, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEPOSITED_LETTER_TO_KAFEI PACK_WEEKEVENTREG_FLAG(69, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PENDANT_OF_MEMORIES PACK_WEEKEVENTREG_FLAG(69, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PENDANT_OF_MEMORIES PACK_WEEKEVENTREG_FLAG(69, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCAPED_SAKONS_HIDEOUT PACK_WEEKEVENTREG_FLAG(69, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_HELP_WITH_THEM PACK_WEEKEVENTREG_FLAG(69, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEFENDED_AGAINST_THEM PACK_WEEKEVENTREG_FLAG(69, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MILK_BOTTLE PACK_WEEKEVENTREG_FLAG(69, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCORTED_CREMIA PACK_WEEKEVENTREG_FLAG(69, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROMANIS_MASK PACK_WEEKEVENTREG_FLAG(70, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KEATON_MASK PACK_WEEKEVENTREG_FLAG(70, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PRIORITY_MAIL PACK_WEEKEVENTREG_FLAG(70, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL PACK_WEEKEVENTREG_FLAG(70, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE PACK_WEEKEVENTREG_FLAG(70, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK PACK_WEEKEVENTREG_FLAG(70, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MAYOR_HP PACK_WEEKEVENTREG_FLAG(70, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROSA_SISTERS_HP PACK_WEEKEVENTREG_FLAG(70, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_TOILET_HAND_HP PACK_WEEKEVENTREG_FLAG(71, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_SHORT_STORY_HP PACK_WEEKEVENTREG_FLAG(71, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_LONG_STORY_HP PACK_WEEKEVENTREG_FLAG(71, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMAN_HP PACK_WEEKEVENTREG_FLAG(71, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAFEIS_MASK PACK_WEEKEVENTREG_FLAG(71, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ALL_NIGHT_MASK PACK_WEEKEVENTREG_FLAG(71, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BUNNY_HOOD PACK_WEEKEVENTREG_FLAG(71, 0x40)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK PACK_WEEKEVENTREG_FLAG(71, 0x80)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_CIRCUS_LEADERS_MASK PACK_WEEKEVENTREG_FLAG(72, 0x01)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMANS_HAT PACK_WEEKEVENTREG_FLAG(72, 0x02)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_COUPLES_MASK PACK_WEEKEVENTREG_FLAG(72, 0x04)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK PACK_WEEKEVENTREG_FLAG(72, 0x08)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAMAROS_MASK PACK_WEEKEVENTREG_FLAG(72, 0x10)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_STONE_MASK PACK_WEEKEVENTREG_FLAG(72, 0x20)
#define WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BREMEN_MASK PACK_WEEKEVENTREG_FLAG(72, 0x40)
#define WEEKEVENTREG_72_80 PACK_WEEKEVENTREG_FLAG(72, 0x80)
#define WEEKEVENTREG_73_01 PACK_WEEKEVENTREG_FLAG(73, 0x01)
#define WEEKEVENTREG_73_02 PACK_WEEKEVENTREG_FLAG(73, 0x02)
@ -1180,7 +1184,7 @@ typedef enum {
#define WEEKEVENTREG_75_02 PACK_WEEKEVENTREG_FLAG(75, 0x02)
#define WEEKEVENTREG_75_04 PACK_WEEKEVENTREG_FLAG(75, 0x04)
#define WEEKEVENTREG_75_08 PACK_WEEKEVENTREG_FLAG(75, 0x08)
#define WEEKEVENTREG_75_10 PACK_WEEKEVENTREG_FLAG(75, 0x10)
#define WEEKEVENTREG_RECEIVED_ROOM_KEY PACK_WEEKEVENTREG_FLAG(75, 0x10)
#define WEEKEVENTREG_75_20 PACK_WEEKEVENTREG_FLAG(75, 0x20)
#define WEEKEVENTREG_75_40 PACK_WEEKEVENTREG_FLAG(75, 0x40)
#define WEEKEVENTREG_75_80 PACK_WEEKEVENTREG_FLAG(75, 0x80)
@ -1226,7 +1230,7 @@ typedef enum {
// Aveil has spotted Player
#define WEEKEVENTREG_80_08 PACK_WEEKEVENTREG_FLAG(80, 0x08)
#define WEEKEVENTREG_80_10 PACK_WEEKEVENTREG_FLAG(80, 0x10)
#define WEEKEVENTREG_RECEIVED_PRIORITY_MAIL PACK_WEEKEVENTREG_FLAG(80, 0x10)
#define WEEKEVENTREG_80_20 PACK_WEEKEVENTREG_FLAG(80, 0x20)
#define WEEKEVENTREG_80_40 PACK_WEEKEVENTREG_FLAG(80, 0x40)
#define WEEKEVENTREG_80_80 PACK_WEEKEVENTREG_FLAG(80, 0x80)

4
spec
View File

@ -373,7 +373,8 @@ endseg
beginseg
name "schedule_static"
compress
include "build/baserom/schedule_static.o"
include "build/assets/interface/schedule_static/schedule_static.o"
number 8
endseg
beginseg
@ -548,7 +549,6 @@ beginseg
include "build/src/code/z_overlay.o"
include "build/src/code/z_play.o"
include "build/src/code/z_play_hireso.o"
include "build/data/code/z_play_hireso.data.o"
include "build/src/code/PreRender.o"
include "build/data/code/PreRender.bss.o"
include "build/src/code/TwoHeadGfxArena.o"

View File

@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "z64shrink_window.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"

View File

@ -5,6 +5,27 @@
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#if 0
#define DEFINE_PERSON(_enum, _photo, _description, _metEnum, metMessage, _metFlag) metMessage,
#define DEFINE_EVENT(_enum, _icon, _colorFlag, _description, completedMessage, _completedFlag) completedMessage,
u16 sBombersNotebookEventMessages[BOMBERS_NOTEBOOK_EVENT_MAX] = {
#include "tables/bombers_notebook/person_table.h"
#include "tables/bombers_notebook/event_table.h"
};
#undef DEFINE_PERSON
#undef DEFINE_EVENT
#define DEFINE_PERSON(_enum, _photo, _description, _metEnum, _metMessage, metFlag) metFlag,
#define DEFINE_EVENT(_enum, _icon, _colorFlag, _description, _completedMessage, completedFlag) completedFlag,
u16 gBombersNotebookWeekEventFlags[BOMBERS_NOTEBOOK_EVENT_MAX] = {
#include "tables/bombers_notebook/person_table.h"
#include "tables/bombers_notebook/event_table.h"
};
#undef DEFINE_PERSON
#undef DEFINE_EVENT
s16 D_801D02D8[15] = {
ACTOR_OCEFF_WIPE5, ACTOR_OCEFF_WIPE5, // Sonata of Awakening Effect, Sonata of Awakening Effect
@ -20,8 +41,6 @@ s32 D_801D02F8[15] = { 0,1,2,3,4,0,1,0,0,0,0,0,1,1,0 };
#endif
extern u16 D_801C6AB8[];
extern u16 D_801C6B28[];
extern s16 D_801D02D8[];
extern s32 D_801D02F8[];
extern s16 D_801F6B0C;
@ -365,19 +384,19 @@ void func_80151A68(PlayState* play, u16 textId) {
}
}
void func_80151BB4(PlayState* play, u8 arg1) {
void Message_BombersNotebookQueueEvent(PlayState* play, u8 event) {
MessageContext* msgCtx = &play->msgCtx;
u8 temp = arg1;
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (!CHECK_WEEKEVENTREG(D_801C6B28[arg1])) {
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
msgCtx->unk120B1++;
if (!CHECK_WEEKEVENTREG(gBombersNotebookWeekEventFlags[event])) {
msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount] = event;
msgCtx->bombersNotebookEventQueueCount++;
}
} else if (arg1 >= 20) {
if (!CHECK_WEEKEVENTREG(D_801C6B28[arg1])) {
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
msgCtx->unk120B1++;
} else if (event >= BOMBERS_NOTEBOOK_PERSON_MAX) {
// Non MET events are processed even if the player does not have the notebook yet
if (!CHECK_WEEKEVENTREG(gBombersNotebookWeekEventFlags[event])) {
msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount] = event;
msgCtx->bombersNotebookEventQueueCount++;
}
}
}
@ -386,16 +405,22 @@ u32 func_80151C9C(PlayState* play) {
MessageContext* msgCtx = &play->msgCtx;
while (true) {
if (msgCtx->unk120B1 == 0) {
if (msgCtx->bombersNotebookEventQueueCount == 0) {
return false;
}
msgCtx->unk120B1--;
msgCtx->bombersNotebookEventQueueCount--;
if (!CHECK_WEEKEVENTREG(D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]])) {
SET_WEEKEVENTREG(D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]]);
if (!CHECK_WEEKEVENTREG(gBombersNotebookWeekEventFlags
[msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount]])) {
SET_WEEKEVENTREG(gBombersNotebookWeekEventFlags
[msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount]]);
if ((D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]] != 0) && CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
Message_ContinueTextbox(play, D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]]);
if ((sBombersNotebookEventMessages
[msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount]] != 0) &&
CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
Message_ContinueTextbox(
play, sBombersNotebookEventMessages
[msgCtx->bombersNotebookEventQueue[msgCtx->bombersNotebookEventQueueCount]]);
play_sound(NA_SE_SY_SCHEDULE_WRITE);
return true;
}
@ -476,7 +501,7 @@ u8 Message_GetState(MessageContext* msgCtx) {
if (msgCtx->msgMode == 0x40) {
return TEXT_STATE_13;
}
if ((msgCtx->msgMode == 0x43) && (msgCtx->stateTimer == 1) && (msgCtx->unk120B1 == 0)) {
if ((msgCtx->msgMode == 0x43) && (msgCtx->stateTimer == 1) && (msgCtx->bombersNotebookEventQueueCount == 0)) {
return TEXT_STATE_CLOSING;
}

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "buffers.h"
#include "z64bombers_notebook.h"
#include "z64debug_display.h"
#include "z64quake.h"
#include "z64rumble.h"
@ -1051,14 +1052,14 @@ void Play_Update(PlayState* this) {
if (!sBombersNotebookOpen) {
if (this->pauseCtx.bombersNotebookOpen) {
sBombersNotebookOpen = true;
sBombersNotebook.unk_00 = 0;
sBombersNotebook.loadState = BOMBERS_NOTEBOOK_LOAD_STATE_NONE;
}
} else if (CHECK_BTN_ALL(CONTROLLER1(&this->state)->press.button, BTN_L) ||
CHECK_BTN_ALL(CONTROLLER1(&this->state)->press.button, BTN_B) ||
CHECK_BTN_ALL(CONTROLLER1(&this->state)->press.button, BTN_START) || (gIrqMgrResetStatus != 0)) {
sBombersNotebookOpen = false;
this->pauseCtx.bombersNotebookOpen = false;
sBombersNotebook.unk_00 = 0;
sBombersNotebook.loadState = BOMBERS_NOTEBOOK_LOAD_STATE_NONE;
this->msgCtx.msgLength = 0;
this->msgCtx.msgMode = 0;
this->msgCtx.currentTextId = 0;

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,4 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "z64quake.h"
#include "z64view.h"

View File

@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#define ANIM_INTERP 1

View File

@ -145,7 +145,7 @@ s32 func_808B736C(BgBreakwall* this, PlayState* play) {
}
s32 func_808B7380(BgBreakwall* this, PlayState* play) {
if ((gSaveContext.save.day >= 2) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((gSaveContext.save.day >= 2) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
return true;

View File

@ -133,11 +133,11 @@ void BgUmajump_Update(Actor* thisx, PlayState* play) {
Actor_SetObjectDependency(play, &this->dyna.actor);
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
}
} else if (this->dyna.actor.params == BG_UMAJUMP_TYPE_6) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
}
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_4) || (this->dyna.actor.params == BG_UMAJUMP_TYPE_3)) {
@ -154,11 +154,11 @@ void BgUmajump_Update(Actor* thisx, PlayState* play) {
this->dyna.actor.update = func_8091A5A0;
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_5) || (this->dyna.actor.params == BG_UMAJUMP_TYPE_6)) {
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
}
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_6) && (this->dyna.bgId == BGACTOR_NEG_ONE) &&
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) ||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) ||
((gSaveContext.save.day == 2) && (gSaveContext.save.isNight == true) &&
((gSaveContext.save.time >= CLOCK_TIME(5, 30)) &&
(gSaveContext.save.time <= CLOCK_TIME(6, 0)))))) {
@ -190,18 +190,18 @@ void func_8091A5A0(Actor* thisx, PlayState* play) {
}
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
}
} else if (this->dyna.actor.params == BG_UMAJUMP_TYPE_6) {
if ((this->dyna.bgId == BGACTOR_NEG_ONE) &&
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) ||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) ||
((gSaveContext.save.day == 2) && (gSaveContext.save.isNight == true) &&
(gSaveContext.save.time >= CLOCK_TIME(5, 30)) && (gSaveContext.save.time <= CLOCK_TIME(6, 0))))) {
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) &&
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) &&
((gSaveContext.save.day != 2) || (gSaveContext.save.isNight != true) ||
(gSaveContext.save.time < CLOCK_TIME(5, 30)) || (gSaveContext.save.time > CLOCK_TIME(6, 0)))) {
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);

View File

@ -25,7 +25,7 @@ static u8 D_80BD3DB0[] = {
/* 0x08 */ SCHEDULE_CMD_RET_VAL_L(1),
/* 0x0B */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x20 - 0x0F),
/* 0x0F */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(21, 0, 23, 0, 0x1D - 0x15),
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_50_20, 0x1C - 0x19),
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_HAD_MIDNIGHT_MEETING, 0x1C - 0x19),
/* 0x19 */ SCHEDULE_CMD_RET_VAL_L(1),
/* 0x1C */ SCHEDULE_CMD_RET_NONE(),
/* 0x1D */ SCHEDULE_CMD_RET_VAL_L(3),

View File

@ -293,9 +293,9 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
if (this->stateFlags & BOMB_SHOP_LADY_STATE_END_CONVERSATION) {
if (this->stateFlags & BOMB_SHOP_LADY_STATE_GAVE_BLAST_MASK) {
this->stateFlags &= ~BOMB_SHOP_LADY_STATE_GAVE_BLAST_MASK;
func_80151BB4(play, 0x33);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK);
}
func_80151BB4(play, 4);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_BOMB_SHOP_LADY);
}
}
@ -602,7 +602,7 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
play->msgCtx.stateTimer = 4;
if (this->stateFlags & BOMB_SHOP_LADY_STATE_AUTOTALK) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (play->msgCtx.unk120B1 == 0) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
SET_WEEKEVENTREG(WEEKEVENTREG_81_02);
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
return;
@ -625,7 +625,7 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
}
}
} else if (talkState == TEXT_STATE_DONE) {
if (Message_ShouldAdvance(play) && (play->msgCtx.unk120B1 == 0)) {
if (Message_ShouldAdvance(play) && (play->msgCtx.bombersNotebookEventQueueCount == 0)) {
SET_WEEKEVENTREG(WEEKEVENTREG_81_02);
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
}

View File

@ -309,9 +309,9 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) {
break;
case 5:
func_80151BB4(play, 0x24);
func_80151BB4(play, 0x25);
func_80151BB4(play, 0);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS);
this->actionFunc = func_809C51B4;
sp28 = true;
break;
@ -330,7 +330,7 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) {
void func_809C51B4(EnBomBowlMan* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if ((play->msgCtx.unk120B1 == 0) &&
if ((play->msgCtx.bombersNotebookEventQueueCount == 0) &&
((play->msgCtx.msgMode == 0) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
play->nextEntrance = Entrance_CreateFromSpawn(6);
gSaveContext.nextCutsceneIndex = 0;
@ -432,9 +432,9 @@ void func_809C5598(EnBomBowlMan* this, PlayState* play) {
} else if (this->actor.textId == 0x735) {
this->unk_2C2 = 0;
func_809C493C(this, 17, 1.0f);
func_80151BB4(play, 0x24);
func_80151BB4(play, 0x25);
func_80151BB4(play, 0);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS);
func_800B7298(play, &this->actor, PLAYER_CSMODE_WAIT);
this->actionFunc = func_809C5738;
return;
@ -448,7 +448,7 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) {
s16 yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &this->unk_2A0);
if (this->unk_2C2 == 0) {
if ((play->msgCtx.unk120B1 == 0) &&
if ((play->msgCtx.bombersNotebookEventQueueCount == 0) &&
((play->msgCtx.msgMode == 0) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
this->unk_2C2 = 1;
func_809C4B6C(this);

View File

@ -117,7 +117,7 @@ void EnCow_Init(Actor* thisx, PlayState* play) {
this->actionFunc = EnCow_Idle;
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) && (CURRENT_DAY != 1) &&
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) && (CURRENT_DAY != 1) &&
(EN_COW_TYPE(thisx) == EN_COW_TYPE_ABDUCTED)) {
Actor_Kill(&this->actor);
return;

View File

@ -157,7 +157,7 @@ u16 EnFsn_GetWelcome(PlayState* play) {
void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
switch (this->textId) {
case 0:
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_80_10)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_PRIORITY_MAIL)) {
this->textId = 0x29E0;
break;
} else {
@ -171,7 +171,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
this->flags |= ENFSN_GIVE_ITEM;
this->flags |= ENFSN_GAVE_LETTER_TO_MAMA;
this->getItemId = GI_LETTER_TO_MAMA;
SET_WEEKEVENTREG(WEEKEVENTREG_80_10);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_PRIORITY_MAIL);
this->textId = 0x29F1;
break;
} else {
@ -194,7 +194,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
this->flags |= ENFSN_GIVE_ITEM;
this->flags |= ENFSN_GAVE_LETTER_TO_MAMA;
this->getItemId = GI_LETTER_TO_MAMA;
SET_WEEKEVENTREG(WEEKEVENTREG_80_10);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_PRIORITY_MAIL);
this->textId = 0x29F1;
break;
@ -210,13 +210,13 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
if (this->flags & ENFSN_END_CONVERSATION) {
if (this->flags & ENFSN_GAVE_LETTER_TO_MAMA) {
this->flags &= ~ENFSN_GAVE_LETTER_TO_MAMA;
func_80151BB4(play, 34);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_PRIORITY_MAIL);
}
if (this->flags & ENFSN_GAVE_KEATONS_MASK) {
this->flags &= ~ENFSN_GAVE_KEATONS_MASK;
func_80151BB4(play, 33);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_KEATON_MASK);
}
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
}
}
@ -425,7 +425,7 @@ s32 EnFsn_TestEndInteraction(EnFsn* this, PlayState* play, Input* input) {
if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
Message_StartTextbox(play, this->actor.textId, &this->actor);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
this->actionFunc = EnFsn_SetupEndInteraction;
return true;
}
@ -473,7 +473,7 @@ s32 EnFsn_FacingShopkeeperDialogResult(EnFsn* this, PlayState* play) {
func_8019F230();
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
Message_StartTextbox(play, this->actor.textId, &this->actor);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
this->actionFunc = EnFsn_SetupEndInteraction;
return true;
@ -977,7 +977,7 @@ void EnFsn_DeterminePrice(EnFsn* this, PlayState* play) {
this->actor.textId = 0x29D1;
}
Message_StartTextbox(play, this->actor.textId, &this->actor);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
this->actionFunc = EnFsn_SetupEndInteraction;
}
}
@ -1036,8 +1036,8 @@ void EnFsn_MakeOffer(EnFsn* this, PlayState* play) {
void EnFsn_GiveItem(EnFsn* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) {
if ((this->isSelling == true) && (this->items[this->cursorIndex]->getItemId == GI_MASK_ALL_NIGHT)) {
func_80151BB4(play, 45);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_ALL_NIGHT_MASK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
}
this->actor.parent = NULL;
if (ENFSN_IS_SHOP(&this->actor) && !this->isSelling) {
@ -1053,7 +1053,7 @@ void EnFsn_GiveItem(EnFsn* this, PlayState* play) {
void EnFsn_SetupResumeInteraction(EnFsn* this, PlayState* play) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (play->msgCtx.unk120B1 == 0) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_HandleSetupResumeInteraction(this, play);
}
} else {
@ -1239,7 +1239,7 @@ void EnFsn_SetupEndInteraction(EnFsn* this, PlayState* play) {
if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (play->msgCtx.unk120B1 == 0) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;
@ -1311,7 +1311,7 @@ void EnFsn_AskCanBuyMore(EnFsn* this, PlayState* play) {
func_8019F230();
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
Message_StartTextbox(play, this->actor.textId, &this->actor);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
break;
default:
@ -1320,7 +1320,7 @@ void EnFsn_AskCanBuyMore(EnFsn* this, PlayState* play) {
}
} else if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (play->msgCtx.unk120B1 == 0) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;
@ -1362,7 +1362,7 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, PlayState* play) {
func_8019F230();
this->actor.textId = (CURRENT_DAY == 3) ? 0x29DF : 0x29D1;
Message_StartTextbox(play, this->actor.textId, &this->actor);
func_80151BB4(play, 3);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN);
break;
default:
@ -1371,7 +1371,7 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, PlayState* play) {
}
} else if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if (play->msgCtx.unk120B1 == 0) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;

View File

@ -211,7 +211,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
Message_CloseTextbox(play);
this->headZRotTarget = 0;
if ((this->textIdIndex == 13) || (this->textIdIndex == 14)) {
func_80151BB4(play, 0x13);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU);
SET_WEEKEVENTREG(WEEKEVENTREG_79_04);
func_80BC6E10(this);
return;
@ -223,7 +223,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
if (this->actor.textId == 0x292A) {
SET_WEEKEVENTREG(WEEKEVENTREG_38_10);
}
func_80151BB4(play, 0x13);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU);
func_80BC6E10(this);
return;
}
@ -234,8 +234,8 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
if (this->textIdIndex == 12) {
SET_WEEKEVENTREG(WEEKEVENTREG_38_40);
func_801A3B48(0);
func_80151BB4(play, 0x36);
func_80151BB4(play, 0x13);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BREMEN_MASK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU);
func_80BC6E10(this);
return;
}
@ -275,7 +275,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
return;
}
func_801A3B48(0);
func_80151BB4(play, 0x13);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU);
func_80BC6E10(this);
}
}

View File

@ -99,9 +99,9 @@ void EnHs_Destroy(Actor* thisx, PlayState* play) {
void func_80952DFC(PlayState* play) {
if (INV_CONTENT(ITEM_MASK_BUNNY) == ITEM_MASK_BUNNY) {
func_80151BB4(play, 0x2E);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BUNNY_HOOD);
}
func_80151BB4(play, 0x10);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GROG);
}
void EnHs_UpdateChickPos(Vec3f* dst, Vec3f src, f32 offset) {

View File

@ -25,7 +25,7 @@ static u8 D_80BF3260[] = {
/* 0x05 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_TOWN, 0x57 - 0x09),
/* 0x09 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 25, 15, 45, 0x51 - 0x0F),
/* 0x0F */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 45, 15, 50, 0x4B - 0x15),
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_75_10, 0x1A - 0x19),
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_RECEIVED_ROOM_KEY, 0x1A - 0x19),
/* 0x19 */ SCHEDULE_CMD_RET_NONE(),
/* 0x1A */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 50, 16, 55, 0x45 - 0x20),
/* 0x20 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 55, 17, 15, 0x3F - 0x26),
@ -42,7 +42,7 @@ static u8 D_80BF3260[] = {
/* 0x5B */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 45, 15, 50, 0xAF - 0x61),
/* 0x61 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 50, 16, 10, 0xA9 - 0x67),
/* 0x67 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 10, 16, 30, 0xA3 - 0x6D),
/* 0x6D */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_75_10, 0x8A - 0x71),
/* 0x6D */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_RECEIVED_ROOM_KEY, 0x8A - 0x71),
/* 0x71 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 30, 16, 50, 0x84 - 0x77),
/* 0x77 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 50, 16, 55, 0x7E - 0x7D),
/* 0x7D */ SCHEDULE_CMD_RET_NONE(),
@ -372,7 +372,7 @@ s32 func_80BF17BC(EnIg* this, PlayState* play) {
case 1:
case 3:
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_10) && (this->unk_3F6 == 3)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_ROOM_KEY) && (this->unk_3F6 == 3)) {
CutsceneManager_Stop(csId);
this->unk_3F6 = 5;
} else {

View File

@ -225,7 +225,7 @@ s32 func_808F33B8(void) {
s32 ret = (((gSaveContext.save.day == 1) &&
((gSaveContext.save.time >= CLOCK_TIME(5, 30)) && (gSaveContext.save.time <= CLOCK_TIME(6, 0)))) ||
(gSaveContext.save.day >= 2)) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01);
!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM);
return ret;
}
@ -561,8 +561,9 @@ void func_808F4054(PlayState* play, EnIn* this, s32 arg2, u16 textId) {
s32 pad;
if ((textId == 0x34AE) || (textId == 0x34B0) || (textId == 0x34B2)) {
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
}
switch (arg2) {
case 1:
case 5:
@ -722,12 +723,12 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x345A:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
case 0x345B:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -747,7 +748,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x345F:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -762,7 +763,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x3462:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -817,7 +818,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3467:
case 0x3468:
case 0x3469:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -833,7 +834,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x346A:
this->actionFunc = func_808F5A94;
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
}
break;
@ -863,13 +864,13 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3472:
func_808F43E0(this);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
case 0x3473:
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x3475:
@ -925,11 +926,11 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x3484:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x3485:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x3474:
@ -981,14 +982,14 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3480:
func_808F43E0(this);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
case 0x3479:
func_808F43E0(this);
func_808F35D8(this, play);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1002,15 +1003,15 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3481:
this->actionFunc = func_808F5A34;
func_808F43E0(this);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
case 0x347D:
this->actionFunc = func_808F5A34;
func_808F43E0(this);
func_80151BB4(play, 0x11);
func_80151BB4(play, 0x2F);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK);
ret = true;
break;
@ -1033,16 +1034,16 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x3488:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
case 0x3489:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x348A:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x348B:
@ -1056,7 +1057,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
break;
case 0x348D:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1070,7 +1071,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3468:
case 0x3469:
case 0x3491:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x348E:
@ -1118,7 +1119,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3492:
this->actionFunc = func_808F5A94;
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
}
break;
@ -1126,11 +1127,11 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 7:
switch (textId) {
case 0x34A8:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x34A7:
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x3495:
@ -1148,7 +1149,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x34A4:
this->actionFunc = func_808F5A34;
func_808F43E0(this);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1160,7 +1161,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3473:
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
break;
case 0x3474:
@ -1199,8 +1200,8 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x34A0:
this->actionFunc = func_808F5A34;
func_80151BB4(play, 0x11);
func_80151BB4(play, 0x2F);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK);
func_808F43E0(this);
ret = true;
break;
@ -1224,7 +1225,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x34A3:
func_808F43E0(this);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1254,7 +1255,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x349C:
func_808F43E0(this);
func_808F35D8(this, play);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1284,7 +1285,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
case 0x3472:
func_808F43E0(this);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
func_80151BB4(play, 0x11);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS);
ret = true;
break;
@ -1552,7 +1553,7 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_0);
this->actionFunc = func_808F5A94;
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_KANBAN, this->actor.world.pos.x,
this->actor.world.pos.y, this->actor.world.pos.z, this->actor.shape.rot.x,
this->actor.shape.rot.y, this->actor.shape.rot.z, 0xF);
@ -1563,7 +1564,7 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
}
}
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
Actor_Kill(&this->actor);
} else {
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_7);

View File

@ -202,7 +202,7 @@ void EnMa4_Init(Actor* thisx, PlayState* play) {
if (CURRENT_DAY == 1) {
this->type = MA4_TYPE_DAY1;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
this->type = MA4_TYPE_ALIENS_DEFEATED;
} else {
this->type = MA4_TYPE_ALIENS_WON;
@ -374,7 +374,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
case 0x3341:
if (play->msgCtx.choiceIndex == 0) {
func_8019F208();
SET_WEEKEVENTREG(WEEKEVENTREG_21_20);
SET_WEEKEVENTREG(WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM);
Message_StartTextbox(play, 0x3343, &this->actor);
this->textId = 0x3343;
} else {
@ -383,14 +383,14 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
Message_StartTextbox(play, 0x3342, &this->actor);
this->textId = 0x3342;
this->state = MA4_STATE_DEFAULT;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
break;
case 0x3346:
if (play->msgCtx.choiceIndex == 0) {
func_8019F208();
SET_WEEKEVENTREG(WEEKEVENTREG_21_20);
SET_WEEKEVENTREG(WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM);
Message_StartTextbox(play, 0x3343, &this->actor);
this->textId = 0x3343;
} else {
@ -410,7 +410,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
func_8019F230();
Message_StartTextbox(play, 0x3348, &this->actor);
this->textId = 0x3348;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
break;
@ -422,9 +422,9 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
Message_StartTextbox(play, 0x334E, &this->actor);
this->textId = 0x334E;
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
func_80151BB4(play, 0x1C);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_HELP_WITH_THEM);
}
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
} else { // No.
func_8019F230();
EnMa4_SetFaceExpression(this, 0, 0);
@ -443,7 +443,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 1, 0);
Message_StartTextbox(play, 0x3355, &this->actor);
this->textId = 0x3355;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
break;
@ -459,13 +459,13 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x3357, &this->actor);
this->textId = 0x3357;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
} else {
func_8019F230();
EnMa4_SetFaceExpression(this, 4, 2);
Message_StartTextbox(play, 0x335B, &this->actor);
this->textId = 0x335B;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
}
break;
@ -480,7 +480,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 4, 2);
Message_StartTextbox(play, 0x335A, &this->actor);
this->textId = 0x335A;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
break;
@ -505,7 +505,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 0, 3);
Message_StartTextbox(play, 0x3336, &this->actor);
this->textId = 0x3336;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x3338:
@ -611,7 +611,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, PlayState* play) {
if ((gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) || !CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
Message_StartTextbox(play, 0x335C, &this->actor);
this->textId = 0x335C;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
} else {
Message_StartTextbox(play, 0x3359, &this->actor);
this->textId = 0x3359;
@ -645,7 +645,7 @@ void EnMa4_DialogueHandler(EnMa4* this, PlayState* play) {
case TEXT_STATE_DONE: // End conversation
if (Message_ShouldAdvance(play)) {
if ((play->msgCtx.unk120B1 == 0) || !CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if ((play->msgCtx.bombersNotebookEventQueueCount == 0) || !CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
EnMa4_SetupWait(this);
}
}
@ -888,7 +888,7 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x3337, &this->actor);
this->textId = 0x3337;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
} else {
Message_StartTextbox(play, 0x3335, &this->actor);
this->textId = 0x3335;
@ -896,7 +896,7 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
}
} else if (this->state == MA4_STATE_DEFAULT) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_40)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_21_20)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM)) {
Message_StartTextbox(play, 0x3346, &this->actor);
this->textId = 0x3346;
} else {
@ -944,7 +944,7 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
EnMa4_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x3337, &this->actor);
this->textId = 0x3337;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
} else {
Message_StartTextbox(play, 0x3335, &this->actor);
this->textId = 0x3335;

View File

@ -153,7 +153,7 @@ void EnMaYto_Init(Actor* thisx, PlayState* play) {
this->unk320 = 0;
this->eyeTexIndex = 0;
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYto_SetFaceExpression(this, 0, 1);
} else {
EnMaYto_SetFaceExpression(this, 5, 2);
@ -186,19 +186,19 @@ void EnMaYto_Init(Actor* thisx, PlayState* play) {
s32 EnMaYto_CheckValidSpawn(EnMaYto* this, PlayState* play) {
switch (this->type) {
case MA_YTO_TYPE_DEFAULT:
if ((CURRENT_DAY == 3) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 3) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
break;
case MA_YTO_TYPE_DINNER:
if ((CURRENT_DAY != 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY != 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
break;
case MA_YTO_TYPE_BARN:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
if (((this->actor.params & 0x0F00) >> 8) != 0) {
return false;
}
@ -211,7 +211,7 @@ s32 EnMaYto_CheckValidSpawn(EnMaYto* this, PlayState* play) {
break;
case MA_YTO_TYPE_AFTERMILKRUN:
if ((!CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_52_02)) ||
if ((!CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_52_02)) ||
CHECK_WEEKEVENTREG(WEEKEVENTREG_14_01)) {
return false;
}
@ -240,7 +240,7 @@ void EnMaYto_InitAnimation(EnMaYto* this, PlayState* play) {
break;
case MA_YTO_TYPE_BARN:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYto_ChangeAnim(this, 12);
} else {
EnMaYto_ChangeAnim(this, 8);
@ -278,8 +278,8 @@ void EnMaYto_ChooseAction(EnMaYto* this, PlayState* play) {
case MA_YTO_TYPE_AFTERMILKRUN:
this->unk310 = 0;
if ((INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI) && CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01) &&
(Rand_Next() & 0x80)) {
if ((INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI) &&
CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA) && (Rand_Next() & 0x80)) {
EnMaYto_SetupBeginWarmFuzzyFeelingCs(this);
} else {
EnMaYto_SetupAfterMilkRunInit(this);
@ -333,7 +333,7 @@ s32 EnMaYto_TryFindRomani(EnMaYto* this, PlayState* play) {
return 0;
case MA_YTO_TYPE_DINNER:
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) && (CURRENT_DAY == 2)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) && (CURRENT_DAY == 2)) {
return 0;
}
if (EnMaYto_SearchRomani(this, play)) {
@ -342,7 +342,7 @@ s32 EnMaYto_TryFindRomani(EnMaYto* this, PlayState* play) {
return 1;
case MA_YTO_TYPE_BARN:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
if (EnMaYto_SearchRomani(this, play)) {
return 2;
}
@ -476,7 +476,7 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetFaceExpression(this, 3, 1);
Message_StartTextbox(play, 0x3393, &this->actor);
this->textId = 0x3393;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
break;
case 0x3394:
@ -489,7 +489,7 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_ChangeAnim(this, 1);
Message_StartTextbox(play, 0x3396, &this->actor);
this->textId = 0x3396;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
break;
default:
@ -499,7 +499,7 @@ void EnMaYto_DefaultChooseNextDialogue(EnMaYto* this, PlayState* play) {
}
void EnMaYto_SetupDinnerWait(EnMaYto* this) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
func_80B90E50(this, 0);
this->unk31E = 0;
} else {
@ -540,7 +540,7 @@ void EnMaYto_DinnerWait(EnMaYto* this, PlayState* play) {
}
void EnMaYto_SetupDinnerDialogueHandler(EnMaYto* this) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
func_80B90E50(this, 1);
} else {
func_80B90E50(this, 2);
@ -635,8 +635,8 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetRomaniFaceExpression(this, 0, 1);
Message_StartTextbox(play, 0x339E, &this->actor);
this->textId = 0x339E;
func_80151BB4(play, 6);
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x339F:
@ -671,20 +671,20 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x33A4, &this->actor);
this->textId = 0x33A4;
func_80151BB4(play, 6);
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x33A5:
Message_StartTextbox(play, 0x33A6, &this->actor);
this->textId = 0x33A6;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
break;
case 0x33A7:
Message_StartTextbox(play, 0x33A8, &this->actor);
this->textId = 0x33A8;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
break;
default:
@ -694,7 +694,7 @@ void EnMaYto_DinnerChooseNextDialogue(EnMaYto* this, PlayState* play) {
}
void EnMaYto_SetupBarnWait(EnMaYto* this) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYto_ChangeAnim(this, 13);
func_80B90E50(this, 0);
this->unk31E = 0;
@ -722,7 +722,7 @@ void EnMaYto_BarnWait(EnMaYto* this, PlayState* play) {
Actor_ChangeFocus(&this->actor, play, &this->actor);
EnMaYto_BarnStartDialogue(this, play);
EnMaYto_SetupBarnDialogueHandler(this);
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) || (ABS_ALT(direction) < 0x2000)) {
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM) || (ABS_ALT(direction) < 0x2000)) {
func_800B8614(&this->actor, play, 100.0f);
child = this->actor.child;
@ -734,7 +734,7 @@ void EnMaYto_BarnWait(EnMaYto* this, PlayState* play) {
}
void EnMaYto_SetupBarnDialogueHandler(EnMaYto* this) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
func_80B90E50(this, 1);
} else {
func_80B90E50(this, 2);
@ -796,8 +796,8 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, PlayState* play) {
Actor_ChangeFocus(&this->actor, play, &this->actor);
Message_StartTextbox(play, 0x33AD, &this->actor);
this->textId = 0x33AD;
func_80151BB4(play, 6);
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x33AE:
@ -814,8 +814,8 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetFaceExpression(this, 4, 2);
Message_StartTextbox(play, 0x33B0, &this->actor);
this->textId = 0x33B0;
func_80151BB4(play, 6);
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x33B1:
@ -824,7 +824,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, PlayState* play) {
// "I should had believed what Romani said"
Message_StartTextbox(play, 0x33B2, &this->actor);
this->textId = 0x33B2;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
break;
case 0x33C6:
@ -871,8 +871,8 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetRomaniFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x33CC, &this->actor);
this->textId = 0x33CC;
func_80151BB4(play, 6);
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
default:
@ -882,7 +882,7 @@ void EnMaYto_BarnChooseNextDialogue(EnMaYto* this, PlayState* play) {
}
void EnMaYto_SetupAfterMilkRunInit(EnMaYto* this) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
EnMaYto_SetFaceExpression(this, 3, 1);
} else {
Audio_PlayFanfare(NA_BGM_FAILURE_1);
@ -897,7 +897,7 @@ void EnMaYto_AfterMilkRunInit(EnMaYto* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->actor.flags &= ~ACTOR_FLAG_10000;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
Message_StartTextbox(play, 0x33C1, &this->actor);
this->textId = 0x33C1;
} else {
@ -908,7 +908,7 @@ void EnMaYto_AfterMilkRunInit(EnMaYto* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_14_01);
this->unk310 = 4;
EnMaYto_SetupPostMilkRunWaitDialogueEnd(this);
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
return;
}
@ -991,9 +991,9 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, PlayState* play) {
this->textId = 0x33C3;
SET_WEEKEVENTREG(WEEKEVENTREG_14_01);
this->unk310 = 3;
func_80151BB4(play, 0x20);
func_80151BB4(play, 0x1F);
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROMANIS_MASK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_ESCORTED_CREMIA);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
EnMaYto_SetupPostMilkRunWaitDialogueEnd(this);
} else {
// You already have the mask
@ -1002,7 +1002,7 @@ void EnMaYto_PostMilkRunExplainReward(EnMaYto* this, PlayState* play) {
this->textId = 0x33D0;
SET_WEEKEVENTREG(WEEKEVENTREG_14_01);
this->unk310 = 3;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
EnMaYto_SetupPostMilkRunWaitDialogueEnd(this);
}
} else {
@ -1086,7 +1086,7 @@ void EnMaYto_PostMilkRunWaitDialogueEnd(EnMaYto* this, PlayState* play) {
}
}
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) && (play->msgCtx.unk120B1 == 0)) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) && (play->msgCtx.bombersNotebookEventQueueCount == 0)) {
EnMaYto_SetupPostMilkRunEnd(this);
}
}
@ -1154,13 +1154,13 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetFaceExpression(this, 0, 3);
Message_StartTextbox(play, 0x33C5, &this->actor);
this->textId = 0x33C5;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
} else {
EnMaYto_SetTalkedFlag();
EnMaYto_SetFaceExpression(this, 0, 3);
Message_StartTextbox(play, 0x33C4, &this->actor);
this->textId = 0x33C4;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
}
}
}
@ -1211,7 +1211,7 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) {
if (EnMaYto_HasSpokenToPlayer()) {
Message_StartTextbox(play, 0x33A6, &this->actor);
this->textId = 0x33A6;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
} else {
EnMaYto_SetTalkedFlag();
Message_StartTextbox(play, 0x33A5, &this->actor);
@ -1223,7 +1223,7 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) {
if (EnMaYto_HasSpokenToPlayer()) {
Message_StartTextbox(play, 0x33A8, &this->actor);
this->textId = 0x33A8;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
} else {
EnMaYto_SetTalkedFlag();
Message_StartTextbox(play, 0x33A7, &this->actor);
@ -1237,7 +1237,7 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) {
}
void EnMaYto_BarnStartDialogue(EnMaYto* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
if (CURRENT_DAY == 2) {
if (this->unk310 == 1) {
Message_StartTextbox(play, 0x33AE, &this->actor);
@ -1266,7 +1266,7 @@ void EnMaYto_BarnStartDialogue(EnMaYto* this, PlayState* play) {
EnMaYto_SetFaceExpression(this, 5, 3);
Message_StartTextbox(play, 0x33B3, &this->actor);
this->textId = 0x33B3;
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
} else {
EnMaYto_SetTalkedFlag();
EnMaYto_SetFaceExpression(this, 5, 3);
@ -1360,7 +1360,7 @@ void EnMaYto_SetFaceExpression(EnMaYto* this, s16 overrideEyeTexIndex, s16 mouth
}
void EnMaYto_InitFaceExpression(EnMaYto* this) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYto_SetFaceExpression(this, 0, 1);
EnMaYto_SetRomaniFaceExpression(this, 0, 0);
} else {
@ -1484,7 +1484,7 @@ void EnMaYto_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
if ((this->type == MA_YTO_TYPE_BARN) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((this->type == MA_YTO_TYPE_BARN) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gCremiaWoodenBoxDL);
}

View File

@ -144,7 +144,7 @@ void EnMaYts_InitAnimation(EnMaYts* this, PlayState* play) {
case MA_YTS_TYPE_SITTING:
this->actor.targetMode = 6;
// Day 1 or "Winning" the alien invasion
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYts_ChangeAnim(this, 14);
} else {
EnMaYts_ChangeAnim(this, 18);
@ -177,14 +177,14 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) {
case 2:
// Failing the alien invasion
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
break;
case 3:
// "Winning" the alien invasion
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
break;
@ -196,7 +196,7 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) {
case MA_YTS_TYPE_BARN:
// Failing the alien invasion
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
} else if ((gSaveContext.save.time >= CLOCK_TIME(20, 0)) && (CURRENT_DAY == 3)) {
return false;
@ -205,7 +205,7 @@ s32 EnMaYts_CheckValidSpawn(EnMaYts* this, PlayState* play) {
case MA_YTS_TYPE_SLEEPING:
// "Winning" the alien invasion
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
break;
@ -254,7 +254,7 @@ void EnMaYts_Init(Actor* thisx, PlayState* play) {
this->hasBow = false;
}
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if ((CURRENT_DAY == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
this->overrideEyeTexIndex = 0;
this->eyeTexIndex = 0;
this->mouthTexIndex = 0;
@ -272,7 +272,8 @@ void EnMaYts_Init(Actor* thisx, PlayState* play) {
this->mouthTexIndex = 0;
this->unk_32C = 2;
EnMaYts_SetupEndCreditsHandler(this);
} else if ((CURRENT_DAY == 2) && (gSaveContext.save.isNight == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
} else if ((CURRENT_DAY == 2) && (gSaveContext.save.isNight == 1) &&
CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
EnMaYts_SetupStartDialogue(this);
} else {
EnMaYts_SetupDoNothing(this);
@ -313,7 +314,7 @@ void EnMaYts_StartDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 4, 3);
Message_StartTextbox(play, 0x3362, &this->actor);
this->textId = 0x3362;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
} else if (Player_GetMask(play) != PLAYER_MASK_NONE) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_40)) {
@ -325,9 +326,9 @@ void EnMaYts_StartDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 4, 2);
Message_StartTextbox(play, 0x3366, &this->actor);
this->textId = 0x3366;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_21_20)) {
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM)) {
EnMaYts_SetFaceExpression(this, 0, 0);
Message_StartTextbox(play, 0x3367, &this->actor);
this->textId = 0x3367;
@ -343,7 +344,7 @@ void EnMaYts_StartDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 0, 0);
Message_StartTextbox(play, 0x336C, &this->actor);
this->textId = 0x336C;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
}
}
EnMaYts_SetupDialogueHandler(this);
@ -445,7 +446,7 @@ void EnMaYts_ChooseNextDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 4, 3);
Message_StartTextbox(play, 0x3361, &this->actor);
this->textId = 0x3361;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x3363:
@ -458,14 +459,14 @@ void EnMaYts_ChooseNextDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 4, 2);
Message_StartTextbox(play, 0x3365, &this->actor);
this->textId = 0x3365;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x3367:
EnMaYts_SetFaceExpression(this, 4, 3);
Message_StartTextbox(play, 0x3368, &this->actor);
this->textId = 0x3368;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
case 0x3369:
@ -478,7 +479,7 @@ void EnMaYts_ChooseNextDialogue(EnMaYts* this, PlayState* play) {
EnMaYts_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x336B, &this->actor);
this->textId = 0x336B;
func_80151BB4(play, 5);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
break;
default:

View File

@ -157,7 +157,7 @@ void func_80A6F3B4(EnMm3* this, PlayState* play) {
play_sound(NA_SE_SY_ERROR);
Message_StartTextbox(play, 0x279C, &this->actor);
this->unk_2B4 = 0x279C;
func_80151BB4(play, 0xB);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
}
} else {
func_8019F208();
@ -168,7 +168,7 @@ void func_80A6F3B4(EnMm3* this, PlayState* play) {
func_8019F230();
Message_StartTextbox(play, 0x278F, &this->actor);
this->unk_2B4 = 0x278F;
func_80151BB4(play, 0xB);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
}
break;
@ -183,13 +183,13 @@ void func_80A6F3B4(EnMm3* this, PlayState* play) {
play_sound(NA_SE_SY_ERROR);
Message_StartTextbox(play, 0x279C, &this->actor);
this->unk_2B4 = 0x279C;
func_80151BB4(play, 0xB);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
}
} else {
func_8019F230();
Message_StartTextbox(play, 0x279B, &this->actor);
this->unk_2B4 = 0x279B;
func_80151BB4(play, 0xB);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
}
break;
}
@ -282,7 +282,7 @@ void func_80A6F5E4(EnMm3* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) {
Message_StartTextbox(play, 0x279B, &this->actor);
this->unk_2B4 = 0x279B;
func_80151BB4(play, 0xB);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
} else {
Message_StartTextbox(play, 0x2798, &this->actor);
this->unk_2B4 = 0x2798;
@ -448,8 +448,8 @@ void func_80A6FEEC(EnMm3* this, PlayState* play) {
player->stateFlags1 &= ~PLAYER_STATE1_20;
Message_StartTextbox(play, 0x2794, &this->actor);
this->unk_2B4 = 0x2794;
func_80151BB4(play, 0xB);
func_80151BB4(play, 0x2B);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMAN_HP);
this->actor.flags &= ~ACTOR_FLAG_10000;
func_80A6F9C8(this);
} else {

View File

@ -66,7 +66,7 @@ static u8 sScheduleScript[] = {
/* 0x3E */ SCHEDULE_CMD_RET_VAL_L(EN_NB_SCH_1),
/* 0x41 */ SCHEDULE_CMD_RET_VAL_L(EN_NB_SCH_2),
/* 0x44 */ SCHEDULE_CMD_RET_VAL_L(EN_NB_SCH_1),
/* 0x47 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_50_20, 0x57 - 0x4B),
/* 0x47 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_HAD_MIDNIGHT_MEETING, 0x57 - 0x4B),
/* 0x4B */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(8, 0, 18, 0, 0x54 - 0x51),
/* 0x51 */ SCHEDULE_CMD_RET_VAL_L(EN_NB_SCH_3),
/* 0x54 */ SCHEDULE_CMD_RET_VAL_L(EN_NB_SCH_1),

View File

@ -1105,7 +1105,11 @@ void func_80AF8AC8(EnPm* this) {
void func_80AF8BA8(s32 arg0) {
static u16 D_80AFB8D4[] = {
WEEKEVENTREG_27_02, WEEKEVENTREG_27_04, WEEKEVENTREG_27_08, WEEKEVENTREG_27_10, WEEKEVENTREG_27_20,
WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_UPPER_CLOCKTOWN,
WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_NORTH_CLOCKTOWN,
WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_UPPER_CLOCKTOWN,
WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_LOWER_CLOCKTOWN,
WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_LOWER_CLOCKTOWN,
};
static u16 D_80AFB8E0[] = {
WEEKEVENTREG_27_40, WEEKEVENTREG_27_80, WEEKEVENTREG_28_01, WEEKEVENTREG_28_02, WEEKEVENTREG_28_04,

View File

@ -162,15 +162,15 @@ void EnPst_UpdateCollision(EnPst* this, PlayState* play) {
s32 EnPst_HandleLetterDay1(EnPst* this) {
switch (this->actor.params) {
case POSTBOX_SOUTH_UPPER_CLOCKTOWN:
return CHECK_WEEKEVENTREG(WEEKEVENTREG_27_02);
return CHECK_WEEKEVENTREG(WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_UPPER_CLOCKTOWN);
case POSTBOX_NORTH_CLOCKTOWN:
return CHECK_WEEKEVENTREG(WEEKEVENTREG_27_04);
return CHECK_WEEKEVENTREG(WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_NORTH_CLOCKTOWN);
case POSTBOX_EAST_UPPER_CLOCKTOWN:
return CHECK_WEEKEVENTREG(WEEKEVENTREG_27_08);
return CHECK_WEEKEVENTREG(WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_UPPER_CLOCKTOWN);
case POSTBOX_EAST_LOWER_CLOCKTOWN:
return CHECK_WEEKEVENTREG(WEEKEVENTREG_27_10);
return CHECK_WEEKEVENTREG(WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_LOWER_CLOCKTOWN);
case POSTBOX_SOUTH_LOWER_CLOCKTOWN:
return CHECK_WEEKEVENTREG(WEEKEVENTREG_27_20);
return CHECK_WEEKEVENTREG(WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_LOWER_CLOCKTOWN);
default:
return false;
}

View File

@ -347,9 +347,9 @@ EnRz* EnRz_FindSister(EnRz* this, PlayState* play) {
void func_80BFBDFC(PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_80)) {
func_80151BB4(play, 0x27);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROSA_SISTERS_HP);
}
func_80151BB4(play, 0xC);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROSA_SISTERS);
}
void EnRz_Destroy(Actor* thisx, PlayState* play) {

View File

@ -230,7 +230,7 @@ void func_80BC9680(EnStoneheishi* this, PlayState* play) {
player->actor.textId = sEnStoneHeishiTextIds[this->textIdIndex];
Message_ContinueTextbox(play, sEnStoneHeishiTextIds[this->textIdIndex]);
func_80151BB4(play, 0x12);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_SHIRO);
}
}
@ -250,7 +250,7 @@ void func_80BC9680(EnStoneheishi* this, PlayState* play) {
if (this->textIdIndex < 7) {
this->textIdIndex++;
} else {
func_80151BB4(play, 0x12);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_SHIRO);
func_80BC94B0(this);
return;
}
@ -293,7 +293,7 @@ void EnStoneheishi_CheckGivenItem(EnStoneheishi* this, PlayState* play) {
}
} else if (itemAction <= PLAYER_IA_MINUS1) {
Message_CloseTextbox(play);
func_80151BB4(play, 0x12);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_SHIRO);
func_80BC94B0(this);
}
}
@ -411,8 +411,8 @@ void func_80BC9E50(EnStoneheishi* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
func_80151BB4(play, 0x35);
func_80151BB4(play, 0x12);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_STONE_MASK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_SHIRO);
this->action = EN_STONE_ACTION_1;
this->actionFunc = func_80BC9680;
} else {

View File

@ -126,7 +126,7 @@ static u8 sScheduleScript[] = {
/* 0x0A5 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_79_40, 0x12C - 0x0AA),
/* 0x0AA */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_SECOM, 0x0B0 - 0x0AE),
/* 0x0AE */ SCHEDULE_CMD_RET_VAL_S(7),
/* 0x0B0 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_51_20, 0x0DD - 0x0B4),
/* 0x0B0 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT, 0x0DD - 0x0B4),
/* 0x0B4 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_IKANA, 0x0DC - 0x0B8),
/* 0x0B8 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_51_08, 0x0BE - 0x0BC),
/* 0x0BC */ SCHEDULE_CMD_RET_VAL_S(5),
@ -150,7 +150,7 @@ static u8 sScheduleScript[] = {
/* 0x0F3 */ SCHEDULE_CMD_RET_TIME(4, 0, 4, 10, 11),
/* 0x0F9 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_YADOYA, 0x12B - 0x0FD),
/* 0x0FD */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(4, 10, 4, 30, 0x125 - 0x103),
/* 0x103 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_51_01, 0x11C - 0x107),
/* 0x103 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_DELIVERED_PENDANT_OF_MEMORIES, 0x11C - 0x107),
/* 0x107 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(4, 30, 4, 45, 0x116 - 0x10D),
/* 0x10D */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(4, 45, 6, 0, 0x114 - 0x113),
/* 0x113 */ SCHEDULE_CMD_RET_NONE(),
@ -313,7 +313,7 @@ s32 func_80A3E898(EnTest3* this, PlayState* play) {
u16 textId = this->unk_D78->textId;
if ((this->unk_D78->unk_0 == 4) && CHECK_WEEKEVENTREG(WEEKEVENTREG_51_08)) {
func_80151BB4(play, 2);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_KAFEI);
}
if (textId == 0xFFFF) {
Message_CloseTextbox(play);
@ -658,7 +658,7 @@ s32 func_80A3F73C(EnTest3* this, PlayState* play) {
this->player.stateFlags2 &= ~PLAYER_STATE2_40000;
D_80A41D5C = true;
if ((this->unk_D78->unk_0 == 4) && CHECK_WEEKEVENTREG(WEEKEVENTREG_51_08)) {
func_80151BB4(play, 2);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_KAFEI);
}
} else {
if (play->actorCtx.flags & ACTORCTX_FLAG_4) {
@ -785,7 +785,7 @@ s32 func_80A3FBE8(EnTest3* this, PlayState* play) {
func_800FE658(TIME_TO_MINUTES_ALT_F(fabsf((s16) - ((void)0, gSaveContext.save.time))));
}
if (play->actorCtx.flags & ACTORCTX_FLAG_6) {
SET_WEEKEVENTREG(WEEKEVENTREG_51_20);
SET_WEEKEVENTREG(WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_02);
}
D_80A41D20 = 3;
@ -1019,8 +1019,8 @@ void func_80A40908(EnTest3* this, PlayState* play) {
func_80A3E7E0(this, func_80A4084C);
this->player.targetedActor = &GET_PLAYER(play)->actor;
SET_WEEKEVENTREG(WEEKEVENTREG_51_08);
func_80151BB4(play, 0x19);
func_80151BB4(play, 2);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_PENDANT_OF_MEMORIES);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_KAFEI);
} else {
func_800B8500(&this->player.actor, play, 9999.9f, 9999.9f, PLAYER_IA_MINUS1);
this->unk_D78 = &D_80A41854[6];
@ -1217,7 +1217,7 @@ void EnTest3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dL
Matrix_MultVec3f(&D_80A418CC, &this->player.actor.focus.pos);
}
} else if (limbIndex == OBJECT_TEST3_LIMB_15) {
if (D_80A41D60 || CHECK_WEEKEVENTREG(WEEKEVENTREG_50_80) ||
if (D_80A41D60 || CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_PENDANT_OF_MEMORIES) ||
(INV_CONTENT(ITEM_PENDANT_OF_MEMORIES) == ITEM_PENDANT_OF_MEMORIES) ||
(this->player.getItemDrawIdPlusOne - 1 == GID_PENDANT_OF_MEMORIES)) {
D_80A41D60 = true;

View File

@ -4,7 +4,6 @@
* Description: Three-Day Events
*/
#include "prevent_bss_reordering.h"
#include "z_en_test4.h"
#include "z64horse.h"
#include "overlays/gamestates/ovl_daytelop/z_daytelop.h"

View File

@ -290,7 +290,7 @@ void func_80BA3BFC(EnToto* this, PlayState* play) {
this->unk2B4 = 0;
} else {
if (this->text->unk0 == 4) {
func_80151BB4(play, 9);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_TOTO);
}
Animation_MorphToLoop(&this->skelAnime, &object_zm_Anim_00B3E0, -4.0f);
}
@ -333,9 +333,9 @@ void func_80BA3DBC(EnToto* this, PlayState* play) {
} else {
player = GET_PLAYER(play);
if ((player->stateFlags1 & PLAYER_STATE1_400) && player->unk_AE7 != 0) {
func_80151BB4(play, 48);
func_80151BB4(play, 9);
func_80151BB4(play, 10);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_CIRCUS_LEADERS_MASK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_TOTO);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN);
} else {
return;
}
@ -369,7 +369,7 @@ s32 func_80BA3F2C(EnToto* this, PlayState* play) {
func_80BA3EE8(this, play);
}
if (this->text->unk0 == 4) {
func_80151BB4(play, 9);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_TOTO);
}
return 0;
}
@ -686,8 +686,8 @@ void func_80BA4CB4(EnToto* this, PlayState* play) {
Animation_PlayOnce(&this->skelAnime,
(this->cueId == 1) ? &object_zm_Anim_0016A4 : &object_zm_Anim_0022C8);
if ((this->cueId == 2) && (this->unk2B3 != 0xF)) {
func_80151BB4(play, 9);
func_80151BB4(play, 10);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_TOTO);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_GORMAN);
}
}
}

View File

@ -136,9 +136,9 @@ void EnYb_Destroy(Actor* thisx, PlayState* play) {
void func_80BFA2FC(PlayState* play) {
if (INV_CONTENT(ITEM_MASK_KAMARO) == ITEM_MASK_KAMARO) {
func_80151BB4(play, 0x34);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAMAROS_MASK);
}
func_80151BB4(play, 0xF);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_KAMARO);
}
/**

View File

@ -31,7 +31,8 @@ ActorInit Obj_Dinner_InitVars = {
void ObjDinner_Init(Actor* thisx, PlayState* play) {
ObjDinner* this = THIS;
if ((gSaveContext.save.isNight != true) || ((CURRENT_DAY == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01))) {
if ((gSaveContext.save.isNight != true) ||
((CURRENT_DAY == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM))) {
Actor_Kill(&this->actor);
}
Actor_SetScale(&this->actor, 0.1f);

View File

@ -58,7 +58,7 @@ void ObjMilkBin_Init(Actor* thisx, PlayState* play) {
this->disableDraw = 0;
this->type = thisx->params;
if ((this->type == OBJ_MILK_BIN_TYPE_2) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if ((this->type == OBJ_MILK_BIN_TYPE_2) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
this->disableDraw |= 1;
}
}
@ -74,14 +74,14 @@ void ObjMilkBin_Update(Actor* thisx, PlayState* play2) {
ObjMilkBin* this = THIS;
if (this->type == OBJ_MILK_BIN_TYPE_1) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
if (((gSaveContext.save.day == 2) && (gSaveContext.save.isNight == 1)) || (gSaveContext.save.day >= 3)) {
Actor_Kill(&this->actor);
return;
}
}
} else if (this->type == OBJ_MILK_BIN_TYPE_2) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
this->disableDraw &= ~1;
} else {
this->disableDraw |= 1;

View File

@ -15,7 +15,7 @@
/**
* weekEventReg flags checked by this actor:
* - WEEKEVENTREG_22_01: Aliens defeated
* - WEEKEVENTREG_DEFENDED_AGAINST_THEM: Aliens defeated
* If false: The actor doesn't spawn
* - WEEKEVENTREG_31_40
* If true: Cremia doesn't explain again she'll deliever milk to town
@ -23,7 +23,7 @@
* If true: Triggers cutscene on Romani's Ranch
* - WEEKEVENTREG_34_80
* If true: Doesn't spawn on Romani's Ranch
* - WEEKEVENTREG_52_01
* - WEEKEVENTREG_ESCORTED_CREMIA
* If true: Doesn't spawn on Romani's Ranch or Milk Road
* - WEEKEVENTREG_52_02
* If true: Doesn't spawn on Romani's Ranch or Milk Road
@ -37,7 +37,7 @@
* Player accepts the ride and is with Cremia during the Milk Run
* - WEEKEVENTREG_34_80: Cremia does Milk Run alone
* Player didn't interact or didn't accept the ride
* - WEEKEVENTREG_52_01: Won Milk Run minigame
* - WEEKEVENTREG_ESCORTED_CREMIA: Won Milk Run minigame
* At least one pot is safe. Turns off the "Lose Milk Run minigame"
* - WEEKEVENTREG_52_02: Lose Milk Run minigame
* Every pot was broken by bandits. Turns off the "Win Milk Run minigame"
@ -47,7 +47,7 @@
* weekEventReg flags unset by this actor:
* - WEEKEVENTREG_31_80
* Turned off when the Milk Run finishes
* - WEEKEVENTREG_52_01
* - WEEKEVENTREG_ESCORTED_CREMIA
* Turned off if Player lose the Milk Run
* - WEEKEVENTREG_52_02
* Turned off if Player wins the Milk Run
@ -682,7 +682,7 @@ void ObjUm_Init(Actor* thisx, PlayState* play) {
this->initialPathIndex = OBJ_UM_GET_PATH_INDEX(thisx);
// if (!AliensDefeated)
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
Actor_Kill(&this->dyna.actor);
return;
}
@ -702,7 +702,7 @@ void ObjUm_Init(Actor* thisx, PlayState* play) {
// Waiting for player
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_34_80) || (gSaveContext.save.time >= CLOCK_TIME(19, 0)) ||
(gSaveContext.save.time <= CLOCK_TIME(6, 0)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01) ||
(gSaveContext.save.time <= CLOCK_TIME(6, 0)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA) ||
CHECK_WEEKEVENTREG(WEEKEVENTREG_52_02)) {
Actor_Kill(&this->dyna.actor);
return;
@ -713,7 +713,7 @@ void ObjUm_Init(Actor* thisx, PlayState* play) {
ObjUm_SetupAction(this, ObjUm_RanchWait);
}
} else if (this->type == OBJ_UM_TYPE_PRE_MILK_RUN) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_31_80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_31_80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA)) {
Actor_Kill(&this->dyna.actor);
return;
}
@ -739,7 +739,7 @@ void ObjUm_Init(Actor* thisx, PlayState* play) {
this->unk_354 = 0;
ObjUm_RotatePlayer(this, play, 0);
} else if (this->type == OBJ_UM_TYPE_POST_MILK_RUN) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01) || CHECK_WEEKEVENTREG(WEEKEVENTREG_59_02)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA) || CHECK_WEEKEVENTREG(WEEKEVENTREG_59_02)) {
Actor_Kill(&this->dyna.actor);
return;
}
@ -843,7 +843,7 @@ s32 func_80B795A0(PlayState* play, ObjUm* this, s32 arg2) {
} else {
Actor_ContinueText(play, &this->dyna.actor, 0x33B5);
func_8019F230();
func_80151BB4(play, 6);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_CREMIA);
phi_v1 = false;
}
break;
@ -1302,13 +1302,13 @@ void ObjUm_RunMinigame(ObjUm* this, PlayState* play) {
CLEAR_WEEKEVENTREG(WEEKEVENTREG_31_80);
gSaveContext.ambienceId = AMBIENCE_ID_DISABLED;
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_52_02)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_52_02)) {
if (!this->areAllPotsBroken) {
play->nextEntrance = ENTRANCE(MILK_ROAD, 6);
play->transitionType = TRANS_TYPE_64;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
play->transitionTrigger = TRANS_TRIGGER_START;
SET_WEEKEVENTREG(WEEKEVENTREG_52_01);
SET_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_52_02);
} else {
play->nextEntrance = ENTRANCE(ROMANI_RANCH, 8);
@ -1316,7 +1316,7 @@ void ObjUm_RunMinigame(ObjUm* this, PlayState* play) {
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
play->transitionTrigger = TRANS_TRIGGER_START;
SET_WEEKEVENTREG(WEEKEVENTREG_52_02);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_52_01);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_ESCORTED_CREMIA);
}
}
break;

View File

@ -80,7 +80,7 @@ s32 func_80C07CD0(void) {
}
}
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_DEFENDED_AGAINST_THEM)) {
return false;
}
return true;

View File

@ -3,7 +3,6 @@
* Overlay: ovl_player_actor
* Description: Player
*/
#include "prevent_bss_reordering.h"
#include "global.h"
#include "z64horse.h"
@ -19110,7 +19109,7 @@ void func_80859708(PlayState* play, Player* this, UNK_TYPE arg2) {
PlayerAnimation_Update(play, &this->skelAnime);
if ((this->actor.id == ACTOR_EN_TEST3) && Animation_OnFrame(&this->skelAnime, 20.0f)) {
this->getItemDrawIdPlusOne = GID_MASK_SUN + 1;
func_80151BB4(play, 0x1B);
Message_BombersNotebookQueueEvent(play, 0x1B);
Audio_PlayFanfare(NA_BGM_GET_NEW_MASK);
}
}
@ -19786,7 +19785,7 @@ void func_8085A7C0(PlayState* play, Player* this, UNK_TYPE arg2) {
}
}
} else if (PlayerAnimation_OnFrame(&this->skelAnime, 4.0f)) {
SET_WEEKEVENTREG(WEEKEVENTREG_50_80);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_PENDANT_OF_MEMORIES);
}
}

View File

@ -3,7 +3,7 @@
* Overlay: ovl_kaleido_scope
* Description: Pause Menu
*/
#include "prevent_bss_reordering.h"
#include "z_kaleido_scope.h"
#include "overlays/gamestates/ovl_opening/z_opening.h"
#include "interface/icon_item_gameover_static/icon_item_gameover_static.h"

View File

@ -169,7 +169,6 @@ variable_addrs = None
files_text = {}
def proper_name(symbol, in_data=False, is_symbol=True):
# hacks
# ovl_En_Encount4 fake symbol at the very end of the data section
@ -181,6 +180,10 @@ def proper_name(symbol, in_data=False, is_symbol=True):
return variables_ast[0x801EF670][0] + f" - 0x{0x801EF670 - 0x801EF51D:X}"
elif symbol == 0x801D0D7A: # play_hireso constant-folding D_801D0D80 array
return variables_ast[0x801D0D80][0] + f" - 0x{0x801D0D80 - 0x801D0D7A:X}"
elif symbol == 0x801D11F4: # play_hireso constant-folding D_801D1244 array
return variables_ast[0x801D1244][0] + f" - 0x{0x801D1244 - 0x801D11F4:X}"
elif symbol == 0x801D12C0: # play_hireso constant-folding D_801D12E8 array
return variables_ast[0x801D12E8][0] + f" - 0x{0x801D12E8 - 0x801D12C0:X}"
elif symbol == 0x80A09740: # boss_07 symbol with large addend folded into %lo
return variables_ast[0x80A09A60][0] + f" - 0x{0x80A09A60 - 0x80A09740:X}"
# bg_ikana_mirror symbol with large addend folded into %lo

View File

@ -2855,7 +2855,7 @@
0x801518B0:("Message_StartTextbox",),
0x80151938:("Message_ContinueTextbox",),
0x80151A68:("func_80151A68",),
0x80151BB4:("func_80151BB4",),
0x80151BB4:("Message_BombersNotebookQueueEvent",),
0x80151C9C:("func_80151C9C",),
0x80151DA4:("func_80151DA4",),
0x80152434:("func_80152434",),
@ -3040,16 +3040,16 @@
0x8016A178:("Play_AssignPlayerCsIdsFromScene",),
0x8016A268:("Play_FillScreen",),
0x8016A2C8:("Play_Init",),
0x8016AC10:("func_8016AC10",),
0x8016AE1C:("func_8016AE1C",),
0x8016B278:("func_8016B278",),
0x8016B4B0:("func_8016B4B0",),
0x8016C344:("func_8016C344",),
0x8016CD4C:("func_8016CD4C",),
0x8016E40C:("func_8016E40C",),
0x8016EA90:("func_8016EA90",),
0x8016AC10:("BombersNotebook_DrawScisTexRect",),
0x8016AE1C:("BombersNotebook_DrawHeaders",),
0x8016B278:("BombersNotebook_DrawColumns",),
0x8016B4B0:("BombersNotebook_DrawEntries",),
0x8016C344:("BombersNotebook_DrawRows",),
0x8016CD4C:("BombersNotebook_DrawTimeOfDay",),
0x8016E40C:("BombersNotebook_DrawCursor",),
0x8016EA90:("BombersNotebook_DrawArrows",),
0x8016F1A8:("BombersNotebook_Draw",),
0x8016F4EC:("func_8016F4EC",),
0x8016F4EC:("BombersNotebook_LoadFiles",),
0x8016F5A8:("BombersNotebook_Update",),
0x8016FC78:("BombersNotebook_Init",),
0x8016FC98:("BombersNotebook_Destroy",),

View File

@ -1958,8 +1958,8 @@
0x801C6A90:("D_801C6A90","UNK_TYPE2","",0x2),
0x801C6A94:("D_801C6A94","UNK_TYPE2","",0x2),
0x801C6A98:("gPageSwitchNextButtonStatus","UNK_TYPE1","",0x1),
0x801C6AB8:("D_801C6AB8","UNK_TYPE1","",0x1),
0x801C6B28:("D_801C6B28","UNK_TYPE1","",0x1),
0x801C6AB8:("sBombersNotebookEventMessages","UNK_TYPE1","",0x1),
0x801C6B28:("gBombersNotebookWeekEventFlags","UNK_TYPE1","",0x1),
0x801C6B98:("D_801C6B98","UNK_TYPE1","",0x1),
0x801CED40:("D_801CED40","UNK_TYPE1","",0x1),
0x801CFB08:("D_801CFB08","UNK_TYPE1","",0x1),
@ -2115,19 +2115,14 @@
0x801D0D5C:("sIsCameraUnderwater","UNK_TYPE2","",0x2),
0x801D0D60:("D_801D0D60","Input*","",0x4),
0x801D0D64:("sPlayerCsIdToCsCamId","s16","[10]",0x14),
0x801D0D80:("D_801D0D80","UNK_TYPE1","",0x1),
0x801D11F4:("D_801D11F4","UNK_TYPE1","",0x1),
0x801D1230:("D_801D1230","UNK_TYPE1","",0x1),
0x801D1234:("D_801D1234","UNK_TYPE1","",0x1),
0x801D1238:("D_801D1238","UNK_TYPE4","",0x4),
0x801D1244:("D_801D1244","UNK_TYPE1","",0x1),
0x801D12C0:("D_801D12C0","UNK_TYPE1","",0x1),
0x801D12D0:("D_801D12D0","UNK_TYPE1","",0x1),
0x801D12D4:("D_801D12D4","UNK_TYPE1","",0x1),
0x801D12D8:("D_801D12D8","UNK_TYPE1","",0x1),
0x801D0D80:("D_801D0D80","UNK_TYPE1","",0x4B0),
0x801D1230:("D_801D1230","UNK_TYPE1","",0x8),
0x801D1238:("D_801D1238","UNK_TYPE4","",0x1),
0x801D1244:("D_801D1244","UNK_TYPE1","",0x8C),
0x801D12D0:("D_801D12D0","UNK_TYPE1","",0xC),
0x801D12DC:("D_801D12DC","UNK_TYPE1","",0x1),
0x801D1330:("D_801D1330","UNK_TYPE2","",0x2),
0x801D1342:("D_801D1342","UNK_TYPE1","",0x1),
0x801D12E8:("D_801D12E8","UNK_TYPE1","",0x1),
0x801D1330:("D_801D1330","UNK_TYPE1","",0x14),
0x801D1344:("D_801D1344","UNK_TYPE2","",0x2),
0x801D1368:("D_801D1368","UNK_TYPE1","",0x1),
0x801D1374:("D_801D1374","UNK_TYPE2","",0x2),

View File

@ -713,6 +713,7 @@ wordReplace = {
"func_80158FB0": "Message_LoadTimeNES",
"func_8015926C": "Message_LoadOwlWarpTextNES",
"func_8015E750": "Message_FindCreditsMessage",
"func_80151BB4": "Message_BombersNotebookQueueEvent",
"func_80133038": "Schedule_RunScript",
"EffectSsKiraKira_SpawnSmallYellow": "EffectSsKirakira_SpawnSmallYellow",

View File

@ -5,6 +5,8 @@ compiler_type = "ido"
"gs[DS]P.*" = "void"
"gDma.*" = "void"
"G_IM_SIZ_.*" = "int"
"G_IM_FMT_.*" = "int"
"G_TX_.*" = "int"
"G_[AC]C.*" = "int"
LOG = "void"
SET_FULLSCREEN_VIEWPORT = "void"

View File

@ -2369,7 +2369,7 @@ asm/non_matchings/code/z_message/func_801514B0.s,func_801514B0,0x801514B0,0x100
asm/non_matchings/code/z_message/Message_StartTextbox.s,Message_StartTextbox,0x801518B0,0x22
asm/non_matchings/code/z_message/Message_ContinueTextbox.s,Message_ContinueTextbox,0x80151938,0x4C
asm/non_matchings/code/z_message/func_80151A68.s,func_80151A68,0x80151A68,0x53
asm/non_matchings/code/z_message/func_80151BB4.s,func_80151BB4,0x80151BB4,0x3A
asm/non_matchings/code/z_message/Message_BombersNotebookQueueEvent.s,Message_BombersNotebookQueueEvent,0x80151BB4,0x3A
asm/non_matchings/code/z_message/func_80151C9C.s,func_80151C9C,0x80151C9C,0x42
asm/non_matchings/code/z_message/func_80151DA4.s,func_80151DA4,0x80151DA4,0x1A4
asm/non_matchings/code/z_message/func_80152434.s,func_80152434,0x80152434,0xC
@ -2554,16 +2554,16 @@ asm/non_matchings/code/z_play/Play_IsDebugCamEnabled.s,Play_IsDebugCamEnabled,0x
asm/non_matchings/code/z_play/func_8016A178.s,func_8016A178,0x8016A178,0x3C
asm/non_matchings/code/z_play/Play_FillScreen.s,Play_FillScreen,0x8016A268,0x18
asm/non_matchings/code/z_play/Play_Init.s,Play_Init,0x8016A2C8,0x252
asm/non_matchings/code/z_play_hireso/func_8016AC10.s,func_8016AC10,0x8016AC10,0x83
asm/non_matchings/code/z_play_hireso/func_8016AE1C.s,func_8016AE1C,0x8016AE1C,0x117
asm/non_matchings/code/z_play_hireso/func_8016B278.s,func_8016B278,0x8016B278,0x8E
asm/non_matchings/code/z_play_hireso/func_8016B4B0.s,func_8016B4B0,0x8016B4B0,0x3A5
asm/non_matchings/code/z_play_hireso/func_8016C344.s,func_8016C344,0x8016C344,0x282
asm/non_matchings/code/z_play_hireso/func_8016CD4C.s,func_8016CD4C,0x8016CD4C,0x5B0
asm/non_matchings/code/z_play_hireso/func_8016E40C.s,func_8016E40C,0x8016E40C,0x1A1
asm/non_matchings/code/z_play_hireso/func_8016EA90.s,func_8016EA90,0x8016EA90,0x1C6
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawScisTexRect.s,BombersNotebook_DrawScisTexRect,0x8016AC10,0x83
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawHeaders.s,BombersNotebook_DrawHeaders,0x8016AE1C,0x117
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawColumns.s,BombersNotebook_DrawColumns,0x8016B278,0x8E
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawEntries.s,BombersNotebook_DrawEntries,0x8016B4B0,0x3A5
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawRows.s,BombersNotebook_DrawRows,0x8016C344,0x282
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawTimeOfDay.s,BombersNotebook_DrawTimeOfDay,0x8016CD4C,0x5B0
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawCursor.s,BombersNotebook_DrawCursor,0x8016E40C,0x1A1
asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawArrows.s,BombersNotebook_DrawArrows,0x8016EA90,0x1C6
asm/non_matchings/code/z_play_hireso/BombersNotebook_Draw.s,BombersNotebook_Draw,0x8016F1A8,0xD1
asm/non_matchings/code/z_play_hireso/func_8016F4EC.s,func_8016F4EC,0x8016F4EC,0x2F
asm/non_matchings/code/z_play_hireso/BombersNotebook_LoadFiles.s,BombersNotebook_LoadFiles,0x8016F4EC,0x2F
asm/non_matchings/code/z_play_hireso/BombersNotebook_Update.s,BombersNotebook_Update,0x8016F5A8,0x1B4
asm/non_matchings/code/z_play_hireso/BombersNotebook_Init.s,BombersNotebook_Init,0x8016FC78,0x8
asm/non_matchings/code/z_play_hireso/BombersNotebook_Destroy.s,BombersNotebook_Destroy,0x8016FC98,0x16

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2369 asm/non_matchings/code/z_message/Message_StartTextbox.s Message_StartTextbox 0x801518B0 0x22
2370 asm/non_matchings/code/z_message/Message_ContinueTextbox.s Message_ContinueTextbox 0x80151938 0x4C
2371 asm/non_matchings/code/z_message/func_80151A68.s func_80151A68 0x80151A68 0x53
2372 asm/non_matchings/code/z_message/func_80151BB4.s asm/non_matchings/code/z_message/Message_BombersNotebookQueueEvent.s func_80151BB4 Message_BombersNotebookQueueEvent 0x80151BB4 0x3A
2373 asm/non_matchings/code/z_message/func_80151C9C.s func_80151C9C 0x80151C9C 0x42
2374 asm/non_matchings/code/z_message/func_80151DA4.s func_80151DA4 0x80151DA4 0x1A4
2375 asm/non_matchings/code/z_message/func_80152434.s func_80152434 0x80152434 0xC
2554 asm/non_matchings/code/z_play/func_8016A178.s func_8016A178 0x8016A178 0x3C
2555 asm/non_matchings/code/z_play/Play_FillScreen.s Play_FillScreen 0x8016A268 0x18
2556 asm/non_matchings/code/z_play/Play_Init.s Play_Init 0x8016A2C8 0x252
2557 asm/non_matchings/code/z_play_hireso/func_8016AC10.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawScisTexRect.s func_8016AC10 BombersNotebook_DrawScisTexRect 0x8016AC10 0x83
2558 asm/non_matchings/code/z_play_hireso/func_8016AE1C.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawHeaders.s func_8016AE1C BombersNotebook_DrawHeaders 0x8016AE1C 0x117
2559 asm/non_matchings/code/z_play_hireso/func_8016B278.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawColumns.s func_8016B278 BombersNotebook_DrawColumns 0x8016B278 0x8E
2560 asm/non_matchings/code/z_play_hireso/func_8016B4B0.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawEntries.s func_8016B4B0 BombersNotebook_DrawEntries 0x8016B4B0 0x3A5
2561 asm/non_matchings/code/z_play_hireso/func_8016C344.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawRows.s func_8016C344 BombersNotebook_DrawRows 0x8016C344 0x282
2562 asm/non_matchings/code/z_play_hireso/func_8016CD4C.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawTimeOfDay.s func_8016CD4C BombersNotebook_DrawTimeOfDay 0x8016CD4C 0x5B0
2563 asm/non_matchings/code/z_play_hireso/func_8016E40C.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawCursor.s func_8016E40C BombersNotebook_DrawCursor 0x8016E40C 0x1A1
2564 asm/non_matchings/code/z_play_hireso/func_8016EA90.s asm/non_matchings/code/z_play_hireso/BombersNotebook_DrawArrows.s func_8016EA90 BombersNotebook_DrawArrows 0x8016EA90 0x1C6
2565 asm/non_matchings/code/z_play_hireso/BombersNotebook_Draw.s BombersNotebook_Draw 0x8016F1A8 0xD1
2566 asm/non_matchings/code/z_play_hireso/func_8016F4EC.s asm/non_matchings/code/z_play_hireso/BombersNotebook_LoadFiles.s func_8016F4EC BombersNotebook_LoadFiles 0x8016F4EC 0x2F
2567 asm/non_matchings/code/z_play_hireso/BombersNotebook_Update.s BombersNotebook_Update 0x8016F5A8 0x1B4
2568 asm/non_matchings/code/z_play_hireso/BombersNotebook_Init.s BombersNotebook_Init 0x8016FC78 0x8
2569 asm/non_matchings/code/z_play_hireso/BombersNotebook_Destroy.s BombersNotebook_Destroy 0x8016FC98 0x16

View File

@ -177,10 +177,10 @@ weekEventReg = {
(21 << 8) | 0x04: "WEEKEVENTREG_TALKED_GORON_GRAVEMAKER_AS_GORON",
(21 << 8) | 0x08: "WEEKEVENTREG_TALKED_THAWED_GRAVEYARD_GORON",
(21 << 8) | 0x10: "WEEKEVENTREG_21_10",
(21 << 8) | 0x20: "WEEKEVENTREG_21_20",
(21 << 8) | 0x20: "WEEKEVENTREG_PROMISED_TO_HELP_WITH_THEM",
(21 << 8) | 0x40: "WEEKEVENTREG_21_40",
(21 << 8) | 0x80: "WEEKEVENTREG_21_80",
(22 << 8) | 0x01: "WEEKEVENTREG_22_01",
(22 << 8) | 0x01: "WEEKEVENTREG_DEFENDED_AGAINST_THEM",
(22 << 8) | 0x02: "WEEKEVENTREG_22_02",
(22 << 8) | 0x04: "WEEKEVENTREG_CALMED_GORON_ELDERS_SON",
(22 << 8) | 0x08: "WEEKEVENTREG_22_08",
@ -221,11 +221,11 @@ weekEventReg = {
(26 << 8) | 0x40: "WEEKEVENTREG_26_40",
(26 << 8) | 0x80: "WEEKEVENTREG_26_80",
(27 << 8) | 0x01: "WEEKEVENTREG_27_01",
(27 << 8) | 0x02: "WEEKEVENTREG_27_02",
(27 << 8) | 0x04: "WEEKEVENTREG_27_04",
(27 << 8) | 0x08: "WEEKEVENTREG_27_08",
(27 << 8) | 0x10: "WEEKEVENTREG_27_10",
(27 << 8) | 0x20: "WEEKEVENTREG_27_20",
(27 << 8) | 0x02: "WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_UPPER_CLOCKTOWN",
(27 << 8) | 0x04: "WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_NORTH_CLOCKTOWN",
(27 << 8) | 0x08: "WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_UPPER_CLOCKTOWN",
(27 << 8) | 0x10: "WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_EAST_LOWER_CLOCKTOWN",
(27 << 8) | 0x20: "WEEKEVENTREG_DEPOSITED_LETTER_TO_KAFEI_SOUTH_LOWER_CLOCKTOWN",
(27 << 8) | 0x40: "WEEKEVENTREG_27_40",
(27 << 8) | 0x80: "WEEKEVENTREG_27_80",
(28 << 8) | 0x01: "WEEKEVENTREG_28_01",
@ -407,20 +407,20 @@ weekEventReg = {
(50 << 8) | 0x01: "WEEKEVENTREG_50_01",
(50 << 8) | 0x02: "WEEKEVENTREG_50_02",
(50 << 8) | 0x04: "WEEKEVENTREG_50_04",
(50 << 8) | 0x08: "WEEKEVENTREG_50_08",
(50 << 8) | 0x08: "WEEKEVENTREG_PROMISED_MIDNIGHT_MEETING",
(50 << 8) | 0x10: "WEEKEVENTREG_50_10",
(50 << 8) | 0x20: "WEEKEVENTREG_50_20",
(50 << 8) | 0x20: "WEEKEVENTREG_HAD_MIDNIGHT_MEETING",
(50 << 8) | 0x40: "WEEKEVENTREG_50_40",
(50 << 8) | 0x80: "WEEKEVENTREG_50_80",
(51 << 8) | 0x01: "WEEKEVENTREG_51_01",
(50 << 8) | 0x80: "WEEKEVENTREG_RECEIVED_PENDANT_OF_MEMORIES",
(51 << 8) | 0x01: "WEEKEVENTREG_DELIVERED_PENDANT_OF_MEMORIES",
(51 << 8) | 0x02: "WEEKEVENTREG_51_02",
(51 << 8) | 0x04: "WEEKEVENTREG_51_04",
(51 << 8) | 0x08: "WEEKEVENTREG_51_08",
(51 << 8) | 0x10: "WEEKEVENTREG_51_10",
(51 << 8) | 0x20: "WEEKEVENTREG_51_20",
(51 << 8) | 0x20: "WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT",
(51 << 8) | 0x40: "WEEKEVENTREG_51_40",
(51 << 8) | 0x80: "WEEKEVENTREG_51_80",
(52 << 8) | 0x01: "WEEKEVENTREG_52_01",
(52 << 8) | 0x01: "WEEKEVENTREG_ESCORTED_CREMIA",
(52 << 8) | 0x02: "WEEKEVENTREG_52_02",
(52 << 8) | 0x04: "WEEKEVENTREG_52_04",
(52 << 8) | 0x08: "WEEKEVENTREG_52_08",
@ -532,61 +532,61 @@ weekEventReg = {
(65 << 8) | 0x20: "WEEKEVENTREG_65_20",
(65 << 8) | 0x40: "WEEKEVENTREG_65_40",
(65 << 8) | 0x80: "WEEKEVENTREG_65_80",
(66 << 8) | 0x01: "WEEKEVENTREG_66_01",
(66 << 8) | 0x02: "WEEKEVENTREG_66_02",
(66 << 8) | 0x04: "WEEKEVENTREG_66_04",
(66 << 8) | 0x08: "WEEKEVENTREG_66_08",
(66 << 8) | 0x10: "WEEKEVENTREG_66_10",
(66 << 8) | 0x20: "WEEKEVENTREG_66_20",
(66 << 8) | 0x40: "WEEKEVENTREG_66_40",
(66 << 8) | 0x80: "WEEKEVENTREG_66_80",
(67 << 8) | 0x01: "WEEKEVENTREG_67_01",
(67 << 8) | 0x02: "WEEKEVENTREG_67_02",
(67 << 8) | 0x04: "WEEKEVENTREG_67_04",
(67 << 8) | 0x08: "WEEKEVENTREG_67_08",
(67 << 8) | 0x10: "WEEKEVENTREG_67_10",
(67 << 8) | 0x20: "WEEKEVENTREG_67_20",
(67 << 8) | 0x40: "WEEKEVENTREG_67_40",
(67 << 8) | 0x80: "WEEKEVENTREG_67_80",
(68 << 8) | 0x01: "WEEKEVENTREG_68_01",
(68 << 8) | 0x02: "WEEKEVENTREG_68_02",
(68 << 8) | 0x04: "WEEKEVENTREG_68_04",
(68 << 8) | 0x08: "WEEKEVENTREG_68_08",
(68 << 8) | 0x10: "WEEKEVENTREG_68_10",
(68 << 8) | 0x20: "WEEKEVENTREG_68_20",
(68 << 8) | 0x40: "WEEKEVENTREG_68_40",
(68 << 8) | 0x80: "WEEKEVENTREG_68_80",
(69 << 8) | 0x01: "WEEKEVENTREG_69_01",
(69 << 8) | 0x02: "WEEKEVENTREG_69_02",
(69 << 8) | 0x04: "WEEKEVENTREG_69_04",
(69 << 8) | 0x08: "WEEKEVENTREG_69_08",
(69 << 8) | 0x10: "WEEKEVENTREG_69_10",
(69 << 8) | 0x20: "WEEKEVENTREG_69_20",
(69 << 8) | 0x40: "WEEKEVENTREG_69_40",
(69 << 8) | 0x80: "WEEKEVENTREG_69_80",
(70 << 8) | 0x01: "WEEKEVENTREG_70_01",
(70 << 8) | 0x02: "WEEKEVENTREG_70_02",
(70 << 8) | 0x04: "WEEKEVENTREG_70_04",
(70 << 8) | 0x08: "WEEKEVENTREG_70_08",
(70 << 8) | 0x10: "WEEKEVENTREG_70_10",
(70 << 8) | 0x20: "WEEKEVENTREG_70_20",
(70 << 8) | 0x40: "WEEKEVENTREG_70_40",
(70 << 8) | 0x80: "WEEKEVENTREG_70_80",
(71 << 8) | 0x01: "WEEKEVENTREG_71_01",
(71 << 8) | 0x02: "WEEKEVENTREG_71_02",
(71 << 8) | 0x04: "WEEKEVENTREG_71_04",
(71 << 8) | 0x08: "WEEKEVENTREG_71_08",
(71 << 8) | 0x10: "WEEKEVENTREG_71_10",
(71 << 8) | 0x20: "WEEKEVENTREG_71_20",
(71 << 8) | 0x40: "WEEKEVENTREG_71_40",
(71 << 8) | 0x80: "WEEKEVENTREG_71_80",
(72 << 8) | 0x01: "WEEKEVENTREG_72_01",
(72 << 8) | 0x02: "WEEKEVENTREG_72_02",
(72 << 8) | 0x04: "WEEKEVENTREG_72_04",
(72 << 8) | 0x08: "WEEKEVENTREG_72_08",
(72 << 8) | 0x10: "WEEKEVENTREG_72_10",
(72 << 8) | 0x20: "WEEKEVENTREG_72_20",
(72 << 8) | 0x40: "WEEKEVENTREG_72_40",
(66 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJU",
(66 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAFEI",
(66 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CURIOSITY_SHOP_MAN",
(66 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMB_SHOP_LADY",
(66 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROMANI",
(66 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_CREMIA",
(66 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MAYOR_DOTOUR",
(66 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_MADAOME_AROMA",
(67 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOTO",
(67 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN",
(67 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_POSTMAN",
(67 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ROSA_SISTERS",
(67 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_TOILET_HAND",
(67 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_ANJUS_GRANDMOTHER",
(67 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_KAMARO",
(67 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GROG",
(68 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GORMAN_BROTHERS",
(68 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_SHIRO",
(68 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_GURU_GURU",
(68 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS",
(68 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROOM_KEY",
(68 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_MIDNIGHT_MEETING",
(68 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_MEET_KAFEI",
(68 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_LETTER_TO_KAFEI",
(69 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEPOSITED_LETTER_TO_KAFEI",
(69 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PENDANT_OF_MEMORIES",
(69 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PENDANT_OF_MEMORIES",
(69 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCAPED_SAKONS_HIDEOUT",
(69 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_PROMISED_TO_HELP_WITH_THEM",
(69 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DEFENDED_AGAINST_THEM",
(69 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MILK_BOTTLE",
(69 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_ESCORTED_CREMIA",
(70 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROMANIS_MASK",
(70 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KEATON_MASK",
(70 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_PRIORITY_MAIL",
(70 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_DELIVERED_PRIORITY_MAIL",
(70 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE",
(70 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK",
(70 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_MAYOR_HP",
(70 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ROSA_SISTERS_HP",
(71 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_TOILET_HAND_HP",
(71 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_SHORT_STORY_HP",
(71 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GRANDMA_LONG_STORY_HP",
(71 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMAN_HP",
(71 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAFEIS_MASK",
(71 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_ALL_NIGHT_MASK",
(71 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BUNNY_HOOD",
(71 << 8) | 0x80: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_GAROS_MASK",
(72 << 8) | 0x01: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_CIRCUS_LEADERS_MASK",
(72 << 8) | 0x02: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_POSTMANS_HAT",
(72 << 8) | 0x04: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_COUPLES_MASK",
(72 << 8) | 0x08: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK",
(72 << 8) | 0x10: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_KAMAROS_MASK",
(72 << 8) | 0x20: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_STONE_MASK",
(72 << 8) | 0x40: "WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BREMEN_MASK",
(72 << 8) | 0x80: "WEEKEVENTREG_72_80",
(73 << 8) | 0x01: "WEEKEVENTREG_73_01",
(73 << 8) | 0x02: "WEEKEVENTREG_73_02",
@ -608,7 +608,7 @@ weekEventReg = {
(75 << 8) | 0x02: "WEEKEVENTREG_75_02",
(75 << 8) | 0x04: "WEEKEVENTREG_75_04",
(75 << 8) | 0x08: "WEEKEVENTREG_75_08",
(75 << 8) | 0x10: "WEEKEVENTREG_75_10",
(75 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_ROOM_KEY",
(75 << 8) | 0x20: "WEEKEVENTREG_75_20",
(75 << 8) | 0x40: "WEEKEVENTREG_75_40",
(75 << 8) | 0x80: "WEEKEVENTREG_75_80",
@ -648,7 +648,7 @@ weekEventReg = {
(80 << 8) | 0x02: "WEEKEVENTREG_80_02",
(80 << 8) | 0x04: "WEEKEVENTREG_80_04",
(80 << 8) | 0x08: "WEEKEVENTREG_80_08",
(80 << 8) | 0x10: "WEEKEVENTREG_80_10",
(80 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_PRIORITY_MAIL",
(80 << 8) | 0x20: "WEEKEVENTREG_80_20",
(80 << 8) | 0x40: "WEEKEVENTREG_80_40",
(80 << 8) | 0x80: "WEEKEVENTREG_80_80",

View File

@ -1100,6 +1100,29 @@ D_06000D60 = 0x06000D60;
// segment 0x07
D_07000000 = 0x07000000;
D_07000800 = 0x07000800;
D_07001000 = 0x07001000;
D_07001800 = 0x07001800;
D_07002000 = 0x07002000;
D_07002800 = 0x07002800;
D_07003000 = 0x07003000;
D_07003800 = 0x07003800;
D_07004000 = 0x07004000;
D_07004800 = 0x07004800;
D_07005000 = 0x07005000;
D_07005800 = 0x07005800;
D_07006000 = 0x07006000;
D_07006800 = 0x07006800;
D_07007000 = 0x07007000;
D_07007800 = 0x07007800;
D_07008000 = 0x07008000;
D_07008800 = 0x07008800;
D_07009000 = 0x07009000;
D_07009800 = 0x07009800;
D_0700AC00 = 0x0700AC00;
D_0700AEA0 = 0x0700AEA0;
// segment 0x08