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 10:54:50 -04:00
committed by GitHub
co-authored by ZoeyZolotova engineer124
parent a0701c170b
commit 8c961f2b16
57 changed files with 2015 additions and 521 deletions
+38
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>
+2 -2
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) | \
+1 -14
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);
+2
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))
+1
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)
@@ -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)
@@ -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)
-49
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;
+1 -20
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,
+58
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
+5 -2
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;
+74 -70
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)
+2 -2
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"
-1
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"
+43 -18
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;
}
+3 -2
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;
+1349 -13
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -1,3 +1,4 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "z64quake.h"
#include "z64view.h"
-1
View File
@@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#define ANIM_INTERP 1
@@ -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;

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