match windows.c and migrate data for draw_box (#646)

* match 9 functions

* draw_box data

* fix warnings

* fix

* fix warnings again

* PR suggestions

* replace int literals with enum values

* two more ints replaced
This commit is contained in:
Unnunu 2022-02-13 11:19:59 +03:00 committed by GitHub
parent 0f27b16f3c
commit 546152b69e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 1248 additions and 1404 deletions

View File

@ -2139,13 +2139,18 @@ typedef struct WindowStyleCustom {
/* 0x1C */ char unk_1C[0x4]; /* 0x1C */ char unk_1C[0x4];
/* 0x20 */ Gfx opaqueCombineMode; // used when alpha == 255 /* 0x20 */ Gfx opaqueCombineMode; // used when alpha == 255
/* 0x28 */ Gfx transparentCombineMode; // used when alpha < 255 /* 0x28 */ Gfx transparentCombineMode; // used when alpha < 255
/* 0x30 */ s8 color1[4]; /* 0x30 */ Color_RGBA8 color1;
/* 0x34 */ s8 color2[4]; /* 0x34 */ Color_RGBA8 color2;
} WindowStyleCustom; // size = 0x38; } WindowStyleCustom; // size = 0x38;
typedef union {
int defaultStyleID;
WindowStyleCustom* customStyle;
} WindowStyle TRANSPARENT_UNION;
typedef union { typedef union {
int i; int i;
void (*func)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void (*func)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
} WindowUpdateFunc __attribute__((transparent_union)); } WindowUpdateFunc __attribute__((transparent_union));
@ -2155,27 +2160,27 @@ typedef struct MenuWindowBP {
/* 0x02 */ Vec2s pos; /* 0x02 */ Vec2s pos;
/* 0x06 */ s16 width; /* 0x06 */ s16 width;
/* 0x08 */ s16 height; /* 0x08 */ s16 height;
/* 0x0A */ char unk_0A[2]; /* 0x0A */ u8 priority;
/* 0x0C */ void (*fpDrawContents)(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening); /* 0x0C */ void (*fpDrawContents)(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
/* 0x10 */ MenuPanel* tab; /* 0x10 */ MenuPanel* tab;
/* 0x14 */ s8 parentID; /* 0x14 */ s8 parentID;
/* 0x18 */ WindowUpdateFunc fpUpdate; /* 0x18 */ WindowUpdateFunc fpUpdate;
/* 0x1C */ s32 unk_1C; /* 0x1C */ u8 extraFlags;
/* 0x20 */ WindowStyleCustom* style; /* 0x20 */ WindowStyle style;
} MenuWindowBP; // size = 0x24; } MenuWindowBP; // size = 0x24;
typedef struct { typedef struct {
/* 0x00 */ u8 flags; /* 0x00 */ u8 flags;
/* 0x01 */ s8 panelID; // ? /* 0x01 */ u8 priority; // lower priority rendered first
/* 0x02 */ u8 unk_02; // related to heirarchy somehow - sibling? group? /* 0x02 */ u8 originalPriority;
/* 0x03 */ s8 parent; // ? /* 0x03 */ s8 parent;
/* 0x04 */ WindowUpdateFunc fpUpdate; /* 0x04 */ WindowUpdateFunc fpUpdate;
/* 0x08 */ WindowUpdateFunc fpPending; /* 0x08 */ WindowUpdateFunc fpPending;
/* 0x0C */ Vec2s pos; /* 0x0C */ Vec2s pos;
/* 0x10 */ s16 width; /* 0x10 */ s16 width;
/* 0x12 */ s16 height; /* 0x12 */ s16 height;
/* 0x14 */ UNK_FUN_PTR(fpDrawContents); /* 0x14 */ UNK_FUN_PTR(fpDrawContents);
/* 0x18 */ s32 drawContentsArg0; /* 0x18 */ void* drawContentsArg0;
/* 0x1C */ u8 updateCounter; /* 0x1C */ u8 updateCounter;
/* 0x1D */ char unk_1D[3]; /* 0x1D */ char unk_1D[3];
} Window; // size = 0x20 } Window; // size = 0x20

View File

@ -2922,38 +2922,20 @@ enum EncounterStatusFlags {
}; };
enum WindowFlags { enum WindowFlags {
WINDOW_FLAGS_1 = 0x00000001, WINDOW_FLAGS_INITIALIZED = 0x00000001,
WINDOW_FLAGS_2 = 0x00000002, WINDOW_FLAGS_FPUPDATE_CHANGED = 0x00000002,
WINDOW_FLAGS_4 = 0x00000004, WINDOW_FLAGS_HIDDEN = 0x00000004, ///< Updated but not rendered
WINDOW_FLAGS_8 = 0x00000008, WINDOW_FLAGS_INITIAL_ANIMATION = 0x00000008,
WINDOW_FLAGS_10 = 0x00000010, WINDOW_FLAGS_HAS_CHILDREN = 0x00000010,
WINDOW_FLAGS_20 = 0x00000020, WINDOW_FLAGS_DISABLED = 0x00000020, ///< Not updated or rendered
WINDOW_FLAGS_40 = 0x00000040, WINDOW_FLAGS_40 = 0x00000040,
WINDOW_FLAGS_80 = 0x00000080, };
WINDOW_FLAGS_100 = 0x00000100,
WINDOW_FLAGS_200 = 0x00000200, enum DrawFlags {
WINDOW_FLAGS_400 = 0x00000400, DRAW_FLAGS_ROTSCALE = 0x00000001,
WINDOW_FLAGS_800 = 0x00000800, DRAW_FLAGS_2 = 0x00000002,
WINDOW_FLAGS_1000 = 0x00001000, DRAW_FLAGS_CLIP = 0x00000004,
WINDOW_FLAGS_2000 = 0x00002000, DRAW_FLAGS_CULL_BACK = 0x00000008,
WINDOW_FLAGS_4000 = 0x00004000,
WINDOW_FLAGS_8000 = 0x00008000,
WINDOW_FLAGS_10000 = 0x00010000,
WINDOW_FLAGS_20000 = 0x00020000,
WINDOW_FLAGS_40000 = 0x00040000,
WINDOW_FLAGS_80000 = 0x00080000,
WINDOW_FLAGS_100000 = 0x00100000,
WINDOW_FLAGS_200000 = 0x00200000,
WINDOW_FLAGS_400000 = 0x00400000,
WINDOW_FLAGS_800000 = 0x00800000,
WINDOW_FLAGS_1000000 = 0x01000000,
WINDOW_FLAGS_2000000 = 0x02000000,
WINDOW_FLAGS_4000000 = 0x04000000,
WINDOW_FLAGS_8000000 = 0x08000000,
WINDOW_FLAGS_10000000 = 0x10000000,
WINDOW_FLAGS_20000000 = 0x20000000,
WINDOW_FLAGS_40000000 = 0x40000000,
WINDOW_FLAGS_80000000 = 0x80000000,
}; };
enum EntityModelFlags { enum EntityModelFlags {
@ -3288,4 +3270,22 @@ enum WindowId {
WINDOW_ID_63 = 63, WINDOW_ID_63 = 63,
}; };
enum SimpleWindowUpdateId {
WINDOW_UPDATE_SHOW = 1,
WINDOW_UPDATE_HIDE = 2,
WINDOW_UPDATE_HIER_UPDATE = 3,
WINDOW_UPDATE_DARKENED = 4,
WINDOW_UPDATE_TRANSPARENT = 5,
WINDOW_UPDATE_OPAQUE = 6,
WINDOW_UPDATE_SHOW_TRANSPARENT = 7,
WINDOW_UPDATE_SHOW_DARKENED = 8,
};
enum WindowGroupId {
WINDOW_GROUP_ALL = 0,
WINDOW_GROUP_1 = 1,
WINDOW_GROUP_PAUSE_MENU = 2,
WINDOW_GROUP_FILE_MENU = 3,
};
#endif #endif

View File

@ -74,7 +74,7 @@ void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);
s32 draw_ci_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s32* palette, s16 posX, s32 draw_ci_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s32* palette, s16 posX,
s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity); s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity);
void update_window_hierarchy(s32 windowIndex, s32 arg1); void update_window_hierarchy(s32 windowIndex, u8 arg1);
void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines,
s32* maxLinesPerPage, s32* arg6, s32 charset); s32* maxLinesPerPage, s32* arg6, s32 charset);
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc); void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc);
@ -173,9 +173,9 @@ s32 player_test_lateral_overlap(s32, PlayerStatus*, f32*, f32*, f32*, f32, f32);
Npc* peach_make_disguise_npc(s32 peachDisguise); Npc* peach_make_disguise_npc(s32 peachDisguise);
void peach_set_disguise_anim(s32); void peach_set_disguise_anim(s32);
void draw_box(s32 flags, WindowStyleCustom* windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity, s32 draw_box(s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32), u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32),
void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, Matrix4f* outMtx); void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, f32 (*outMtx)[4]);
s32 get_msg_width(s32 msgID, u16 charset); s32 get_msg_width(s32 msgID, u16 charset);
s32 partner_player_can_pause(void); s32 partner_player_can_pause(void);
@ -460,9 +460,9 @@ void bgm_push_battle_song(void);
void func_801497FC(s32 arg0); void func_801497FC(s32 arg0);
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2); s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);
void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void basic_hidden_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void basic_hidden_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void player_create_target_list(Actor* actor); void player_create_target_list(Actor* actor);
@ -690,7 +690,7 @@ void func_80149A6C(s32, s32);
void func_800EF300(void); void func_800EF300(void);
void enable_player_shadow(void); void enable_player_shadow(void);
s32 get_msg_lines(s32 messageID); s32 get_msg_lines(s32 messageID);
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, s32, void* drawContents, PopupMessage* popup, s32 parent); void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void* drawContents, void* drawContentsArg, s8 parent);
void set_window_update(s32 panelID, WindowUpdateFunc); void set_window_update(s32 panelID, WindowUpdateFunc);
void snd_stop_sound(s32 soundID); void snd_stop_sound(s32 soundID);
void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift); void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift);

View File

@ -185,8 +185,8 @@ void func_8024330C(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -194,14 +194,14 @@ void func_8024330C(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249BBC)) { if (updateCounter < ARRAY_COUNT(D_80249BBC)) {
*posX -= D_80249BBC[updateCounter]; *posX -= D_80249BBC[updateCounter];
} else { } else {
*posX -= D_80249BBC[ARRAY_COUNT(D_80249BBC) - 1]; *posX -= D_80249BBC[ARRAY_COUNT(D_80249BBC) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -209,8 +209,8 @@ void filemenu_update_show_name_input(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -218,14 +218,14 @@ void filemenu_update_show_name_input(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249BDC)) { if (updateCounter < ARRAY_COUNT(D_80249BDC)) {
*posX += D_80249BDC[updateCounter]; *posX += D_80249BDC[updateCounter];
} else { } else {
*posX += D_80249BDC[ARRAY_COUNT(D_80249BDC) - 1]; *posX += D_80249BDC[ARRAY_COUNT(D_80249BDC) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -233,8 +233,8 @@ void filemenu_update_show_options_left(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -242,14 +242,14 @@ void filemenu_update_show_options_left(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249BFC)) { if (updateCounter < ARRAY_COUNT(D_80249BFC)) {
*posX -= D_80249BFC[updateCounter]; *posX -= D_80249BFC[updateCounter];
} else { } else {
*posX -= D_80249BFC[ARRAY_COUNT(D_80249BFC) - 1]; *posX -= D_80249BFC[ARRAY_COUNT(D_80249BFC) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -257,8 +257,8 @@ void filemenu_update_show_options_right(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -266,14 +266,14 @@ void filemenu_update_show_options_right(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249C1C)) { if (updateCounter < ARRAY_COUNT(D_80249C1C)) {
*posX += D_80249C1C[updateCounter]; *posX += D_80249C1C[updateCounter];
} else { } else {
*posX += D_80249C1C[ARRAY_COUNT(D_80249C1C) - 1]; *posX += D_80249C1C[ARRAY_COUNT(D_80249C1C) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -281,8 +281,8 @@ void filemenu_update_show_options_bottom(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -290,14 +290,14 @@ void filemenu_update_show_options_bottom(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249C3C)) { if (updateCounter < ARRAY_COUNT(D_80249C3C)) {
*posY += D_80249C3C[updateCounter]; *posY += D_80249C3C[updateCounter];
} else { } else {
*posY += D_80249C3C[ARRAY_COUNT(D_80249C3C) - 1]; *posY += D_80249C3C[ARRAY_COUNT(D_80249C3C) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -305,8 +305,8 @@ void filemenu_update_show_title(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -314,14 +314,14 @@ void filemenu_update_show_title(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249C5C)) { if (updateCounter < ARRAY_COUNT(D_80249C5C)) {
*posY -= D_80249C5C[updateCounter]; *posY -= D_80249C5C[updateCounter];
} else { } else {
*posY -= D_80249C5C[ARRAY_COUNT(D_80249C5C) - 1]; *posY -= D_80249C5C[ARRAY_COUNT(D_80249C5C) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -329,8 +329,8 @@ void func_802435C4(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -341,8 +341,8 @@ void func_802435C4(
*posX += D_80249C7C[updateCounter]; *posX += D_80249C7C[updateCounter];
} else { } else {
*posX += D_80249C7C[ARRAY_COUNT(D_80249C7C) - 1]; *posX += D_80249C7C[ARRAY_COUNT(D_80249C7C) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -350,8 +350,8 @@ void filemenu_update_hidden_name_input(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -362,8 +362,8 @@ void filemenu_update_hidden_name_input(
*posX -= D_80249C90[updateCounter]; *posX -= D_80249C90[updateCounter];
} else { } else {
*posX -= D_80249C90[ARRAY_COUNT(D_80249C90) - 1]; *posX -= D_80249C90[ARRAY_COUNT(D_80249C90) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -371,8 +371,8 @@ void filemenu_update_hidden_options_left(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -383,8 +383,8 @@ void filemenu_update_hidden_options_left(
*posX += D_80249CA4[updateCounter]; *posX += D_80249CA4[updateCounter];
} else { } else {
*posX += D_80249CA4[ARRAY_COUNT(D_80249CA4) - 1]; *posX += D_80249CA4[ARRAY_COUNT(D_80249CA4) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -392,8 +392,8 @@ void filemenu_update_hidden_options_right(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -404,8 +404,8 @@ void filemenu_update_hidden_options_right(
*posX -= D_80249CB8[updateCounter]; *posX -= D_80249CB8[updateCounter];
} else { } else {
*posX -= D_80249CB8[ARRAY_COUNT(D_80249CB8) - 1]; *posX -= D_80249CB8[ARRAY_COUNT(D_80249CB8) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -413,8 +413,8 @@ void filemenu_update_hidden_title(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -425,8 +425,8 @@ void filemenu_update_hidden_title(
*posY += D_80249CCC[updateCounter]; *posY += D_80249CCC[updateCounter];
} else { } else {
*posY += D_80249CCC[ARRAY_COUNT(D_80249CCC) - 1]; *posY += D_80249CCC[ARRAY_COUNT(D_80249CCC) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -434,8 +434,8 @@ void filemenu_update_hidden_options_bottom(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -446,8 +446,8 @@ void filemenu_update_hidden_options_bottom(
*posY -= D_80249CE0[updateCounter]; *posY -= D_80249CE0[updateCounter];
} else { } else {
*posY -= D_80249CE0[ARRAY_COUNT(D_80249CE0) - 1]; *posY -= D_80249CE0[ARRAY_COUNT(D_80249CE0) - 1];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -455,8 +455,8 @@ void filemenu_update_show_with_rotation(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -464,15 +464,15 @@ void filemenu_update_show_with_rotation(
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < ARRAY_COUNT(D_80249CF4)) { if (updateCounter < ARRAY_COUNT(D_80249CF4)) {
*rotY += D_80249CF4[updateCounter]; *rotY += D_80249CF4[updateCounter];
*flags = 8 | 1; *flags = DRAW_FLAGS_CULL_BACK | DRAW_FLAGS_ROTSCALE;
} else { } else {
*flags = 0; *flags = 0;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -480,8 +480,8 @@ void filemenu_update_hidden_with_rotation(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -490,11 +490,11 @@ void filemenu_update_hidden_with_rotation(
if (updateCounter < 10) { // TODO: array count? if (updateCounter < 10) { // TODO: array count?
*rotY += -D_80249D14[updateCounter]; *rotY += -D_80249D14[updateCounter];
*flags = 8 | 1; *flags = DRAW_FLAGS_CULL_BACK | DRAW_FLAGS_ROTSCALE;
} else { } else {
*flags = 0; *flags = 0;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -508,8 +508,8 @@ void filemenu_update_hidden_name_confirm(
s32 windowIdx, s32 windowIdx,
s32* flags, s32* flags,
s32* posX, s32* posY, s32* posZ, s32* posX, s32* posY, s32* posZ,
s32* scaleX, s32* scaleY, f32* scaleX, f32* scaleY,
s32* rotX, f32* rotY, s32* rotZ, f32* rotX, f32* rotY, f32* rotZ,
s32* darkening, s32* darkening,
s32* opacity s32* opacity
) { ) {
@ -525,8 +525,8 @@ void filemenu_update_hidden_name_confirm(
mainmenu_draw_rect(0, 0, 1280, 960, 0, 0, 0, 0, 0); mainmenu_draw_rect(0, 0, 1280, 960, 0, 0, 0, 0, 0);
*posY -= D_80249D48[updateCounter]; *posY -= D_80249D48[updateCounter];
} else { } else {
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -569,11 +569,11 @@ void filemenu_cleanup(void) {
} }
for (i = 0x2C; i < ARRAY_COUNT(gWindows); i++) { for (i = 0x2C; i < ARRAY_COUNT(gWindows); i++) {
set_window_update(i, 2); set_window_update(i, WINDOW_UPDATE_HIDE);
} }
set_window_update(0x18, 2); set_window_update(0x18, WINDOW_UPDATE_HIDE);
set_window_update(0x17, 2); set_window_update(0x17, WINDOW_UPDATE_HIDE);
func_80244BC4(); func_80244BC4();
} }

View File

@ -289,10 +289,10 @@ void filemenu_main_init(MenuPanel* menu) {
*posXPtr = x; *posXPtr = x;
if (menu->page != 0) { if (menu->page != 0) {
set_window_update(0x35, 2); set_window_update(0x35, WINDOW_UPDATE_HIDE);
set_window_update(0x37, 2); set_window_update(0x37, WINDOW_UPDATE_HIDE);
set_window_update(0x33, 2); set_window_update(0x33, WINDOW_UPDATE_HIDE);
set_window_update(0x34, 2); set_window_update(0x34, WINDOW_UPDATE_HIDE);
} }
menu->initialized = 1; menu->initialized = 1;
} }
@ -302,7 +302,7 @@ static const f32 padding[] = { 0.0f }; // TODO remove when the following func is
void filemenu_main_handle_input(MenuPanel* menu); void filemenu_main_handle_input(MenuPanel* menu);
INCLUDE_ASM(s32, "165490", filemenu_main_handle_input); INCLUDE_ASM(s32, "165490", filemenu_main_handle_input);
extern s32 D_8014F150[]; extern s32 gWindowStyles[];
INCLUDE_ASM(s32, "165490", filemenu_main_update); INCLUDE_ASM(s32, "165490", filemenu_main_update);

View File

@ -12,12 +12,12 @@ extern s8 D_8024C098;
extern s32 D_8024C100_C09980[3]; extern s32 D_8024C100_C09980[3];
extern s32 D_8024C110; extern s32 D_8024C110;
void filemenu_update_show_options_left(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, void filemenu_update_show_options_left(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX,
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_right(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, void filemenu_update_show_options_right(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX,
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_bottom(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, void filemenu_update_show_options_bottom(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX,
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY) { void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY) {
s8 page = menu->page; s8 page = menu->page;
@ -90,7 +90,7 @@ void filemenu_info_handle_input(void) {
filemenu_set_selected(menu, 1, 2); filemenu_set_selected(menu, 1, 2);
break; break;
} }
set_window_update(0x2F, 2); set_window_update(0x2F, WINDOW_UPDATE_HIDE);
} }
} }
@ -104,8 +104,8 @@ void func_80248170(s32 idx) {
Window* window = &gWindows[idx]; Window* window = &gWindows[idx];
if (window->updateCounter == 8) { if (window->updateCounter == 8) {
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
set_window_update(idx, 1); set_window_update(idx, WINDOW_UPDATE_SHOW);
} }
} }

View File

@ -188,7 +188,7 @@ void initialize_battle(void) {
create_generic_entity_world(NULL, func_8023ED5C); create_generic_entity_world(NULL, func_8023ED5C);
func_8024EDC0(); func_8024EDC0();
func_80268E88(); func_80268E88();
set_windows_visible(1); set_windows_visible(WINDOW_GROUP_1);
D_8029EFBC = create_hud_element(HudScript_HPBar); D_8029EFBC = create_hud_element(HudScript_HPBar);
set_hud_element_flags(D_8029EFBC, 0x80); set_hud_element_flags(D_8029EFBC, 0x80);

View File

@ -633,7 +633,7 @@ void btl_state_update_celebration(void) {
x = 20; x = 20;
y = 186; y = 186;
set_window_properties(8, 20, 186, 280, 32, 20, func_80260948, NULL, -1); set_window_properties(8, 20, 186, 280, 32, 20, func_80260948, NULL, -1);
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
gBattleState2 = BATTLE_STATES2_UNK_8; gBattleState2 = BATTLE_STATES2_UNK_8;
} }
break; break;
@ -676,7 +676,7 @@ void btl_state_update_celebration(void) {
break; break;
case BATTLE_STATES2_UNK_9: case BATTLE_STATES2_UNK_9:
free_hud_element(D_8029FAE8); free_hud_element(D_8029FAE8);
set_window_update(8, 2); set_window_update(8, WINDOW_UPDATE_HIDE);
switch (battleStatus->currentSubmenu) { switch (battleStatus->currentSubmenu) {
case 0: case 0:
@ -784,7 +784,7 @@ void btl_state_update_celebration(void) {
x = 160 - (width / 2); x = 160 - (width / 2);
y = 80; y = 80;
set_window_properties(9, x, y, width, 28, 10, func_80260A20, NULL, -1); set_window_properties(9, x, y, width, 28, 10, func_80260A20, NULL, -1);
set_window_update(9, 1); set_window_update(9, WINDOW_UPDATE_SHOW);
D_8029FB4C = 60; D_8029FB4C = 60;
gBattleState2 = BATTLE_STATES2_UNK_10; gBattleState2 = BATTLE_STATES2_UNK_10;
break; break;
@ -796,7 +796,7 @@ void btl_state_update_celebration(void) {
D_8029FB4C--; D_8029FB4C--;
break; break;
} }
set_window_update(9, 2); set_window_update(9, WINDOW_UPDATE_HIDE);
gBattleState2 = BATTLE_STATES2_UNK_8; gBattleState2 = BATTLE_STATES2_UNK_8;
break; break;
case BATTLE_STATES2_UNK_14: case BATTLE_STATES2_UNK_14:

View File

@ -349,17 +349,17 @@ void func_802A27D0(void) {
void func_802A27E4(void) { void func_802A27E4(void) {
s32 i; s32 i;
set_window_update(1, 2); set_window_update(1, WINDOW_UPDATE_HIDE);
if (!battle_menu_hasSpiritsMenu) { if (!battle_menu_hasSpiritsMenu) {
set_window_update(2, 2); set_window_update(2, WINDOW_UPDATE_HIDE);
set_window_update(3, 2); set_window_update(3, WINDOW_UPDATE_HIDE);
} else { } else {
set_window_update(4, 2); set_window_update(4, WINDOW_UPDATE_HIDE);
set_window_update(5, 2); set_window_update(5, WINDOW_UPDATE_HIDE);
} }
set_window_update(8, 2); set_window_update(8, WINDOW_UPDATE_HIDE);
for (i = 0; i < battle_menu_moveOptionCount; i++) { for (i = 0; i < battle_menu_moveOptionCount; i++) {
free_hud_element(battle_menu_moveOptionIconIDs[i]); free_hud_element(battle_menu_moveOptionIconIDs[i]);
@ -398,17 +398,17 @@ void func_802A2910(void) {
} }
set_hud_element_anim(battle_menu_moveCursorIcon, HudScript_AnimatedHandPointer); set_hud_element_anim(battle_menu_moveCursorIcon, HudScript_AnimatedHandPointer);
set_window_update(1, 5); set_window_update(1, WINDOW_UPDATE_TRANSPARENT);
if (!battle_menu_hasSpiritsMenu) { if (!battle_menu_hasSpiritsMenu) {
set_window_update(2, 5); set_window_update(2, WINDOW_UPDATE_TRANSPARENT);
set_window_update(3, 5); set_window_update(3, WINDOW_UPDATE_TRANSPARENT);
} else { } else {
set_window_update(4, 5); set_window_update(4, WINDOW_UPDATE_TRANSPARENT);
set_window_update(5, 5); set_window_update(5, WINDOW_UPDATE_TRANSPARENT);
} }
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
battle_menu_moveTextColor = 10; battle_menu_moveTextColor = 10;
D_802AD10F = 1; D_802AD10F = 1;
battle_menu_moveTextOpacity = 255; battle_menu_moveTextOpacity = 255;
@ -420,16 +420,16 @@ void func_802A2AB8(void) {
s32* moveOptionCostUnitIconIDs; s32* moveOptionCostUnitIconIDs;
s32 i; s32 i;
set_window_update(1, 5); set_window_update(1, WINDOW_UPDATE_TRANSPARENT);
if (!battle_menu_hasSpiritsMenu) { if (!battle_menu_hasSpiritsMenu) {
set_window_update(2, 5); set_window_update(2, WINDOW_UPDATE_TRANSPARENT);
set_window_update(3, 5); set_window_update(3, WINDOW_UPDATE_TRANSPARENT);
} else { } else {
set_window_update(4, 5); set_window_update(4, WINDOW_UPDATE_TRANSPARENT);
set_window_update(5, 5); set_window_update(5, WINDOW_UPDATE_TRANSPARENT);
} }
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
moveOptionIconIDs = battle_menu_moveOptionIconIDs; moveOptionIconIDs = battle_menu_moveOptionIconIDs;
@ -455,7 +455,7 @@ void func_802A2AB8(void) {
} }
void func_802A2C58(void) { void func_802A2C58(void) {
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
battle_menu_moveState = 30; battle_menu_moveState = 30;
} }
@ -576,9 +576,9 @@ void func_802A4718(void) {
void func_802A472C(void) { void func_802A472C(void) {
s32 i; s32 i;
set_window_update(6, 2); set_window_update(6, WINDOW_UPDATE_HIDE);
set_window_update(7, 2); set_window_update(7, WINDOW_UPDATE_HIDE);
set_window_update(8, 2); set_window_update(8, WINDOW_UPDATE_HIDE);
for (i = 0; i < D_802AD66C; i++) { for (i = 0; i < D_802AD66C; i++) {
free_hud_element(D_802AD628[i]); free_hud_element(D_802AD628[i]);
@ -600,9 +600,9 @@ void func_802A47E0(void) {
set_hud_element_tint(D_802AD61C, 0xFF, 0xFF, 0xFF); set_hud_element_tint(D_802AD61C, 0xFF, 0xFF, 0xFF);
set_hud_element_tint(D_802AD620, 0xFF, 0xFF, 0xFF); set_hud_element_tint(D_802AD620, 0xFF, 0xFF, 0xFF);
set_hud_element_anim(D_802AD618, HudScript_AnimatedHandPointer); set_hud_element_anim(D_802AD618, HudScript_AnimatedHandPointer);
set_window_update(6, 5); set_window_update(6, WINDOW_UPDATE_TRANSPARENT);
set_window_update(7, 5); set_window_update(7, WINDOW_UPDATE_TRANSPARENT);
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
D_802AD614 = 10; D_802AD614 = 10;
D_802AD60B = 1; D_802AD60B = 1;
D_802AD624 = 255; D_802AD624 = 255;
@ -612,9 +612,9 @@ void func_802A47E0(void) {
void func_802A48FC(void) { void func_802A48FC(void) {
s32 i; s32 i;
set_window_update(6, 5); set_window_update(6, WINDOW_UPDATE_TRANSPARENT);
set_window_update(7, 5); set_window_update(7, WINDOW_UPDATE_TRANSPARENT);
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
for (i = 0; i < D_802AD66C; i++) { for (i = 0; i < D_802AD66C; i++) {
set_hud_element_tint(D_802AD628[i], 0xFF, 0xFF, 0xFF); set_hud_element_tint(D_802AD628[i], 0xFF, 0xFF, 0xFF);
@ -630,9 +630,9 @@ void func_802A48FC(void) {
} }
void func_802A4A10(void) { void func_802A4A10(void) {
set_window_update(6, 5); set_window_update(6, WINDOW_UPDATE_TRANSPARENT);
set_window_update(7, 5); set_window_update(7, WINDOW_UPDATE_TRANSPARENT);
set_window_update(8, 1); set_window_update(8, WINDOW_UPDATE_SHOW);
D_802AD604 = 30; D_802AD604 = 30;
} }

View File

@ -513,7 +513,7 @@ void show_coin_counter(void) {
s32 index; s32 index;
if ((D_8010CD10 != 0) || (D_8010CD12 != 0)) { if ((D_8010CD10 != 0) || (D_8010CD12 != 0)) {
set_window_update(0x14, 2); set_window_update(0x14, WINDOW_UPDATE_HIDE);
if (uiStatus->iconIndex12 > -1) { if (uiStatus->iconIndex12 > -1) {
free_hud_element(uiStatus->iconIndex10); free_hud_element(uiStatus->iconIndex10);
free_hud_element(uiStatus->iconIndex11); free_hud_element(uiStatus->iconIndex11);

View File

@ -239,62 +239,62 @@ s32 popup_menu_update(void) {
} else { } else {
set_window_properties(0xF, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
} }
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 1: case 1:
set_window_properties(0xE, posX, posY, 0x8B, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x8B, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0x11, 0xD, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0x11, 0xD, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 2); set_window_update(0xF, WINDOW_UPDATE_HIDE);
set_window_update(0x11, 1); set_window_update(0x11, WINDOW_UPDATE_SHOW);
break; break;
case 3: case 3:
set_window_properties(0xE, posX, posY, 0xA2, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0xA2, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 0x11, -6, 0x60, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0x11, -6, 0x60, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 4: case 4:
set_window_properties(0xE, posX, posY, 0x92, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x92, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0x11, 0xC, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0x11, 0xC, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 2); set_window_update(0xF, WINDOW_UPDATE_HIDE);
set_window_update(0x11, 1); set_window_update(0x11, WINDOW_UPDATE_SHOW);
break; break;
case 5: case 5:
set_window_properties(0xE, posX, posY, 0xA7, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0xA7, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 0x16, -6, 0x5F, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0x16, -6, 0x5F, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 8: case 8:
set_window_properties(0xE, posX, posY, 0xAA, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0xAA, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 0x20, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0x20, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 9: case 9:
set_window_properties(0xE, posX, posY, 0x91, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x91, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0xC, -6, 0x79, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 10: case 10:
set_window_properties(0xE, posX, posY, 0x80, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x80, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 0xC, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 0xC, -6, 0x68, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 11: case 11:
set_window_properties(0xE, posX, posY, 0x95, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x95, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0xF, 6, -6, 0x8B, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0xF, 6, -6, 0x8B, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 1); set_window_update(0xF, WINDOW_UPDATE_SHOW);
set_window_update(0x11, 2); set_window_update(0x11, WINDOW_UPDATE_HIDE);
break; break;
case 13: case 13:
set_window_properties(0xE, posX, posY, 0x83, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1); set_window_properties(0xE, posX, posY, 0x83, ((s8) D_8010D656 * 0xD) + 0x1A, 0x14, popup_menu_draw_menu_contents, NULL, -1);
set_window_properties(0x11, 0xA, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE); set_window_properties(0x11, 0xA, -6, 0x72, 0x10, 0x15, popup_menu_draw_title_contents, NULL, 0xE);
set_window_update(0xF, 2); set_window_update(0xF, WINDOW_UPDATE_HIDE);
set_window_update(0x11, 1); set_window_update(0x11, WINDOW_UPDATE_SHOW);
break; break;
} }
@ -374,18 +374,18 @@ s32 popup_menu_update(void) {
case 8: case 8:
case 9: case 9:
case 12: case 12:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
set_window_update(0x13, 1); set_window_update(0x13, WINDOW_UPDATE_SHOW);
break; break;
case 1: case 1:
case 4: case 4:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
set_window_update(0x13, 1); set_window_update(0x13, WINDOW_UPDATE_SHOW);
break; break;
case 10: case 10:
case 11: case 11:
case 13: case 13:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
break; break;
} }
} else { } else {
@ -416,7 +416,7 @@ s32 popup_menu_update(void) {
sfx_play_sound(1); sfx_play_sound(1);
break; break;
} }
set_window_update(0x15, 1); set_window_update(0x15, WINDOW_UPDATE_SHOW);
} }
if (gPopupMenu->popupType == 3) { if (gPopupMenu->popupType == 3) {
@ -636,18 +636,18 @@ s32 popup_menu_update(void) {
case 8: case 8:
case 9: case 9:
case 12: case 12:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
set_window_update(0x13, 2); set_window_update(0x13, WINDOW_UPDATE_HIDE);
break; break;
case 1: case 1:
case 4: case 4:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
set_window_update(0x13, 2); set_window_update(0x13, WINDOW_UPDATE_HIDE);
break; break;
case 10: case 10:
case 11: case 11:
case 13: case 13:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
break; break;
} }
destroy_popup_menu(); destroy_popup_menu();
@ -688,14 +688,14 @@ s32 popup_menu_update(void) {
gPopupMenu->result = -1; gPopupMenu->result = -1;
return 0; return 0;
case 31: case 31:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
set_window_update(0x13, 2); set_window_update(0x13, WINDOW_UPDATE_HIDE);
if (D_8010D68E != 0) { if (D_8010D68E != 0) {
set_window_update(0x15, 2); set_window_update(0x15, WINDOW_UPDATE_HIDE);
} }
width = get_msg_width(0x1D006B, 0) + 23; width = get_msg_width(0x1D006B, 0) + 23;
set_window_properties(9, 160 - (width / 2), 0x50, width, 0x28, 0x14, func_800F4CF0, NULL, -1); set_window_properties(9, 160 - (width / 2), 0x50, width, 0x28, 0x14, func_800F4CF0, NULL, -1);
set_window_update(9, 1); set_window_update(9, WINDOW_UPDATE_SHOW);
D_8010D644 = 0x3C; D_8010D644 = 0x3C;
D_8010D640 = 0x20; D_8010D640 = 0x20;
return 0; return 0;
@ -707,11 +707,11 @@ s32 popup_menu_update(void) {
D_8010D644--; D_8010D644--;
return 0; return 0;
} }
set_window_update(9, 2); set_window_update(9, WINDOW_UPDATE_HIDE);
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
set_window_update(0x13, 1); set_window_update(0x13, WINDOW_UPDATE_SHOW);
if (D_8010D68E != 0) { if (D_8010D68E != 0) {
set_window_update(0x15, 1); set_window_update(0x15, WINDOW_UPDATE_SHOW);
} }
D_8010D640 = 1; D_8010D640 = 1;
gPopupMenu->result = 0; gPopupMenu->result = 0;
@ -749,18 +749,18 @@ s32 popup_menu_update(void) {
case 8: case 8:
case 9: case 9:
case 12: case 12:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
set_window_update(0x13, 2); set_window_update(0x13, WINDOW_UPDATE_HIDE);
break; break;
case 1: case 1:
case 4: case 4:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
set_window_update(0x13, 2); set_window_update(0x13, WINDOW_UPDATE_HIDE);
break; break;
case 10: case 10:
case 11: case 11:
case 13: case 13:
set_window_update(0xE, 2); set_window_update(0xE, WINDOW_UPDATE_HIDE);
break; break;
} }
@ -772,14 +772,14 @@ s32 popup_menu_update(void) {
} }
width = get_msg_width(msgID, 0) + 23; width = get_msg_width(msgID, 0) + 23;
set_window_properties(0x15, 160 - (width / 2), 76, width, 32, 0x13, func_800F4C1C, NULL, -1); set_window_properties(0x15, 160 - (width / 2), 76, width, 32, 0x13, func_800F4C1C, NULL, -1);
set_window_update(0x15, 1); set_window_update(0x15, WINDOW_UPDATE_SHOW);
D_8010D6A0 = msg_get_printer_for_msg(0x1E001D, &D_8010D6A4); D_8010D6A0 = msg_get_printer_for_msg(0x1E001D, &D_8010D6A4);
msg_printer_set_origin_pos(D_8010D6A0, 160, 0x90); msg_printer_set_origin_pos(D_8010D6A0, 160, 0x90);
D_8010D640 = 0x65; D_8010D640 = 0x65;
break; break;
case 101: case 101:
if (D_8010D6A4 == 1) { if (D_8010D6A4 == 1) {
set_window_update(0x15, 2); set_window_update(0x15, WINDOW_UPDATE_HIDE);
switch (D_8010D6A0->currentOption) { switch (D_8010D6A0->currentOption) {
case 0: case 0:
D_8010D640 = 0x66; D_8010D640 = 0x66;
@ -825,18 +825,18 @@ s32 popup_menu_update(void) {
case 8: case 8:
case 9: case 9:
case 12: case 12:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
set_window_update(0x13, 1); set_window_update(0x13, WINDOW_UPDATE_SHOW);
break; break;
case 1: case 1:
case 4: case 4:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
set_window_update(0x13, 1); set_window_update(0x13, WINDOW_UPDATE_SHOW);
break; break;
case 10: case 10:
case 11: case 11:
case 13: case 13:
set_window_update(0xE, 1); set_window_update(0xE, WINDOW_UPDATE_SHOW);
break; break;
} }
D_8010D690 = 0xA; D_8010D690 = 0xA;

View File

@ -1,6 +1,337 @@
#include "common.h" #include "common.h"
typedef struct DefaultWindowStyle {
/* 0x00 */ u8 bgIndex;
/* 0x01 */ u8 cornersIndex;
/* 0x02 */ u8 unk_2;
/* 0x03 */ Color_RGBA8 color1;
/* 0x07 */ Color_RGBA8 color2;
} DefaultWindowStyle; // size = 0x0B
INCLUDE_ASM(void, "8e790_len_2850", draw_box, s32 flags, s32 windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, typedef struct UnkDrawStruct {
Vtx vert[16];
} UnkDrawStruct; // size = 0x100
static UnkDrawStruct D_8010D6B0[];
DefaultWindowStyle D_801098E0[] = {
{
.bgIndex = 1,
.cornersIndex = 0,
.unk_2 = 0,
.color1 = { .r = 200, .g = 191, .b = 164, .a = 255 },
.color2 = { .r = 128, .g = 128, .b = 128, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 1,
.unk_2 = 1,
.color1 = { .r = 255, .g = 200, .b = 128, .a = 255 },
.color2 = { .r = 128, .g = 128, .b = 128, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 2,
.unk_2 = 1,
.color1 = { .r = 232, .g = 196, .b = 77, .a = 255 },
.color2 = { .r = 163, .g = 123, .b = 0, .a = 255 }
},
{
.bgIndex = 0,
.cornersIndex = 3,
.unk_2 = 1,
.color1 = { .r = 226, .g = 225, .b = 216, .a = 255 },
.color2 = { .r = 217, .g = 208, .b = 201, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 61, .g = 74, .b = 188, .a = 255 },
.color2 = { .r = 0, .g = 25, .b = 28, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 5,
.unk_2 = 1,
.color1 = { .r = 235, .g = 230, .b = 119, .a = 255 },
.color2 = { .r = 142, .g = 90, .b = 37, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 6,
.unk_2 = 1,
.color1 = { .r = 235, .g = 230, .b = 119, .a = 255 },
.color2 = { .r = 142, .g = 99, .b = 37, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 215, .g = 191, .b = 116, .a = 255 },
.color2 = { .r = 132, .g = 70, .b = 50, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 215, .g = 191, .b = 116, .a = 255 },
.color2 = { .r = 132, .g = 70, .b = 50, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 141, .g = 143, .b = 255, .a = 255 },
.color2 = { .r = 43, .g = 69, .b = 102, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 8,
.unk_2 = 1,
.color1 = { .r = 141, .g = 143, .b = 255, .a = 255 },
.color2 = { .r = 43, .g = 69, .b = 102, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 170, .g = 208, .b = 128, .a = 255 },
.color2 = { .r = 71, .g = 123, .b = 83, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 8,
.unk_2 = 1,
.color1 = { .r = 170, .g = 208, .b = 128, .a = 255 },
.color2 = { .r = 71, .g = 123, .b = 83, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 200, .g = 200, .b = 90, .a = 255 },
.color2 = { .r = 140, .g = 140, .b = 0, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 8,
.unk_2 = 1,
.color1 = { .r = 200, .g = 200, .b = 90, .a = 255 },
.color2 = { .r = 140, .g = 140, .b = 0, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 235, .g = 230, .b = 119, .a = 255 },
.color2 = { .r = 142, .g = 90, .b = 37, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 142, .g = 212, .b = 236, .a = 255 },
.color2 = { .r = 67, .g = 98, .b = 69, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 167, .g = 151, .b = 119, .a = 255 },
.color2 = { .r = 98, .g = 55, .b = 154, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 7,
.unk_2 = 1,
.color1 = { .r = 17, .g = 151, .b = 29, .a = 255 },
.color2 = { .r = 8, .g = 55, .b = 14, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 7,
.unk_2 = 1,
.color1 = { .r = 110, .g = 110, .b = 200, .a = 255 },
.color2 = { .r = 10, .g = 10, .b = 100, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 181, .g = 60, .b = 60, .a = 255 },
.color2 = { .r = 76, .g = 10, .b = 0, .a = 255 }
},
{
.bgIndex = 1,
.cornersIndex = 4,
.unk_2 = 1,
.color1 = { .r = 174, .g = 227, .b = 235, .a = 255 },
.color2 = { .r = 76, .g = 110, .b = 60, .a = 255 }
},
{
.bgIndex = 0,
.cornersIndex = 3,
.unk_2 = 1,
.color1 = { .r = 126, .g = 125, .b = 216, .a = 255 },
.color2 = { .r = 217, .g = 108, .b = 201, .a = 255 }
}
};
#include "ui/corners9.png.inc.c"
#include "ui/corners8.png.inc.c"
#include "ui/corners6.png.inc.c"
#include "ui/corners7.png.inc.c"
#include "ui/corners3.png.inc.c"
#include "ui/corners5.png.inc.c"
#include "ui/corners4.png.inc.c"
#include "ui/background1.png.inc.c"
#include "ui/corners1.png.inc.c"
#include "ui/corners2.png.inc.c"
#include "ui/background2.png.inc.c"
WindowBackground D_8010BAE8[] = {
{
.imgData = ui_background1_png,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0},
.size = 128
},
{
.imgData = ui_background2_png,
.packedTileFormat = 0x40,
.width = 16,
.height = 1,
.unk_07 = { 0, 0, 0, 0},
.size = 8
}
};
WindowCorners D_8010BB00[] = {
{
.imgData = ui_corners1_png,
.packedTileFormat = 0x31,
.size1 = { 16, 16},
.size2 = { 16, 16},
.size3 = { 16, 16},
.size4 = { 16, 16},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners2_png,
.packedTileFormat = 0x40,
.size1 = { 16, 16},
.size2 = { 16, 16},
.size3 = { 16, 16},
.size4 = { 16, 16},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners3_png,
.packedTileFormat = 0x31,
.size1 = { 16, 32},
.size2 = { 16, 32},
.size3 = { 16, 16},
.size4 = { 16, 16},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners4_png,
.packedTileFormat = 0x31,
.size1 = { 8, 8},
.size2 = { 8, 8},
.size3 = { 8, 8},
.size4 = { 8, 8},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners5_png,
.packedTileFormat = 0x31,
.size1 = { 16, 8},
.size2 = { 16, 8},
.size3 = { 16, 8},
.size4 = { 16, 8},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners6_png,
.packedTileFormat = 0x31,
.size1 = { 16, 8},
.size2 = { 16, 8},
.size3 = { 16, 8},
.size4 = { 16, 16},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners7_png,
.packedTileFormat = 0x31,
.size1 = { 16, 8},
.size2 = { 16, 8},
.size3 = { 16, 8},
.size4 = { 16, 8},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners8_png,
.packedTileFormat = 0x31,
.size1 = { 24, 24},
.size2 = { 24, 24},
.size3 = { 24, 24},
.size4 = { 24, 24},
.unk_0D = { 0, 0, 0}
},
{
.imgData = ui_corners9_png,
.packedTileFormat = 0x31,
.size1 = { 16, 16},
.size2 = { 16, 16},
.size3 = { 16, 16},
.size4 = { 16, 16},
.unk_0D = { 0, 0, 0}
}
};
Gfx D_8010BB90[] = {
gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL1, TEXEL0, ENVIRONMENT, ENV_ALPHA, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, 0, 0, 0, TEXEL1, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL1, 0, PRIMITIVE, 0, TEXEL0, ENVIRONMENT, ENV_ALPHA, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL1, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED)
};
s32 D_8010BBB0 = 0;
s32 D_8010BBB4 = 0;
Vp D_8010BBB8 = {
.vp = {
.vscale = { 640, 480, 511, 0 },
.vtrans = { 640, 480, 511, 0 }
}
};
#include "vtx/drawbox1.vtx.inc.c"
/*
| 0.0 0.0 0.0 0.0|
| 0.0 0.0 0.0 0.0|
| 0.0 0.0 0.0 0.0|
|-6.0 0.0 0.0 0.0|
*/
Mtx D_8010BC08 = {
.m = {
// integer portion
{ 0x00000000, 0x00000000,
0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000,
0xFFFA0000, 0x00000000 },
//fractional portion
{ 0x00000000, 0x00000000,
0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000,
0x00000000, 0x00000000 }
}
};
INCLUDE_ASM(void, "8e790_len_2850", draw_box, s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s32 width,
s32 height, s32 opacity, s32 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, s32 height, s32 opacity, s32 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ,
void (*fpDrawContents)(s32),s32 drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, void (*fpDrawContents)(s32),s32 drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY,
Matrix4f* outMtx); f32 (*outMtx)[4]);

View File

@ -1,80 +0,0 @@
#include "common.h"
s32 D_8014F150[] = { 0x00000003, 0x00000003, 0x0000000B, 0x0000000C, 0x0000000D, 0x0000000E, 0x00000003, 0x00000015,
0x00000003, 0x00000000, 0x00000009, 0x00000003, 0x00000000, 0x00000001, 0x00000003, 0x00000009,
0x0000000A, 0x00000007, 0x00000008, 0x00000003, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x0000000B, 0x0000000C, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
};
s32 D_8014F250[] = { 0x00000800, 0x0000000C, 0x00000004, 0x08000001, 0x00080000, 0x04000864, 0x00040008, 0x00000200,
0x0800B802, 0x000800FF, 0x02000C00, 0xB804000C, 0x64000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000,
};
s32 D_8014F298[] = { 0x32506469, 0x64000000, };
s8 D_8014F2A0[] = { 0x01, 0x01, 0x01, 0x01, };
s8 D_8014F2A4[] = { 0x00, 0x00, 0x00, 0x00, };
s32 D_8014F2A8[] = { 0x69644D39, 0x281B1008, 0x03000000, };
s8 D_8014F2B4[] = { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 };
s8 D_8014F2BD = 0;
s32 D_8014F2C0[] = { 0x003F0809, 0x162B2C3F, 0x00000000, 0x00000000, };
// this is definitely wrong but I had issues trying to use an array accessor
void clear_windows(void) {
Window* windowIt = gWindows;
s32 i;
for (i = 0; i < ARRAY_COUNT(gWindows); i++, windowIt++) {
windowIt->flags = 0;
}
}
INCLUDE_ASM(s32, "ddaf0_len_c50", update_windows);
INCLUDE_ASM(s32, "ddaf0_len_c50", basic_window_update);
INCLUDE_ASM(s32, "ddaf0_len_c50", basic_hidden_window_update);
INCLUDE_ASM(s32, "ddaf0_len_c50", main_menu_window_update);
INCLUDE_ASM(s32, "ddaf0_len_c50", render_windows);
INCLUDE_ASM(s32, "ddaf0_len_c50", render_window_root);
INCLUDE_ASM(s32, "ddaf0_len_c50", set_window_properties);
INCLUDE_ASM(s32, "ddaf0_len_c50", update_window_hierarchy);
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc) {
if (gWindows[idx].flags & 1) {
gWindows[idx].flags |= 0xA;
gWindows[idx].fpPending = pendingFunc;
gWindows[idx].unk_02 = arg1;
}
}
void set_window_update(s32 panelIndex, WindowUpdateFunc func) {
if (gWindows[panelIndex].flags & 1) {
if (func.i == gWindows[panelIndex].fpUpdate.i) {
gWindows[panelIndex].flags &= ~0x2;
} else {
gWindows[panelIndex].flags |= 0xA;
gWindows[panelIndex].fpPending = func;
}
}
}
INCLUDE_ASM(s32, "ddaf0_len_c50", set_windows_visible);
void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);
INCLUDE_ASM(s32, "ddaf0_len_c50", setup_pause_menu_tab);

View File

@ -755,7 +755,7 @@ void draw_message_window(MessagePrintState* printer) {
case MSG_WINDOW_STATE_E: case MSG_WINDOW_STATE_E:
printer->windowBasePos.x = 160 - (printer->windowSize.x / 2); printer->windowBasePos.x = 160 - (printer->windowSize.x / 2);
printer->windowBasePos.y = 56; printer->windowBasePos.y = 56;
draw_box(1, 0, printer->windowBasePos.x, 56, 0, printer->windowSize.x, printer->windowSize.y, 255, 0, draw_box(DRAW_FLAGS_ROTSCALE, 0, printer->windowBasePos.x, 56, 0, printer->windowSize.x, printer->windowSize.y, 255, 0,
scale, scale, 0.0f, 0.0f, rotZ, drawbox_message_delegate, printer, NULL, SCREEN_WIDTH, scale, scale, 0.0f, 0.0f, rotZ, drawbox_message_delegate, printer, NULL, SCREEN_WIDTH,
SCREEN_HEIGHT, NULL); SCREEN_HEIGHT, NULL);
break; break;

View File

@ -46,13 +46,13 @@ MenuWindowBP gPauseBadgesWindowBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 1, 0}, .priority = 1,
.fpDrawContents = &pause_badges_draw_contents, .fpDrawContents = &pause_badges_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_16 .style = { .customStyle = &gPauseWS_16 }
} }
}; };
MenuPanel gPausePanelBadges = { MenuPanel gPausePanelBadges = {
@ -309,7 +309,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
currentBadgeColumn = gPauseBadgesSelectedIndex / currentPage->numCols; currentBadgeColumn = gPauseBadgesSelectedIndex / currentPage->numCols;
currentBadgeRow = gPauseBadgesSelectedIndex % currentPage->numCols; currentBadgeRow = gPauseBadgesSelectedIndex % currentPage->numCols;
draw_box(4, &gPauseWS_15, baseX + 84, baseY, 0, width - 84, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); draw_box(DRAW_FLAGS_CLIP, &gPauseWS_15, baseX + 84, baseY, 0, width - 84, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
set_hud_element_render_pos(gPauseBadgesIconIDs[20], baseX + 241, baseY + 11); set_hud_element_render_pos(gPauseBadgesIconIDs[20], baseX + 241, baseY + 11);
palette = 10; palette = 10;
draw_hud_element_3(gPauseBadgesIconIDs[20]); draw_hud_element_3(gPauseBadgesIconIDs[20]);
@ -406,7 +406,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
} }
if (isEquipped) { if (isEquipped) {
draw_box(4, &gPauseWS_14, badgeListX + pause_badges_scroll_offset_x(posX) - 20, draw_box(DRAW_FLAGS_CLIP, &gPauseWS_14, badgeListX + pause_badges_scroll_offset_x(posX) - 20,
baseY + pause_badges_scroll_offset_y(posY) + 17, 0, 200, 13, 255, 0, 0, 0, 0, 0, baseY + pause_badges_scroll_offset_y(posY) + 17, 0, 200, 13, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
} else if (cannotBeEquipped) { } else if (cannotBeEquipped) {
@ -610,7 +610,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
} }
draw_box(4, &gPauseWS_13, gPauseBadgesCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0, draw_box(DRAW_FLAGS_CLIP, &gPauseWS_13, gPauseBadgesCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0,
91, 34, 255, gPauseBadgesCurrentTab == 1 ? 128 : 0, 0, 0, 91, 34, 255, gPauseBadgesCurrentTab == 1 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
@ -626,7 +626,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
} }
draw_msg(msg, msgX, msgY, msgOpacity, 0, 1); draw_msg(msg, msgX, msgY, msgOpacity, 0, 1);
draw_box(4, &gPauseWS_13, gPauseBadgesCurrentTab == 1 ? baseX + 9 : baseX, baseY + 37, 0, 91, 34, 255, draw_box(DRAW_FLAGS_CLIP, &gPauseWS_13, gPauseBadgesCurrentTab == 1 ? baseX + 9 : baseX, baseY + 37, 0, 91, 34, 255,
gPauseBadgesCurrentTab == 0 ? 128 : 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); gPauseBadgesCurrentTab == 0 ? 128 : 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
msg = pause_get_menu_msg(0x48); msg = pause_get_menu_msg(0x48);
@ -678,10 +678,10 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
if (gPauseBadgesShowNotEnoughBP != 0) { if (gPauseBadgesShowNotEnoughBP != 0) {
pause_set_cursor_opacity(0); pause_set_cursor_opacity(0);
if (gPauseBadgesShowNotEnoughBP == 1) { if (gPauseBadgesShowNotEnoughBP == 1) {
draw_box(4, &gPauseWS_13, baseX + 67, baseY + 60, 0, 137, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); draw_box(DRAW_FLAGS_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 137, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(0x4A), baseX + 86, baseY + 66, 255, 0, 1); draw_msg(pause_get_menu_msg(0x4A), baseX + 86, baseY + 66, 255, 0, 1);
} else { } else {
draw_box(4, &gPauseWS_13, baseX + 67, baseY + 60, 0, 173, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); draw_box(DRAW_FLAGS_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 173, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(0x4B), baseX + 90, baseY + 66, 255, 0, 1); draw_msg(pause_get_menu_msg(0x4B), baseX + 90, baseY + 66, 255, 0, 1);
} }
} }

View File

@ -99,19 +99,19 @@ extern HudScript* gPauseCurrentDescIconScript;
extern s32 gPauseCursorIconID; extern s32 gPauseCursorIconID;
extern s8 gPauseMenuCurrentTab; extern s8 gPauseMenuCurrentTab;
void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY); void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY);

View File

@ -39,13 +39,13 @@ MenuWindowBP gPauseItemsWindowBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 1, 0}, .priority = 1,
.fpDrawContents = &pause_items_draw_contents, .fpDrawContents = &pause_items_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_19 .style = { .customStyle = &gPauseWS_19 }
} }
}; };
MenuPanel gPausePanelItems = { MenuPanel gPausePanelItems = {
@ -129,7 +129,7 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width,
palette = 10; palette = 10;
currentItemColumn = gPauseItemsSelectedIndex / gPauseItemsPages[gPauseItemsCurrentPage].numCols; currentItemColumn = gPauseItemsSelectedIndex / gPauseItemsPages[gPauseItemsCurrentPage].numCols;
currentItemRow = gPauseItemsSelectedIndex % gPauseItemsPages[gPauseItemsCurrentPage].numCols; currentItemRow = gPauseItemsSelectedIndex % gPauseItemsPages[gPauseItemsCurrentPage].numCols;
draw_box(4, &gPauseWS_18, baseX + 68, baseY, 0, width - 68, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); draw_box(DRAW_FLAGS_CLIP, &gPauseWS_18, baseX + 68, baseY, 0, width - 68, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
x1 = baseX + 1; x1 = baseX + 1;
y1 = baseY + 7; y1 = baseY + 7;
@ -292,7 +292,7 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width,
} }
} }
draw_box(4, &gPauseWS_17, gPauseItemsCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0, draw_box(DRAW_FLAGS_CLIP, &gPauseWS_17, gPauseItemsCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0,
91, 34, 255, gPauseItemsCurrentTab == 1 ? 128 : 0, 0, 0, 91, 34, 255, gPauseItemsCurrentTab == 1 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
@ -308,7 +308,7 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width,
} }
draw_msg(msg, msgX, msgY, opacity1, 0, 1); draw_msg(msg, msgX, msgY, opacity1, 0, 1);
draw_box(4, &gPauseWS_17, gPauseItemsCurrentTab == 1 ? baseX + 9 : baseX, baseY + 39, 0, draw_box(DRAW_FLAGS_CLIP, &gPauseWS_17, gPauseItemsCurrentTab == 1 ? baseX + 9 : baseX, baseY + 39, 0,
91, 34, 255, gPauseItemsCurrentTab == 0 ? 128 : 0, 0, 0, 91, 34, 255, gPauseItemsCurrentTab == 0 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);

View File

@ -52,10 +52,10 @@ s32 gPauseCursorTargetPosY = -120;
s32 gPauseCursorTargetOpacity = 0; s32 gPauseCursorTargetOpacity = 0;
u32 D_8024EFB4 = 1; u32 D_8024EFB4 = 1;
s16 D_8024EFB8[] = { -10, -25, -42, -60, -80 }; //unused s16 D_8024EFB8[] = { -10, -25, -42, -60, -80 }; //unused
u8 gPauseWindowFlipUpFlags[] = { 1, 1, 1, 1, 1, 0, 0}; u8 gPauseWindowFlipUpFlags[] = { DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, 0, 0};
s16 gPauseWindowFlipUpAngles[] = { -80, -65, -38, -30, -10, 0 }; s16 gPauseWindowFlipUpAngles[] = { -80, -65, -38, -30, -10, 0 };
s16 gPauseWindowFlipUpAngles_2[] = { 80, 65, 38, 30, 10, 0 }; s16 gPauseWindowFlipUpAngles_2[] = { 80, 65, 38, 30, 10, 0 };
u8 gPauseWindowFlipDownFlags[] = { 1, 1, 1, 1, 1, 1, 0, 0 }; u8 gPauseWindowFlipDownFlags[] = { DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, 0, 0 };
u8 D_8024EFEC[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00, 0x25, 0x00, 0x3C, u8 D_8024EFEC[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00, 0x25, 0x00, 0x3C,
0x00, 0x55, 0x00, 0x6E }; //unused 0x00, 0x55, 0x00, 0x6E }; //unused
s16 gPauseWindowFlipDownAngles[] = { -10, -25, -42, -60, -80}; s16 gPauseWindowFlipDownAngles[] = { -10, -25, -42, -60, -80};
@ -103,13 +103,13 @@ MenuWindowBP gPauseCommonWindowsBPs[] = {
.pos = { .x = 12, .y = 20 }, .pos = { .x = 12, .y = 20 },
.width = 296, .width = 296,
.height = 200, .height = 200,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_main_draw_contents, .fpDrawContents = &pause_main_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_NONE, .parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0x40000000, .extraFlags = WINDOW_FLAGS_40,
.style = &gPauseWS_0 .style = { .customStyle = &gPauseWS_0 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TUTORIAL, .windowID = WINDOW_ID_PAUSE_TUTORIAL,
@ -117,13 +117,13 @@ MenuWindowBP gPauseCommonWindowsBPs[] = {
.pos = { .x = 0, .y = 138 }, .pos = { .x = 0, .y = 138 },
.width = 296, .width = 296,
.height = 63, .height = 63,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tutorial_draw_contents, .fpDrawContents = &pause_tutorial_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_2 .style = { .customStyle = &gPauseWS_2 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_DECRIPTION, .windowID = WINDOW_ID_PAUSE_DECRIPTION,
@ -131,13 +131,13 @@ MenuWindowBP gPauseCommonWindowsBPs[] = {
.pos = { .x = 20, .y = 164 }, .pos = { .x = 20, .y = 164 },
.width = 256, .width = 256,
.height = 32, .height = 32,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_textbox_draw_contents, .fpDrawContents = &pause_textbox_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &basic_window_update }, .fpUpdate = { .func = &basic_window_update },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_1 .style = { .customStyle = &gPauseWS_1 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_CURSOR, .windowID = WINDOW_ID_PAUSE_CURSOR,
@ -145,13 +145,13 @@ MenuWindowBP gPauseCommonWindowsBPs[] = {
.pos = { .x = 0, .y = 0 }, .pos = { .x = 0, .y = 0 },
.width = SCREEN_WIDTH, .width = SCREEN_WIDTH,
.height = SCREEN_HEIGHT, .height = SCREEN_HEIGHT,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_draw_cursor, .fpDrawContents = &pause_draw_cursor,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_NONE, .parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_0 .style = { .customStyle = &gPauseWS_0 }
} }
}; };
@ -172,7 +172,7 @@ void pause_set_cursor_pos_immediate(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[i]; Window* window = &gWindows[i];
s8 parent = window->parent; s8 parent = window->parent;
if ((parent == WINDOW_ID_NONE || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_8)) { if ((parent == WINDOW_ID_NONE || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_INITIAL_ANIMATION)) {
break; break;
} }
} }
@ -185,7 +185,7 @@ void pause_set_cursor_pos_immediate(s32 windowID, s32 posX, s32 posY) {
gPauseCursorTargetPosY = posY; gPauseCursorTargetPosY = posY;
gPauseCursorPosY = posY; gPauseCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_8) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_8))) { } else if ((window->flags & WINDOW_FLAGS_INITIAL_ANIMATION) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_INITIAL_ANIMATION))) {
gPauseCursorTargetPosX = posX; gPauseCursorTargetPosX = posX;
gPauseCursorPosX = posX; gPauseCursorPosX = posX;
gPauseCursorTargetPosY = posY; gPauseCursorTargetPosY = posY;
@ -206,7 +206,7 @@ void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[i]; Window* window = &gWindows[i];
s8 parent = window->parent; s8 parent = window->parent;
if ((parent == -1 || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_8)) { if ((parent == -1 || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_INITIAL_ANIMATION)) {
break; break;
} }
} }
@ -218,7 +218,7 @@ void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY) {
gPauseCursorPosX = posX; gPauseCursorPosX = posX;
gPauseCursorTargetPosY = posY; gPauseCursorTargetPosY = posY;
gPauseCursorPosY = posY; gPauseCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_8) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_8))) { } else if ((window->flags & WINDOW_FLAGS_INITIAL_ANIMATION) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_INITIAL_ANIMATION))) {
gPauseCursorTargetPosX = posX; gPauseCursorTargetPosX = posX;
gPauseCursorTargetPosY = posY; gPauseCursorTargetPosY = posY;
} }
@ -256,73 +256,73 @@ void pause_interp_cursor(void) {
gPauseCursorTargetOpacity = 255; gPauseCursorTargetOpacity = 255;
} }
void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
*darkening = 160; *darkening = 160;
window->flags &= ~(WINDOW_FLAGS_4 | WINDOW_FLAGS_8); window->flags &= ~(WINDOW_FLAGS_HIDDEN | WINDOW_FLAGS_INITIAL_ANIMATION);
} }
void func_80242FBC(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void func_80242FBC(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
*darkening = 160; *darkening = 160;
*opacity = 80; *opacity = 80;
window->flags &= ~(WINDOW_FLAGS_4 | WINDOW_FLAGS_8); window->flags &= ~(WINDOW_FLAGS_HIDDEN | WINDOW_FLAGS_INITIAL_ANIMATION);
} }
void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter == 5) { if (updateCounter == 5) {
update_window_hierarchy(windowIndex, window->unk_02); update_window_hierarchy(windowIndex, window->originalPriority);
} }
if (updateCounter < 10) { if (updateCounter < 10) {
*darkening = (updateCounter + 1) * 16; *darkening = (updateCounter + 1) * 16;
} else { } else {
*darkening = 160; *darkening = 160;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
if (window->updateCounter == 0) { if (window->updateCounter == 0) {
update_window_hierarchy(windowIndex, window->unk_02); update_window_hierarchy(windowIndex, window->originalPriority);
*darkening = 0; *darkening = 0;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
void func_802430E4(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void func_802430E4(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < 16) { if (updateCounter < 16) {
*opacity = updateCounter * 16; *opacity = updateCounter * 16;
} else { } else {
*opacity = 255; *opacity = 255;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
void func_8024313C(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void func_8024313C(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
@ -331,18 +331,18 @@ void func_8024313C(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ,
*opacity = 255 - (updateCounter * 16); *opacity = 255 - (updateCounter * 16);
} else { } else {
*opacity = 0; *opacity = 0;
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < 7) { if (updateCounter < 7) {
*flags = gPauseWindowFlipUpFlags[updateCounter]; *flags = gPauseWindowFlipUpFlags[updateCounter];
@ -350,17 +350,17 @@ void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* pos
} else { } else {
*flags = gPauseWindowFlipUpFlags[5]; *flags = gPauseWindowFlipUpFlags[5];
*rotX += gPauseWindowFlipUpAngles[6]; *rotX += gPauseWindowFlipUpAngles[6];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
if (updateCounter == 0) { if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4; window->flags &= ~WINDOW_FLAGS_HIDDEN;
} }
if (updateCounter < 7) { if (updateCounter < 7) {
*flags = gPauseWindowFlipUpFlags[updateCounter]; *flags = gPauseWindowFlipUpFlags[updateCounter];
@ -368,11 +368,11 @@ void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* pos
} else { } else {
*flags = gPauseWindowFlipUpFlags[5]; *flags = gPauseWindowFlipUpFlags[5];
*rotX += gPauseWindowFlipUpAngles_2[6]; *rotX += gPauseWindowFlipUpAngles_2[6];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
@ -383,12 +383,12 @@ void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* p
} else { } else {
*flags = gPauseWindowFlipDownFlags[4]; *flags = gPauseWindowFlipDownFlags[4];
*rotX += gPauseWindowFlipDownAngles[4]; *rotX += gPauseWindowFlipDownAngles[4];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) { f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex]; Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter; s32 updateCounter = window->updateCounter;
@ -399,8 +399,8 @@ void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* p
} else { } else {
*flags = gPauseWindowFlipDownFlags[4]; *flags = gPauseWindowFlipDownFlags[4];
*rotX = gPauseWindowFlipDownAngles_2[4]; *rotX = gPauseWindowFlipDownAngles_2[4];
window->flags &= ~WINDOW_FLAGS_8; window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_4; window->flags |= WINDOW_FLAGS_HIDDEN;
} }
} }
@ -610,7 +610,7 @@ void pause_init(void) {
posX = 225; posX = 225;
for (i = 6; i > 0; i--) { for (i = 6; i > 0; i--) {
if (!gPausePanels[i]->initialized) { if (!gPausePanels[i]->initialized) {
set_window_update(24 + i, 2); set_window_update(24 + i, WINDOW_UPDATE_HIDE);
} else { } else {
gWindows[WINDOW_ID_PAUSE_TUTORIAL + i].pos.x = posX + 14; gWindows[WINDOW_ID_PAUSE_TUTORIAL + i].pos.x = posX + 14;
posX -= 45; posX -= 45;
@ -625,7 +625,7 @@ void pause_init(void) {
gPauseTutorialSprites[i] = spr_load_npc_sprite(gPauseTutorialSpriteAnims[i][0], gPauseTutorialSpriteAnims[i]); gPauseTutorialSprites[i] = spr_load_npc_sprite(gPauseTutorialSpriteAnims[i][0], gPauseTutorialSpriteAnims[i]);
} }
set_window_update(WINDOW_ID_PAUSE_TUTORIAL, 1); set_window_update(WINDOW_ID_PAUSE_TUTORIAL, WINDOW_UPDATE_SHOW);
sfx_play_sound(SOUND_MENU_START_TUTORIAL); sfx_play_sound(SOUND_MENU_START_TUTORIAL);
} }
@ -788,9 +788,9 @@ void pause_cleanup(void) {
} }
for (i = WINDOW_ID_PAUSE_MAIN; i < WINDOW_ID_PAUSE_CURSOR; i++) for (i = WINDOW_ID_PAUSE_MAIN; i < WINDOW_ID_PAUSE_CURSOR; i++)
set_window_update(i, 2); set_window_update(i, WINDOW_UPDATE_HIDE);
set_window_update(WINDOW_ID_PAUSE_CURSOR, 2); set_window_update(WINDOW_ID_PAUSE_CURSOR, WINDOW_UPDATE_HIDE);
} }

View File

@ -106,13 +106,13 @@ MenuWindowBP gPauseMapWindowBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 1, 0 }, .priority = 1,
.fpDrawContents = &pause_map_draw_contents, .fpDrawContents = &pause_map_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_26 .style = { .customStyle = &gPauseWS_26 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_MAP_TITLE, .windowID = WINDOW_ID_PAUSE_MAP_TITLE,
@ -120,13 +120,13 @@ MenuWindowBP gPauseMapWindowBPs[] = {
.pos = { .x = 56, .y = 124 }, .pos = { .x = 56, .y = 124 },
.width = 180, .width = 180,
.height = 20, .height = 20,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_map_draw_title, .fpDrawContents = &pause_map_draw_title,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAP, .parentID = WINDOW_ID_PAUSE_MAP,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_28 .style = { .customStyle = &gPauseWS_28 }
}, },
{ }, { },
{ }, { },

View File

@ -134,65 +134,65 @@ MenuWindowBP gPausePartnersWindowBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 1, 0}, .priority = 1,
.fpDrawContents = &pause_partners_draw_contents, .fpDrawContents = &pause_partners_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_20 .style = { .customStyle = &gPauseWS_20 }
}, { }, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_TITLE, .windowID = WINDOW_ID_PAUSE_PARTNERS_TITLE,
.unk_01 = 0, .unk_01 = 0,
.pos = { .x = 8, .y = 103 }, .pos = { .x = 8, .y = 103 },
.width = 112, .width = 112,
.height = 20, .height = 20,
.unk_0A = { 0, 0}, .priority = 0,
.fpDrawContents = &pause_partners_draw_title, .fpDrawContents = &pause_partners_draw_title,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS, .parentID = WINDOW_ID_PAUSE_PARTNERS,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_22 .style = { .customStyle = &gPauseWS_22 }
}, { }, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST, .windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.unk_01 = 0, .unk_01 = 0,
.pos = { .x = 133, .y = 36 }, .pos = { .x = 133, .y = 36 },
.width = 140, .width = 140,
.height = 80, .height = 80,
.unk_0A = { 0, 0}, .priority = 0,
.fpDrawContents = &pause_partners_draw_movelist, .fpDrawContents = &pause_partners_draw_movelist,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS, .parentID = WINDOW_ID_PAUSE_PARTNERS,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = (WindowStyleCustom*)-1 .style = { -1 }
}, { }, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE, .windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE,
.unk_01 = 0, .unk_01 = 0,
.pos = { .x = 12, .y = -6 }, .pos = { .x = 12, .y = -6 },
.width = 80, .width = 80,
.height = 16, .height = 16,
.unk_0A = { 0, 0}, .priority = 0,
.fpDrawContents = &pause_partners_draw_movelist_title, .fpDrawContents = &pause_partners_draw_movelist_title,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST, .parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = (WindowStyleCustom*)-1 .style = { -1 }
}, { }, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER, .windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER,
.unk_01 = 0, .unk_01 = 0,
.pos = { .x = 102, .y = -12 }, .pos = { .x = 102, .y = -12 },
.width = 32, .width = 32,
.height = 32, .height = 32,
.unk_0A = { 0, 0}, .priority = 0,
.fpDrawContents = &pause_partners_draw_movelist_flower, .fpDrawContents = &pause_partners_draw_movelist_flower,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST, .parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = (WindowStyleCustom*)-1 .style = { -1 }
} }
}; };
u8 gPausePartnersPortraitScrollInterpTable[] = {0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 }; u8 gPausePartnersPortraitScrollInterpTable[] = {0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 };
@ -508,7 +508,7 @@ void pause_partners_init(MenuPanel* panel) {
} }
if (gPausePartnersNumPartners == 0) { if (gPausePartnersNumPartners == 0) {
set_window_update(WINDOW_ID_PAUSE_PARTNERS, 2); set_window_update(WINDOW_ID_PAUSE_PARTNERS, WINDOW_UPDATE_HIDE);
panel->initialized = FALSE; panel->initialized = FALSE;
return; return;
} }
@ -630,7 +630,7 @@ void pause_partners_handle_input(MenuPanel* panel) {
if ((gPausePressedButtons & BUTTON_A) && gPausePartnersLevel == 0) { if ((gPausePressedButtons & BUTTON_A) && gPausePartnersLevel == 0) {
gPausePartnersLevel = 1; gPausePartnersLevel = 1;
sfx_play_sound(SOUND_MENU_NEXT); sfx_play_sound(SOUND_MENU_NEXT);
set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, 1); set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, WINDOW_UPDATE_SHOW);
return; return;
} }
@ -642,7 +642,7 @@ void pause_partners_handle_input(MenuPanel* panel) {
} else { } else {
gPausePartnersLevel = 0; gPausePartnersLevel = 0;
sfx_play_sound(SOUND_MENU_BACK); sfx_play_sound(SOUND_MENU_BACK);
set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, 2); set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, WINDOW_UPDATE_HIDE);
return; return;
} }
} }

View File

@ -103,13 +103,13 @@ MenuWindowBP gPauseSpiritsWindowsBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 1, 0 }, .priority = 1,
.fpDrawContents = &pause_spirits_draw_contents, .fpDrawContents = &pause_spirits_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_23 .style = { .customStyle = &gPauseWS_23 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_SPIRITS_TITLE, .windowID = WINDOW_ID_PAUSE_SPIRITS_TITLE,
@ -117,13 +117,13 @@ MenuWindowBP gPauseSpiritsWindowsBPs[] = {
.pos = { .x = 86, .y = 124 }, .pos = { .x = 86, .y = 124 },
.width = 120, .width = 120,
.height = 20, .height = 20,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_spirits_draw_title, .fpDrawContents = &pause_spirits_draw_title,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_SPIRITS, .parentID = WINDOW_ID_PAUSE_SPIRITS,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_24 .style = { .customStyle = &gPauseWS_24 }
} }
}; };
MenuPanel gPausePanelSpirits = { MenuPanel gPausePanelSpirits = {

View File

@ -67,13 +67,13 @@ MenuWindowBP gStatsMenuWindowBPs[] = {
.pos = { .x = 3, .y = 16 }, .pos = { .x = 3, .y = 16 },
.width = 289, .width = 289,
.height = 154, .height = 154,
.unk_0A = { 0, 0}, .priority = 0,
.fpDrawContents = &pause_stats_draw_contents, .fpDrawContents = &pause_stats_draw_contents,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 }, .fpUpdate = { WINDOW_UPDATE_HIDE },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_12 .style = { .customStyle = &gPauseWS_12 }
} }
}; };
MenuPanel gPausePanelStats = { MenuPanel gPausePanelStats = {

View File

@ -1,7 +1,7 @@
#include "common.h" #include "common.h"
extern s8 D_8010B460[]; extern s8 ui_background1_png[];
extern s8 D_8010B360[]; extern s8 ui_corners4_png[];
extern s8 pause_image_1439F0_png[]; extern s8 pause_image_1439F0_png[];
extern s8 pause_image_143BF0_png[]; extern s8 pause_image_143BF0_png[];
extern s8 pause_image_143FF0_png[]; extern s8 pause_image_143FF0_png[];
@ -33,7 +33,7 @@ WindowStyleCustom gPauseWS_0 = {
}; };
WindowStyleCustom gPauseWS_1 = { WindowStyleCustom gPauseWS_1 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -41,7 +41,7 @@ WindowStyleCustom gPauseWS_1 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8}, .size1 = { .x = 8, .y = 8},
.size2 = { .x = 8, .y = 8}, .size2 = { .x = 8, .y = 8},
@ -297,7 +297,7 @@ WindowStyleCustom gPauseWS_11 = {
}; };
WindowStyleCustom gPauseWS_12 = { WindowStyleCustom gPauseWS_12 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -305,7 +305,7 @@ WindowStyleCustom gPauseWS_12 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -369,7 +369,7 @@ WindowStyleCustom gPauseWS_14 = {
}; };
WindowStyleCustom gPauseWS_15 = { WindowStyleCustom gPauseWS_15 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -377,7 +377,7 @@ WindowStyleCustom gPauseWS_15 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -393,7 +393,7 @@ WindowStyleCustom gPauseWS_15 = {
}; };
WindowStyleCustom gPauseWS_16 = { WindowStyleCustom gPauseWS_16 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -401,7 +401,7 @@ WindowStyleCustom gPauseWS_16 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -441,7 +441,7 @@ WindowStyleCustom gPauseWS_17 = {
}; };
WindowStyleCustom gPauseWS_18 = { WindowStyleCustom gPauseWS_18 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -449,7 +449,7 @@ WindowStyleCustom gPauseWS_18 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -465,7 +465,7 @@ WindowStyleCustom gPauseWS_18 = {
}; };
WindowStyleCustom gPauseWS_19 = { WindowStyleCustom gPauseWS_19 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -473,7 +473,7 @@ WindowStyleCustom gPauseWS_19 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -489,7 +489,7 @@ WindowStyleCustom gPauseWS_19 = {
}; };
WindowStyleCustom gPauseWS_20 = { WindowStyleCustom gPauseWS_20 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -497,7 +497,7 @@ WindowStyleCustom gPauseWS_20 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -513,7 +513,7 @@ WindowStyleCustom gPauseWS_20 = {
}; };
WindowStyleCustom gPauseWS_21 = { WindowStyleCustom gPauseWS_21 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -561,7 +561,7 @@ WindowStyleCustom gPauseWS_22 = {
}; };
WindowStyleCustom gPauseWS_23 = { WindowStyleCustom gPauseWS_23 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -569,7 +569,7 @@ WindowStyleCustom gPauseWS_23 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -609,7 +609,7 @@ WindowStyleCustom gPauseWS_24 = {
}; };
WindowStyleCustom gPauseWS_25 = { WindowStyleCustom gPauseWS_25 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -633,7 +633,7 @@ WindowStyleCustom gPauseWS_25 = {
}; };
WindowStyleCustom gPauseWS_26 = { WindowStyleCustom gPauseWS_26 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,
@ -641,7 +641,7 @@ WindowStyleCustom gPauseWS_26 = {
.size = 128 .size = 128
}, },
.corners = { .corners = {
.imgData = D_8010B360, .imgData = ui_corners4_png,
.packedTileFormat = 0x31, .packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 }, .size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 }, .size2 = { .x = 8, .y = 8 },
@ -657,7 +657,7 @@ WindowStyleCustom gPauseWS_26 = {
}; };
WindowStyleCustom gPauseWS_27 = { WindowStyleCustom gPauseWS_27 = {
.background = { .background = {
.imgData = D_8010B460, .imgData = ui_background1_png,
.packedTileFormat = 0x40, .packedTileFormat = 0x40,
.width = 16, .width = 16,
.height = 16, .height = 16,

View File

@ -30,13 +30,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 64, 0 }, .priority = 64,
.fpDrawContents = &pause_tabs_draw_stats, .fpDrawContents = &pause_tabs_draw_stats,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_3 .style = { .customStyle = &gPauseWS_3 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_BADGES, .windowID = WINDOW_ID_PAUSE_TAB_BADGES,
@ -44,13 +44,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tabs_draw_badges, .fpDrawContents = &pause_tabs_draw_badges,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default }, .fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_4 .style = { .customStyle = &gPauseWS_4 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_ITEMS, .windowID = WINDOW_ID_PAUSE_TAB_ITEMS,
@ -58,13 +58,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tabs_draw_items, .fpDrawContents = &pause_tabs_draw_items,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default }, .fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_5 .style = { .customStyle = &gPauseWS_5 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_PARTY, .windowID = WINDOW_ID_PAUSE_TAB_PARTY,
@ -72,13 +72,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tabs_draw_party, .fpDrawContents = &pause_tabs_draw_party,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default }, .fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_6 .style = { .customStyle = &gPauseWS_6 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_SPIRITS, .windowID = WINDOW_ID_PAUSE_TAB_SPIRITS,
@ -86,13 +86,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tabs_draw_spirits, .fpDrawContents = &pause_tabs_draw_spirits,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default }, .fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_7 .style = { .customStyle = &gPauseWS_7 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_MAP, .windowID = WINDOW_ID_PAUSE_TAB_MAP,
@ -100,13 +100,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 0, .y = 7 }, .pos = { .x = 0, .y = 7 },
.width = 43, .width = 43,
.height = 15, .height = 15,
.unk_0A = { 0, 0 }, .priority = 0,
.fpDrawContents = &pause_tabs_draw_map, .fpDrawContents = &pause_tabs_draw_map,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN, .parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default }, .fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_8 .style = { .customStyle = &gPauseWS_8 }
}, },
{ {
.windowID = WINDOW_ID_PAUSE_TAB_INVIS, .windowID = WINDOW_ID_PAUSE_TAB_INVIS,
@ -114,13 +114,13 @@ MenuWindowBP gPauseTabsWindowBPs[] = {
.pos = { .x = 8, .y = 8 }, .pos = { .x = 8, .y = 8 },
.width = 16, .width = 16,
.height = 16, .height = 16,
.unk_0A = { 64, 0 }, .priority = 64,
.fpDrawContents = &pause_tabs_draw_invis, .fpDrawContents = &pause_tabs_draw_invis,
.tab = NULL, .tab = NULL,
.parentID = WINDOW_ID_NONE, .parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 }, .fpUpdate = { WINDOW_UPDATE_SHOW },
.unk_1C = 0, .extraFlags = 0,
.style = &gPauseWS_9 .style = { .customStyle = &gPauseWS_9 }
} }
}; };
s32 gPauseTabsCurrentTab = 0; s32 gPauseTabsCurrentTab = 0;
@ -326,9 +326,9 @@ void pause_tabs_update(MenuPanel* tab) {
f32 delta; f32 delta;
f32 deltaBefore; f32 deltaBefore;
f32 f7; f32 f7;
void (*fpUpdateInactive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void (*fpUpdateInactive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void (*fpUpdateActive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY, void (*fpUpdateActive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
WindowUpdateFunc fpUpdate; WindowUpdateFunc fpUpdate;
s32 i; s32 i;

View File

@ -103,7 +103,7 @@ void state_step_language_select(void) {
gOverrideFlags &= ~0x8; gOverrideFlags &= ~0x8;
} else { } else {
gOverrideFlags |= 8; gOverrideFlags |= 8;
set_windows_visible(3); set_windows_visible(WINDOW_GROUP_FILE_MENU);
D_800A0930 = 1; D_800A0930 = 1;
D_800A0931 = 3; D_800A0931 = 3;
} }
@ -160,7 +160,7 @@ void state_step_file_select(void) {
switch (D_800A0931) { switch (D_800A0931) {
case 1: case 1:
set_windows_visible(3); set_windows_visible(WINDOW_GROUP_FILE_MENU);
D_800A0930 = temp; D_800A0930 = temp;
D_800A0931 = 2; D_800A0931 = 2;
break; break;
@ -310,7 +310,7 @@ void state_step_exit_language_select(void) {
func_800E98C4(); func_800E98C4();
set_time_freeze_mode(1); set_time_freeze_mode(1);
} }
set_windows_visible(0); set_windows_visible(WINDOW_GROUP_ALL);
D_800A0931 = 3; D_800A0931 = 3;
update_player(); update_player();
update_npcs(); update_npcs();
@ -366,7 +366,7 @@ void state_step_exit_file_select(void) {
Window* window = &gWindows[i]; Window* window = &gWindows[i];
if (window->parent == 44 || window->parent == -1) { if (window->parent == 44 || window->parent == -1) {
flagSum += window->flags & WINDOW_FLAGS_8; flagSum += window->flags & WINDOW_FLAGS_INITIAL_ANIMATION;
} }
} }
@ -381,7 +381,7 @@ void state_step_exit_file_select(void) {
break; break;
case 2: case 2:
filemenu_cleanup(); filemenu_cleanup();
set_windows_visible(FALSE); set_windows_visible(WINDOW_GROUP_ALL);
D_800A0931 = 3; D_800A0931 = 3;
case 3: case 3:
set_time_freeze_mode(0); set_time_freeze_mode(0);

View File

@ -24,7 +24,7 @@ void state_init_pause(void) {
D_800A0922 = 0; D_800A0922 = 0;
disable_player_input(); disable_player_input();
set_time_freeze_mode(TIME_FREEZE_PARTNER_MENU); set_time_freeze_mode(TIME_FREEZE_PARTNER_MENU);
set_windows_visible(2); set_windows_visible(WINDOW_GROUP_PAUSE_MENU);
} }
void state_step_pause(void) { void state_step_pause(void) {
@ -181,7 +181,7 @@ void state_step_unpause(void) {
gGameStatusPtr->unk_15C = gGameStatusPtr->unk_15E; gGameStatusPtr->unk_15C = gGameStatusPtr->unk_15E;
calculate_model_sizes(); calculate_model_sizes();
npc_reload_all(); npc_reload_all();
set_windows_visible(0); set_windows_visible(WINDOW_GROUP_ALL);
func_800E98C4(); func_800E98C4();
set_time_freeze_mode(TIME_FREEZE_PARTIAL); set_time_freeze_mode(TIME_FREEZE_PARTIAL);
D_800A0921 = 3; D_800A0921 = 3;

View File

@ -242,7 +242,7 @@ void update_merlee_message(PopupMessage* popup) {
} }
if (closeMessage) { if (closeMessage) {
set_window_update(9, 2); set_window_update(9, WINDOW_UPDATE_HIDE);
D_800A0F40 = 0; D_800A0F40 = 0;
dispose_merlee_message(popup); dispose_merlee_message(popup);
} }
@ -270,7 +270,7 @@ void draw_merlee_message(PopupMessage* popup) {
width = get_msg_width(messageID, 0) + 30; width = get_msg_width(messageID, 0) + 30;
xPos = 160 - (width / 2); xPos = 160 - (width / 2);
set_window_properties(9, xPos, 80, width, D_80078160[get_msg_lines(messageID) - 1], 0, draw_merlee_message_string, popup, -1); set_window_properties(9, xPos, 80, width, D_80078160[get_msg_lines(messageID) - 1], 0, draw_merlee_message_string, popup, -1);
set_window_update(9, 1); set_window_update(9, WINDOW_UPDATE_SHOW);
} }
} }

470
src/windows.c Normal file
View File

@ -0,0 +1,470 @@
#include "common.h"
#include "nu/nusys.h"
enum SimpleWindowUpdateFlags {
SIMPLE_WINDOW_UPDATE_1 = 0x1,
SIMPLE_WINDOW_UPDATE_OPACITY = 0x2,
SIMPLE_WINDOW_UPDATE_DARKENING = 0x4,
};
typedef struct SimpleWindowUpdateData {
/* 0x00 */ u8 flags;
/* 0x01 */ u8 windowFlagsSet;
/* 0x02 */ u8 windowFlagsUnset;
/* 0x03 */ u8 darkening;
/* 0x04 */ u8 opacity;
} SimpleWindowUpdateData; // size = 0x05
typedef struct WindowGroup {
/* 0x00 */ u8 min;
/* 0x01 */ u8 max;
} WindowGroup; // size = 0x02
WindowStyle gWindowStyles[] = {
{ 3 }, { 3 }, { 11 }, { 12 }, { 13 }, { 14 }, { 3 }, { 21 }, { 3 }, { 0 }, { 9 }, { 3 }, { 0 }, { 1 }, { 3 }, { 9 },
{ 10 }, { 7 }, { 8 }, { 3 }, { 3 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 },
{ 0 }, { 0 }, { 0 }, { 0 }, { 3 }, { 11 }, { 12 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 },
{ 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 1 }
};
SimpleWindowUpdateData gSimpleWindowUpdates[] = {
{
.flags = 0,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 0
},
{
.flags = 0,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_HIDDEN | WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 0
},
{
.flags = 0,
.windowFlagsSet = WINDOW_FLAGS_HIDDEN,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 0
},
{
.flags = SIMPLE_WINDOW_UPDATE_1,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 0
},
{
.flags = SIMPLE_WINDOW_UPDATE_DARKENING,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 100,
.opacity = 0
},
{
.flags = SIMPLE_WINDOW_UPDATE_DARKENING,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 0
},
{
.flags = SIMPLE_WINDOW_UPDATE_OPACITY,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 184
},
{
.flags = SIMPLE_WINDOW_UPDATE_OPACITY,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 255
},
{
.flags = SIMPLE_WINDOW_UPDATE_OPACITY,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_HIDDEN | WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 0,
.opacity = 184
},
{
.flags = SIMPLE_WINDOW_UPDATE_DARKENING,
.windowFlagsSet = 0,
.windowFlagsUnset = WINDOW_FLAGS_HIDDEN | WINDOW_FLAGS_INITIAL_ANIMATION,
.darkening = 100,
.opacity = 0
},
{ },
{ },
{ },
{ }
};
u8 gWindowAppearScales[] = { 50, 80, 100, 105, 100 };
u8 gWindowAppearFlags[] = { DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, 0};
u8 gWindowDisappearScales[] = { 105, 100, 77, 57, 40, 27, 16, 8, 3, 0 };
u8 gWindowDisappearFlags[] = { DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE,
DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE,
DRAW_FLAGS_ROTSCALE, DRAW_FLAGS_ROTSCALE, 0 };
WindowGroup gWindowGroups[] = {
{ WINDOW_ID_0, WINDOW_ID_63 }, // all windows
{ WINDOW_ID_8, WINDOW_ID_9 }, // battle ?
{ WINDOW_ID_PAUSE_MAIN, WINDOW_ID_PAUSE_TAB_INVIS }, // pause menu
{ WINDOW_ID_PAUSE_CURSOR, WINDOW_ID_63 } // file menu
};
void clear_windows(void) {
Window* window = gWindows;
s32 i;
for (i = 0; i < ARRAY_COUNT(gWindows); i++, window++) {
window->flags = 0;
}
}
void update_windows(void) {
Window* window;
s32 i;
u8 flags;
for (i = 0, window = gWindows; i < ARRAY_COUNT(gWindows); i++, window++) {
flags = window->flags;
if (!flags || (flags & WINDOW_FLAGS_DISABLED)) {
continue;
}
if (flags & WINDOW_FLAGS_FPUPDATE_CHANGED) {
window->flags = flags & ~WINDOW_FLAGS_FPUPDATE_CHANGED;
window->fpUpdate = window->fpPending;
window->updateCounter = 0;
}
}
}
void basic_window_update(s32 windowID, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowID];
s32 counter = window->updateCounter;
if (counter == 0) {
window->flags &= ~WINDOW_FLAGS_HIDDEN;
}
if (counter < 5) {
*flags = gWindowAppearFlags[counter];
*scaleX = (f32)gWindowAppearScales[counter] * 0.01;
*scaleY = (f32)gWindowAppearScales[counter] * 0.01;
*rotZ = (4 - counter) * 3;
} else {
*flags = gWindowAppearFlags[4];
*scaleX = 1.0f;
*scaleY = 1.0f;
*rotZ = 0.0f;
window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
}
}
void basic_hidden_window_update(s32 windowID, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowID];
s32 counter = window->updateCounter;
if (counter < 10) {
*flags = gWindowDisappearFlags[counter];
*scaleX = (f32)gWindowDisappearScales[counter] * 0.01;
*scaleY = (f32)gWindowDisappearScales[counter] * 0.01;
*rotZ = -counter;
} else {
*flags = gWindowDisappearFlags[9];
*scaleX = 0.0f;
*scaleY = 0.0f;
*rotZ = 0.0f;
window->flags &= ~WINDOW_FLAGS_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAGS_HIDDEN;
}
}
void main_menu_window_update(s32 windowID, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowID];
s32 counter = window->updateCounter;
if (counter < 10) {
*darkening = (counter + 1) * 16;
} else {
*darkening = 160;
window->flags &= ~(WINDOW_FLAGS_INITIAL_ANIMATION | WINDOW_FLAGS_HIDDEN);
}
}
void render_windows(s32* windowsArray, s32 parent, s32 flags, s32 baseX, s32 baseY, s32 opacity, s32 darkening, f32 (*rotScaleMtx)[4]) {
Window* window;
Window* childWindow;
s32 i;
s32 childWindowID;
s32 counter;
Matrix4f matrix;
f32 (*outMtx)[4];
s32 childFlags;
s32 posX, posY, posZ;
f32 scaleX, scaleY, rotX, rotY, rotZ;
s32 childDarkening, childOpacity;
s32 boxFlags;
s32 boxTranslateX;
s32 boxTranslateY;
s32 fpUpdateIdx;
s32 width, height;
s32 (*fpUpdateFunc)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
s32 childWindowIdCopy;
WindowStyle windowStyle;
void* fpDrawContents;
void* drawContentsArg0;
s32* windowArrayIt;
for (i = 0, windowArrayIt = windowsArray; i < ARRAY_COUNT(gWindows); i++, windowArrayIt++) {
window = &gWindows[parent];
childWindowID = *windowArrayIt;
if (childWindowID < 0) {
continue;
}
childWindow = &gWindows[childWindowID];
if (childWindow->flags == 0 || (childWindow->flags & WINDOW_FLAGS_DISABLED)) {
continue;
}
fpUpdateIdx = childWindow->fpUpdate.i;
if (fpUpdateIdx == 0 || childWindow->parent != parent) {
continue;
}
counter = childWindow->updateCounter;
posX = childWindow->pos.x;
posY = childWindow->pos.y;
posZ = 0;
childFlags = 0;
rotX = rotY = rotZ = 0.0f;
scaleY = scaleX = 1.0f;
childDarkening = 0;
childOpacity = 255;
width = childWindow->width;
height = childWindow->height;
if (fpUpdateIdx > 0 && fpUpdateIdx < 14) {
SimpleWindowUpdateData* updateData = &gSimpleWindowUpdates[fpUpdateIdx];
childWindow->flags |= updateData->windowFlagsSet;
childWindow->flags &= ~updateData->windowFlagsUnset;
if (counter == 0 && (updateData->flags & SIMPLE_WINDOW_UPDATE_1)) {
update_window_hierarchy(childWindowID, childWindow->originalPriority);
}
if (updateData->flags & SIMPLE_WINDOW_UPDATE_DARKENING) {
childDarkening = updateData->darkening;
}
if (updateData->flags & SIMPLE_WINDOW_UPDATE_OPACITY) {
childOpacity = updateData->opacity;
}
} else {
//type conversion needed for matching
fpUpdateFunc = (s32 (*)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity))(childWindow->fpUpdate.func);
fpUpdateFunc(childWindowID, &childFlags, &posX, &posY, &posZ, &scaleX, &scaleY, &rotX, &rotY, &rotZ, &childDarkening, &childOpacity);
}
if (childWindow->fpUpdate.i) {
if (childWindow->updateCounter < 255) {
childWindow->updateCounter++;
}
}
if (scaleX == 0 || scaleY == 0 || (childWindow->flags & WINDOW_FLAGS_HIDDEN)) {
continue;
}
childDarkening += darkening;
childOpacity = childOpacity * opacity / 255;
fpDrawContents = childWindow->fpDrawContents;
drawContentsArg0 = childWindow->drawContentsArg0;
windowStyle = gWindowStyles[childWindowID];
outMtx = matrix;
//needed to match
childWindowIdCopy = childWindowID;
if (childDarkening > 255) {
childDarkening = 255;
}
childFlags |= flags;
if (!(flags & DRAW_FLAGS_ROTSCALE)) {
posX += baseX;
posY += baseY;
}
if (parent == -1) {
boxTranslateX = SCREEN_WIDTH;
} else {
boxTranslateX = window->width;
}
boxTranslateY = SCREEN_HEIGHT;
if (parent != -1) {
boxTranslateY = window->height;
}
boxFlags = childFlags;
if (childWindow->flags & WINDOW_FLAGS_40) {
boxFlags |= DRAW_FLAGS_2;
}
if (draw_box(boxFlags, windowStyle, posX, posY, posZ, width, height, childOpacity, childDarkening,
scaleX, scaleY, rotX, rotY, rotZ, fpDrawContents, drawContentsArg0, rotScaleMtx,
boxTranslateX, boxTranslateY, outMtx) == 0) {
if (childFlags == 0 && rotScaleMtx == 0) {
outMtx = NULL;
}
if (childWindow->flags & WINDOW_FLAGS_HAS_CHILDREN) {
render_windows(windowsArray, childWindowIdCopy, childFlags, posX, posY, childOpacity, childDarkening, outMtx);
}
}
}
}
void render_window_root(void) {
s32 priorityArray[ARRAY_COUNT(gWindows)];
s32* ptr = priorityArray;
s32 i;
Window* window;
for (i = 0; i < ARRAY_COUNT(gWindows); i++) {
*ptr++ = -1;
}
for (i = 0, window = gWindows; i < ARRAY_COUNT(gWindows); window++, i++) {
if (window->flags != 0) {
priorityArray[window->priority] = i;
}
}
gSPLoadGeometryMode(gMasterGfxPos++, 0);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_SHADING_SMOOTH);
gDPPipelineMode(gMasterGfxPos++, G_PM_NPRIMITIVE);
gDPSetCombineMode(gMasterGfxPos++, G_CC_SHADE, G_CC_SHADE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
gSPSetOtherMode(gMasterGfxPos++, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 16, 0x2CF0); // WHAT?? does it make several operations at once?
gSPClipRatio(gMasterGfxPos++, FRUSTRATIO_2);
gDPSetColorImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMasterGfxPos++);
render_windows(priorityArray, WINDOW_ID_NONE, 0, 0, 0, 255, 0, NULL);
}
void set_window_properties(s32 windowID, s32 posX, s32 posY, s32 width, s32 height, u8 priority, void* fpDrawContents, void* drawContentsArg0, s8 parent) {
Window* window = &gWindows[windowID];
u8 priorityCopy = priority;
window->flags = WINDOW_FLAGS_INITIALIZED | WINDOW_FLAGS_HIDDEN;
window->pos.x = posX;
window->pos.y = posY;
window->width = width;
window->fpUpdate.i = 0;
window->parent = parent;
window->height = height;
window->fpDrawContents = fpDrawContents;
window->drawContentsArg0 = drawContentsArg0;
if (parent >= 0) {
gWindows[parent].flags |= WINDOW_FLAGS_HAS_CHILDREN;
}
update_window_hierarchy(windowID, priorityCopy);
window->originalPriority = priority;
}
void update_window_hierarchy(s32 windowID, u8 priority) {
s32 priorityArray[ARRAY_COUNT(gWindows) + 1];
s32* ptr;
s32 i;
s32 currentPriority;
Window* window;
if (priority > ARRAY_COUNT(gWindows)) {
priority = ARRAY_COUNT(gWindows);
}
ptr = priorityArray;
for (i = 0; i < ARRAY_COUNT(priorityArray); i++, ptr++) {
*ptr = -1;
}
priorityArray[priority] = windowID;
for (i = 0, window = gWindows; i < ARRAY_COUNT(gWindows); i++, window++) {
if (window->flags && i != windowID) {
currentPriority = window->priority;
if (currentPriority >= priority) {
currentPriority++;
}
priorityArray[currentPriority] = i;
}
}
currentPriority = 0;
for (i = 0, ptr = priorityArray; i < ARRAY_COUNT(priorityArray); i++, ptr++) {
if (*ptr != -1) {
gWindows[*ptr].priority = currentPriority++;
}
}
}
void replace_window_update(s32 windowID, s8 priority, WindowUpdateFunc pendingFunc) {
if (gWindows[windowID].flags & WINDOW_FLAGS_INITIALIZED) {
gWindows[windowID].flags |= WINDOW_FLAGS_FPUPDATE_CHANGED | WINDOW_FLAGS_INITIAL_ANIMATION;
gWindows[windowID].fpPending = pendingFunc;
gWindows[windowID].originalPriority = priority;
}
}
void set_window_update(s32 windowID, WindowUpdateFunc func) {
if (gWindows[windowID].flags & WINDOW_FLAGS_INITIALIZED) {
if (func.i == gWindows[windowID].fpUpdate.i) {
gWindows[windowID].flags &= ~WINDOW_FLAGS_FPUPDATE_CHANGED;
} else {
gWindows[windowID].flags |= WINDOW_FLAGS_FPUPDATE_CHANGED | WINDOW_FLAGS_INITIAL_ANIMATION;
gWindows[windowID].fpPending = func;
}
}
}
void set_windows_visible(s32 groupIdx) {
s32 i;
Window* window = gWindows;
u8 min = gWindowGroups[groupIdx].min;
u8 max = gWindowGroups[groupIdx].max;
for (i = 0; i < ARRAY_COUNT(gWindows); i++, window++) {
if (window->flags & WINDOW_FLAGS_INITIALIZED) {
if (i < min || i > max) {
window->flags |= WINDOW_FLAGS_DISABLED;
} else {
window->flags &= ~WINDOW_FLAGS_DISABLED;
}
}
}
}
void setup_pause_menu_tab(MenuWindowBP* bp, s32 count) {
s32 i;
for (i = 0; i < count; i++, bp++) {
set_window_properties(bp->windowID, bp->pos.x, bp->pos.y, bp->width, bp->height, bp->priority, bp->fpDrawContents, bp->tab, bp->parentID);
if (bp->style.defaultStyleID != -1) {
gWindowStyles[bp->windowID] = bp->style;
}
set_window_update(bp->windowID, bp->fpUpdate);
gWindows[bp->windowID].flags |= bp->extraFlags;
}
}

View File

@ -13,7 +13,7 @@ extern s32 D_80286530;
extern s32 D_80286534; extern s32 D_80286534;
extern Evt* D_8028652C; extern Evt* D_8028652C;
extern HudScript* HudScript_Item_Coin; extern HudScript* HudScript_Item_Coin;
extern s32 D_8014F150[64]; extern s32 gWindowStyles[64];
ApiStatus func_802803C8(Evt* script, s32 isInitialCall); ApiStatus func_802803C8(Evt* script, s32 isInitialCall);
ApiStatus func_80280410(Evt* script, s32 isInitialCall); ApiStatus func_80280410(Evt* script, s32 isInitialCall);
@ -905,8 +905,8 @@ s32 MakeShop(Evt* script, s32 isInitialCall) {
get_generic_entity(create_generic_entity_frontUI(NULL, draw_shop_items)); get_generic_entity(create_generic_entity_frontUI(NULL, draw_shop_items));
set_window_properties(0xA, 100, 66, 120, 28, 0, shop_draw_item_name, NULL, -1); set_window_properties(0xA, 100, 66, 120, 28, 0, shop_draw_item_name, NULL, -1);
set_window_properties(0xB, 32, 184, 256, 32, 1, shop_draw_item_desc, NULL, -1); set_window_properties(0xB, 32, 184, 256, 32, 1, shop_draw_item_desc, NULL, -1);
D_8014F150[10] = 9; gWindowStyles[10] = 9;
D_8014F150[11] = 3; gWindowStyles[11] = 3;
shop->currentItemSlot = 0; shop->currentItemSlot = 0;
shop->selectedStoreItemSlot = 0; shop->selectedStoreItemSlot = 0;
shop->flags = SHOP_FLAGS_0; shop->flags = SHOP_FLAGS_0;

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,7 @@ dlabel D_80240E94_AF87E4
.word 0x00000043, 0x00000002, func_80240000_AF7950, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 .word 0x00000043, 0x00000002, func_80240000_AF7950, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000
dlabel D_80240EB8_AF8808 dlabel D_80240EB8_AF8808
.word 0x00000000, 0x00000000, 0x00000000, D_8010B160, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC617E60, 0xF5FFF578, 0xFC612660, 0xF5FFFF78, 0xFFB7B5FF, 0x7A593FFF .word 0x00000000, 0x00000000, 0x00000000, ui_corners5_png, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC617E60, 0xF5FFF578, 0xFC612660, 0xF5FFFF78, 0xFFB7B5FF, 0x7A593FFF
dlabel D_80240EF0_AF8840 dlabel D_80240EF0_AF8840
.word 0x0A000064, 0x00420078, 0x001C0000, func_802400E4_AF7A34, 0x00000000, 0xFF000000, 0x00000002, 0x00000000, D_80240EB8_AF8808, 0x0B000020, 0x00B80100, 0x00200000, func_80240178_AF7AC8, 0x00000000, 0xFF000000, 0x00000002, 0x00000000, 0xFFFFFFFF .word 0x0A000064, 0x00420078, 0x001C0000, func_802400E4_AF7A34, 0x00000000, 0xFF000000, 0x00000002, 0x00000000, D_80240EB8_AF8808, 0x0B000020, 0x00B80100, 0x00200000, func_80240178_AF7AC8, 0x00000000, 0xFF000000, 0x00000002, 0x00000000, 0xFFFFFFFF

View File

@ -2,8 +2,8 @@
.set noreorder # don't insert nops after branches .set noreorder # don't insert nops after branches
glabel filemenu_main_update glabel filemenu_main_update
/* 16738C 80246B2C 3C058015 */ lui $a1, %hi(D_8014F150) /* 16738C 80246B2C 3C058015 */ lui $a1, %hi(gWindowStyles)
/* 167390 80246B30 24A5F150 */ addiu $a1, $a1, %lo(D_8014F150) /* 167390 80246B30 24A5F150 */ addiu $a1, $a1, %lo(gWindowStyles)
/* 167394 80246B34 3C068025 */ lui $a2, %hi(D_8024BDA8) /* 167394 80246B34 3C068025 */ lui $a2, %hi(D_8024BDA8)
/* 167398 80246B38 24C6BDA8 */ addiu $a2, $a2, %lo(D_8024BDA8) /* 167398 80246B38 24C6BDA8 */ addiu $a2, $a2, %lo(D_8024BDA8)
/* 16739C 80246B3C 24C20070 */ addiu $v0, $a2, 0x70 /* 16739C 80246B3C 24C20070 */ addiu $v0, $a2, 0x70
@ -79,8 +79,8 @@ glabel filemenu_main_update
/* 167494 80246C34 03E00008 */ jr $ra /* 167494 80246C34 03E00008 */ jr $ra
/* 167498 80246C38 00000000 */ nop /* 167498 80246C38 00000000 */ nop
.L80246C3C: .L80246C3C:
/* 16749C 80246C3C 3C038015 */ lui $v1, %hi(D_8014F150) /* 16749C 80246C3C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674A0 80246C40 2463F150 */ addiu $v1, $v1, %lo(D_8014F150) /* 1674A0 80246C40 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674A4 80246C44 3C028025 */ lui $v0, %hi(D_8024BDE0) /* 1674A4 80246C44 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674A8 80246C48 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0) /* 1674A8 80246C48 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674AC 80246C4C AC6200E0 */ sw $v0, 0xe0($v1) /* 1674AC 80246C4C AC6200E0 */ sw $v0, 0xe0($v1)
@ -88,8 +88,8 @@ glabel filemenu_main_update
/* 1674B4 80246C54 03E00008 */ jr $ra /* 1674B4 80246C54 03E00008 */ jr $ra
/* 1674B8 80246C58 AC6200F0 */ sw $v0, 0xf0($v1) /* 1674B8 80246C58 AC6200F0 */ sw $v0, 0xf0($v1)
.L80246C5C: .L80246C5C:
/* 1674BC 80246C5C 3C038015 */ lui $v1, %hi(D_8014F150) /* 1674BC 80246C5C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674C0 80246C60 2463F150 */ addiu $v1, $v1, %lo(D_8014F150) /* 1674C0 80246C60 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674C4 80246C64 3C028025 */ lui $v0, %hi(D_8024BDE0) /* 1674C4 80246C64 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674C8 80246C68 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0) /* 1674C8 80246C68 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674CC 80246C6C AC6200E4 */ sw $v0, 0xe4($v1) /* 1674CC 80246C6C AC6200E4 */ sw $v0, 0xe4($v1)
@ -97,8 +97,8 @@ glabel filemenu_main_update
/* 1674D4 80246C74 03E00008 */ jr $ra /* 1674D4 80246C74 03E00008 */ jr $ra
/* 1674D8 80246C78 AC6200F4 */ sw $v0, 0xf4($v1) /* 1674D8 80246C78 AC6200F4 */ sw $v0, 0xf4($v1)
.L80246C7C: .L80246C7C:
/* 1674DC 80246C7C 3C038015 */ lui $v1, %hi(D_8014F150) /* 1674DC 80246C7C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674E0 80246C80 2463F150 */ addiu $v1, $v1, %lo(D_8014F150) /* 1674E0 80246C80 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674E4 80246C84 3C028025 */ lui $v0, %hi(D_8024BDE0) /* 1674E4 80246C84 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674E8 80246C88 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0) /* 1674E8 80246C88 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674EC 80246C8C AC6200E8 */ sw $v0, 0xe8($v1) /* 1674EC 80246C8C AC6200E8 */ sw $v0, 0xe8($v1)
@ -106,8 +106,8 @@ glabel filemenu_main_update
/* 1674F4 80246C94 03E00008 */ jr $ra /* 1674F4 80246C94 03E00008 */ jr $ra
/* 1674F8 80246C98 AC6200F8 */ sw $v0, 0xf8($v1) /* 1674F8 80246C98 AC6200F8 */ sw $v0, 0xf8($v1)
.L80246C9C: .L80246C9C:
/* 1674FC 80246C9C 3C038015 */ lui $v1, %hi(D_8014F150) /* 1674FC 80246C9C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 167500 80246CA0 2463F150 */ addiu $v1, $v1, %lo(D_8014F150) /* 167500 80246CA0 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 167504 80246CA4 3C028025 */ lui $v0, %hi(D_8024BDE0) /* 167504 80246CA4 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 167508 80246CA8 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0) /* 167508 80246CA8 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 16750C 80246CAC AC6200EC */ sw $v0, 0xec($v1) /* 16750C 80246CAC AC6200EC */ sw $v0, 0xec($v1)

View File

@ -2634,8 +2634,8 @@ glabel draw_box
/* 90EA0 800F79F0 AC620034 */ sw $v0, 0x34($v1) /* 90EA0 800F79F0 AC620034 */ sw $v0, 0x34($v1)
/* 90EA4 800F79F4 24620040 */ addiu $v0, $v1, 0x40 /* 90EA4 800F79F4 24620040 */ addiu $v0, $v1, 0x40
/* 90EA8 800F79F8 AD820000 */ sw $v0, ($t4) /* 90EA8 800F79F8 AD820000 */ sw $v0, ($t4)
/* 90EAC 800F79FC 3C028011 */ lui $v0, %hi(D_8010BBC8) /* 90EAC 800F79FC 3C028011 */ lui $v0, %hi(vtx_drawbox1)
/* 90EB0 800F7A00 2442BBC8 */ addiu $v0, $v0, %lo(D_8010BBC8) /* 90EB0 800F7A00 2442BBC8 */ addiu $v0, $v0, %lo(vtx_drawbox1)
/* 90EB4 800F7A04 AC690038 */ sw $t1, 0x38($v1) /* 90EB4 800F7A04 AC690038 */ sw $t1, 0x38($v1)
/* 90EB8 800F7A08 AC62003C */ sw $v0, 0x3c($v1) /* 90EB8 800F7A08 AC62003C */ sw $v0, 0x3c($v1)
/* 90EBC 800F7A0C 24620048 */ addiu $v0, $v1, 0x48 /* 90EBC 800F7A0C 24620048 */ addiu $v0, $v1, 0x48

View File

@ -1,67 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80151248
.double 0.01
.section .text
glabel basic_hidden_window_update
/* DDC74 80147574 3C028016 */ lui $v0, %hi(gWindows)
/* DDC78 80147578 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* DDC7C 8014757C 00042140 */ sll $a0, $a0, 5
/* DDC80 80147580 00822021 */ addu $a0, $a0, $v0
/* DDC84 80147584 9086001C */ lbu $a2, 0x1c($a0)
/* DDC88 80147588 8FA70014 */ lw $a3, 0x14($sp)
/* DDC8C 8014758C 8FA80018 */ lw $t0, 0x18($sp)
/* DDC90 80147590 8FA90024 */ lw $t1, 0x24($sp)
/* DDC94 80147594 28C2000A */ slti $v0, $a2, 0xa
/* DDC98 80147598 10400022 */ beqz $v0, .L80147624
/* DDC9C 8014759C 00000000 */ nop
/* DDCA0 801475A0 3C038015 */ lui $v1, %hi(D_8014F2A8)
/* DDCA4 801475A4 2463F2A8 */ addiu $v1, $v1, %lo(D_8014F2A8)
/* DDCA8 801475A8 3C028015 */ lui $v0, %hi(D_8014F2B4)
/* DDCAC 801475AC 00461021 */ addu $v0, $v0, $a2
/* DDCB0 801475B0 9042F2B4 */ lbu $v0, %lo(D_8014F2B4)($v0)
/* DDCB4 801475B4 00C31821 */ addu $v1, $a2, $v1
/* DDCB8 801475B8 ACA20000 */ sw $v0, ($a1)
/* DDCBC 801475BC 90620000 */ lbu $v0, ($v1)
/* DDCC0 801475C0 3C018015 */ lui $at, %hi(D_80151248)
/* DDCC4 801475C4 D4221248 */ ldc1 $f2, %lo(D_80151248)($at)
/* DDCC8 801475C8 44820000 */ mtc1 $v0, $f0
/* DDCCC 801475CC 00000000 */ nop
/* DDCD0 801475D0 46800020 */ cvt.s.w $f0, $f0
/* DDCD4 801475D4 46000021 */ cvt.d.s $f0, $f0
/* DDCD8 801475D8 46220002 */ mul.d $f0, $f0, $f2
/* DDCDC 801475DC 00000000 */ nop
/* DDCE0 801475E0 46200020 */ cvt.s.d $f0, $f0
/* DDCE4 801475E4 E4E00000 */ swc1 $f0, ($a3)
/* DDCE8 801475E8 90620000 */ lbu $v0, ($v1)
/* DDCEC 801475EC 44820000 */ mtc1 $v0, $f0
/* DDCF0 801475F0 00000000 */ nop
/* DDCF4 801475F4 46800020 */ cvt.s.w $f0, $f0
/* DDCF8 801475F8 46000021 */ cvt.d.s $f0, $f0
/* DDCFC 801475FC 46220002 */ mul.d $f0, $f0, $f2
/* DDD00 80147600 00000000 */ nop
/* DDD04 80147604 00061023 */ negu $v0, $a2
/* DDD08 80147608 46200020 */ cvt.s.d $f0, $f0
/* DDD0C 8014760C E5000000 */ swc1 $f0, ($t0)
/* DDD10 80147610 44820000 */ mtc1 $v0, $f0
/* DDD14 80147614 00000000 */ nop
/* DDD18 80147618 46800020 */ cvt.s.w $f0, $f0
/* DDD1C 8014761C 03E00008 */ jr $ra
/* DDD20 80147620 E5200000 */ swc1 $f0, ($t1)
.L80147624:
/* DDD24 80147624 3C028015 */ lui $v0, %hi(D_8014F2BD)
/* DDD28 80147628 9042F2BD */ lbu $v0, %lo(D_8014F2BD)($v0)
/* DDD2C 8014762C ACA20000 */ sw $v0, ($a1)
/* DDD30 80147630 ACE00000 */ sw $zero, ($a3)
/* DDD34 80147634 AD000000 */ sw $zero, ($t0)
/* DDD38 80147638 AD200000 */ sw $zero, ($t1)
/* DDD3C 8014763C 90820000 */ lbu $v0, ($a0)
/* DDD40 80147640 304200F7 */ andi $v0, $v0, 0xf7
/* DDD44 80147644 34420004 */ ori $v0, $v0, 4
/* DDD48 80147648 03E00008 */ jr $ra
/* DDD4C 8014764C A0820000 */ sb $v0, ($a0)

View File

@ -1,77 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80151240
.double 0.01
.section .text
glabel basic_window_update
/* DDB74 80147474 3C028016 */ lui $v0, %hi(gWindows)
/* DDB78 80147478 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* DDB7C 8014747C 00042140 */ sll $a0, $a0, 5
/* DDB80 80147480 00822021 */ addu $a0, $a0, $v0
/* DDB84 80147484 8FA70014 */ lw $a3, 0x14($sp)
/* DDB88 80147488 8FA80018 */ lw $t0, 0x18($sp)
/* DDB8C 8014748C 9086001C */ lbu $a2, 0x1c($a0)
/* DDB90 80147490 8FA90024 */ lw $t1, 0x24($sp)
/* DDB94 80147494 14C00005 */ bnez $a2, .L801474AC
/* DDB98 80147498 28C20005 */ slti $v0, $a2, 5
/* DDB9C 8014749C 90820000 */ lbu $v0, ($a0)
/* DDBA0 801474A0 304200FB */ andi $v0, $v0, 0xfb
/* DDBA4 801474A4 A0820000 */ sb $v0, ($a0)
/* DDBA8 801474A8 28C20005 */ slti $v0, $a2, 5
.L801474AC:
/* DDBAC 801474AC 10400025 */ beqz $v0, .L80147544
/* DDBB0 801474B0 00000000 */ nop
/* DDBB4 801474B4 3C038015 */ lui $v1, %hi(D_8014F298)
/* DDBB8 801474B8 2463F298 */ addiu $v1, $v1, %lo(D_8014F298)
/* DDBBC 801474BC 3C028015 */ lui $v0, %hi(D_8014F2A0)
/* DDBC0 801474C0 00461021 */ addu $v0, $v0, $a2
/* DDBC4 801474C4 9042F2A0 */ lbu $v0, %lo(D_8014F2A0)($v0)
/* DDBC8 801474C8 00C31821 */ addu $v1, $a2, $v1
/* DDBCC 801474CC ACA20000 */ sw $v0, ($a1)
/* DDBD0 801474D0 90620000 */ lbu $v0, ($v1)
/* DDBD4 801474D4 3C018015 */ lui $at, %hi(D_80151240)
/* DDBD8 801474D8 D4221240 */ ldc1 $f2, %lo(D_80151240)($at)
/* DDBDC 801474DC 44820000 */ mtc1 $v0, $f0
/* DDBE0 801474E0 00000000 */ nop
/* DDBE4 801474E4 46800020 */ cvt.s.w $f0, $f0
/* DDBE8 801474E8 46000021 */ cvt.d.s $f0, $f0
/* DDBEC 801474EC 46220002 */ mul.d $f0, $f0, $f2
/* DDBF0 801474F0 00000000 */ nop
/* DDBF4 801474F4 46200020 */ cvt.s.d $f0, $f0
/* DDBF8 801474F8 E4E00000 */ swc1 $f0, ($a3)
/* DDBFC 801474FC 90620000 */ lbu $v0, ($v1)
/* DDC00 80147500 44820000 */ mtc1 $v0, $f0
/* DDC04 80147504 00000000 */ nop
/* DDC08 80147508 46800020 */ cvt.s.w $f0, $f0
/* DDC0C 8014750C 46000021 */ cvt.d.s $f0, $f0
/* DDC10 80147510 46220002 */ mul.d $f0, $f0, $f2
/* DDC14 80147514 00000000 */ nop
/* DDC18 80147518 24030004 */ addiu $v1, $zero, 4
/* DDC1C 8014751C 00661823 */ subu $v1, $v1, $a2
/* DDC20 80147520 00031040 */ sll $v0, $v1, 1
/* DDC24 80147524 00431021 */ addu $v0, $v0, $v1
/* DDC28 80147528 46200020 */ cvt.s.d $f0, $f0
/* DDC2C 8014752C E5000000 */ swc1 $f0, ($t0)
/* DDC30 80147530 44820000 */ mtc1 $v0, $f0
/* DDC34 80147534 00000000 */ nop
/* DDC38 80147538 46800020 */ cvt.s.w $f0, $f0
/* DDC3C 8014753C 03E00008 */ jr $ra
/* DDC40 80147540 E5200000 */ swc1 $f0, ($t1)
.L80147544:
/* DDC44 80147544 3C028015 */ lui $v0, %hi(D_8014F2A4)
/* DDC48 80147548 9042F2A4 */ lbu $v0, %lo(D_8014F2A4)($v0)
/* DDC4C 8014754C 3C013F80 */ lui $at, 0x3f80
/* DDC50 80147550 44810000 */ mtc1 $at, $f0
/* DDC54 80147554 ACA20000 */ sw $v0, ($a1)
/* DDC58 80147558 E4E00000 */ swc1 $f0, ($a3)
/* DDC5C 8014755C E5000000 */ swc1 $f0, ($t0)
/* DDC60 80147560 AD200000 */ sw $zero, ($t1)
/* DDC64 80147564 90820000 */ lbu $v0, ($a0)
/* DDC68 80147568 304200F7 */ andi $v0, $v0, 0xf7
/* DDC6C 8014756C 03E00008 */ jr $ra
/* DDC70 80147570 A0820000 */ sb $v0, ($a0)

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel main_menu_window_update
/* DDD50 80147650 3C028016 */ lui $v0, %hi(gWindows)
/* DDD54 80147654 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* DDD58 80147658 00042140 */ sll $a0, $a0, 5
/* DDD5C 8014765C 00822021 */ addu $a0, $a0, $v0
/* DDD60 80147660 9083001C */ lbu $v1, 0x1c($a0)
/* DDD64 80147664 8FA50028 */ lw $a1, 0x28($sp)
/* DDD68 80147668 2862000A */ slti $v0, $v1, 0xa
/* DDD6C 8014766C 10400005 */ beqz $v0, .L80147684
/* DDD70 80147670 240200A0 */ addiu $v0, $zero, 0xa0
/* DDD74 80147674 24620001 */ addiu $v0, $v1, 1
/* DDD78 80147678 00021100 */ sll $v0, $v0, 4
/* DDD7C 8014767C 03E00008 */ jr $ra
/* DDD80 80147680 ACA20000 */ sw $v0, ($a1)
.L80147684:
/* DDD84 80147684 ACA20000 */ sw $v0, ($a1)
/* DDD88 80147688 90820000 */ lbu $v0, ($a0)
/* DDD8C 8014768C 304200F3 */ andi $v0, $v0, 0xf3
/* DDD90 80147690 03E00008 */ jr $ra
/* DDD94 80147694 A0820000 */ sb $v0, ($a0)

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel render_window_root
/* DE1C4 80147AC4 27BDFED0 */ addiu $sp, $sp, -0x130
/* DE1C8 80147AC8 27A20020 */ addiu $v0, $sp, 0x20
/* DE1CC 80147ACC 2404FFFF */ addiu $a0, $zero, -1
/* DE1D0 80147AD0 2403003F */ addiu $v1, $zero, 0x3f
/* DE1D4 80147AD4 AFBF012C */ sw $ra, 0x12c($sp)
/* DE1D8 80147AD8 AFB20128 */ sw $s2, 0x128($sp)
/* DE1DC 80147ADC AFB10124 */ sw $s1, 0x124($sp)
/* DE1E0 80147AE0 AFB00120 */ sw $s0, 0x120($sp)
.L80147AE4:
/* DE1E4 80147AE4 AC440000 */ sw $a0, ($v0)
/* DE1E8 80147AE8 2463FFFF */ addiu $v1, $v1, -1
/* DE1EC 80147AEC 0461FFFD */ bgez $v1, .L80147AE4
/* DE1F0 80147AF0 24420004 */ addiu $v0, $v0, 4
/* DE1F4 80147AF4 0000182D */ daddu $v1, $zero, $zero
/* DE1F8 80147AF8 3C048016 */ lui $a0, %hi(gWindows)
/* DE1FC 80147AFC 24849D50 */ addiu $a0, $a0, %lo(gWindows)
/* DE200 80147B00 27A50020 */ addiu $a1, $sp, 0x20
.L80147B04:
/* DE204 80147B04 90820000 */ lbu $v0, ($a0)
/* DE208 80147B08 50400006 */ beql $v0, $zero, .L80147B24
/* DE20C 80147B0C 24630001 */ addiu $v1, $v1, 1
/* DE210 80147B10 90820001 */ lbu $v0, 1($a0)
/* DE214 80147B14 00021080 */ sll $v0, $v0, 2
/* DE218 80147B18 00A21021 */ addu $v0, $a1, $v0
/* DE21C 80147B1C AC430000 */ sw $v1, ($v0)
/* DE220 80147B20 24630001 */ addiu $v1, $v1, 1
.L80147B24:
/* DE224 80147B24 28620040 */ slti $v0, $v1, 0x40
/* DE228 80147B28 1440FFF6 */ bnez $v0, .L80147B04
/* DE22C 80147B2C 24840020 */ addiu $a0, $a0, 0x20
/* DE230 80147B30 3C06D9FF */ lui $a2, 0xd9ff
/* DE234 80147B34 34C6FFFF */ ori $a2, $a2, 0xffff
/* DE238 80147B38 3C050020 */ lui $a1, 0x20
/* DE23C 80147B3C 34A50605 */ ori $a1, $a1, 0x605
/* DE240 80147B40 3C07E300 */ lui $a3, 0xe300
/* DE244 80147B44 34E70800 */ ori $a3, $a3, 0x800
/* DE248 80147B48 3C09FCFF */ lui $t1, 0xfcff
/* DE24C 80147B4C 3529FFFF */ ori $t1, $t1, 0xffff
/* DE250 80147B50 3C08FFFE */ lui $t0, 0xfffe
/* DE254 80147B54 3508793C */ ori $t0, $t0, 0x793c
/* DE258 80147B58 3C0AE200 */ lui $t2, 0xe200
/* DE25C 80147B5C 354A1E01 */ ori $t2, $t2, 0x1e01
/* DE260 80147B60 3C0BE300 */ lui $t3, 0xe300
/* DE264 80147B64 356B0C0F */ ori $t3, $t3, 0xc0f
/* DE268 80147B68 3C0CDB04 */ lui $t4, 0xdb04
/* DE26C 80147B6C 358C0004 */ ori $t4, $t4, 4
/* DE270 80147B70 3C0DDB04 */ lui $t5, 0xdb04
/* DE274 80147B74 35AD000C */ ori $t5, $t5, 0xc
/* DE278 80147B78 3C0EDB04 */ lui $t6, 0xdb04
/* DE27C 80147B7C 35CE0014 */ ori $t6, $t6, 0x14
/* DE280 80147B80 3C0FDB04 */ lui $t7, 0xdb04
/* DE284 80147B84 35EF001C */ ori $t7, $t7, 0x1c
/* DE288 80147B88 3C12FF10 */ lui $s2, 0xff10
/* DE28C 80147B8C 3652013F */ ori $s2, $s2, 0x13f
/* DE290 80147B90 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* DE294 80147B94 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* DE298 80147B98 3C02D900 */ lui $v0, 0xd900
/* DE29C 80147B9C 8E300000 */ lw $s0, ($s1)
/* DE2A0 80147BA0 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* DE2A4 80147BA4 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* DE2A8 80147BA8 0200182D */ daddu $v1, $s0, $zero
/* DE2AC 80147BAC 26100008 */ addiu $s0, $s0, 8
/* DE2B0 80147BB0 AE300000 */ sw $s0, ($s1)
/* DE2B4 80147BB4 AC620000 */ sw $v0, ($v1)
/* DE2B8 80147BB8 26020008 */ addiu $v0, $s0, 8
/* DE2BC 80147BBC AC600004 */ sw $zero, 4($v1)
/* DE2C0 80147BC0 AE220000 */ sw $v0, ($s1)
/* DE2C4 80147BC4 26020010 */ addiu $v0, $s0, 0x10
/* DE2C8 80147BC8 AE060000 */ sw $a2, ($s0)
/* DE2CC 80147BCC AE050004 */ sw $a1, 4($s0)
/* DE2D0 80147BD0 AE220000 */ sw $v0, ($s1)
/* DE2D4 80147BD4 26020018 */ addiu $v0, $s0, 0x18
/* DE2D8 80147BD8 AE070008 */ sw $a3, 8($s0)
/* DE2DC 80147BDC AE00000C */ sw $zero, 0xc($s0)
/* DE2E0 80147BE0 AE220000 */ sw $v0, ($s1)
/* DE2E4 80147BE4 26020020 */ addiu $v0, $s0, 0x20
/* DE2E8 80147BE8 AE090010 */ sw $t1, 0x10($s0)
/* DE2EC 80147BEC AE080014 */ sw $t0, 0x14($s0)
/* DE2F0 80147BF0 AE220000 */ sw $v0, ($s1)
/* DE2F4 80147BF4 26020028 */ addiu $v0, $s0, 0x28
/* DE2F8 80147BF8 AE0A0018 */ sw $t2, 0x18($s0)
/* DE2FC 80147BFC AE00001C */ sw $zero, 0x1c($s0)
/* DE300 80147C00 AE220000 */ sw $v0, ($s1)
/* DE304 80147C04 24022CF0 */ addiu $v0, $zero, 0x2cf0
/* DE308 80147C08 AE020024 */ sw $v0, 0x24($s0)
/* DE30C 80147C0C 26020030 */ addiu $v0, $s0, 0x30
/* DE310 80147C10 24030002 */ addiu $v1, $zero, 2
/* DE314 80147C14 AE0B0020 */ sw $t3, 0x20($s0)
/* DE318 80147C18 AE220000 */ sw $v0, ($s1)
/* DE31C 80147C1C 26020038 */ addiu $v0, $s0, 0x38
/* DE320 80147C20 AE0C0028 */ sw $t4, 0x28($s0)
/* DE324 80147C24 AE03002C */ sw $v1, 0x2c($s0)
/* DE328 80147C28 AE220000 */ sw $v0, ($s1)
/* DE32C 80147C2C 26020040 */ addiu $v0, $s0, 0x40
/* DE330 80147C30 AE030034 */ sw $v1, 0x34($s0)
/* DE334 80147C34 3403FFFE */ ori $v1, $zero, 0xfffe
/* DE338 80147C38 AE0D0030 */ sw $t5, 0x30($s0)
/* DE33C 80147C3C AE220000 */ sw $v0, ($s1)
/* DE340 80147C40 26020048 */ addiu $v0, $s0, 0x48
/* DE344 80147C44 AE0E0038 */ sw $t6, 0x38($s0)
/* DE348 80147C48 AE03003C */ sw $v1, 0x3c($s0)
/* DE34C 80147C4C AE220000 */ sw $v0, ($s1)
/* DE350 80147C50 26020050 */ addiu $v0, $s0, 0x50
/* DE354 80147C54 AE0F0040 */ sw $t7, 0x40($s0)
/* DE358 80147C58 AE030044 */ sw $v1, 0x44($s0)
/* DE35C 80147C5C AE220000 */ sw $v0, ($s1)
/* DE360 80147C60 0C0187A4 */ jal osVirtualToPhysical
/* DE364 80147C64 AE120048 */ sw $s2, 0x48($s0)
/* DE368 80147C68 8E230000 */ lw $v1, ($s1)
/* DE36C 80147C6C 27A40020 */ addiu $a0, $sp, 0x20
/* DE370 80147C70 AE02004C */ sw $v0, 0x4c($s0)
/* DE374 80147C74 3C02E700 */ lui $v0, 0xe700
/* DE378 80147C78 0000302D */ daddu $a2, $zero, $zero
/* DE37C 80147C7C 00C0382D */ daddu $a3, $a2, $zero
/* DE380 80147C80 0060282D */ daddu $a1, $v1, $zero
/* DE384 80147C84 24630008 */ addiu $v1, $v1, 8
/* DE388 80147C88 AE230000 */ sw $v1, ($s1)
/* DE38C 80147C8C ACA20000 */ sw $v0, ($a1)
/* DE390 80147C90 240200FF */ addiu $v0, $zero, 0xff
/* DE394 80147C94 ACA00004 */ sw $zero, 4($a1)
/* DE398 80147C98 2405FFFF */ addiu $a1, $zero, -1
/* DE39C 80147C9C AFA00010 */ sw $zero, 0x10($sp)
/* DE3A0 80147CA0 AFA20014 */ sw $v0, 0x14($sp)
/* DE3A4 80147CA4 AFA00018 */ sw $zero, 0x18($sp)
/* DE3A8 80147CA8 0C051DA6 */ jal render_windows
/* DE3AC 80147CAC AFA0001C */ sw $zero, 0x1c($sp)
/* DE3B0 80147CB0 8FBF012C */ lw $ra, 0x12c($sp)
/* DE3B4 80147CB4 8FB20128 */ lw $s2, 0x128($sp)
/* DE3B8 80147CB8 8FB10124 */ lw $s1, 0x124($sp)
/* DE3BC 80147CBC 8FB00120 */ lw $s0, 0x120($sp)
/* DE3C0 80147CC0 03E00008 */ jr $ra
/* DE3C4 80147CC4 27BD0130 */ addiu $sp, $sp, 0x130

View File

@ -1,284 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel render_windows
/* DDD98 80147698 27BDFF10 */ addiu $sp, $sp, -0xf0
/* DDD9C 8014769C AFB700DC */ sw $s7, 0xdc($sp)
/* DDDA0 801476A0 00A0B82D */ daddu $s7, $a1, $zero
/* DDDA4 801476A4 AFB600D8 */ sw $s6, 0xd8($sp)
/* DDDA8 801476A8 0000B02D */ daddu $s6, $zero, $zero
/* DDDAC 801476AC AFB300CC */ sw $s3, 0xcc($sp)
/* DDDB0 801476B0 AFA400F0 */ sw $a0, 0xf0($sp)
/* DDDB4 801476B4 0080982D */ daddu $s3, $a0, $zero
/* DDDB8 801476B8 00171140 */ sll $v0, $s7, 5
/* DDDBC 801476BC F7B400E8 */ sdc1 $f20, 0xe8($sp)
/* DDDC0 801476C0 4480A000 */ mtc1 $zero, $f20
/* DDDC4 801476C4 3C0B8016 */ lui $t3, %hi(gWindows)
/* DDDC8 801476C8 256B9D50 */ addiu $t3, $t3, %lo(gWindows)
/* DDDCC 801476CC AFBE00E0 */ sw $fp, 0xe0($sp)
/* DDDD0 801476D0 004BF021 */ addu $fp, $v0, $t3
/* DDDD4 801476D4 AFBF00E4 */ sw $ra, 0xe4($sp)
/* DDDD8 801476D8 AFB500D4 */ sw $s5, 0xd4($sp)
/* DDDDC 801476DC AFB400D0 */ sw $s4, 0xd0($sp)
/* DDDE0 801476E0 AFB200C8 */ sw $s2, 0xc8($sp)
/* DDDE4 801476E4 AFB100C4 */ sw $s1, 0xc4($sp)
/* DDDE8 801476E8 AFB000C0 */ sw $s0, 0xc0($sp)
/* DDDEC 801476EC AFA600F8 */ sw $a2, 0xf8($sp)
/* DDDF0 801476F0 AFA700FC */ sw $a3, 0xfc($sp)
.L801476F4:
/* DDDF4 801476F4 8E720000 */ lw $s2, ($s3)
/* DDDF8 801476F8 064200E2 */ bltzl $s2, .L80147A84
/* DDDFC 801476FC 26D60001 */ addiu $s6, $s6, 1
/* DDE00 80147700 00121140 */ sll $v0, $s2, 5
/* DDE04 80147704 3C0B8016 */ lui $t3, %hi(gWindows)
/* DDE08 80147708 256B9D50 */ addiu $t3, $t3, %lo(gWindows)
/* DDE0C 8014770C 004B8821 */ addu $s1, $v0, $t3
/* DDE10 80147710 92220000 */ lbu $v0, ($s1)
/* DDE14 80147714 504000DB */ beql $v0, $zero, .L80147A84
/* DDE18 80147718 26D60001 */ addiu $s6, $s6, 1
/* DDE1C 8014771C 30420020 */ andi $v0, $v0, 0x20
/* DDE20 80147720 544000D8 */ bnel $v0, $zero, .L80147A84
/* DDE24 80147724 26D60001 */ addiu $s6, $s6, 1
/* DDE28 80147728 8E250004 */ lw $a1, 4($s1)
/* DDE2C 8014772C 50A000D5 */ beql $a1, $zero, .L80147A84
/* DDE30 80147730 26D60001 */ addiu $s6, $s6, 1
/* DDE34 80147734 82220003 */ lb $v0, 3($s1)
/* DDE38 80147738 545700D2 */ bnel $v0, $s7, .L80147A84
/* DDE3C 8014773C 26D60001 */ addiu $s6, $s6, 1
/* DDE40 80147740 9226001C */ lbu $a2, 0x1c($s1)
/* DDE44 80147744 AFA0009C */ sw $zero, 0x9c($sp)
/* DDE48 80147748 AFA00090 */ sw $zero, 0x90($sp)
/* DDE4C 8014774C E7B400B0 */ swc1 $f20, 0xb0($sp)
/* DDE50 80147750 E7B400AC */ swc1 $f20, 0xac($sp)
/* DDE54 80147754 E7B400A8 */ swc1 $f20, 0xa8($sp)
/* DDE58 80147758 AFA000B4 */ sw $zero, 0xb4($sp)
/* DDE5C 8014775C 8623000C */ lh $v1, 0xc($s1)
/* DDE60 80147760 8624000E */ lh $a0, 0xe($s1)
/* DDE64 80147764 240200FF */ addiu $v0, $zero, 0xff
/* DDE68 80147768 AFA200B8 */ sw $v0, 0xb8($sp)
/* DDE6C 8014776C 24A2FFFF */ addiu $v0, $a1, -1
/* DDE70 80147770 3C013F80 */ lui $at, 0x3f80
/* DDE74 80147774 44810000 */ mtc1 $at, $f0
/* DDE78 80147778 2C42000D */ sltiu $v0, $v0, 0xd
/* DDE7C 8014777C AFA30094 */ sw $v1, 0x94($sp)
/* DDE80 80147780 AFA40098 */ sw $a0, 0x98($sp)
/* DDE84 80147784 E7A000A0 */ swc1 $f0, 0xa0($sp)
/* DDE88 80147788 E7A000A4 */ swc1 $f0, 0xa4($sp)
/* DDE8C 8014778C 86340010 */ lh $s4, 0x10($s1)
/* DDE90 80147790 86350012 */ lh $s5, 0x12($s1)
/* DDE94 80147794 10400022 */ beqz $v0, .L80147820
/* DDE98 80147798 00051080 */ sll $v0, $a1, 2
/* DDE9C 8014779C 3C038015 */ lui $v1, %hi(D_8014F250)
/* DDEA0 801477A0 2463F250 */ addiu $v1, $v1, %lo(D_8014F250)
/* DDEA4 801477A4 00451021 */ addu $v0, $v0, $a1
/* DDEA8 801477A8 00438021 */ addu $s0, $v0, $v1
/* DDEAC 801477AC 92230000 */ lbu $v1, ($s1)
/* DDEB0 801477B0 92020001 */ lbu $v0, 1($s0)
/* DDEB4 801477B4 00621825 */ or $v1, $v1, $v0
/* DDEB8 801477B8 A2230000 */ sb $v1, ($s1)
/* DDEBC 801477BC 92020002 */ lbu $v0, 2($s0)
/* DDEC0 801477C0 00021027 */ nor $v0, $zero, $v0
/* DDEC4 801477C4 00621824 */ and $v1, $v1, $v0
/* DDEC8 801477C8 14C00008 */ bnez $a2, .L801477EC
/* DDECC 801477CC A2230000 */ sb $v1, ($s1)
/* DDED0 801477D0 92020000 */ lbu $v0, ($s0)
/* DDED4 801477D4 30420001 */ andi $v0, $v0, 1
/* DDED8 801477D8 10400004 */ beqz $v0, .L801477EC
/* DDEDC 801477DC 00000000 */ nop
/* DDEE0 801477E0 92250002 */ lbu $a1, 2($s1)
/* DDEE4 801477E4 0C051F5C */ jal update_window_hierarchy
/* DDEE8 801477E8 0240202D */ daddu $a0, $s2, $zero
.L801477EC:
/* DDEEC 801477EC 92020000 */ lbu $v0, ($s0)
/* DDEF0 801477F0 30420004 */ andi $v0, $v0, 4
/* DDEF4 801477F4 10400003 */ beqz $v0, .L80147804
/* DDEF8 801477F8 00000000 */ nop
/* DDEFC 801477FC 92020003 */ lbu $v0, 3($s0)
/* DDF00 80147800 AFA200B4 */ sw $v0, 0xb4($sp)
.L80147804:
/* DDF04 80147804 92020000 */ lbu $v0, ($s0)
/* DDF08 80147808 30420002 */ andi $v0, $v0, 2
/* DDF0C 8014780C 1040001A */ beqz $v0, .L80147878
/* DDF10 80147810 00000000 */ nop
/* DDF14 80147814 92020004 */ lbu $v0, 4($s0)
/* DDF18 80147818 08051E1E */ j .L80147878
/* DDF1C 8014781C AFA200B8 */ sw $v0, 0xb8($sp)
.L80147820:
/* DDF20 80147820 0240202D */ daddu $a0, $s2, $zero
/* DDF24 80147824 27A50090 */ addiu $a1, $sp, 0x90
/* DDF28 80147828 27A60094 */ addiu $a2, $sp, 0x94
/* DDF2C 8014782C 27A70098 */ addiu $a3, $sp, 0x98
/* DDF30 80147830 8E220004 */ lw $v0, 4($s1)
/* DDF34 80147834 27A3009C */ addiu $v1, $sp, 0x9c
/* DDF38 80147838 AFA30010 */ sw $v1, 0x10($sp)
/* DDF3C 8014783C 27A300A0 */ addiu $v1, $sp, 0xa0
/* DDF40 80147840 AFA30014 */ sw $v1, 0x14($sp)
/* DDF44 80147844 27A300A4 */ addiu $v1, $sp, 0xa4
/* DDF48 80147848 AFA30018 */ sw $v1, 0x18($sp)
/* DDF4C 8014784C 27A300A8 */ addiu $v1, $sp, 0xa8
/* DDF50 80147850 AFA3001C */ sw $v1, 0x1c($sp)
/* DDF54 80147854 27A300AC */ addiu $v1, $sp, 0xac
/* DDF58 80147858 AFA30020 */ sw $v1, 0x20($sp)
/* DDF5C 8014785C 27A300B0 */ addiu $v1, $sp, 0xb0
/* DDF60 80147860 AFA30024 */ sw $v1, 0x24($sp)
/* DDF64 80147864 27A300B4 */ addiu $v1, $sp, 0xb4
/* DDF68 80147868 AFA30028 */ sw $v1, 0x28($sp)
/* DDF6C 8014786C 27A300B8 */ addiu $v1, $sp, 0xb8
/* DDF70 80147870 0040F809 */ jalr $v0
/* DDF74 80147874 AFA3002C */ sw $v1, 0x2c($sp)
.L80147878:
/* DDF78 80147878 8E220004 */ lw $v0, 4($s1)
/* DDF7C 8014787C 10400006 */ beqz $v0, .L80147898
/* DDF80 80147880 00000000 */ nop
/* DDF84 80147884 9223001C */ lbu $v1, 0x1c($s1)
/* DDF88 80147888 2C6200FF */ sltiu $v0, $v1, 0xff
/* DDF8C 8014788C 10400002 */ beqz $v0, .L80147898
/* DDF90 80147890 24620001 */ addiu $v0, $v1, 1
/* DDF94 80147894 A222001C */ sb $v0, 0x1c($s1)
.L80147898:
/* DDF98 80147898 C7A000A0 */ lwc1 $f0, 0xa0($sp)
/* DDF9C 8014789C 46140032 */ c.eq.s $f0, $f20
/* DDFA0 801478A0 00000000 */ nop
/* DDFA4 801478A4 45030077 */ bc1tl .L80147A84
/* DDFA8 801478A8 26D60001 */ addiu $s6, $s6, 1
/* DDFAC 801478AC C7A000A4 */ lwc1 $f0, 0xa4($sp)
/* DDFB0 801478B0 46140032 */ c.eq.s $f0, $f20
/* DDFB4 801478B4 00000000 */ nop
/* DDFB8 801478B8 45030072 */ bc1tl .L80147A84
/* DDFBC 801478BC 26D60001 */ addiu $s6, $s6, 1
/* DDFC0 801478C0 92220000 */ lbu $v0, ($s1)
/* DDFC4 801478C4 30420004 */ andi $v0, $v0, 4
/* DDFC8 801478C8 5440006E */ bnel $v0, $zero, .L80147A84
/* DDFCC 801478CC 26D60001 */ addiu $s6, $s6, 1
/* DDFD0 801478D0 8FA300B8 */ lw $v1, 0xb8($sp)
/* DDFD4 801478D4 8FAB0104 */ lw $t3, 0x104($sp)
/* DDFD8 801478D8 006B0018 */ mult $v1, $t3
/* DDFDC 801478DC 3C028080 */ lui $v0, 0x8080
/* DDFE0 801478E0 34428081 */ ori $v0, $v0, 0x8081
/* DDFE4 801478E4 00001812 */ mflo $v1
/* DDFE8 801478E8 8FA400B4 */ lw $a0, 0xb4($sp)
/* DDFEC 801478EC 8FAB0108 */ lw $t3, 0x108($sp)
/* DDFF0 801478F0 00620018 */ mult $v1, $v0
/* DDFF4 801478F4 008B2021 */ addu $a0, $a0, $t3
/* DDFF8 801478F8 AFA400B4 */ sw $a0, 0xb4($sp)
/* DDFFC 801478FC 28840100 */ slti $a0, $a0, 0x100
/* DE000 80147900 00004010 */ mfhi $t0
/* DE004 80147904 01031021 */ addu $v0, $t0, $v1
/* DE008 80147908 000211C3 */ sra $v0, $v0, 7
/* DE00C 8014790C 00031FC3 */ sra $v1, $v1, 0x1f
/* DE010 80147910 00431023 */ subu $v0, $v0, $v1
/* DE014 80147914 AFA200B8 */ sw $v0, 0xb8($sp)
/* DE018 80147918 00121080 */ sll $v0, $s2, 2
/* DE01C 8014791C 8E290014 */ lw $t1, 0x14($s1)
/* DE020 80147920 8E2A0018 */ lw $t2, 0x18($s1)
/* DE024 80147924 3C058015 */ lui $a1, %hi(D_8014F150)
/* DE028 80147928 00A22821 */ addu $a1, $a1, $v0
/* DE02C 8014792C 8CA5F150 */ lw $a1, %lo(D_8014F150)($a1)
/* DE030 80147930 14800003 */ bnez $a0, .L80147940
/* DE034 80147934 27B00050 */ addiu $s0, $sp, 0x50
/* DE038 80147938 240200FF */ addiu $v0, $zero, 0xff
/* DE03C 8014793C AFA200B4 */ sw $v0, 0xb4($sp)
.L80147940:
/* DE040 80147940 8FA20090 */ lw $v0, 0x90($sp)
/* DE044 80147944 8FAB00F8 */ lw $t3, 0xf8($sp)
/* DE048 80147948 004B1025 */ or $v0, $v0, $t3
/* DE04C 8014794C AFA20090 */ sw $v0, 0x90($sp)
/* DE050 80147950 31620001 */ andi $v0, $t3, 1
/* DE054 80147954 1440000A */ bnez $v0, .L80147980
/* DE058 80147958 2402FFFF */ addiu $v0, $zero, -1
/* DE05C 8014795C 8FA20094 */ lw $v0, 0x94($sp)
/* DE060 80147960 8FAB00FC */ lw $t3, 0xfc($sp)
/* DE064 80147964 8FA30098 */ lw $v1, 0x98($sp)
/* DE068 80147968 004B1021 */ addu $v0, $v0, $t3
/* DE06C 8014796C 8FAB0100 */ lw $t3, 0x100($sp)
/* DE070 80147970 AFA20094 */ sw $v0, 0x94($sp)
/* DE074 80147974 006B1821 */ addu $v1, $v1, $t3
/* DE078 80147978 AFA30098 */ sw $v1, 0x98($sp)
/* DE07C 8014797C 2402FFFF */ addiu $v0, $zero, -1
.L80147980:
/* DE080 80147980 12E20002 */ beq $s7, $v0, .L8014798C
/* DE084 80147984 24080140 */ addiu $t0, $zero, 0x140
/* DE088 80147988 87C80010 */ lh $t0, 0x10($fp)
.L8014798C:
/* DE08C 8014798C 2402FFFF */ addiu $v0, $zero, -1
/* DE090 80147990 12E20002 */ beq $s7, $v0, .L8014799C
/* DE094 80147994 240300F0 */ addiu $v1, $zero, 0xf0
/* DE098 80147998 87C30012 */ lh $v1, 0x12($fp)
.L8014799C:
/* DE09C 8014799C 92220000 */ lbu $v0, ($s1)
/* DE0A0 801479A0 8FA40090 */ lw $a0, 0x90($sp)
/* DE0A4 801479A4 30420040 */ andi $v0, $v0, 0x40
/* DE0A8 801479A8 54400001 */ bnel $v0, $zero, .L801479B0
/* DE0AC 801479AC 34840002 */ ori $a0, $a0, 2
.L801479B0:
/* DE0B0 801479B0 8FA60094 */ lw $a2, 0x94($sp)
/* DE0B4 801479B4 8FA70098 */ lw $a3, 0x98($sp)
/* DE0B8 801479B8 8FA2009C */ lw $v0, 0x9c($sp)
/* DE0BC 801479BC 8FAB010C */ lw $t3, 0x10c($sp)
/* DE0C0 801479C0 AFB40014 */ sw $s4, 0x14($sp)
/* DE0C4 801479C4 AFB50018 */ sw $s5, 0x18($sp)
/* DE0C8 801479C8 AFA20010 */ sw $v0, 0x10($sp)
/* DE0CC 801479CC 93A200BB */ lbu $v0, 0xbb($sp)
/* DE0D0 801479D0 AFA2001C */ sw $v0, 0x1c($sp)
/* DE0D4 801479D4 93A200B7 */ lbu $v0, 0xb7($sp)
/* DE0D8 801479D8 AFA20020 */ sw $v0, 0x20($sp)
/* DE0DC 801479DC C7A000A0 */ lwc1 $f0, 0xa0($sp)
/* DE0E0 801479E0 E7A00024 */ swc1 $f0, 0x24($sp)
/* DE0E4 801479E4 C7A000A4 */ lwc1 $f0, 0xa4($sp)
/* DE0E8 801479E8 E7A00028 */ swc1 $f0, 0x28($sp)
/* DE0EC 801479EC C7A000A8 */ lwc1 $f0, 0xa8($sp)
/* DE0F0 801479F0 E7A0002C */ swc1 $f0, 0x2c($sp)
/* DE0F4 801479F4 C7A000AC */ lwc1 $f0, 0xac($sp)
/* DE0F8 801479F8 E7A00030 */ swc1 $f0, 0x30($sp)
/* DE0FC 801479FC C7A000B0 */ lwc1 $f0, 0xb0($sp)
/* DE100 80147A00 AFA90038 */ sw $t1, 0x38($sp)
/* DE104 80147A04 AFAA003C */ sw $t2, 0x3c($sp)
/* DE108 80147A08 AFAB0040 */ sw $t3, 0x40($sp)
/* DE10C 80147A0C AFA80044 */ sw $t0, 0x44($sp)
/* DE110 80147A10 AFA30048 */ sw $v1, 0x48($sp)
/* DE114 80147A14 AFB0004C */ sw $s0, 0x4c($sp)
/* DE118 80147A18 0C03D4B8 */ jal draw_box
/* DE11C 80147A1C E7A00034 */ swc1 $f0, 0x34($sp)
/* DE120 80147A20 54400018 */ bnel $v0, $zero, .L80147A84
/* DE124 80147A24 26D60001 */ addiu $s6, $s6, 1
/* DE128 80147A28 8FA20090 */ lw $v0, 0x90($sp)
/* DE12C 80147A2C 14400004 */ bnez $v0, .L80147A40
/* DE130 80147A30 00000000 */ nop
/* DE134 80147A34 8FAB010C */ lw $t3, 0x10c($sp)
/* DE138 80147A38 51600001 */ beql $t3, $zero, .L80147A40
/* DE13C 80147A3C 0000802D */ daddu $s0, $zero, $zero
.L80147A40:
/* DE140 80147A40 92220000 */ lbu $v0, ($s1)
/* DE144 80147A44 30420010 */ andi $v0, $v0, 0x10
/* DE148 80147A48 5040000E */ beql $v0, $zero, .L80147A84
/* DE14C 80147A4C 26D60001 */ addiu $s6, $s6, 1
/* DE150 80147A50 8FA20098 */ lw $v0, 0x98($sp)
/* DE154 80147A54 8FA400F0 */ lw $a0, 0xf0($sp)
/* DE158 80147A58 8FA60090 */ lw $a2, 0x90($sp)
/* DE15C 80147A5C 8FA70094 */ lw $a3, 0x94($sp)
/* DE160 80147A60 AFA20010 */ sw $v0, 0x10($sp)
/* DE164 80147A64 8FA200B8 */ lw $v0, 0xb8($sp)
/* DE168 80147A68 AFA20014 */ sw $v0, 0x14($sp)
/* DE16C 80147A6C 8FA200B4 */ lw $v0, 0xb4($sp)
/* DE170 80147A70 0240282D */ daddu $a1, $s2, $zero
/* DE174 80147A74 AFB0001C */ sw $s0, 0x1c($sp)
/* DE178 80147A78 0C051DA6 */ jal render_windows
/* DE17C 80147A7C AFA20018 */ sw $v0, 0x18($sp)
/* DE180 80147A80 26D60001 */ addiu $s6, $s6, 1
.L80147A84:
/* DE184 80147A84 2AC20040 */ slti $v0, $s6, 0x40
/* DE188 80147A88 1440FF1A */ bnez $v0, .L801476F4
/* DE18C 80147A8C 26730004 */ addiu $s3, $s3, 4
/* DE190 80147A90 8FBF00E4 */ lw $ra, 0xe4($sp)
/* DE194 80147A94 8FBE00E0 */ lw $fp, 0xe0($sp)
/* DE198 80147A98 8FB700DC */ lw $s7, 0xdc($sp)
/* DE19C 80147A9C 8FB600D8 */ lw $s6, 0xd8($sp)
/* DE1A0 80147AA0 8FB500D4 */ lw $s5, 0xd4($sp)
/* DE1A4 80147AA4 8FB400D0 */ lw $s4, 0xd0($sp)
/* DE1A8 80147AA8 8FB300CC */ lw $s3, 0xcc($sp)
/* DE1AC 80147AAC 8FB200C8 */ lw $s2, 0xc8($sp)
/* DE1B0 80147AB0 8FB100C4 */ lw $s1, 0xc4($sp)
/* DE1B4 80147AB4 8FB000C0 */ lw $s0, 0xc0($sp)
/* DE1B8 80147AB8 D7B400E8 */ ldc1 $f20, 0xe8($sp)
/* DE1BC 80147ABC 03E00008 */ jr $ra
/* DE1C0 80147AC0 27BD00F0 */ addiu $sp, $sp, 0xf0

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_window_properties
/* DE3C8 80147CC8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* DE3CC 80147CCC 0080582D */ daddu $t3, $a0, $zero
/* DE3D0 80147CD0 3C0A8016 */ lui $t2, %hi(gWindows)
/* DE3D4 80147CD4 254A9D50 */ addiu $t2, $t2, %lo(gWindows)
/* DE3D8 80147CD8 8FA90030 */ lw $t1, 0x30($sp)
/* DE3DC 80147CDC 000B1140 */ sll $v0, $t3, 5
/* DE3E0 80147CE0 AFB00010 */ sw $s0, 0x10($sp)
/* DE3E4 80147CE4 004A8021 */ addu $s0, $v0, $t2
/* DE3E8 80147CE8 AFB10014 */ sw $s1, 0x14($sp)
/* DE3EC 80147CEC 8FB10034 */ lw $s1, 0x34($sp)
/* DE3F0 80147CF0 8FA40038 */ lw $a0, 0x38($sp)
/* DE3F4 80147CF4 8FA8003C */ lw $t0, 0x3c($sp)
/* DE3F8 80147CF8 8FA30040 */ lw $v1, 0x40($sp)
/* DE3FC 80147CFC 24020005 */ addiu $v0, $zero, 5
/* DE400 80147D00 AFBF0018 */ sw $ra, 0x18($sp)
/* DE404 80147D04 A2020000 */ sb $v0, ($s0)
/* DE408 80147D08 A605000C */ sh $a1, 0xc($s0)
/* DE40C 80147D0C A606000E */ sh $a2, 0xe($s0)
/* DE410 80147D10 A6070010 */ sh $a3, 0x10($s0)
/* DE414 80147D14 AE000004 */ sw $zero, 4($s0)
/* DE418 80147D18 0220282D */ daddu $a1, $s1, $zero
/* DE41C 80147D1C A2030003 */ sb $v1, 3($s0)
/* DE420 80147D20 00031E00 */ sll $v1, $v1, 0x18
/* DE424 80147D24 00031E03 */ sra $v1, $v1, 0x18
/* DE428 80147D28 A6090012 */ sh $t1, 0x12($s0)
/* DE42C 80147D2C AE040014 */ sw $a0, 0x14($s0)
/* DE430 80147D30 04600006 */ bltz $v1, .L80147D4C
/* DE434 80147D34 AE080018 */ sw $t0, 0x18($s0)
/* DE438 80147D38 00031940 */ sll $v1, $v1, 5
/* DE43C 80147D3C 006A1821 */ addu $v1, $v1, $t2
/* DE440 80147D40 90620000 */ lbu $v0, ($v1)
/* DE444 80147D44 34420010 */ ori $v0, $v0, 0x10
/* DE448 80147D48 A0620000 */ sb $v0, ($v1)
.L80147D4C:
/* DE44C 80147D4C 0160202D */ daddu $a0, $t3, $zero
/* DE450 80147D50 0C051F5C */ jal update_window_hierarchy
/* DE454 80147D54 30A500FF */ andi $a1, $a1, 0xff
/* DE458 80147D58 A2110002 */ sb $s1, 2($s0)
/* DE45C 80147D5C 8FBF0018 */ lw $ra, 0x18($sp)
/* DE460 80147D60 8FB10014 */ lw $s1, 0x14($sp)
/* DE464 80147D64 8FB00010 */ lw $s0, 0x10($sp)
/* DE468 80147D68 03E00008 */ jr $ra
/* DE46C 80147D6C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_windows_visible
/* DE5C4 80147EC4 3C068016 */ lui $a2, %hi(gWindows)
/* DE5C8 80147EC8 24C69D50 */ addiu $a2, $a2, %lo(gWindows)
/* DE5CC 80147ECC 0000282D */ daddu $a1, $zero, $zero
/* DE5D0 80147ED0 3C028015 */ lui $v0, %hi(D_8014F2C0)
/* DE5D4 80147ED4 2442F2C0 */ addiu $v0, $v0, %lo(D_8014F2C0)
/* DE5D8 80147ED8 00042040 */ sll $a0, $a0, 1
/* DE5DC 80147EDC 00822021 */ addu $a0, $a0, $v0
/* DE5E0 80147EE0 90870000 */ lbu $a3, ($a0)
/* DE5E4 80147EE4 90840001 */ lbu $a0, 1($a0)
.L80147EE8:
/* DE5E8 80147EE8 90C30000 */ lbu $v1, ($a2)
/* DE5EC 80147EEC 30620001 */ andi $v0, $v1, 1
/* DE5F0 80147EF0 5040000A */ beql $v0, $zero, .L80147F1C
/* DE5F4 80147EF4 24A50001 */ addiu $a1, $a1, 1
/* DE5F8 80147EF8 00A7102A */ slt $v0, $a1, $a3
/* DE5FC 80147EFC 14400005 */ bnez $v0, .L80147F14
/* DE600 80147F00 34620020 */ ori $v0, $v1, 0x20
/* DE604 80147F04 0085102A */ slt $v0, $a0, $a1
/* DE608 80147F08 14400002 */ bnez $v0, .L80147F14
/* DE60C 80147F0C 34620020 */ ori $v0, $v1, 0x20
/* DE610 80147F10 306200DF */ andi $v0, $v1, 0xdf
.L80147F14:
/* DE614 80147F14 A0C20000 */ sb $v0, ($a2)
/* DE618 80147F18 24A50001 */ addiu $a1, $a1, 1
.L80147F1C:
/* DE61C 80147F1C 28A20040 */ slti $v0, $a1, 0x40
/* DE620 80147F20 1440FFF1 */ bnez $v0, .L80147EE8
/* DE624 80147F24 24C60020 */ addiu $a2, $a2, 0x20
/* DE628 80147F28 03E00008 */ jr $ra
/* DE62C 80147F2C 00000000 */ nop

View File

@ -1,75 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel setup_pause_menu_tab
/* DE630 80147F30 27BDFFB8 */ addiu $sp, $sp, -0x48
/* DE634 80147F34 AFB1002C */ sw $s1, 0x2c($sp)
/* DE638 80147F38 0080882D */ daddu $s1, $a0, $zero
/* DE63C 80147F3C AFB30034 */ sw $s3, 0x34($sp)
/* DE640 80147F40 00A0982D */ daddu $s3, $a1, $zero
/* DE644 80147F44 AFB20030 */ sw $s2, 0x30($sp)
/* DE648 80147F48 0000902D */ daddu $s2, $zero, $zero
/* DE64C 80147F4C AFBF0044 */ sw $ra, 0x44($sp)
/* DE650 80147F50 AFB60040 */ sw $s6, 0x40($sp)
/* DE654 80147F54 AFB5003C */ sw $s5, 0x3c($sp)
/* DE658 80147F58 AFB40038 */ sw $s4, 0x38($sp)
/* DE65C 80147F5C 1A60002C */ blez $s3, .L80148010
/* DE660 80147F60 AFB00028 */ sw $s0, 0x28($sp)
/* DE664 80147F64 2416FFFF */ addiu $s6, $zero, -1
/* DE668 80147F68 3C158015 */ lui $s5, %hi(D_8014F150)
/* DE66C 80147F6C 26B5F150 */ addiu $s5, $s5, %lo(D_8014F150)
/* DE670 80147F70 3C148016 */ lui $s4, %hi(gWindows)
/* DE674 80147F74 26949D50 */ addiu $s4, $s4, %lo(gWindows)
/* DE678 80147F78 2490001C */ addiu $s0, $a0, 0x1c
.L80147F7C:
/* DE67C 80147F7C 8602FFEC */ lh $v0, -0x14($s0)
/* DE680 80147F80 82240000 */ lb $a0, ($s1)
/* DE684 80147F84 8605FFE6 */ lh $a1, -0x1a($s0)
/* DE688 80147F88 8606FFE8 */ lh $a2, -0x18($s0)
/* DE68C 80147F8C 8607FFEA */ lh $a3, -0x16($s0)
/* DE690 80147F90 AFA20010 */ sw $v0, 0x10($sp)
/* DE694 80147F94 9202FFEE */ lbu $v0, -0x12($s0)
/* DE698 80147F98 AFA20014 */ sw $v0, 0x14($sp)
/* DE69C 80147F9C 8E02FFF0 */ lw $v0, -0x10($s0)
/* DE6A0 80147FA0 AFA20018 */ sw $v0, 0x18($sp)
/* DE6A4 80147FA4 8E02FFF4 */ lw $v0, -0xc($s0)
/* DE6A8 80147FA8 AFA2001C */ sw $v0, 0x1c($sp)
/* DE6AC 80147FAC 8202FFF8 */ lb $v0, -8($s0)
/* DE6B0 80147FB0 0C051F32 */ jal set_window_properties
/* DE6B4 80147FB4 AFA20020 */ sw $v0, 0x20($sp)
/* DE6B8 80147FB8 8E030004 */ lw $v1, 4($s0)
/* DE6BC 80147FBC 10760005 */ beq $v1, $s6, .L80147FD4
/* DE6C0 80147FC0 00000000 */ nop
/* DE6C4 80147FC4 82220000 */ lb $v0, ($s1)
/* DE6C8 80147FC8 00021080 */ sll $v0, $v0, 2
/* DE6CC 80147FCC 00551021 */ addu $v0, $v0, $s5
/* DE6D0 80147FD0 AC430000 */ sw $v1, ($v0)
.L80147FD4:
/* DE6D4 80147FD4 82240000 */ lb $a0, ($s1)
/* DE6D8 80147FD8 8E05FFFC */ lw $a1, -4($s0)
/* DE6DC 80147FDC 0C051F9F */ jal set_window_update
/* DE6E0 80147FE0 26520001 */ addiu $s2, $s2, 1
/* DE6E4 80147FE4 82230000 */ lb $v1, ($s1)
/* DE6E8 80147FE8 92040000 */ lbu $a0, ($s0)
/* DE6EC 80147FEC 26100024 */ addiu $s0, $s0, 0x24
/* DE6F0 80147FF0 00031940 */ sll $v1, $v1, 5
/* DE6F4 80147FF4 00741821 */ addu $v1, $v1, $s4
/* DE6F8 80147FF8 90620000 */ lbu $v0, ($v1)
/* DE6FC 80147FFC 00441025 */ or $v0, $v0, $a0
/* DE700 80148000 A0620000 */ sb $v0, ($v1)
/* DE704 80148004 0253102A */ slt $v0, $s2, $s3
/* DE708 80148008 1440FFDC */ bnez $v0, .L80147F7C
/* DE70C 8014800C 26310024 */ addiu $s1, $s1, 0x24
.L80148010:
/* DE710 80148010 8FBF0044 */ lw $ra, 0x44($sp)
/* DE714 80148014 8FB60040 */ lw $s6, 0x40($sp)
/* DE718 80148018 8FB5003C */ lw $s5, 0x3c($sp)
/* DE71C 8014801C 8FB40038 */ lw $s4, 0x38($sp)
/* DE720 80148020 8FB30034 */ lw $s3, 0x34($sp)
/* DE724 80148024 8FB20030 */ lw $s2, 0x30($sp)
/* DE728 80148028 8FB1002C */ lw $s1, 0x2c($sp)
/* DE72C 8014802C 8FB00028 */ lw $s0, 0x28($sp)
/* DE730 80148030 03E00008 */ jr $ra
/* DE734 80148034 27BD0048 */ addiu $sp, $sp, 0x48
/* DE738 80148038 00000000 */ nop
/* DE73C 8014803C 00000000 */ nop

View File

@ -1,65 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_window_hierarchy
/* DE470 80147D70 30A200FF */ andi $v0, $a1, 0xff
/* DE474 80147D74 2C420041 */ sltiu $v0, $v0, 0x41
/* DE478 80147D78 14400002 */ bnez $v0, .L80147D84
/* DE47C 80147D7C 27BDFEF8 */ addiu $sp, $sp, -0x108
/* DE480 80147D80 24050040 */ addiu $a1, $zero, 0x40
.L80147D84:
/* DE484 80147D84 03A0382D */ daddu $a3, $sp, $zero
/* DE488 80147D88 2402FFFF */ addiu $v0, $zero, -1
/* DE48C 80147D8C 24060040 */ addiu $a2, $zero, 0x40
.L80147D90:
/* DE490 80147D90 ACE20000 */ sw $v0, ($a3)
/* DE494 80147D94 24C6FFFF */ addiu $a2, $a2, -1
/* DE498 80147D98 04C1FFFD */ bgez $a2, .L80147D90
/* DE49C 80147D9C 24E70004 */ addiu $a3, $a3, 4
/* DE4A0 80147DA0 30A200FF */ andi $v0, $a1, 0xff
/* DE4A4 80147DA4 00021880 */ sll $v1, $v0, 2
/* DE4A8 80147DA8 03A31821 */ addu $v1, $sp, $v1
/* DE4AC 80147DAC AC640000 */ sw $a0, ($v1)
/* DE4B0 80147DB0 0000302D */ daddu $a2, $zero, $zero
/* DE4B4 80147DB4 3C058016 */ lui $a1, %hi(gWindows)
/* DE4B8 80147DB8 24A59D50 */ addiu $a1, $a1, %lo(gWindows)
/* DE4BC 80147DBC 0040382D */ daddu $a3, $v0, $zero
.L80147DC0:
/* DE4C0 80147DC0 90A20000 */ lbu $v0, ($a1)
/* DE4C4 80147DC4 5040000B */ beql $v0, $zero, .L80147DF4
/* DE4C8 80147DC8 24C60001 */ addiu $a2, $a2, 1
/* DE4CC 80147DCC 50C40009 */ beql $a2, $a0, .L80147DF4
/* DE4D0 80147DD0 24C60001 */ addiu $a2, $a2, 1
/* DE4D4 80147DD4 90A30001 */ lbu $v1, 1($a1)
/* DE4D8 80147DD8 0067102A */ slt $v0, $v1, $a3
/* DE4DC 80147DDC 50400001 */ beql $v0, $zero, .L80147DE4
/* DE4E0 80147DE0 24630001 */ addiu $v1, $v1, 1
.L80147DE4:
/* DE4E4 80147DE4 00031080 */ sll $v0, $v1, 2
/* DE4E8 80147DE8 03A21021 */ addu $v0, $sp, $v0
/* DE4EC 80147DEC AC460000 */ sw $a2, ($v0)
/* DE4F0 80147DF0 24C60001 */ addiu $a2, $a2, 1
.L80147DF4:
/* DE4F4 80147DF4 28C20040 */ slti $v0, $a2, 0x40
/* DE4F8 80147DF8 1440FFF1 */ bnez $v0, .L80147DC0
/* DE4FC 80147DFC 24A50020 */ addiu $a1, $a1, 0x20
/* DE500 80147E00 0000182D */ daddu $v1, $zero, $zero
/* DE504 80147E04 0060302D */ daddu $a2, $v1, $zero
/* DE508 80147E08 03A0382D */ daddu $a3, $sp, $zero
/* DE50C 80147E0C 2405FFFF */ addiu $a1, $zero, -1
/* DE510 80147E10 3C048016 */ lui $a0, %hi(gWindows)
/* DE514 80147E14 24849D50 */ addiu $a0, $a0, %lo(gWindows)
.L80147E18:
/* DE518 80147E18 8CE20000 */ lw $v0, ($a3)
/* DE51C 80147E1C 10450005 */ beq $v0, $a1, .L80147E34
/* DE520 80147E20 24C60001 */ addiu $a2, $a2, 1
/* DE524 80147E24 00021140 */ sll $v0, $v0, 5
/* DE528 80147E28 00441021 */ addu $v0, $v0, $a0
/* DE52C 80147E2C A0430001 */ sb $v1, 1($v0)
/* DE530 80147E30 24630001 */ addiu $v1, $v1, 1
.L80147E34:
/* DE534 80147E34 28C20041 */ slti $v0, $a2, 0x41
/* DE538 80147E38 1440FFF7 */ bnez $v0, .L80147E18
/* DE53C 80147E3C 24E70004 */ addiu $a3, $a3, 4
/* DE540 80147E40 03E00008 */ jr $ra
/* DE544 80147E44 27BD0108 */ addiu $sp, $sp, 0x108

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_windows
/* DDB14 80147414 0000302D */ daddu $a2, $zero, $zero
/* DDB18 80147418 3C058016 */ lui $a1, %hi(gWindows)
/* DDB1C 8014741C 24A59D50 */ addiu $a1, $a1, %lo(gWindows)
/* DDB20 80147420 24A4001C */ addiu $a0, $a1, 0x1c
.L80147424:
/* DDB24 80147424 90A30000 */ lbu $v1, ($a1)
/* DDB28 80147428 5060000C */ beql $v1, $zero, .L8014745C
/* DDB2C 8014742C 24C60001 */ addiu $a2, $a2, 1
/* DDB30 80147430 30620020 */ andi $v0, $v1, 0x20
/* DDB34 80147434 14400009 */ bnez $v0, .L8014745C
/* DDB38 80147438 24C60001 */ addiu $a2, $a2, 1
/* DDB3C 8014743C 30620002 */ andi $v0, $v1, 2
/* DDB40 80147440 10400006 */ beqz $v0, .L8014745C
/* DDB44 80147444 00000000 */ nop
/* DDB48 80147448 306200FD */ andi $v0, $v1, 0xfd
/* DDB4C 8014744C A0A20000 */ sb $v0, ($a1)
/* DDB50 80147450 8C82FFEC */ lw $v0, -0x14($a0)
/* DDB54 80147454 A0800000 */ sb $zero, ($a0)
/* DDB58 80147458 AC82FFE8 */ sw $v0, -0x18($a0)
.L8014745C:
/* DDB5C 8014745C 24840020 */ addiu $a0, $a0, 0x20
/* DDB60 80147460 28C20040 */ slti $v0, $a2, 0x40
/* DDB64 80147464 1440FFEF */ bnez $v0, .L80147424
/* DDB68 80147468 24A50020 */ addiu $a1, $a1, 0x20
/* DDB6C 8014746C 03E00008 */ jr $ra
/* DDB70 80147470 00000000 */ nop

View File

@ -208,8 +208,8 @@ glabel MakeShop
/* 7E29F0 80281B70 AFA0001C */ sw $zero, 0x1c($sp) /* 7E29F0 80281B70 AFA0001C */ sw $zero, 0x1c($sp)
/* 7E29F4 80281B74 0C051F32 */ jal set_window_properties /* 7E29F4 80281B74 0C051F32 */ jal set_window_properties
/* 7E29F8 80281B78 AFB00020 */ sw $s0, 0x20($sp) /* 7E29F8 80281B78 AFB00020 */ sw $s0, 0x20($sp)
/* 7E29FC 80281B7C 3C048015 */ lui $a0, %hi(D_8014F150) /* 7E29FC 80281B7C 3C048015 */ lui $a0, %hi(gWindowStyles)
/* 7E2A00 80281B80 2484F150 */ addiu $a0, $a0, %lo(D_8014F150) /* 7E2A00 80281B80 2484F150 */ addiu $a0, $a0, %lo(gWindowStyles)
/* 7E2A04 80281B84 24030009 */ addiu $v1, $zero, 9 /* 7E2A04 80281B84 24030009 */ addiu $v1, $zero, 9
/* 7E2A08 80281B88 AC830028 */ sw $v1, 0x28($a0) /* 7E2A08 80281B88 AC830028 */ sw $v1, 0x28($a0)
/* 7E2A0C 80281B8C 24030003 */ addiu $v1, $zero, 3 /* 7E2A0C 80281B8C 24030003 */ addiu $v1, $zero, 3

View File

@ -668,7 +668,25 @@ segments:
- [0x9DA60, rgba32, ui/stat_flower, 16, 16] - [0x9DA60, rgba32, ui/stat_flower, 16, 16]
- [0x9DE60, data] - [0x9DE60, data]
- [0xA2D40, .data, 8a860_len_3f30] - [0xA2D40, .data, 8a860_len_3f30]
- [0xA2D90, data] - start: 0xA2D90
type: .data
name: 8e790_len_2850
subsegments:
- [0xA2D90, .data, 8e790_len_2850]
- [0xA2E90, ia8, ui/corners9, 16, 64]
- [0xA3290, ia8, ui/corners8, 24, 96]
- [0xA3B90, ia8, ui/corners6, 16, 40]
- [0xA3E10, ia8, ui/corners7, 16, 32]
- [0xA4010, ia8, ui/corners3, 16, 96]
- [0xA4610, ia8, ui/corners5, 16, 32]
- [0xA4810, ia8, ui/corners4, 8, 32]
- [0xA4910, i4, ui/background1, 16, 16]
- [0xA4990, ia8, ui/corners1, 16, 64]
- [0xA4D90, i4, ui/corners2, 16, 64]
- [0xA4F90, i4, ui/background2, 16, 1]
- [0xA4F98]
- [0xA5078, vtx, vtx/drawbox1]
- [0xA50B8]
- [0xA5100] - [0xA5100]
- type: code - type: code
start: 0xA5DD0 start: 0xA5DD0
@ -688,7 +706,7 @@ segments:
- [0xDBD70, c, trigger] - [0xDBD70, c, trigger]
- [0xDC470, c, dc470_len_14c0] - [0xDC470, c, dc470_len_14c0]
- [0xDD930, c, dd930_len_1c0] - [0xDD930, c, dd930_len_1c0]
- [0xDDAF0, c, ddaf0_len_c50] - [0xDDAF0, c, windows]
- [0xDE740, c, de740_len_23f0] - [0xDE740, c, de740_len_23f0]
- [0xDF950, c, sfx] - [0xDF950, c, sfx]
- [0xE0B30, c, e0b30_len_b80] - [0xE0B30, c, e0b30_len_b80]
@ -712,7 +730,7 @@ segments:
- [0xE56C0, .data, hud_element] - [0xE56C0, .data, hud_element]
- [0xE5820, .data, dc470_len_14c0] - [0xE5820, .data, dc470_len_14c0]
- [0xE5840, .data, dd930_len_1c0] - [0xE5840, .data, dd930_len_1c0]
- [0xE5850, .data, ddaf0_len_c50] - [0xE5850, .data, windows]
- [0xE59D0, .data, sfx] - [0xE59D0, .data, sfx]
- [0xE5DF0, .data, e0b30_len_b80] - [0xE5DF0, .data, e0b30_len_b80]
- [0xE5E40] - [0xE5E40]

View File

@ -3149,15 +3149,13 @@ D_8014F12F = 0x8014F12F; // type:data rom:0xE582F
D_8014F130 = 0x8014F130; // type:data rom:0xE5830 D_8014F130 = 0x8014F130; // type:data rom:0xE5830
D_8014F134 = 0x8014F134; // type:data rom:0xE5834 D_8014F134 = 0x8014F134; // type:data rom:0xE5834
D_8014F140 = 0x8014F140; // type:data rom:0xE5840 D_8014F140 = 0x8014F140; // type:data rom:0xE5840
D_8014F150 = 0x8014F150; // type:data rom:0xE5850 gWindowStyles = 0x8014F150; // type:data rom:0xE5850
D_8014F250 = 0x8014F250; // type:data rom:0xE5950 gSimpleWindowUpdates = 0x8014F250; // type:data rom:0xE5950
D_8014F298 = 0x8014F298; // type:data rom:0xE5998 gWindowAppearScales = 0x8014F298; // type:data rom:0xE5998
D_8014F2A0 = 0x8014F2A0; // type:data rom:0xE59A0 gWindowAppearFlags = 0x8014F2A0; // type:data rom:0xE59A0
D_8014F2A4 = 0x8014F2A4; // type:data rom:0xE59A4 gWindowDisappearScales = 0x8014F2A8; // type:data rom:0xE59A8
D_8014F2A8 = 0x8014F2A8; // type:data rom:0xE59A8 gWindowDisappearFlags = 0x8014F2B4; // type:data rom:0xE59B4
D_8014F2B4 = 0x8014F2B4; // type:data rom:0xE59B4 gWindowGroups = 0x8014F2C0; // type:data rom:0xE59C0
D_8014F2BD = 0x8014F2BD; // type:data rom:0xE59BD
D_8014F2C0 = 0x8014F2C0; // type:data rom:0xE59C0
D_8014F2D0 = 0x8014F2D0; // type:data rom:0xE59D0 D_8014F2D0 = 0x8014F2D0; // type:data rom:0xE59D0
D_8014F48C = 0x8014F48C; // type:data rom:0xE5B8C D_8014F48C = 0x8014F48C; // type:data rom:0xE5B8C
D_8014F494 = 0x8014F494; // type:data rom:0xE5B94 D_8014F494 = 0x8014F494; // type:data rom:0xE5B94
@ -19745,7 +19743,7 @@ D_8010BB00 = 0x8010BB00; // type:data
D_8010BB90 = 0x8010BB90; // type:data D_8010BB90 = 0x8010BB90; // type:data
D_8010BBB0 = 0x8010BBB0; // type:data D_8010BBB0 = 0x8010BBB0; // type:data
D_8010BBB8 = 0x8010BBB8; // type:data D_8010BBB8 = 0x8010BBB8; // type:data
D_8010BBC8 = 0x8010BBC8; // type:data vtx_drawbox1 = 0x8010BBC8; // type:data
D_8010BC08 = 0x8010BC08; // type:data D_8010BC08 = 0x8010BC08; // type:data
D_8010C920 = 0x8010C920; // type:data D_8010C920 = 0x8010C920; // type:data
D_8010C924 = 0x8010C924; // type:data D_8010C924 = 0x8010C924; // type:data