diff --git a/include/common_structs.h b/include/common_structs.h index eba47c3ed1..d04032ce1c 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1185,11 +1185,11 @@ typedef struct MessagePrintState { /* 0x46C */ s32 unk_46C; /* 0x470 */ u8 currentAnimFrame[4]; /* 0x474 */ s16 animTimers[4]; - /* 0x47C */ s8 rewindArrowAnimState; + /* 0x47C */ u8 rewindArrowAnimState; /* 0x47D */ char unk_47D[0x1]; - /* 0x47E */ s16 rewindArrowBlinkCounter; - /* 0x480 */ s16 unk_480; - /* 0x482 */ Vec2s rewindArrowPos; + /* 0x47E */ s16 rewindArrowCounter; + /* 0x480 */ s16 rewindArrowSwingPhase; + /* 0x482 */ Vec2su rewindArrowPos; /* 0x486 */ u8 currentLine; /* 0x487 */ u8 unkArraySize; /* 0x488 */ u16 lineEndPos[4]; @@ -1199,15 +1199,15 @@ typedef struct MessagePrintState { /* 0x4CC */ u16 unk_4CC; /* 0x4CE */ u8 maxOption; /* 0x4CF */ char unk_4CF[0x1]; - /* 0x4D0 */ s16 cursorPosX[6]; - /* 0x4DC */ s16 cursorPosY[6]; + /* 0x4D0 */ u16 cursorPosX[6]; + /* 0x4DC */ u16 cursorPosY[6]; /* 0x4E8 */ u8 currentOption; /* 0x4E9 */ s8 madeChoice; /* 0x4EA */ u8 cancelOption; /* 0x4EB */ char unk_4EB[0x1]; - /* 0x4EC */ s8 targetOption; - /* 0x4ED */ u8 unkCounter; - /* 0x4EE */ s8 selectedOption; + /* 0x4EC */ u8 targetOption; + /* 0x4ED */ u8 scrollingTime; + /* 0x4EE */ u8 selectedOption; /* 0x4EF */ char unk_4EF[0x9]; /* 0x4F8 */ u8 windowState; /* 0x4F9 */ char unk_4F9[0x3]; @@ -1320,19 +1320,14 @@ typedef struct MessageImageData { typedef struct MessageNumber { /* 0x00 */ IMG_PTR rasters; - /* 0x04 */ s8 texSize; + /* 0x04 */ u8 texSize; /* 0x05 */ u8 texWidth; /* 0x06 */ u8 texHeight; - /* 0x07 */ s8 digitWidth[10]; - /* 0x11 */ s8 fixedWidth; + /* 0x07 */ u8 digitWidth[10]; + /* 0x11 */ u8 fixedWidth; /* 0x12 */ char unk_12[0x2]; } MessageNumber; // size = 0x14 -typedef struct UnkMsgStruct8 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ char unk_02[0xE]; -} UnkMsgStruct8; // size = 0x16 - typedef struct ShopItemEntity { /* 0x00 */ s32 index; /* 0x04 */ Vec3f pos; @@ -2550,4 +2545,17 @@ typedef struct UnkOmo { /* 0x14 */ s32 treeIndex; } UnkOmo; // size = 0x18 +typedef struct struct_D_802EB620 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; +} struct_D_802EB620; // size = 0x0C + +typedef struct Rect { + /* 0x00 */ s32 ulx; + /* 0x04 */ s32 uly; + /* 0x08 */ s32 lrx; + /* 0x0C */ s32 lry; +} Rect; // size = 0x10 + #endif diff --git a/include/enums.h b/include/enums.h index b6b40fa6c0..05868a87e0 100644 --- a/include/enums.h +++ b/include/enums.h @@ -5217,7 +5217,19 @@ enum DrawMsgStyleFlags { DRAW_MSG_STYLE_MENU = 1, // slightly higher baseline with smaller fullspace widths DRAW_MSG_STYLE_WAVY = 2, DRAW_MSG_STYLE_RAINBOW = 4, - DRAW_MSG_STYLE_DROP_SHADOW = 8 + DRAW_MSG_STYLE_DROP_SHADOW = 8, +}; + +// used with draw_number +enum DrawNumberStyleFlags { + DRAW_NUMBER_STYLE_ALIGN_RIGHT = 1, ///< drawn to the left of posX + DRAW_NUMBER_STYLE_MONOSPACE = 2, + DRAW_NUMBER_STYLE_DROP_SHADOW = 4, +}; + +enum DrawNumberCharsets { + DRAW_NUMBER_CHARSET_NORMAL = 0, + DRAW_NUMBER_CHARSET_THIN = 1, }; enum MsgPalettes { @@ -5676,6 +5688,7 @@ enum MsgStateFlags { MSG_STATE_FLAG_40 = 0x000040, MSG_STATE_FLAG_80 = 0x000080, MSG_STATE_FLAG_100 = 0x000100, + MSG_STATE_FLAG_400 = 0x000400, MSG_STATE_FLAG_4000 = 0x004000, MSG_STATE_FLAG_8000 = 0x008000, MSG_STATE_FLAG_10000 = 0x010000, diff --git a/include/functions.h b/include/functions.h index 1027ba2c0e..5cabe521bb 100644 --- a/include/functions.h +++ b/include/functions.h @@ -76,7 +76,7 @@ void exec_ShakeCamX(s32 arg0, s32 arg1, s32 arg2, f32 arg3); void exec_ShakeCam1(s32 arg0, s32 arg1, s32 arg2); f32 func_800E5348(void); -void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, s32 style); +void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style); void set_entity_model_render_command_list(s32 idx, u32* commandList); void set_entity_model_flags(s32 idx, s32 newFlags); @@ -96,8 +96,7 @@ s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, void render_frame(s32 flag); void clear_windows(void); void update_window_hierarchy(s32 windowIndex, u8 arg1); -void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, - s32* maxLinesPerPage, s32* arg6, s32 charset); +void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, s32* maxLinesPerPage, s32* arg6, u16 charset); void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc); void decode_yay0(void* src, void* dst); diff --git a/src/17D6A0.c b/src/17D6A0.c index 5b2ba14445..dd690db798 100644 --- a/src/17D6A0.c +++ b/src/17D6A0.c @@ -3540,7 +3540,7 @@ void func_80250818(void* data, s32 x, s32 y) { case 0x54: messageID = bMessages[popup->messageIndex]; msgLinesIdx = get_msg_lines(messageID) - 1; - draw_msg(messageID, x, y + D_802835D4[msgLinesIdx], 255, 0xF, 0); + draw_msg(messageID, x, y + D_802835D4[msgLinesIdx], 255, MSG_PAL_0F, 0); break; case 0x4: case 0x5: @@ -3556,14 +3556,14 @@ void func_80250818(void* data, s32 x, s32 y) { msgLinesIdx = get_msg_lines(messageID) - 1; y += D_802835D4[msgLinesIdx]; set_message_value(D_8029F640, 0); - draw_msg(messageID, x, y, 255, 0xF, 0); + draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); break; case 0x51: messageID = bMessages[popup->messageIndex]; msgLinesIdx = get_msg_lines(messageID) - 1; y += D_802835D4[msgLinesIdx]; set_message_msg(bActorMessages[D_8029F640], 0); - draw_msg(messageID, x, y, 255, 0xF, 0); + draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); break; case 0x49: case 0x4A: @@ -3573,7 +3573,7 @@ void func_80250818(void* data, s32 x, s32 y) { case 0x4E: case 0x4F: messageID = bMessages[popup->messageIndex]; - draw_msg(messageID, x + 0x1D, y + 6, 255, 0xF, 0); + draw_msg(messageID, x + 0x1D, y + 6, 255, MSG_PAL_0F, 0); hud_element_set_render_pos(D_8029F642, x + 13, y + 14); hud_element_draw_clipped(D_8029F642); break; @@ -3611,7 +3611,7 @@ void func_80250818(void* data, s32 x, s32 y) { messageID = bMessages[popup->messageIndex]; msgLinesIdx = get_msg_lines(messageID) - 1; y += D_802835D4[msgLinesIdx]; - draw_msg(messageID, x + 11, y + 6, opacity, 0xF, 0); + draw_msg(messageID, x + 11, y + 6, opacity, MSG_PAL_0F, 0); switch (popup->messageIndex) { case 46: diff --git a/src/18C790.c b/src/18C790.c index 7f924c3ded..0a39867683 100644 --- a/src/18C790.c +++ b/src/18C790.c @@ -1451,12 +1451,12 @@ void func_80260948(s32 arg0, s32 posX, s32 posY) { xOffset = 9; break; } - draw_msg(msgID, posX + xOffset + 0x11, posY, 255, 0xA, 0); + draw_msg(msgID, posX + xOffset + 0x11, posY, 255, MSG_PAL_STANDARD, 0); break; } } // TODO type is almost definitely incorrect void func_80260A20(s64 posX, s32 posY) { - draw_msg(0x1D00AB, posX + 11, posY + 6, 255, 0xF, 0); + draw_msg(0x1D00AB, posX + 11, posY + 6, 255, MSG_PAL_0F, 0); } diff --git a/src/415D90.c b/src/415D90.c index 32512fade1..48cb9aa17f 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -836,7 +836,7 @@ void btl_draw_menu_wheel(void) { msgY -= 34; btl_draw_prim_quad(0, 0, 0, 0, D_802AD060 + 46, msgY, 48, 16); - draw_msg(battle_menu_messageIDs[D_802AD002 + D_802AD06B], msgX, msgY, opacity, 0x35, 0); + draw_msg(battle_menu_messageIDs[D_802AD002 + D_802AD06B], msgX, msgY, opacity, MSG_PAL_35, 0); } if ((gBattleStatus.flags1 & BS_FLAGS1_2000000) || (gBattleStatus.flags2 & 0x40)) { @@ -972,7 +972,7 @@ void func_802A2910(void) { } set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); - battle_menu_moveTextColor = 10; + battle_menu_moveTextColor = MSG_PAL_STANDARD; D_802AD10F = 1; battle_menu_moveTextOpacity = 255; battle_menu_moveState = 1; @@ -1012,7 +1012,7 @@ void func_802A2AB8(void) { } hud_element_set_script(battle_menu_moveCursorIcon, &HES_AnimatedHandPointer); - battle_menu_moveTextColor = 10; + battle_menu_moveTextColor = MSG_PAL_STANDARD; D_802AD10F = 1; battle_menu_moveState = 20; } @@ -1143,7 +1143,7 @@ s32 func_802A2C84(void) { hud_element_set_render_pos(id, battle_menu_moveX + 56, battle_menu_moveY); } - battle_menu_moveTextColor = 0xA; + battle_menu_moveTextColor = MSG_PAL_STANDARD; moveX = battle_menu_moveX; moveY = battle_menu_moveY; @@ -1280,7 +1280,7 @@ s32 func_802A2C84(void) { } hud_element_set_script(battle_menu_moveCursorIcon, &HES_HandPointer); - battle_menu_moveTextColor = 0xD; + battle_menu_moveTextColor = MSG_PAL_0D; set_window_update(1, 4); if (!battle_menu_hasSpiritsMenu) { set_window_update(2, 4); @@ -1456,11 +1456,11 @@ void func_802A3C98(s32 x, s32 y) { if ((i >= battle_menu_moveScrollLine - 1) && (i <= battle_menu_moveScrollLine + D_802AD10E)) { palette = battle_menu_moveTextColor; if (battle_menu_moveOptionsEnabled[battle_menu_moveOptionIndexMap[i]] <= 0) { - palette = 0xB; + palette = MSG_PAL_0B; } if (battle_menu_moveOptionNames[battle_menu_moveOptionIndexMap[i]] >= 0) { - draw_msg(battle_menu_moveOptionNames[battle_menu_moveOptionIndexMap[i]], moveOptX, moveOptY, battle_menu_moveTextOpacity, palette, 1); + draw_msg(battle_menu_moveOptionNames[battle_menu_moveOptionIndexMap[i]], moveOptX, moveOptY, battle_menu_moveTextOpacity, palette, DRAW_MSG_STYLE_MENU); } num = battle_menu_moveOptionDisplayCosts[battle_menu_moveOptionIndexMap[i]] - battle_menu_moveOptionDisplayCostReductions[battle_menu_moveOptionIndexMap[i]]; @@ -1488,30 +1488,30 @@ void func_802A3C98(s32 x, s32 y) { switch (battle_menu_moveOptionDisplayCostReductionColors[i]) { case 0: - palette = 0xA; + palette = MSG_PAL_STANDARD; break; case 1: - palette = 0x37; + palette = MSG_PAL_37; break; default: - palette = 0x38; + palette = MSG_PAL_38; break; } if (battle_menu_moveOptionsEnabled[battle_menu_moveOptionIndexMap[i]] <= 0) { - palette = 0xB; + palette = MSG_PAL_0B; } if (battle_menu_moveOptionDisplayCosts[battle_menu_moveOptionIndexMap[i]] != 0) { id = battle_menu_moveOptionCostUnitIconIDs[i]; if (!battle_menu_hasSpiritsMenu) { - draw_number(num, moveOptX + 108, moveOptY, 1, palette, battle_menu_moveTextOpacity, 3); + draw_number(num, moveOptX + 108, moveOptY, DRAW_NUMBER_CHARSET_THIN, palette, battle_menu_moveTextOpacity, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); if (battle_menu_moveOptionsEnabled[battle_menu_moveOptionIndexMap[i]] <= 0) { hud_element_set_script(id, &HES_NotEnoughFP); } moveOptX += 116; } else { - draw_number(num, moveOptX + 93, moveOptY, 1, palette, battle_menu_moveTextOpacity, 3); + draw_number(num, moveOptX + 93, moveOptY, DRAW_NUMBER_CHARSET_THIN, palette, battle_menu_moveTextOpacity, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); if (battle_menu_moveOptionsEnabled[battle_menu_moveOptionIndexMap[i]] <= 0) { hud_element_set_script(id, &HES_NotEnoughPOW); } @@ -1597,7 +1597,7 @@ void func_802A43DC(s32 arg0, s32 x, s32 y) { opacity = battle_menu_moveTextOpacity; palette = 0x31; } - draw_msg(msgID, posX, posY, opacity, palette, 1); + draw_msg(msgID, posX, posY, opacity, palette, DRAW_MSG_STYLE_MENU); } void func_802A4448(s32 arg0, s32 x, s32 y) { @@ -1638,7 +1638,7 @@ void func_802A4534(s32 arg0, s32 x, s32 y) { } else { msgID = 0x1D00A0; } - draw_msg(msgID, posX, posY + D_802AB344[get_msg_lines(msgID) - 1], 255, 0xF, 0); + draw_msg(msgID, posX, posY + D_802AB344[get_msg_lines(msgID) - 1], 255, MSG_PAL_0F, 0); } void func_802A45D8(void) { @@ -1717,7 +1717,7 @@ void func_802A47E0(void) { set_window_update(WINDOW_ID_6, WINDOW_UPDATE_TRANSPARENT); set_window_update(WINDOW_ID_7, WINDOW_UPDATE_TRANSPARENT); set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); - D_802AD614 = 10; + D_802AD614 = MSG_PAL_STANDARD; D_802AD60B = 1; D_802AD624 = 255; D_802AD604 = 1; @@ -1738,7 +1738,7 @@ void func_802A48FC(void) { hud_element_set_tint(D_802AD61C, 0xFF, 0xFF, 0xFF); hud_element_set_tint(D_802AD620, 0xFF, 0xFF, 0xFF); hud_element_set_script(D_802AD618, &HES_AnimatedHandPointer); - D_802AD614 = 10; + D_802AD614 = MSG_PAL_STANDARD; D_802AD60B = 1; D_802AD604 = 20; } @@ -1786,7 +1786,7 @@ s32 func_802A4A54(void) { hud_element_set_flags(id, HUD_ELEMENT_FLAGS_DROP_SHADOW | HUD_ELEMENT_FLAGS_80); hud_element_set_render_pos(id, D_802AD63C + 39, D_802AD63E + 78); - D_802AD614 = 10; + D_802AD614 = MSG_PAL_STANDARD; x = D_802AD63C; y = D_802AD63E; set_window_properties(6, x, y, 144, (D_802AD60A * 13) + 26, 0, func_802A5290, NULL, -1); @@ -1868,7 +1868,7 @@ s32 func_802A4A54(void) { hud_element_set_tint(D_802AD61C, 160, 160, 160); hud_element_set_tint(D_802AD620, 160, 160, 160); hud_element_set_script(D_802AD618, HES_HandPointer); - D_802AD614 = 13; + D_802AD614 = MSG_PAL_0D; set_window_update(6, 4); set_window_update(7, 4); set_window_update(8, 2); @@ -1984,12 +1984,12 @@ void func_802A5290(s32 arg0, s32 x, s32 y) { s32 palette = D_802AD614; if (D_802AD678[i] == 5 && is_ability_active(ABILITY_QUICK_CHANGE)) { - palette = 0x37; + palette = MSG_PAL_37; } if (D_802AD690[i] == 0) { - palette = 0xB; + palette = MSG_PAL_0B; } - draw_msg(D_802AD658[i], xTemp, phi_s1, D_802AD624, palette, 1); + draw_msg(D_802AD658[i], xTemp, phi_s1, D_802AD624, palette, DRAW_MSG_STYLE_MENU); } xTemp = x + 24; @@ -2037,7 +2037,7 @@ INCLUDE_ASM(s32, "415D90", func_802A5290); #endif void func_802A56F8(s32 arg0, s32 x, s32 y) { - draw_msg(0x1D0043, x + 15, y + 2, D_802AD624, 0x33, 1); + draw_msg(0x1D0043, x + 15, y + 2, D_802AD624, MSG_PAL_33, DRAW_MSG_STYLE_MENU); } void func_802A5738(s32 arg0, s32 x, s32 y) { @@ -2072,7 +2072,7 @@ void func_802A57C8(s32 arg0, s32 x, s32 y) { a0 = 0x1D0000; a0 |= 0xCC; } - draw_msg(a0, x2, y2, 255, 15, 0); + draw_msg(a0, x2, y2, 255, MSG_PAL_0F, 0); } #else INCLUDE_ASM(s32, "415D90", func_802A57C8); @@ -4376,9 +4376,9 @@ void btl_state_draw_select_target(void) { if ((battleStatus->currentTargetListFlags & 1) || targetListLength == 1) { actorID = target->actorID; if (actorID == ACTOR_PLAYER) { - draw_msg(0x1D00C4, screenX + D_802ACC68, screenY, 255, 0x36, 0); + draw_msg(0x1D00C4, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); } else if (actorID == ACTOR_PARTNER) { - draw_msg(D_802AB738[currentPartner], screenX + D_802ACC68, screenY, 255, 0x36, 0); + draw_msg(D_802AB738[currentPartner], screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); } else { target = &actor->targetData[targetIndexList[selectedTargetIndex]]; anotherActor = get_actor(target->actorID); @@ -4386,17 +4386,17 @@ void btl_state_draw_select_target(void) { if (msgID == 0) { msgID = bActorNames[anotherActor->actorType]; } - draw_msg(msgID, screenX + *tmpPtr, screenY, 255, 0x36, 0); // TODO required to match + draw_msg(msgID, screenX + *tmpPtr, screenY, 255, MSG_PAL_36, 0); // TODO required to match } } else { target = &actor->targetData[targetIndexList[selectedTargetIndex]]; actorID = target->actorID; if (actorID == ACTOR_PLAYER) { - draw_msg(0x1D00C4, screenX + D_802ACC68, screenY, 255, 0x36, 0); + draw_msg(0x1D00C4, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); } else if (actorID == ACTOR_PARTNER) { - draw_msg(D_802AB738[currentPartner], screenX + D_802ACC68, screenY, 255, 0x36, 0); + draw_msg(D_802AB738[currentPartner], screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); } else { - draw_msg(0x1D00C5, screenX + D_802ACC68, screenY, 255, 0x36, 0); + draw_msg(0x1D00C5, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); } } } diff --git a/src/5B320.c b/src/5B320.c index 6d3b735ade..43b0b8e332 100644 --- a/src/5B320.c +++ b/src/5B320.c @@ -287,13 +287,50 @@ s32 pad_after_move_table[] = { 0x00000000, 0x00000000, 0x00000000 }; -s32* gMessageBoxFrameParts[] = { - D_802EBFF0, D_802EC010, D_802EC030, D_802EC050, - D_802EC070, D_802EC090, D_802EC0B0, D_802EC0D0, - D_802EC0F0, D_802EC110, D_802EC130, D_802EC150, - D_802EC170, D_802EC190, D_802EC1B0, D_802EC1D0, - D_802EC1F0, D_802EC210, D_802EC230, D_802EC250, - D_802EC270, D_802EC290, D_802EC2B0, D_802EC2D0, - D_802EC2F0, D_802EC310, D_802EC330, D_802EC350, - D_802EC370, D_802EC390, D_802EC3B0, D_802EC3D0 +extern IMG_BIN ui_msg_frame_part_0_png[]; +extern IMG_BIN ui_msg_frame_part_1_png[]; +extern IMG_BIN ui_msg_frame_part_2_png[]; +extern IMG_BIN ui_msg_frame_part_3_png[]; +extern IMG_BIN ui_msg_frame_part_4_png[]; +extern IMG_BIN ui_msg_frame_part_5_png[]; +extern IMG_BIN ui_msg_frame_part_6_png[]; +extern IMG_BIN ui_msg_frame_part_7_png[]; +extern IMG_BIN ui_msg_frame_part_8_png[]; +extern IMG_BIN ui_msg_frame_part_9_png[]; +extern IMG_BIN ui_msg_frame_part_A_png[]; +extern IMG_BIN ui_msg_frame_part_B_png[]; +extern IMG_BIN ui_msg_frame_part_C_png[]; +extern IMG_BIN ui_msg_frame_part_D_png[]; +extern IMG_BIN ui_msg_frame_part_E_png[]; +extern IMG_BIN ui_msg_frame_part_F_png[]; +extern IMG_BIN ui_msg_frame_part_10_png[]; +extern IMG_BIN ui_msg_frame_part_11_png[]; +extern IMG_BIN ui_msg_frame_part_12_png[]; +extern IMG_BIN ui_msg_frame_part_13_png[]; +extern IMG_BIN ui_msg_frame_part_14_png[]; +extern IMG_BIN ui_msg_frame_part_15_png[]; +extern IMG_BIN ui_msg_frame_part_16_png[]; +extern IMG_BIN ui_msg_frame_part_17_png[]; +extern IMG_BIN ui_msg_frame_part_18_png[]; +extern IMG_BIN ui_msg_frame_part_19_png[]; +extern IMG_BIN ui_msg_frame_part_1A_png[]; +extern IMG_BIN ui_msg_frame_part_1B_png[]; +extern IMG_BIN ui_msg_frame_part_1C_png[]; +extern IMG_BIN ui_msg_frame_part_1D_png[]; +extern IMG_BIN ui_msg_frame_part_1E_png[]; +extern IMG_BIN ui_msg_frame_part_1F_png[]; + +IMG_BIN* gMessageBoxFrameParts[2][16] = { + { + ui_msg_frame_part_0_png, ui_msg_frame_part_1_png, ui_msg_frame_part_2_png, ui_msg_frame_part_3_png, + ui_msg_frame_part_4_png, ui_msg_frame_part_5_png, ui_msg_frame_part_6_png, ui_msg_frame_part_7_png, + ui_msg_frame_part_8_png, ui_msg_frame_part_9_png, ui_msg_frame_part_A_png, ui_msg_frame_part_B_png, + ui_msg_frame_part_C_png, ui_msg_frame_part_D_png, ui_msg_frame_part_E_png, ui_msg_frame_part_F_png, + }, + { + ui_msg_frame_part_10_png, ui_msg_frame_part_11_png, ui_msg_frame_part_12_png, ui_msg_frame_part_13_png, + ui_msg_frame_part_14_png, ui_msg_frame_part_15_png, ui_msg_frame_part_16_png, ui_msg_frame_part_17_png, + ui_msg_frame_part_18_png, ui_msg_frame_part_19_png, ui_msg_frame_part_1A_png, ui_msg_frame_part_1B_png, + ui_msg_frame_part_1C_png, ui_msg_frame_part_1D_png, ui_msg_frame_part_1E_png, ui_msg_frame_part_1F_png, + } }; diff --git a/src/80850_len_3060.c b/src/80850_len_3060.c index 834e01c74b..fa79ddc354 100644 --- a/src/80850_len_3060.c +++ b/src/80850_len_3060.c @@ -541,7 +541,7 @@ void coin_counter_draw_content(UNK_TYPE arg0, s32 posX, s32 posY) { hud_element_set_render_pos(iconIndex, posX + 15, posY + 11); hud_element_draw_clipped(iconIndex); - draw_number(uiStatus->displayCoins, posX + 58, posY + 4, 1, 10, 255, 3); + draw_number(uiStatus->displayCoins, posX + 58, posY + 4, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); } void update_coin_counter(void) { diff --git a/src/8a860_len_3f30.c b/src/8a860_len_3f30.c index 4604ca9d18..3b8ef84b7a 100644 --- a/src/8a860_len_3f30.c +++ b/src/8a860_len_3f30.c @@ -281,7 +281,7 @@ void func_800F16CC(void) { hud_element_set_tint(D_8010D660, 255, 255, 255); } hud_element_set_script(D_8010D66C, &HES_AnimatedHandPointer); - D_8010D690 = 0xA; + D_8010D690 = MSG_PAL_STANDARD; D_8010D640 = 0x14; } @@ -375,7 +375,7 @@ s32 popup_menu_update(void) { if (!D_8010D68E) { D_8010D644 = 1; } - D_8010D690 = 0xA; + D_8010D690 = MSG_PAL_STANDARD; posX = D_8010D67C; posY = D_8010D67E; @@ -772,7 +772,7 @@ s32 popup_menu_update(void) { if (gPopupMenu->popupType == POPUP_MENU_SELL_ITEM) { hud_element_set_tint(D_8010D660, 160, 160, 160); } - D_8010D690 = 0xD; + D_8010D690 = MSG_PAL_0D; gPopupMenu->result = D_8010D648 + 1; return D_8010D648 + 1; @@ -918,7 +918,7 @@ s32 popup_menu_update(void) { break; } - D_8010D690 = 0xD; + D_8010D690 = MSG_PAL_0D; if (D_8010D699 == 1) { msgID = 0x1D0068; } else { @@ -993,7 +993,7 @@ s32 popup_menu_update(void) { set_window_update(WINDOW_ID_14, WINDOW_UPDATE_SHOW); break; } - D_8010D690 = 0xA; + D_8010D690 = MSG_PAL_STANDARD; D_8010D640 = 1; break; } @@ -1014,42 +1014,42 @@ void popup_menu_draw_title_contents( case POPUP_MENU_CLAIM_ITEM: switch (gPopupMenu->unk_31C) { case 0: - draw_msg(0x1D003F, baseX + 26, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1D003F, baseX + 26, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case 1: - draw_msg(0x1D0041, baseX + 4, baseY + 2, D_8010D650, 50, 1); - draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, 1, 50, D_8010D650, 3); - draw_number(2, baseX + 114, baseY + 2, 1, 50, D_8010D650, 3); + draw_msg(0x1D0041, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); + draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(2, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); break; case 2: - draw_msg(0x1D0042, baseX + 6, baseY + 2, D_8010D650, 50, 1); - draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, 1, 50, D_8010D650, 3); - draw_number(3, baseX + 114, baseY + 2, 1, 50, D_8010D650, 3); + draw_msg(0x1D0042, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); + draw_number(gPopupMenu->unk_320, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(3, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); break; } break; case POPUP_MENU_TRADE_FOR_BADGE: - draw_msg(0x1F0032, baseX + 27, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1F0032, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_READ_LETTER: - draw_msg(0x1F0033, baseX + 23, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1F0033, baseX + 23, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_TAKE_FROM_CHEST: - draw_msg(0x1D00D7, baseX + 4, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1D00D7, baseX + 4, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_READ_DIARY_PAGE: - draw_msg(0x1D00CE, baseX + 8, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1D00CE, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_READ_POSTCARD: - draw_msg(0x1D00D0, baseX + 6, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1D00D0, baseX + 6, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_USEKEY: - draw_msg(0x1D003F, baseX + 27, baseY + 2, D_8010D650, 50, 1); + draw_msg(0x1D003F, baseX + 27, baseY + 2, D_8010D650, MSG_PAL_32, DRAW_MSG_STYLE_MENU); break; case POPUP_MENU_SWITCH_PARTNER: case POPUP_MENU_UPGRADE_PARTNER: case POPUP_MENU_D: - draw_msg(0x1D003D, baseX + 8, baseY + 2, D_8010D650, 52, 1); + draw_msg(0x1D003D, baseX + 8, baseY + 2, D_8010D650, MSG_PAL_34, DRAW_MSG_STYLE_MENU); break; } } @@ -1068,72 +1068,72 @@ void func_800F4944(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s case POPUP_MENU_USE_ITEM: msgWidth = get_msg_width(0x1D0061, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0061, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D0061, baseX, baseY, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_SWITCH_PARTNER: msgWidth = get_msg_width(0x1D0063, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0063, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D0063, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_THROW_AWAY_ITEM: msgWidth = get_msg_width(0x1D0064, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0064, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D0064, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_TRADE_FOR_BADGE: msgWidth = get_msg_width(0x1D0070, 0); baseX += 64 - (msgWidth / 2); - draw_msg(0x1D0070, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D0070, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_UPGRADE_PARTNER: msgWidth = get_msg_width(0x1D006A, 0); baseX += 68 - (msgWidth / 2); - draw_msg(0x1D006A, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D006A, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_SELL_ITEM: msgWidth = get_msg_width(0x1D0065, 0); baseX += 60 - (msgWidth / 2); - draw_msg(0x1D0065, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D0065, baseX, baseY, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_CHECK_ITEM: msgWidth = get_msg_width(0x1D0066, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0066, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D0066, baseX, baseY, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_CLAIM_ITEM: msgWidth = get_msg_width(0x1D0067, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0067, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D0067, baseX, baseY, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_D: msgWidth = get_msg_width(0x1D006F, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D006F, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D006F, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_READ_LETTER: msgWidth = get_msg_width(0x1D006D, 0); baseX += 56 - (msgWidth / 2); - draw_msg(0x1D006D, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_TAKE_FROM_CHEST: msgWidth = get_msg_width(0x1D00D6, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D00D6, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D00D6, baseX, baseY, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_READ_DIARY_PAGE: msgWidth = get_msg_width(0x1D006C, 0); baseX += 64 - (msgWidth / 2); - draw_msg(0x1D006C, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D006C, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_READ_POSTCARD: msgWidth = get_msg_width(0x1D006D, 0); baseX += 64 - (msgWidth / 2); - draw_msg(0x1D006D, baseX, baseY - 4, 255, 0xF, 0); + draw_msg(0x1D006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0); break; case POPUP_MENU_USEKEY: msgWidth = get_msg_width(0x1D0062, 0); baseX += 72 - (msgWidth / 2); - draw_msg(0x1D0062, baseX, baseY, 255, 0xF, 0); + draw_msg(0x1D0062, baseX, baseY, 255, MSG_PAL_0F, 0); break; } } @@ -1147,7 +1147,7 @@ void func_800F4C1C(PopupMessage* popup, s32 x, s32 y) { if (D_8010D699 == 1) { msg = 0x1D0068; } - draw_msg(msg, xPos, yPos, 255, 15, 0); + draw_msg(msg, xPos, yPos, 255, MSG_PAL_0F, 0); } void func_800F4C6C(PopupMessage* popup, s32 x, s32 y) { @@ -1176,7 +1176,7 @@ void func_800F4C6C(PopupMessage* popup, s32 x, s32 y) { } void func_800F4CF0(PopupMessage* popup, s32 x, s32 y) { - draw_msg(0x1D006B, x + 16, y + 2, 255, 15, 0); + draw_msg(0x1D006B, x + 16, y + 2, 255, MSG_PAL_0F, 0); } void func_800F4D28(PopupMessage* popup, s32 x, s32 y) { @@ -1202,7 +1202,7 @@ void func_800F4D28(PopupMessage* popup, s32 x, s32 y) { type = gPopupMenu->popupType; if (type == POPUP_TYPE_TRADE_FOR_BADGE) { - draw_number(playerData->starPieces, x + 58, y + 4, 1, 10, D_8010D650, type); + draw_number(playerData->starPieces, x + 58, y + 4, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, D_8010D650, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); } } diff --git a/src/C50A0.c b/src/C50A0.c index d2b85633f1..18b64557b9 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -10,13 +10,6 @@ #define MAX_ITEM_ENTITIES 256 -typedef struct Rect { - /* 0x00 */ s32 ulx; - /* 0x04 */ s32 uly; - /* 0x08 */ s32 lrx; - /* 0x0C */ s32 lry; -} Rect; // size = 0x10 - extern SparkleScript SparkleScript_Coin; extern Gfx D_8014B870[]; @@ -2946,9 +2939,9 @@ void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY) { (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || (itemEntity->pickupMsgFlags & 0x30)) { - draw_msg(itemMsg, posX + 15, posY + offsetY, 255, 47, 0); + draw_msg(itemMsg, posX + 15, posY + offsetY, 255, MSG_PAL_2F, 0); } else { - draw_msg(itemMsg, posX + 40, posY + offsetY, 255, 47, 0); + draw_msg(itemMsg, posX + 40, posY + offsetY, 255, MSG_PAL_2F, 0); if (!(itemEntity->pickupMsgFlags & 0x30)) { hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); hud_element_draw_next(D_801568E0); @@ -2958,7 +2951,7 @@ void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY) { case 13: case 14: set_message_msg(gItemTable[D_801568EC].nameMsg, 0); - draw_msg(MSG_Menus_005F, posX + 40, posY + 4, 255, 47, 0); + draw_msg(MSG_Menus_005F, posX + 40, posY + 4, 255, MSG_PAL_2F, 0); hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); hud_element_draw_next(D_801568E0); break; @@ -2966,7 +2959,7 @@ void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY) { } void func_801369D0(ItemEntity* itemEntity, s32 x, s32 y) { - draw_msg(MSG_Menus_0060, x + 12, y + 4, 255, 52, 0); + draw_msg(MSG_Menus_0060, x + 12, y + 4, 255, MSG_PAL_34, 0); } void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) { @@ -2979,7 +2972,7 @@ void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) { case 10: case 11: itemMsg = itemData->shortDescMsg; - draw_msg(itemMsg, posX + 8, posY, 255, 10, 0); + draw_msg(itemMsg, posX + 8, posY, 255, MSG_PAL_STANDARD, 0); break; } } diff --git a/src/encounter.c b/src/encounter.c index 711fc8c194..1d168c5e99 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -1532,14 +1532,14 @@ void show_first_strike_message(void) { posX = (xOffset + screenWidthHalf) - (width / 2); draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(MSG_Menus_PlayerFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + draw_msg(MSG_Menus_PlayerFirstStrike, posX + 11, 75, 0xFF, MSG_PAL_STANDARD, 0); break; case 6: width = get_msg_width(MSG_Menus_PartnerFirstStrike, 0) + 24; posX = (xOffset + screenWidthHalf) - (width / 2); draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(MSG_Menus_PartnerFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + draw_msg(MSG_Menus_PartnerFirstStrike, posX + 11, 75, 0xFF, MSG_PAL_STANDARD, 0); break; } break; @@ -1549,7 +1549,7 @@ void show_first_strike_message(void) { posX = (xOffset + screenWidthHalf) - (width / 2); draw_box(0, 4, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - draw_msg(MSG_Menus_EnemyFirstStrike, posX + 11, 75, 0xFF, 0xA, 0); + draw_msg(MSG_Menus_EnemyFirstStrike, posX + 11, 75, 0xFF, MSG_PAL_STANDARD, 0); } break; } diff --git a/src/filemenu/filemenu_info.c b/src/filemenu/filemenu_info.c index 6e13f156d9..37699184cf 100644 --- a/src/filemenu/filemenu_info.c +++ b/src/filemenu/filemenu_info.c @@ -48,16 +48,16 @@ void filemenu_info_draw_message_contents( switch (menu->page) { case 0: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 10, baseY + 4, 255, 0, 0); - draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, 3); + draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_HAS_BEEN_DELETED), baseX + 49, baseY + 4, 255, 0, 0); break; case 2: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_COPY_FROM), baseX + 10, baseY + 4, 255, 0, 0); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 84, baseY + 4, 255, 0, 0); - draw_number(filemenu_loadedFileIdx + 1, baseX + 122, baseY + 6, 0, 0, 255, 3); + draw_number(filemenu_loadedFileIdx + 1, baseX + 122, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_TO), baseX + 10, baseY + 18, 255, 0, 0); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 30, baseY + 18, 255, 0, 0); - draw_number(filemenu_iterFileIdx + 1, baseX + 68, baseY + 20, 0, 0, 255, 3); + draw_number(filemenu_iterFileIdx + 1, baseX + 68, baseY + 20, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_PERIOD_34), baseX + 65, baseY + 18, 255, 0, 0); break; case 1: @@ -65,7 +65,7 @@ void filemenu_info_draw_message_contents( break; case 3: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 10, baseY + 4, 255, 0, 0); - draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, 3); + draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_HAS_BEEN_CREATED), baseX + 49, baseY + 4, 255, 0, 0); break; } diff --git a/src/filemenu/filemenu_main.c b/src/filemenu/filemenu_main.c index 9e8345fb33..5afeb133c2 100644 --- a/src/filemenu/filemenu_main.c +++ b/src/filemenu/filemenu_main.c @@ -419,8 +419,8 @@ void filemenu_draw_contents_file_info(s32 fileIdx, filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_LEVEL), baseX + 0x22, baseY + 10, 0xFF, 0xA, 1); temp_s3_2 = save->level; temp_s3 = temp_s3_2; - draw_number(temp_s3 / 10, baseX + 79, baseY + 10, 1, 0xA, 0xFF, 2); - draw_number(temp_s3 % 10, baseX + 88, baseY + 10, 1, 0xA, 0xFF, 2); + draw_number(temp_s3 / 10, baseX + 79, baseY + 10, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); + draw_number(temp_s3 % 10, baseX + 88, baseY + 10, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_PLAY_TIME), baseX + 11, baseY + 24, 0xFF, 0xA, 1); temp_s3_2 = save->timePlayed; @@ -428,14 +428,14 @@ void filemenu_draw_contents_file_info(s32 fileIdx, temp_s3_2 = MAX_DISPLAYED_TIME; } - draw_number((temp_s3_2 / 2160000) % 10, baseX + 76, baseY + 24, 1, 0xA, 0xFF, 2); + draw_number((temp_s3_2 / 2160000) % 10, baseX + 76, baseY + 24, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); temp_s1_2 = temp_s3_2 / 216000; - draw_number(temp_s1_2 - ((temp_s3_2 / 2160000) * 10), baseX + 85, baseY + 24, 1, 0xA, 0xFF, 2); + draw_number(temp_s1_2 - ((temp_s3_2 / 2160000) * 10), baseX + 85, baseY + 24, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_PERIOD_13), baseX + 95, baseY + 23, 0xFF, 0xA, 1); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_PERIOD_13), baseX + 95, baseY + 18, 0xFF, 0xA, 1); temp_s0_3 = temp_s3_2 / 36000; - draw_number(temp_s0_3 - (temp_s1_2 * 6), baseX + 100, baseY + 24, 1, 0xA, 0xFF, 2); - draw_number((temp_s3_2 / 3600) - (temp_s0_3 * 10), baseX + 109, baseY + 24, 1, 0xA, 0xFF, 2); + draw_number(temp_s0_3 - (temp_s1_2 * 6), baseX + 100, baseY + 24, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); + draw_number((temp_s3_2 / 3600) - (temp_s0_3 * 10), baseX + 109, baseY + 24, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE); for (i = 0; i < 7; i++) { if (i < gSaveSlotMetadata[fileIdx].spiritsRescued) { @@ -466,9 +466,9 @@ void filemenu_draw_contents_file_title( filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 5, baseY + 1, 255, 0, 1); if (!gSaveSlotHasData[fileIdx]) { - draw_number(fileIdx + 1, baseX + 33, baseY + 1, 1, 0, 255, 2); + draw_number(fileIdx + 1, baseX + 33, baseY + 1, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE); } else { - draw_number(fileIdx + 1, baseX + 33, baseY + 1, 1, 0, 255, 2); + draw_number(fileIdx + 1, baseX + 33, baseY + 1, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE); filemenu_draw_file_name( gSaveSlotMetadata[fileIdx].filename, ARRAY_COUNT(gSaveSlotMetadata[fileIdx].filename), diff --git a/src/filemenu/filemenu_msg.c b/src/filemenu/filemenu_msg.c index 323cda2287..5ceef2b303 100644 --- a/src/filemenu/filemenu_msg.c +++ b/src/filemenu/filemenu_msg.c @@ -2,7 +2,7 @@ #include "filemenu.h" extern MessageCharset* gMsgCharsets[5]; -extern UnkMsgStruct8 D_802F4560[]; +extern PAL_BIN D_802F4560[80][8]; u8 filemenu_msg_C6[] = { 0x33, 0x30, 0x21, 0x23, 0x25, 0xFD }; // SPACE[End] u8 filemenu_msg_C7[] = { 0xFD }; // [End] @@ -126,7 +126,7 @@ s32 filemenu_draw_char(s32 c, s32 x, s32 y, s32 flag1, s32 color, s32 flag2) { if (filemenu_char_color != color) { filemenu_char_color = color; - gDPLoadTLUT_pal16(gMasterGfxPos++, 0, &D_802F4560[color]); + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, D_802F4560[color]); } if (texSizeX >= 16 && texSizeX % 16 == 0) { diff --git a/src/filemenu/filemenu_yesno.c b/src/filemenu/filemenu_yesno.c index 145c0c906a..081df0b371 100644 --- a/src/filemenu/filemenu_yesno.c +++ b/src/filemenu/filemenu_yesno.c @@ -131,12 +131,12 @@ void filemenu_yesno_draw_prompt_contents( case 0: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_DELETE), baseX + 10, baseY + 4, 0xFF, 0, 0); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_22), baseX + 60, baseY + 4, 0xFF, 0, 0); - draw_number(filemenu_menus[0]->selected + 1, baseX + 98, baseY + 6, 0, 0, 0xFF, 3); + draw_number(filemenu_menus[0]->selected + 1, baseX + 98, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_QUESTION), baseX + 99, baseY + 4, 0xFF, 0, 0); break; case 3: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_22), baseX + 10, baseY + 4, 0xFF, 0, 0); - draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 0xFF, 3); + draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_WILL_BE_DELETED), baseX + 49, baseY + 4, 0xFF, 0, 0); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_OK_TO_COPY_TO_THIS_FILE), baseX + 10, baseY + 18, 0xFF, 0, 0); break; @@ -162,7 +162,7 @@ void filemenu_yesno_draw_prompt_contents( case 4: filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_START_GAME_WITH), baseX + 10, baseY + 4, 0xFF, 0, 0); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_22), baseX + 127, baseY + 4, 0xFF, 0, 0); - draw_number(filemenu_menus[0]->selected + 1, baseX + 165, baseY + 6, 0, 0, 0xFF, 3); + draw_number(filemenu_menus[0]->selected + 1, baseX + 165, baseY + 6, DRAW_NUMBER_CHARSET_NORMAL, MSG_PAL_WHITE, 0xFF, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_QUESTION), baseX + 162, baseY + 4, 0xFF, 0, 0); break; } diff --git a/src/msg.c b/src/msg.c index c25adff0d2..aadfba8c3d 100644 --- a/src/msg.c +++ b/src/msg.c @@ -2,6 +2,14 @@ #include "ld_addrs.h" #include "sprite.h" +enum RewindArrowStates { + REWIND_ARROW_STATE_INIT = 0, + REWIND_ARROW_STATE_GROW = 1, + REWIND_ARROW_STATE_NEUTRAL = 2, + REWIND_ARROW_STATE_CHANGE_COLOR = 3, + REWIND_ARROW_STATE_CHANGE_COLOR_BACK = 4, +}; + // todo consider symbol #define MSG_ROM_START 0x1B83000 @@ -17,7 +25,7 @@ u8 MessageSingular[] = { MSG_CHAR_READ_ENDL, MSG_CHAR_READ_END }; s16 gNextMessageBuffer = 0; -s32 D_8014C298[] = { 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF, }; +s32 gRewindArrowQuad[] = { 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF, }; Gfx D_8014C2D8[] = { gsDPSetCycleType(G_CYC_2CYCLE), @@ -54,7 +62,7 @@ MessageNumber gMsgNumbers[] = { } }; -Gfx D_8014C368[] = { +Gfx gMsgDlistInitDrawNumber[] = { gsDPPipeSync(), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetTextureFilter(G_TF_POINT), @@ -89,14 +97,14 @@ Vtx gMsgSpeechBoxRQuad[] = { { .v = { .ob = {0x100, 0xFFC0, 0}, .tc = {0x400, 0x800}, .cn = {191, 184, 176, 255} } }, }; -Vtx gMsgUnkArrowQuad[] = { +Vtx gMsgArrowQuad1[] = { { .v = { .ob = {0xFFF1, 0x001E, 0}, .tc = {0, 0}, .cn = {191, 184, 176, 255} } }, { .v = { .ob = {0xF, 0x001E, 0}, .tc = {0x1E0, 0}, .cn = {191, 184, 176, 255} } }, { .v = { .ob = {0xFFFF, 0, 0}, .tc = {0, 0x1E0}, .cn = {191, 184, 176, 255} } }, { .v = { .ob = {1, 0, 0}, .tc = {0x1E0, 0x1E0}, .cn = {191, 184, 176, 255} } }, }; -Vtx gMsgUnkQuad[] = { +Vtx gMsgArrowQuad2[] = { { .v = { .ob = {0xFFF1, 0x001E, 0}, .tc = {0, 0}, .cn = {191, 184, 176, 255} } }, { .v = { .ob = {0xF, 0x001E, 0}, .tc = {0x1E0, 0}, .cn = {191, 184, 176, 255} } }, { .v = { .ob = {0xFFFF, 0, 0}, .tc = {0, 0x1E0}, .cn = {191, 184, 176, 255} } }, @@ -143,32 +151,46 @@ extern s16 D_80155C98; extern Mtx gMessageWindowProjMatrix[2]; extern MessageDrawState* msg_drawState; -// another file? extern s16 D_802EB644[22]; -extern IMG_BIN D_802EB670[]; -extern IMG_BIN D_802EBA70[]; -extern IMG_BIN D_802EBB70[]; -extern PAL_BIN D_802EC3F0[]; // array of several in series -extern IMG_BIN D_802EC5F0[]; -extern IMG_BIN D_802EC670[]; -extern IMG_BIN D_802EC6F0[]; -extern IMG_BIN D_802EC770[]; -extern IMG_BIN D_802EC7F0[]; -extern IMG_BIN D_802EC870[]; -extern IMG_BIN D_802EC970[]; -extern IMG_BIN D_802ECAB0[]; -extern IMG_BIN D_802ECBF0[]; -extern IMG_BIN D_802ECCF0[]; -extern PAL_BIN D_802ECD10[]; -extern PAL_BIN D_802ECD30[]; + +extern IMG_BIN ui_msg_bubble_left_png[]; +extern IMG_BIN ui_msg_bubble_mid_png[]; +extern IMG_BIN ui_msg_bubble_right_png[]; +extern IMG_BIN ui_msg_arrow_png[]; +extern unsigned char ui_msg_palettes[16][32]; +extern IMG_BIN ui_msg_sign_corner_topleft_png[]; +extern IMG_BIN ui_msg_sign_corner_topright_png[]; +extern IMG_BIN ui_msg_sign_corner_bottomleft_png[]; +extern IMG_BIN ui_msg_sign_corner_bottomright_png[]; +extern IMG_BIN ui_msg_lamppost_corner_bottomright_png[]; +extern IMG_BIN ui_msg_sign_side_top_png[]; +extern IMG_BIN ui_msg_sign_side_left_png[]; +extern IMG_BIN ui_msg_sign_side_right_png[]; +extern IMG_BIN ui_msg_sign_side_bottom_png[]; +extern IMG_BIN ui_msg_sign_fill_png[]; +extern PAL_BIN ui_msg_sign_pal[]; +extern PAL_BIN ui_msg_lamppost_pal[]; +extern IMG_BIN ui_msg_background_png[]; +extern IMG_BIN ui_msg_rewind_arrow_png[]; +extern PAL_BIN ui_msg_rewind_arrow_pal[]; +extern IMG_BIN ui_msg_star_png[]; +extern IMG_BIN ui_msg_star_silhouette_png[]; extern IMG_BIN D_802ED550[]; extern PAL_BIN D_802ED670[]; -extern s32 D_802ED970; -extern s32 D_802EE8D0; +extern IMG_BIN D_802ED970[]; +extern IMG_BIN D_802EE8D0[]; extern MessageCharset* gMsgCharsets[5]; -extern s32 D_802F39D0; -extern UnkMsgStruct8 D_802F4560[]; +extern IMG_BIN D_802F39D0[]; +extern PAL_BIN D_802F4560[80][8]; + +extern s32 gMessageBoxFrameParts[2][16]; + +extern IMG_BIN ui_point_right_png[]; +extern PAL_BIN ui_point_right_pal[]; + +s32 draw_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, u16 clipULx, + u16 clipULy, u16 clipLRx, u16 clipRLy); s32 _update_message(MessagePrintState* printer); void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2); @@ -185,8 +207,7 @@ void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32 s32 posY); void msg_draw_prim_rect(u8 r, u8 g, u8 b, u8 a, u16 posX, u16 posY, u16 sizeX, u16 sizeY); void msg_draw_speech_arrow(MessagePrintState* printer); -void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, u8 bgAlpha, - u8 frameAlpha); +void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha); void msg_draw_speech_bubble(MessagePrintState* printer, s16 posX, s16 posY, s16 straightWidth, s16 curveWidth, s16 height, f32 scaleX, f32 scaleY, u8 opacity, s32 arg9); @@ -222,12 +243,12 @@ void load_font_data(Addr offset, u16 size, void* dest) { void load_font(s32 font) { if (font != D_80155C98) { if (font == 0) { - load_font_data(charset_standard_OFFSET, 0x5100, &D_802EE8D0); - load_font_data(charset_standard_pal_OFFSET, 0x500, &D_802F4560); + load_font_data(charset_standard_OFFSET, 0x5100, D_802EE8D0); + load_font_data(charset_standard_pal_OFFSET, 0x500, D_802F4560); } else if (font == 1) { - load_font_data(charset_title_OFFSET, 0xF60, &D_802ED970); - load_font_data(charset_subtitle_OFFSET, 0xB88, &D_802F39D0); - load_font_data(charset_credits_pal_OFFSET, 0x80, &D_802F4560); + load_font_data(charset_title_OFFSET, 0xF60, D_802ED970); + load_font_data(charset_subtitle_OFFSET, 0xB88, D_802F39D0); + load_font_data(charset_credits_pal_OFFSET, 0x80, D_802F4560); } } } @@ -348,7 +369,7 @@ s32 _update_message(MessagePrintState* printer) { if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { printer->madeChoice = 1; printer->windowState = MSG_WINDOW_STATE_PRINTING; - printer->unkCounter = 0; + printer->scrollingTime = 0; printer->stateFlags |= MSG_STATE_FLAG_20000; sfx_play_sound_with_params(SOUND_MENU_NEXT, 0, 0, 0); } else if (printer->cancelOption != 0xFF && (gGameStatusPtr->pressedButtons[0] & BUTTON_B)) { @@ -359,7 +380,7 @@ s32 _update_message(MessagePrintState* printer) { } printer->madeChoice = 1; printer->windowState = MSG_WINDOW_STATE_PRINTING; - printer->unkCounter = 0; + printer->scrollingTime = 0; printer->currentOption = printer->cancelOption; printer->stateFlags |= MSG_STATE_FLAG_20000; sfx_play_sound_with_params(SOUND_MENU_BACK, 0, 0, 0); @@ -367,14 +388,14 @@ s32 _update_message(MessagePrintState* printer) { if (printer->currentOption != printer->maxOption - 1) { printer->targetOption = printer->currentOption + 1; printer->windowState = MSG_WINDOW_STATE_SCROLLING_BACK; - printer->unkCounter = 1; + printer->scrollingTime = 1; sfx_play_sound_with_params(SOUND_MENU_CHANGE_SELECTION, 0, 0, 0); } } else if (gGameStatusPtr->heldButtons[0] & BUTTON_STICK_UP) { if (printer->currentOption != 0) { printer->targetOption = printer->currentOption - 1; printer->windowState = MSG_WINDOW_STATE_SCROLLING_BACK; - printer->unkCounter = 1; + printer->scrollingTime = 1; sfx_play_sound_with_params(SOUND_MENU_CHANGE_SELECTION, 0, 0, 0); } } @@ -383,8 +404,8 @@ s32 _update_message(MessagePrintState* printer) { break; } case MSG_WINDOW_STATE_SCROLLING_BACK: - printer->unkCounter++; - if (printer->unkCounter >= 5) { + printer->scrollingTime++; + if (printer->scrollingTime >= 5) { printer->windowState = 7; printer->currentOption = printer->targetOption; printer->selectedOption = printer->currentOption; @@ -509,8 +530,8 @@ s32 _update_message(MessagePrintState* printer) { printer->windowState = MSG_WINDOW_STATE_C; if (printer->unkArraySize == printer->currentLine) { printer->windowState = MSG_WINDOW_STATE_WAITING; - printer->rewindArrowAnimState = 0; - printer->rewindArrowBlinkCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_INIT; + printer->rewindArrowCounter = 0; } } } @@ -618,8 +639,633 @@ void msg_play_speech_sound(MessagePrintState* printer, u8 character) { } } +#ifdef NON_EQUIVALENT +void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { + u8 style; + u8 postcard; + u8 arg; + u8 argQ; + u8 argW; + u8 argE; + u8 sp10[4]; + s32 addr; + s16 offset; + s32 i; + u8* romAddr; + s32 temp; + s32 romEnd; + s32 t; + s8 s8 = arg2 & 1; + u8* printBuf = &printer->printBuffer[printer->printBufferPos]; + u8* srcBuf = &printer->srcBuffer[printer->srcBufferPos]; + do { + u8 c = *srcBuf++; // a1 + u8 nextArg = *srcBuf; // a2 + switch (c) { + case MSG_CHAR_READ_ENDL: + *printBuf++ = MSG_CHAR_PRINT_ENDL; + printer->lineCount += (u8)printer->sizeScale; + break; + case MSG_CHAR_READ_WAIT: + printer->windowState = 5; + printer->windowState = 5; + printer->delayFlags |= 1; + printer->delayFlags &= ~2; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_INIT; + printer->rewindArrowBlinkCounter = 0; + printer->stateFlags &= ~0x80; + printer->stateFlags &= ~0x100; + if (printer->style != 0xF) { + sfx_play_sound_with_params(SOUND_CB, 0, 0, 0); + } + break; + case MSG_CHAR_READ_PAUSE: + printer->currentPrintDelay = *srcBuf++; + printer->delayFlags |= 1; + printer->stateFlags &= ~0x80; + break; + case MSG_CHAR_READ_VARIANT0: + case MSG_CHAR_READ_VARIANT1: + case MSG_CHAR_READ_VARIANT2: + case MSG_CHAR_READ_VARIANT3: + *printBuf++ = MSG_CHAR_PRINT_VARIANT0 + (c - MSG_CHAR_READ_VARIANT0); + printer->fontVariant = c + 13; + break; + case MSG_CHAR_READ_SPACE: + *printBuf++ = MSG_CHAR_PRINT_SPACE; + break; + case MSG_CHAR_READ_FULL_SPACE: + *printBuf++ = MSG_CHAR_PRINT_FULL_SPACE; + break; + case MSG_CHAR_READ_HALF_SPACE: + *printBuf++ = MSG_CHAR_PRINT_HALF_SPACE; + break; + case MSG_CHAR_READ_UNK_CHAR_FA: + *printBuf++ = MSG_CHAR_PRINT_UNK_CHAR_FA; + arg1--; + break; + case MSG_CHAR_READ_NEXT: + if (printer->lineCount != 0) { + printer->lineEndPos[printer->currentLine] = printer->curLinePos; + printer->currentLine++; + *printBuf++ = MSG_CHAR_PRINT_NEXT; + printer->nextLinePos = printer->curLinePos + (gMsgCharsets[printer->font]->newLineY + D_802EB644[printer->style]) * printer->lineCount; + printer->windowState = 6; + printer->delayFlags |= 1; + } + printer->lineCount = 0; + break; + case MSG_CHAR_READ_STYLE: + *printBuf++ = MSG_CHAR_PRINT_STYLE; + arg = *srcBuf++; + printer->style = arg; + *printBuf++ = arg; + printer->fadeInCounter = 0; + switch (arg) { + case MSG_STYLE_RIGHT: + case MSG_STYLE_LEFT: + case MSG_STYLE_CENTER: + case MSG_STYLE_TATTLE: + if (arg == MSG_STYLE_RIGHT || arg == MSG_STYLE_LEFT || arg == MSG_STYLE_CENTER) { + printer->maxLinesPerPage = 3; + } + printer->delayFlags |= 1; + printer->stateFlags |= 0x800800; + if (nextArg != 0xC3) { + printer->stateFlags |= 0x80; + } + printer->speedSoundIDA = SOUND_11; + printer->speedSoundIDB = SOUND_12; + printer->windowState = 2; + break; + case MSG_STYLE_CHOICE: + printer->windowBasePos.x = *srcBuf++; + printer->windowBasePos.y = *srcBuf++; + printer->windowSize.x = *srcBuf++; + printer->windowSize.y = *srcBuf++; + printer->windowState = 2; + printer->stateFlags |= 0x800; + break; + case MSG_STYLE_INSPECT: + case MSG_STYLE_NARRATE: + case MSG_STYLE_F: + if (!s8) { + printer->windowBasePos.x = 20; + printer->windowBasePos.y = 28; + printer->windowSize.y = 58; + printer->windowSize.x = 280; + printer->windowState = 2; + printer->stateFlags |= 0x800; + printer->delayFlags |= 1; + if (arg == MSG_STYLE_INSPECT) { + sfx_play_sound_with_params(SOUND_21C, 0, 0, 0); + } + } + break; + case MSG_STYLE_UPGRADE: + printer->windowBasePos.x = *srcBuf++; + printer->windowBasePos.y = *srcBuf++; + printer->windowSize.x = *srcBuf++; + printer->windowSize.y = *srcBuf++; + sfx_play_sound_with_params(SOUND_21C, 0, 0, 0); + printer->windowState = 2; + printer->delayFlags |= 1; + printer->stateFlags |= 0x800; + break; + case MSG_STYLE_LAMPPOST: + printer->windowSize.y = *srcBuf++; + /* fallthrough */ + case MSG_STYLE_SIGN: + if (!s8) { + printer->windowState = 2; + printer->stateFlags |= 0x800; + printer->delayFlags |= 1; + } + break; + case MSG_STYLE_POSTCARD: + arg = *srcBuf++; + printer->windowState = 2; + printer->stateFlags |= 0x800; + printer->delayFlags |= 1; + printer->letterBackgroundImg = heap_malloc(7875); + romAddr = charset_standard_OFFSET + (s32)(&D_0000B290); + dma_copy(romAddr, romAddr + 7875, printer->letterBackgroundImg); + printer->letterBackgroundPal = heap_malloc(0x20); + romAddr = charset_standard_OFFSET + (s32)(&D_0000D158); + dma_copy(romAddr, romAddr + 0x20, printer->letterBackgroundPal); + printer->letterContentImg = heap_malloc(0x19FA); + romAddr = charset_standard_OFFSET + (s32)(D_802EB5C0[arg]); + dma_copy(romAddr, romAddr + 0x19FA, printer->letterContentImg); + printer->letterContentPal = heap_malloc(0x200); + romAddr = charset_standard_OFFSET + (s32)(D_802EB5F0[arg]); + dma_copy(romAddr, romAddr + 0x200, printer->letterContentPal); + break; + case MSG_STYLE_POPUP: + case MSG_STYLE_B: + printer->windowSize.x = printer->msgWidth + 32; + printer->windowSize.y = 40; + printer->stateFlags |= 0x8000; + if (!s8) { + printer->stateFlags |= 0x8800; + printer->windowState = 0xD; + printer->delayFlags |= 1; + } + break; + case MSG_STYLE_EPILOGUE: + printer->windowState = 4; + break; + } + if ((printer->delayFlags & 1) && (printer->delayFlags & 6)) { + printer->delayFlags &= ~1; + } + break; + case MSG_CHAR_READ_END: + *printBuf++ = MSG_CHAR_PRINT_END; + if (printer->stateFlags & 0x800) { + if (printer->stateFlags & 0x1000) { + if (printer->closedWritebackBool != NULL) { + *printer->closedWritebackBool = TRUE; + } + } + if (printer->style != MSG_STYLE_POPUP && printer->style != MSG_STYLE_B) { + printer->windowState = 3; + } else { + printer->windowState = 0xE; + } + printer->fadeOutCounter = 0; + } else { + printer->stateFlags |= 1; + } + printer->delayFlags |= 1; + printer->delayFlags &= ~2; + break; + case MSG_CHAR_READ_FUNCTION: + switch (*srcBuf++) { + case MSG_READ_FUNC_FONT: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_FONT; + *printBuf++ = printer->font = *srcBuf++; + break; + case MSG_READ_FUNC_VARIANT: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_VARIANT; + *printBuf++ = printer->fontVariant = *srcBuf++; + break; + case MSG_READ_FUNC_COLOR: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_COLOR; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_NO_SKIP: + printer->stateFlags |= 0x10; + break; + case MSG_READ_FUNC_INPUT_OFF: + printer->stateFlags |= 0x20; + printer->stateFlags &= ~0x100; + break; + case MSG_READ_FUNC_INPUT_ON: + printer->stateFlags &= ~0x20; + break; + case MSG_READ_FUNC_SPACING: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SPACING; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_DELAY_OFF: + printer->delayFlags |= 2; + break; + case MSG_READ_FUNC_DELAY_ON: + printer->delayFlags &= ~2; + printer->delayFlags |= 1; + break; + case MSG_READ_FUNC_SCROLL: + printer->lineEndPos[printer->currentLine] = printer->curLinePos; + printer->currentLine++; + *printBuf++ = MSG_CHAR_PRINT_NEXT; + arg = *srcBuf++; + printer->nextLinePos = printer->curLinePos + (gMsgCharsets[printer->font]->newLineY + D_802EB644[printer->style]) * arg; + printer->windowState = 6; + printer->delayFlags |= 1; + printer->lineCount = 0; + break; + case MSG_READ_FUNC_SIZE: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SIZE; + *printBuf++ = *srcBuf++; + *printBuf++ = arg = *srcBuf++; + printer->sizeScale = (arg >> 4) + (arg & 0xF) * 0.0625f; + break; + case MSG_READ_FUNC_SIZE_RESET: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SIZE_RESET; + printer->sizeScale = 1.0f; + break; + case MSG_READ_FUNC_SPEED: + printer->printDelayTime = *srcBuf++; + printer->charsPerChunk = *srcBuf++; + break; + case MSG_READ_FUNC_SET_X: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SET_X; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_SET_Y: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SET_Y; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_RIGHT: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_RIGHT; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_DOWN: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_DOWN; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_UP: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_UP; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_INLINE_IMAGE: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_INLINE_IMAGE; + *printBuf++ = *srcBuf++; + arg1--; + printer->currentPrintDelay = (u8)printer->printDelayTime; + if (arg1 <= 0) { + printer->delayFlags |= 1; + } + if (printer->delayFlags & 6) { + printer->delayFlags &= ~1; + } + break; + case MSG_READ_FUNC_ANIM_SPRITE: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_ANIM_SPRITE; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + printer->currentPrintDelay = (u8)printer->printDelayTime; + if (--arg1 <= 0) { + printer->delayFlags |= 1; + } + if (printer->delayFlags & 6) { + printer->delayFlags &= ~1; + } + break; + case MSG_READ_FUNC_ITEM_ICON: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_ITEM_ICON; + + arg = *srcBuf++; + argQ = *srcBuf++; + offset = arg << 8 | argQ; + + D_8015131C = D_80159B50; + dma_copy(icon_present_ROM_START + gItemIconRasterOffsets[offset], icon_present_ROM_START + gItemIconRasterOffsets[offset] + 0x200, D_80159B50); + romEnd = icon_present_ROM_START + gItemIconPaletteOffsets[offset] + 0x20; + dma_copy(icon_present_ROM_START + gItemIconPaletteOffsets[offset], romEnd, D_8015C7E0); + printer->currentPrintDelay = printer->printDelayTime; + if (--arg1 <= 0) { + printer->delayFlags |= 1; + } + if (printer->delayFlags & 6) { + printer->delayFlags &= ~1; + } + break; + case MSG_READ_FUNC_IMAGE: + printer->currentImageIndex = *srcBuf++; + arg = *srcBuf++; + argQ = *srcBuf++; + printer->varImageScreenPos.x = arg << 8 | argQ; + printer->varImageScreenPos.y = *srcBuf++; + printer->varImgHasBorder = *srcBuf++; + printer->varImgFinalAlpha = *srcBuf++; + printer->varImgAlphaFadeStep = *srcBuf++; + printer->varImageDisplayState = 0; + printer->varImageFadeTimer = 0; + if (--arg1 <= 0) { + printer->delayFlags |= 1; + } + if (printer->delayFlags & 6) { + printer->delayFlags &= ~1; + } + break; + case MSG_READ_FUNC_HIDE_IMAGE: + arg = *srcBuf++; + if (arg != 0) { + printer->varImageDisplayState = 2; + printer->varImgAlphaFadeStep = arg; + printer->varImageFadeTimer = 0; + } else { + printer->varImageScreenPos.x = 0; + } + break; + case MSG_READ_FUNC_ANIM_DELAY: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_ANIM_DELAY; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + printer->delayFlags |= 4; + break; + case MSG_READ_FUNC_ANIM_LOOP: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_ANIM_LOOP; + *printBuf++ = *srcBuf++; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_ANIM_DONE: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_ANIM_DONE; + *printBuf++ = *srcBuf++; + printer->delayFlags &= ~4; + if (--arg1 <= 0) { + printer->delayFlags |= 1; + } + break; + case MSG_READ_FUNC_SET_CURSOR: + arg = *srcBuf++; + argQ = *srcBuf++; + argW = *srcBuf++; + argE = *srcBuf++; + printer->cursorPosX[arg] = argQ << 8 | argW; + printer->cursorPosY[arg] = argE; + break; + case MSG_READ_FUNC_CURSOR: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_CURSOR; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_END_CHOICE: + sfx_play_sound_with_params(SOUND_MENU_START_TUTORIAL, 0, 0, 0); + printer->maxOption = *srcBuf++; + printer->madeChoice = 0; + printer->currentOption = 0; + printer->selectedOption = 0; + printer->windowState = 7; + printer->delayFlags |= 1; + break; + case MSG_READ_FUNC_SET_CANCEL: + printer->cancelOption = *srcBuf++; + break; + case MSG_READ_FUNC_OPTION: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_OPTION; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_RESET_GFX: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_RESET_GFX; + break; + case MSG_READ_FUNC_YIELD: + printer->stateFlags |= 0x100040; + printer->delayFlags |= 1; + printer->stateFlags &= ~0x80; + printer->stateFlags &= ~0x100; + break; + case MSG_READ_FUNC_SAVE_POS: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SAVE_POS; + break; + case MSG_READ_FUNC_RESTORE_POS: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_RESTORE_POS; + break; + case MSG_READ_FUNC_SAVE_COLOR: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_SAVE_COLOR; + break; + case MSG_READ_FUNC_RESTORE_COLOR: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_RESTORE_COLOR; + break; + case MSG_READ_FUNC_START_FX: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_START_FX; + arg = *srcBuf++; + switch (arg) { + case MSG_FX_SHAKE: + case MSG_FX_WAVE: + case MSG_FX_NOISE_OUTLINE: + case MSG_FX_RAINBOW: + case MSG_FX_GLOBAL_WAVE: + case MSG_FX_GLOBAL_RAINBOW: + case MSG_FX_RISE_PRINT: + case MSG_FX_GROW_PRINT: + case MSG_FX_SIZE_JITTER: + case MSG_FX_SIZE_WAVE: + case MSG_FX_DROP_SHADOW: + *printBuf++ = arg; + break; + case MSG_FX_STATIC: + case MSG_FX_BLUR: + case MSG_FX_DITHER_FADE: + *printBuf++ = arg; + *printBuf++ = *srcBuf++; + break; + } + break; + case MSG_READ_FUNC_END_FX: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_END_FX; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_VAR: + arg = *srcBuf++; + srcBuf -= 3; + if (printer->varBufferReadPos == 0) { + printer->unk_52A = printer->fontVariant; + *printBuf++ = MSG_CHAR_PRINT_VARIANT0; + } + do { + s32 a0 = 1; + argQ = gMessageMsgVars[arg][printer->varBufferReadPos++]; + if (argQ >= MSG_CONTROL_CHAR) { + switch (argQ) { + case MSG_CHAR_READ_ENDL: + if (gMessageMsgVars[arg][printer->varBufferReadPos] != MSG_CHAR_READ_END) { + sp10[0] = MSG_CHAR_PRINT_ENDL; + } else { + a0 = 0; + } + break; + case MSG_CHAR_READ_VARIANT0: + case MSG_CHAR_READ_VARIANT1: + case MSG_CHAR_READ_VARIANT2: + case MSG_CHAR_READ_VARIANT3: + sp10[0] = (argQ - MSG_CHAR_READ_VARIANT0) + MSG_CHAR_PRINT_VARIANT0; + temp = argQ - MSG_CHAR_READ_VARIANT0 + 0x200; + printer->fontVariant = temp; + break; + case MSG_CHAR_READ_SPACE: + sp10[0] = MSG_CHAR_PRINT_SPACE; + break; + case MSG_CHAR_READ_FUNCTION: + sp10[0] = MSG_CHAR_PRINT_FUNCTION; + switch (gMessageMsgVars[arg][printer->varBufferReadPos++]) { + case MSG_READ_FUNC_COLOR: + sp10[1] = MSG_PRINT_FUNC_COLOR; + sp10[2] = gMessageMsgVars[arg][printer->varBufferReadPos++]; + a0 = 3; + break; + case MSG_READ_FUNC_SAVE_COLOR: + sp10[1] = MSG_PRINT_FUNC_SAVE_COLOR; + a0 = 2; + break; + case MSG_READ_FUNC_RESTORE_COLOR: + sp10[1] = MSG_PRINT_FUNC_RESTORE_COLOR; + a0 = 2; + break; + } + break; + } + } else { + sp10[0] = argQ; + } + for (i = 0; i < a0; i++) { + arg1--; + *printBuf++ = sp10[i]; + } + if (gMessageMsgVars[arg][printer->varBufferReadPos] == MSG_CHAR_READ_END) { + srcBuf += 3; + printer->varBufferReadPos = 0; + printer->fontVariant = printer->unk_52A; + *printBuf++ = MSG_CHAR_PRINT_VARIANT0 + printer->fontVariant; + break; + } + } while ((printer->delayFlags & 6) || arg1 > 0); + if (!(printer->delayFlags & 6) && arg1 <= 0) { + printer->delayFlags |= 1; + printer->currentPrintDelay = printer->printDelayTime; + } + msg_play_speech_sound(printer, c); + if (printer->stateFlags & 0x800000) { + printer->stateFlags |= 0x80; + } + break; + case MSG_READ_FUNC_VOICE: + arg = *srcBuf++; + printer->speechSoundType = arg; + printer->speedSoundIDA = D_802EB620[arg].unk_00; + printer->speedSoundIDB = D_802EB620[arg].unk_04; + printer->speechVolumePitch = D_802EB620[arg].unk_08; + break; + case MSG_READ_FUNC_VOLUME: + printer->volume = *srcBuf++; + break; + case MSG_READ_FUNC_CUSTOM_VOICE: + arg = *srcBuf++; + argQ = *srcBuf++; + argW = *srcBuf++; + argE = *srcBuf++; + printer->speedSoundIDA = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE); + arg = *srcBuf++; + argQ = *srcBuf++; + argW = *srcBuf++; + argE = *srcBuf++; + printer->speedSoundIDB = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE); + break; + case MSG_READ_FUNC_CENTER_X: + *printBuf++ = MSG_CHAR_PRINT_FUNCTION; + *printBuf++ = MSG_PRINT_FUNC_CENTER_X; + *printBuf++ = *srcBuf++; + break; + case MSG_READ_FUNC_SET_REWIND: + if (*srcBuf++) { + printer->stateFlags |= 0x40000; + } else { + printer->stateFlags &= ~0x40000; + } + break; + case MSG_READ_FUNC_ENABLE_CDOWN_NEXT: + printer->stateFlags |= 0x80000; + break; + } + break; + default: + *printBuf++ = c; + arg1--; + if (printer->fontVariant == 0 && c == 0xC3) { + printer->stateFlags &= ~0x80; + } else { + msg_play_speech_sound(printer, c); + if (printer->stateFlags & 0x800000) { + printer->stateFlags |= 0x80; + } + } + break; + } + + if (!(printer->delayFlags & 6) && arg1 <= 0) { + printer->delayFlags |= 1; + printer->currentPrintDelay = (u8)printer->printDelayTime; + } + if (!(printer->delayFlags & 1)) { + continue; + } + if (!s8) { + break; + } + arg1 = 10000; + if (srcBuf[-1] == MSG_CHAR_READ_END) { + break; + } + } while (TRUE); + + printer->printBufferPos = printBuf - printer->printBuffer; + printer->delayFlags = 0; + printer->srcBufferPos = srcBuf - (s32)printer->srcBuffer; + *printBuf = MSG_CHAR_PRINT_END; +} +#else INCLUDE_ASM(s32, "msg", msg_copy_to_print_buffer); +#endif void initialize_printer(MessagePrintState* printer, s32 arg1, s32 arg2) { s32 i; @@ -636,8 +1282,8 @@ void initialize_printer(MessagePrintState* printer, s32 arg1, s32 arg2) { printer->windowOffsetPos.y = 0; printer->windowBasePos.x = 0; printer->windowBasePos.y = 0; - printer->rewindArrowAnimState = 0; - printer->rewindArrowBlinkCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_INIT; + printer->rewindArrowCounter = 0; printer->rewindArrowPos.x = 0; printer->rewindArrowPos.y = 0; printer->currentLine = 0; @@ -670,7 +1316,7 @@ void initialize_printer(MessagePrintState* printer, s32 arg1, s32 arg2) { printer->speechSoundType = -1; printer->speechPan = 64; printer->volume = 75; - printer->rewindArrowBlinkCounter = 0; + printer->rewindArrowCounter = 0; printer->style = 0; printer->fadeInCounter = 0; printer->openStartPos.x = 0; @@ -819,24 +1465,27 @@ void set_message_images(MessageImageData* images) { *gMsgVarImages = images; } -// loop crap -#ifdef NON_EQUIVALENT void set_message_msg(s32 msgID, s32 index) { - u8* buffer = msgID; u8* mallocSpace = NULL; - u8* it; s32 i; - s32 new_var; + u8* msgVars; if (msgID >= 0) { - buffer = general_heap_malloc(0x400); - dma_load_msg(msgID, buffer); - mallocSpace = buffer; + mallocSpace = general_heap_malloc(0x400); + dma_load_msg(msgID, mallocSpace); + msgID = (s32)mallocSpace; } - for (i = 0; i < ARRAY_COUNT(gMessageMsgVars[index]); i++) { - gMessageMsgVars[index][i] = buffer[i]; - if (buffer[i] == 0xFD) { + i = 0; + msgVars = gMessageMsgVars[index]; + while (TRUE) { + msgVars[i] = ((u8*)msgID)[i]; + if (((u8*)msgID)[i] == 0xFD) { + break; + } + + if (++i >= 32) { + msgVars[i - 1] = 0xFD; break; } } @@ -845,9 +1494,6 @@ void set_message_msg(s32 msgID, s32 index) { general_heap_free(mallocSpace); } } -#else -INCLUDE_ASM(s32, "msg", set_message_msg); -#endif void set_message_value(s32 value, s32 index) { s8 strBuffer[ARRAY_COUNT(gMessageMsgVars[index])]; @@ -957,8 +1603,295 @@ s32 msg_get_draw_char_width(s32 character, s32 charset, s32 variation, f32 msgSc return baseWidth * msgScale; } -INCLUDE_ASM(void, "msg", get_msg_properties, s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, - s32* maxLinesPerPage, s32* arg6, s32 charset); +void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines, s32* maxLinesPerPage, s32* numSpaces, u16 charset) { + u8* message; + s32 i; + u16 pageCount; + s32 linesOnPage; + u8 stop; + s32 lineWidth; + s32 charCount; + u16 lineIndex; + u16 endl; + s32 msgStyle; + s32 functionCode; + u8 packedScaleY; + f32 scale; + s32 temp; + + u16 lineWidths[32]; + u16 lineCharNumbers[32]; + u16 linesPerPage[32]; + s32 lineCount; + u16 varIndex; + u16 font; + u8* buffer; + u16 maxLineWidth; + u16 maxCharsPerLine; + u16 maxLinesOnPage; + u16 spaceCount; + + scale = 1.0f; + lineIndex = 0; + pageCount = 0; + varIndex = 0; + font = 0; + buffer = NULL; + maxLineWidth = 0; + maxCharsPerLine = 0; + maxLinesOnPage = 0; + spaceCount = 0; + + if (msgID == 0) { + return; + } + + if (msgID >= 0) { + buffer = general_heap_malloc(0x400); + dma_load_msg(msgID, buffer); + message = buffer; + } else { + message = (u8*)msgID; + } + + if (charset & 1) { + font = 1; + } + + i = 0; + stop = FALSE; + lineWidth = 0; + linesOnPage = 0; + charCount = 0; + endl = TRUE; + lineCount = 0; + + do { + u8 c = message[i++]; + switch (c) { + case MSG_CHAR_READ_VARIANT0: + case MSG_CHAR_READ_VARIANT1: + case MSG_CHAR_READ_VARIANT2: + case MSG_CHAR_READ_VARIANT3: + varIndex = c - MSG_CHAR_READ_VARIANT0; + break; + case MSG_CHAR_READ_PAUSE: + i++; + break; + case MSG_CHAR_READ_WAIT: + case MSG_CHAR_READ_NEXT: + if (linesOnPage != 0) { + linesPerPage[pageCount] = linesOnPage; + pageCount++; + if (pageCount >= 32) { + stop = 1; + } + linesOnPage = 0; + } + break; + case MSG_CHAR_READ_ENDL: + lineWidths[lineIndex] = lineWidth; + lineCharNumbers[lineIndex] = charCount; + lineIndex++; + if (lineIndex >= 32) { + stop = 1; + } + lineWidth = 0; + charCount = 0; + endl = TRUE; + break; + case MSG_CHAR_READ_STYLE: + msgStyle = message[i++]; + switch (msgStyle) { + case MSG_STYLE_CHOICE: + i += 4; + break; + case MSG_STYLE_POSTCARD: + i++; + break; + case MSG_STYLE_RIGHT: + case MSG_STYLE_LEFT: + case MSG_STYLE_CENTER: + case MSG_STYLE_TATTLE: + case MSG_STYLE_INSPECT: + case MSG_STYLE_SIGN: + case MSG_STYLE_LAMPPOST: + case MSG_STYLE_POPUP: + case MSG_STYLE_B: + break; + } + break; + case MSG_CHAR_READ_END: + lineWidths[lineIndex] = lineWidth; + lineCharNumbers[lineIndex] = charCount; + lineIndex++; + stop = TRUE; + break; + case MSG_CHAR_READ_FUNCTION: + functionCode = message[i++]; + switch (functionCode) { + case MSG_READ_FUNC_FONT: + font = message[i++]; + break; + case MSG_READ_FUNC_RESET_GFX: + case MSG_READ_FUNC_NO_SKIP: + case MSG_READ_FUNC_INPUT_OFF: + case MSG_READ_FUNC_INPUT_ON: + case MSG_READ_FUNC_DELAY_OFF: + case MSG_READ_FUNC_DELAY_ON: + case MSG_READ_FUNC_SAVE_POS: + case MSG_READ_FUNC_RESTORE_POS: + case MSG_READ_FUNC_SAVE_COLOR: + case MSG_READ_FUNC_RESTORE_COLOR: + case MSG_READ_FUNC_ENABLE_CDOWN_NEXT: + break; + default: + stop = TRUE; + break; + case MSG_READ_FUNC_CUSTOM_VOICE: + i++; + /* fallthrough */ + temp = 4; + case MSG_READ_FUNC_IMAGE: + i += temp; + /* fallthrough */ + case MSG_READ_FUNC_ANIM_SPRITE: + case MSG_READ_FUNC_ANIM_DELAY: + i++; + /* fallthrough */ + case MSG_READ_FUNC_SPEED: + case MSG_READ_FUNC_SET_X: + case MSG_READ_FUNC_ANIM_LOOP: + i++; + /* fallthrough */ + case MSG_READ_FUNC_COLOR: + case MSG_READ_FUNC_SPACING: + case MSG_READ_FUNC_SCROLL: + case MSG_READ_FUNC_SET_Y: + case MSG_READ_FUNC_RIGHT: + case MSG_READ_FUNC_DOWN: + case MSG_READ_FUNC_UP: + case MSG_READ_FUNC_INLINE_IMAGE: + case MSG_READ_FUNC_ITEM_ICON: + case MSG_READ_FUNC_HIDE_IMAGE: + case MSG_READ_FUNC_ANIM_DONE: + case MSG_READ_FUNC_CURSOR: + case MSG_READ_FUNC_END_CHOICE: + case MSG_READ_FUNC_SET_CANCEL: + case MSG_READ_FUNC_OPTION: + case MSG_READ_FUNC_END_FX: + case MSG_READ_FUNC_SET_REWIND: + case MSG_READ_FUNC_VOICE: + i++; + break; + case MSG_READ_FUNC_CENTER_X: + if (message[i] == 0) { + stop = TRUE; + } + i++; + break; + case MSG_READ_FUNC_YIELD: + if (message[i] == MSG_CHAR_READ_END) { + stop = TRUE; + } + break; + case MSG_READ_FUNC_SIZE: + packedScaleY = message[i + 1]; + i += 2; + scale = (f32)(packedScaleY >> 4) + ((packedScaleY & 0xF) * 0.0625f); + break; + case MSG_READ_FUNC_SIZE_RESET: + scale = 1.0f; + break; + case MSG_READ_FUNC_START_FX: + switch (message[i++]) { + case MSG_FX_STATIC: + case MSG_FX_BLUR: + case MSG_FX_DITHER_FADE: + i++; + break; + case MSG_FX_SHAKE: + case MSG_FX_WAVE: + case MSG_FX_NOISE_OUTLINE: + case MSG_FX_RAINBOW: + case MSG_FX_GLOBAL_WAVE: + case MSG_FX_GLOBAL_RAINBOW: + case MSG_FX_RISE_PRINT: + case MSG_FX_GROW_PRINT: + case MSG_FX_SIZE_JITTER: + case MSG_FX_SIZE_WAVE: + case MSG_FX_DROP_SHADOW: + break; + } + break; + case MSG_READ_FUNC_VAR: + lineWidth += get_msg_width((s32)gMessageMsgVars[message[i++]], 0); + break; + } + break; + case MSG_CHAR_READ_UNK_CHAR_FA: + break; + case MSG_CHAR_READ_SPACE: + case MSG_CHAR_READ_FULL_SPACE: + case MSG_CHAR_READ_HALF_SPACE: + spaceCount++; + /* fallthrough */ + default: + if (endl) { + lineCount++; + linesOnPage++; + endl = FALSE; + } + lineWidth += msg_get_print_char_width(c, font, varIndex, scale, 0, 1); + charCount++; + break; + } + } while (!stop); + + if (buffer != NULL) { + general_heap_free(buffer); + } + + for (i = 0; i < lineIndex; i++) { + if (maxLineWidth < lineWidths[i]) { + maxLineWidth = lineWidths[i]; + } + if (maxCharsPerLine < lineCharNumbers[i]) { + maxCharsPerLine = lineCharNumbers[i]; + } + } + + if (pageCount == 0) { + maxLinesOnPage = linesOnPage; + } else { + for (i = 0; i < pageCount; i++) { + if (maxLinesOnPage < linesPerPage[i]) { + maxLinesOnPage = linesPerPage[i]; + } + } + } + + if (width != NULL) { + *width = maxLineWidth; + } + if (height != NULL) { + *height = lineCount * gMsgCharsets[font]->newLineY; + } + if (maxLineChars != NULL) { + *maxLineChars = maxCharsPerLine; + } + if (numLines != NULL) { + *numLines = lineCount; + } + if (maxLinesPerPage != NULL) { + *maxLinesPerPage = maxLinesOnPage; + } + if (numSpaces != NULL) { + *numSpaces = spaceCount; + } +} + +static const f32 padding = 0.0f; s32 get_msg_width(s32 msgID, u16 charset) { s32 width; @@ -1048,25 +1981,149 @@ void draw_msg(s32 msgID, s32 posX, s32 posY, s32 opacity, s32 palette, u8 style) } } -INCLUDE_ASM(s32, "msg", msg_update_rewind_arrow); +void msg_update_rewind_arrow(s32 printerIndex) { + MessagePrintState* printer = &gMessagePrinters[printerIndex]; + f32 angle = 0.0f; + f32 scale = 1.0f; + f32 colorG = 255.0f; + f32 colorR = 255.0f; + f32 colorB = 255.0f; + Matrix4f sp18; + Matrix4f sp58; + f32 temp; + + gDPPipeSync(gMasterGfxPos++); + gSPDisplayList(gMasterGfxPos++, D_8014C2D8); + + switch (printer->rewindArrowAnimState) { + case REWIND_ARROW_STATE_INIT: + printer->rewindArrowCounter = 0; + printer->rewindArrowSwingPhase = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_GROW; + /* fallthrough */ + case REWIND_ARROW_STATE_GROW: + temp = printer->rewindArrowCounter; + scale = temp * 0.2 + 0.5; + if (++printer->rewindArrowCounter >= 4) { + printer->rewindArrowCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_NEUTRAL; + } + break; + case REWIND_ARROW_STATE_NEUTRAL: + if (++printer->rewindArrowCounter >= 25) { + printer->rewindArrowCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_CHANGE_COLOR; + } + break; + case REWIND_ARROW_STATE_CHANGE_COLOR: + colorR = update_lerp(EASING_LINEAR, 255.0f, 224.0f, printer->rewindArrowCounter, 15); + colorG = update_lerp(EASING_LINEAR, 255.0f, 224.0f, printer->rewindArrowCounter, 15); + colorB = update_lerp(EASING_LINEAR, 255.0f, 208.0f, printer->rewindArrowCounter, 15); + if (++printer->rewindArrowCounter >= 15) { + printer->rewindArrowCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_CHANGE_COLOR_BACK; + } + break; + case REWIND_ARROW_STATE_CHANGE_COLOR_BACK: + colorR = update_lerp(EASING_LINEAR, 224.0f, 255.0f, printer->rewindArrowCounter, 15); + colorG = update_lerp(EASING_LINEAR, 224.0f, 255.0f, printer->rewindArrowCounter, 15); + colorB = update_lerp(EASING_LINEAR, 208.0f, 255.0f, printer->rewindArrowCounter, 15); + if (++printer->rewindArrowCounter >= 15) { + printer->rewindArrowCounter = 0; + printer->rewindArrowAnimState = REWIND_ARROW_STATE_NEUTRAL; + } + break; + } + + gDPSetPrimColor(gMasterGfxPos++, 0, 0, colorR, colorG, colorB, 255); + + if (printer->rewindArrowAnimState == REWIND_ARROW_STATE_NEUTRAL || + printer->rewindArrowAnimState == REWIND_ARROW_STATE_CHANGE_COLOR || + printer->rewindArrowAnimState == REWIND_ARROW_STATE_CHANGE_COLOR_BACK) { + angle = cosine(printer->rewindArrowSwingPhase) * 30.0f; + printer->rewindArrowSwingPhase += 15; + if (printer->rewindArrowSwingPhase >= 360) { + printer->rewindArrowSwingPhase -= 360; + } + } + + guTranslateF(sp18, printer->rewindArrowPos.x + 12, -(printer->rewindArrowPos.y + 12), 0); + if (angle != 0.0) { + guRotateF(sp58, angle, 0, 0, 1.0f); + guMtxCatF(sp58, sp18, sp18); + } + if (scale != 1.0) { + guScaleF(sp58, scale, scale, 1.0f); + guMtxCatF(sp58, sp18, sp18); + } + + guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + gSPMatrix(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPLoadTextureTile(gMasterGfxPos++, ui_msg_star_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, 15, 17, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadMultiTile_4b(gMasterGfxPos++, ui_msg_star_silhouette_png, 0x0100, 1, G_IM_FMT_I, 16, 0, 0, 0, 15, 18, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD); + gSPVertex(gMasterGfxPos++, gRewindArrowQuad, 4, 0); + gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0); +} void msg_draw_rewind_arrow(s32 printerIndex) { MessagePrintState* printer = &gMessagePrinters[printerIndex]; - if (printer->rewindArrowBlinkCounter < 6) { - draw_ci_image_with_clipping(D_802ED550, 24, 24, G_IM_FMT_CI, G_IM_SIZ_4b, D_802ED670, printer->rewindArrowPos.x, + if (printer->rewindArrowCounter < 6) { + draw_ci_image_with_clipping(ui_msg_rewind_arrow_png, 24, 24, G_IM_FMT_CI, G_IM_SIZ_4b, ui_msg_rewind_arrow_pal, printer->rewindArrowPos.x, printer->rewindArrowPos.y, 10, 10, SCREEN_WIDTH - 20, SCREEN_HEIGHT - 20, 255); } - printer->rewindArrowBlinkCounter++; - if (printer->rewindArrowBlinkCounter >= 12) { - printer->rewindArrowBlinkCounter = 0; + printer->rewindArrowCounter++; + if (printer->rewindArrowCounter >= 12) { + printer->rewindArrowCounter = 0; } } -INCLUDE_ASM(s32, "msg", msg_draw_choice_pointer); +void msg_draw_choice_pointer(MessagePrintState* printer) { + s32 pointerAlpha = 255; + s32 shadowAlpha = 72; + s32 posInterpPhase = gGameStatusPtr->frameCounter % 360; + s32 posX, posY; -void draw_digit(u32 img, s32 charset, s32 posX, s32 posY) { + if (printer->windowState == MSG_WINDOW_STATE_WAITING_FOR_CHOICE || (printer->stateFlags & MSG_STATE_FLAG_20000)) { + posX = printer->windowOffsetPos.x + printer->windowBasePos.x + printer->cursorPosX[printer->selectedOption]; + posY = printer->windowOffsetPos.y + printer->windowBasePos.y + printer->cursorPosY[printer->selectedOption]; + } else { + s32 baseX, baseY, targetX, targetY; + f32 moveToTargetAlpha = (f32)(printer->scrollingTime + 1.0) / 6.0; + + baseX = printer->windowOffsetPos.x + printer->windowBasePos.x + printer->cursorPosX[printer->selectedOption]; + targetX = printer->windowOffsetPos.x + printer->windowBasePos.x + printer->cursorPosX[printer->targetOption]; + posX = baseX + (targetX - baseX) * moveToTargetAlpha; + + baseY = printer->windowOffsetPos.y + printer->windowBasePos.y + printer->cursorPosY[printer->selectedOption]; + targetY = printer->windowOffsetPos.y + printer->windowBasePos.y + printer->cursorPosY[printer->targetOption]; + posY = baseY + (targetY - baseY) * moveToTargetAlpha; + } + + posY += 1; + posX += (cosine(posInterpPhase * 38 + 270) + 1.0) * 0.5 * 3.2; + posX -= 2; + + if (printer->stateFlags & MSG_STATE_FLAG_20000) { + u32 opacity; + opacity = 255.0 - printer->fadeOutCounter * 46.0; + pointerAlpha = opacity; + opacity = 72.0 - printer->fadeOutCounter * 14.4; + shadowAlpha = opacity; + } + + gDPPipeSync(gMasterGfxPos++); + gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16); + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, ui_point_right_pal); + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 40, 40, 40, shadowAlpha); + draw_image_with_clipping(ui_point_right_png, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, posX + 2, posY + 2, 10, 10, 300, 220); + draw_ci_image_with_clipping(ui_point_right_png, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, ui_point_right_pal, posX, posY, 20, 20, 300, 200, pointerAlpha); +} + +void draw_digit(IMG_PTR img, s32 charset, s32 posX, s32 posY) { MessageNumber* num = &gMsgNumbers[charset]; gDPLoadTextureTile_4b(gMasterGfxPos++, @@ -1086,7 +2143,88 @@ void draw_digit(u32 img, s32 charset, s32 posX, s32 posY) { 1 << 10, 1 << 10); } -INCLUDE_ASM(void, "msg", draw_number, s32 value, s32 x, s32 y, s32 arg3, s32 palette, s32 opacity, s32 style); +void draw_number(s32 value, s32 x, s32 y, s32 charset, s32 palette, s32 opacity, u16 style) { + u8 valueStr[24]; + u8 digits[24]; + s32 digitPosX[24]; + s32 i; + s32 count; + s32 posX; + IMG_PTR raster = gMsgNumbers[charset].rasters; + s32 texSize = gMsgNumbers[charset].texSize; + + y -= 2; + if (y > 240U) { + return; + } + + int_to_string(value, valueStr, 10); + + for (i = 0; i < 10; i++) { + u8 digit; + if (valueStr[i] == 0) { + break; + } + + digit = valueStr[i] - '0'; + if (digit < 10){ + digits[i] = digit; + } + } + posX = x; + count = i; + + gSPDisplayList(gMasterGfxPos++, gMsgDlistInitDrawNumber); + + if (style & DRAW_NUMBER_STYLE_ALIGN_RIGHT) { + for (i = count - 1; i >= 0; i--) { + if (style & DRAW_NUMBER_STYLE_MONOSPACE) { + posX -= gMsgNumbers[charset].fixedWidth; + } else { + posX -= gMsgNumbers[charset].digitWidth[digits[i]]; + } + digitPosX[i] = posX; + } + } else { + for (i = 0; i < count; i++) { + digitPosX[i] = posX; + if (style & DRAW_NUMBER_STYLE_MONOSPACE) { + posX += gMsgNumbers[charset].fixedWidth; + } else { + posX += gMsgNumbers[charset].digitWidth[digits[i]]; + } + } + } + + if (style & DRAW_NUMBER_STYLE_DROP_SHADOW) { + for (i = 0; i < count; i++) { + gDPPipeSync(gMasterGfxPos++); + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 40, 40, 40, 72); + draw_digit(raster + digits[i] * texSize, charset, digitPosX[i] + 2, y + 2); + gDPPipeSync(gMasterGfxPos++); + } + } + + if (opacity == 255) { + gDPSetRenderMode(gMasterGfxPos++, G_RM_TEX_EDGE, G_RM_TEX_EDGE2); + gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); + } else { + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, opacity); + } + + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, D_802F4560[palette]); + for (i = 0; i < count; i++) { + posX = digitPosX[i]; + if (posX > 0 && posX < 320) { + draw_digit(raster + digits[i] * texSize, charset, posX, y); + } + } + gDPPipeSync(gMasterGfxPos++); +} void drawbox_message_delegate(void* data) { MessagePrintState* printer = data; @@ -1190,13 +2328,13 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit s32 frameSizeX; s32 frameSizeY; s32 frameFading; - s32 frameAlpha; + u8 frameAlpha; u16 fading; - s32 phi_s0_5; + u8 phi_s0_5; IMG_PTR signRaster; PAL_PTR signPalette; s8 phi_s2_4; - s32 phi_s3_2; + u8 phi_s3_2; s32 phi_v0_3; s32 phi_a0_4; s16 phi_t5; @@ -1509,7 +2647,7 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit msg_drawState->clipY[0] = frameY + 2; msg_drawState->clipX[1] = frameX + frameSizeX - 2; msg_drawState->clipY[1] = frameY + frameSizeY - 2; - msg_draw_frame(frameX, frameY, frameSizeX, frameSizeY, 5, msg_drawState->framePalette, frameFading, frameAlpha, + msg_draw_frame(frameX, frameY, frameSizeX, frameSizeY, MSG_STYLE_CHOICE, msg_drawState->framePalette, frameFading, frameAlpha, frameAlpha); msg_reset_gfx_state(); spAE = frameAlpha & 0xFF; @@ -1556,7 +2694,7 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit } } - msg_draw_frame(printer->windowBasePos.x, printer->windowBasePos.y, printer->windowSize.x, printer->windowSize.y, 6, + msg_draw_frame(printer->windowBasePos.x, printer->windowBasePos.y, printer->windowSize.x, printer->windowSize.y, MSG_STYLE_INSPECT, msg_drawState->framePalette, fading, phi_s0_5, phi_s0_5); msg_reset_gfx_state(); spAE = phi_s0_5 & 0xFF; @@ -1572,14 +2710,14 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit msg_drawState->framePalette = 15; temp_s1_5 = 0xFF; if (printer->style == MSG_STYLE_SIGN) { - signRaster = D_802EC770; + signRaster = ui_msg_sign_corner_bottomright_png; printer->windowSize.y = 72; msg_drawState->textColor = MSG_PAL_18; - signPalette = D_802ECD10; + signPalette = ui_msg_sign_pal; } else { - signRaster = D_802EC7F0; + signRaster = ui_msg_lamppost_corner_bottomright_png; msg_drawState->textColor = MSG_PAL_1C; - signPalette = D_802ECD30; + signPalette = ui_msg_lamppost_pal; } msg_drawState->clipX[0] = 34; msg_drawState->clipY[0] = 40; @@ -1606,27 +2744,27 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit } } spAE = (u8)temp_s1_5; - draw_ci_image_with_clipping(D_802EC5F0, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 20, 28, 10, 10, 310, 230, temp_s1_5); - draw_ci_image_with_clipping(D_802EC670, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 284, 28, 10, 10, 310, 230, temp_s1_5); - draw_ci_image_with_clipping(D_802EC6F0, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 20, printer->windowSize.y + 12, 10, 10, 310, 230, + draw_ci_image_with_clipping(ui_msg_sign_corner_topleft_png, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 20, 28, 10, 10, 310, 230, temp_s1_5); + draw_ci_image_with_clipping(ui_msg_sign_corner_topright_png, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 284, 28, 10, 10, 310, 230, temp_s1_5); + draw_ci_image_with_clipping(ui_msg_sign_corner_bottomleft_png, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 20, printer->windowSize.y + 12, 10, 10, 310, 230, temp_s1_5); draw_ci_image_with_clipping(signRaster, 16, 16, G_IM_FMT_CI, G_IM_SIZ_4b, signPalette, 284, printer->windowSize.y + 12, 10, 10, 310, 230, temp_s1_5); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802EC870, G_IM_FMT_CI, 32, 0, 0, 0, 31, 15, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_sign_side_top_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 15, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 4, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gMasterGfxPos++, 0x0090, 0x0070, 0x0470, 0x00B0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802EC970, G_IM_FMT_CI, 16, 0, 0, 0, 15, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_sign_side_left_png, G_IM_FMT_CI, 16, 0, 0, 0, 15, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gMasterGfxPos++, 0x0050, 0x00B0, 0x0090, (printer->windowSize.y + 12) * 4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802ECAB0, G_IM_FMT_CI, 16, 0, 0, 0, 15, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_sign_side_right_png, G_IM_FMT_CI, 16, 0, 0, 0, 15, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gMasterGfxPos++, 0x0470, 0x00B0, 0x04B0, (printer->windowSize.y + 12) * 4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802ECBF0, G_IM_FMT_CI, 32, 0, 0, 0, 31, 15, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_sign_side_bottom_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 15, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 4, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gMasterGfxPos++, 0x0090, (printer->windowSize.y + 12) * 4, 0x0470, (printer->windowSize.y + 28) * 4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802ECCF0, G_IM_FMT_CI, 8, 0, 0, 0, 7, 7, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_sign_fill_png, G_IM_FMT_CI, 8, 0, 0, 0, 7, 7, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 3, 3, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gMasterGfxPos++, 0x0090, 0x00B0, 0x0470, (printer->windowSize.y + 12) * 4, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); @@ -1667,7 +2805,7 @@ void appendGfx_message(MessagePrintState* printer, s16 posX, s16 posY, u16 addit } phi_s2_4 = 1; } - msg_draw_frame(40, 28, 240, 58, 6, msg_drawState->framePalette, phi_s2_4, phi_s3_2, phi_s3_2); + msg_draw_frame(40, 28, 240, 58, MSG_STYLE_INSPECT, msg_drawState->framePalette, phi_s2_4, phi_s3_2, phi_s3_2); draw_ci_image_with_clipping(printer->letterBackgroundImg, 150, 105, G_IM_FMT_CI, G_IM_SIZ_4b, printer->letterBackgroundPal, 85, 97, 10, 10, 300, 220, phi_s3_2); draw_ci_image_with_clipping(printer->letterContentImg, 70, 95, G_IM_FMT_CI, G_IM_SIZ_8b, @@ -2459,7 +3597,82 @@ void msg_reset_gfx_state(void) { gSPDisplayList(gMasterGfxPos++, D_8014C500); } -INCLUDE_ASM(s32, "msg", msg_draw_char); +void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32 charIndex, s32 palette, s32 posX, s32 posY) { + MessageCharset* messageCharset = gMsgCharsets[drawState->font]; + s32 fontVariant = drawState->fontVariant; + + s32 clipUly = drawState->clipY[0]; + s32 clipLry = drawState->clipY[1]; + s32 clipUlx = drawState->clipX[0]; + s32 clipLrx = drawState->clipX[1]; + + s32 rightPosX = posX + (s32)(drawState->charScale.x * messageCharset->texSize.x); + s32 rightPosY = posY + (s32)(drawState->charScale.y * messageCharset->texSize.y); + + f32 clipOffset; + s32 texOffsetX; + s32 texOffsetY; + s32 ulx, uly, lrx, lry; + s32 dsdx, dtdy; + + if (posX >= clipLrx || posY >= clipLry || rightPosX <= clipUlx || rightPosY <= clipUly) { + return; + } + + if (posX < clipUlx) { + clipOffset = abs(posX - clipUlx) / drawState->charScale.x; + texOffsetX = (f32)((clipOffset + 0.5) * 32.0); + ulx = clipUlx; + } else { + texOffsetX = 0; + ulx = posX; + } + + if (posY < clipUly) { + if (!(printer->stateFlags & MSG_STATE_FLAG_400) || posY < 0) { + clipOffset = abs(posY - clipUly) / drawState->charScale.y; + texOffsetY = clipOffset * 32.0f; + uly = clipUly; + } else { + texOffsetY = 0; + uly = posY; + } + } else { + texOffsetY = 0; + uly = posY; + } + + lrx = rightPosX; + if (lrx >= clipLrx) { + lrx = clipLrx; + } + + lry = rightPosY; + if (lry >= clipLry) { + lry = clipLry; + } + + dsdx = 1.0f / drawState->charScale.x * 1024.0f; + dtdy = 1.0f / drawState->charScale.y * 1024.0f; + + if (drawState->printModeFlags & (MSG_PRINT_FLAG_10 | MSG_PRINT_FLAG_1)) { + drawState->printModeFlags &= ~(MSG_PRINT_FLAG_10 | MSG_PRINT_FLAG_1); + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, D_802F4560[palette]); + } + + if (messageCharset->texSize.x >= 16 && messageCharset->texSize.x % 16 == 0) { + gDPLoadTextureBlock_4b(gMasterGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI, + messageCharset->texSize.x, messageCharset->texSize.y, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + } else { + gDPLoadTextureTile_4b(gMasterGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI, + messageCharset->texSize.x, messageCharset->texSize.y, + 0, 0, messageCharset->texSize.x - 1, messageCharset->texSize.y - 1, 0, + G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + } + gSPTextureRectangle(gMasterGfxPos++, ulx * 4, uly * 4, lrx * 4, lry * 4, G_TX_RENDERTILE, texOffsetX, texOffsetY, + dsdx, dtdy); +} void msg_draw_prim_rect(u8 r, u8 g, u8 b, u8 a, u16 posX, u16 posY, u16 sizeX, u16 sizeY) { u16 lrX = posX + sizeX; @@ -2580,35 +3793,378 @@ void msg_draw_speech_bubble( gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16); gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, - &D_802EC3F0[16 * msg_drawState->framePalette]); + ui_msg_palettes[msg_drawState->framePalette]); gDPTileSync(gMasterGfxPos++); gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_4b, 0, 0x0100, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); gDPLoadSync(gMasterGfxPos++); gDPLoadTLUTCmd(gMasterGfxPos++, G_TX_LOADTILE, 15); gDPPipeSync(gMasterGfxPos++); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802EB670, G_IM_FMT_CI, 32, 0, 0, 0, 31, 63, 0, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_bubble_left_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 63, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 5, 6, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gMasterGfxPos++, gMsgSpeechBoxLQuad, 4, 0); gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802EBA70, G_IM_FMT_CI, 8, 0, 0, 0, 7, 63, 0, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_bubble_mid_png, G_IM_FMT_CI, 8, 0, 0, 0, 7, 63, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 3, 6, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gMasterGfxPos++, gMsgSpeechBoxMQuad, 4, 0); gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0); - gDPLoadTextureTile_4b(gMasterGfxPos++, D_802EBB70, G_IM_FMT_CI, 32, 0, 0, 0, 31, 63, 0, + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_bubble_right_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 63, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 5, 6, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gMasterGfxPos++, gMsgSpeechBoxRQuad, 4, 0); gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0); gDPPipeSync(gMasterGfxPos++); } -INCLUDE_ASM(s32, "msg", msg_draw_speech_arrow); +void msg_draw_speech_arrow(MessagePrintState* printer) { + s16 targetX, targetY; + f32 windowXpart; + s32 arrowLength; + Vtx* quad; + s32 angle; + f32 cosAngle, sinAngle; + Matrix4f sp10; + s16 x1, x2, x3, x4; + s32 y1, y2; + u8 pointRightSide = FALSE; + s16 windowX = printer->windowOffsetPos.x + printer->windowBasePos.x; + s16 windowY = printer->windowOffsetPos.y + printer->windowBasePos.y; -INCLUDE_ASM(s32, "msg", msg_draw_frame); + if (printer->openStartPos.x == 0) { + return; + } + + if (printer->style == MSG_STYLE_RIGHT || + printer->style == MSG_STYLE_LEFT || + printer->style == MSG_STYLE_CENTER || + printer->maxLinesPerPage == 3) { + targetY = windowY + printer->windowSize.y - 4; + } else { + targetY = windowY + printer->windowSize.y - 3; + } + + if (printer->style == MSG_STYLE_LEFT) { + pointRightSide = FALSE; + } else if (printer->style == MSG_STYLE_CENTER || printer->openStartPos.x >= 160) { + pointRightSide = TRUE; + } + + if (pointRightSide) { + targetX = windowX + (f32)printer->windowSize.x * 0.7; + if (printer->openStartPos.x < targetX) { + for (windowXpart = 0.7f; windowXpart >= 0.67; windowXpart -= 0.005) { + targetX = windowX + printer->windowSize.x * windowXpart; + angle = atan2(printer->openStartPos.x, printer->openStartPos.y, targetX, targetY); + if (abs(angle) < 45) { + break; + } + } + } + } else { + targetX = windowX + (f32)printer->windowSize.x * 0.3; + if (printer->openStartPos.x > targetX) { + for (windowXpart = 0.3f; windowXpart <= 0.38; windowXpart += 0.005) { + targetX = windowX + printer->windowSize.x * windowXpart; + angle = atan2(printer->openStartPos.x, printer->openStartPos.y, targetX, targetY); + if (abs(angle) < 45) { + break; + } + } + } + } + + x1 = targetX - 9; + x2 = targetX + 9; + x3 = targetX; + + arrowLength = dist2D(printer->initOpenPos.x, printer->initOpenPos.y, targetX, targetY); + if (arrowLength < 10) { + return; + } + + if (arrowLength > 25) { + arrowLength = 25; + } + + // alternate quads between frames + if (gCurrentDisplayContextIndex != 0) { + quad = gMsgArrowQuad1; + } else { + quad = gMsgArrowQuad2; + } + + angle = atan2(targetX, targetY, printer->initOpenPos.x, printer->initOpenPos.y); + angle -= 180; + if (abs(angle) >= 75) { + return; + } + + cosAngle = cosine(angle); + sinAngle = cosine(angle + 90); + + x3 = x3 - arrowLength * cosAngle; + x4 = x3 + 1; + + y1 = -targetY; + y2 = -(s16)(targetY + arrowLength * sinAngle); + + quad[0].v.ob[0] = x1; + quad[0].v.ob[1] = y1; + quad[1].v.ob[0] = x2; + quad[1].v.ob[1] = y1; + + quad[2].v.ob[0] = x3; + quad[2].v.ob[1] = y2; + quad[3].v.ob[0] = x4; + quad[3].v.ob[1] = y2; + + gDPPipeSync(gMasterGfxPos++); + gDPSetRenderMode(gMasterGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, 0, 0, 0, 1, 0, 0, 0, TEXEL0, 0, 0, 0, 1); + gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 32, 32, 32, 255); + gDPLoadTextureTile_4b(gMasterGfxPos++, ui_msg_arrow_png, G_IM_FMT_CI, 16, 0, 0, 0, 15, 15, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD); + guTranslateF(sp10, 0.0f, 0.0f, 0.0f); + guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]); + gSPMatrix(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPVertex(gMasterGfxPos++, quad, 4, 0); + gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0); +} + +void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha) { + s32 i; + s32 frameType; + s32 textures[16]; + s32 r, g, b; + Rect quads[16]; + + if (sizeX < 16 || sizeY < 16) { + return; + } + + if (fading != 0 && bgAlpha == 0 && frameAlpha == 0) { + return; + } + + gDPPipeSync(gMasterGfxPos++); + gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE); + gDPSetTexturePersp(gMasterGfxPos++, G_TP_NONE); + gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE); + gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE); + gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE); + gDPSetAlphaDither(gMasterGfxPos++, G_AD_DISABLE); + gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT); + + if (fading == 0 || bgAlpha != 0) { + do {} while (0); + switch (style) { + case MSG_STYLE_CHOICE: + r = ((((u16*)(ui_msg_palettes[0]))[4] >> 11) & 0x1F) * 8; + g = ((((u16*)(ui_msg_palettes[0]))[4] >> 6) & 0x1F) * 8; + b = ((((u16*)(ui_msg_palettes[0]))[4] >> 1) & 0x1F) * 8; + gDPPipeSync(gMasterGfxPos++); + if (fading != 0 && bgAlpha < 255) { + gDPSetRenderMode(gMasterGfxPos++, IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); + } else { + gDPSetRenderMode(gMasterGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2); + } + gDPSetCombineMode(gMasterGfxPos++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, r, g, b, bgAlpha); + if (posX + sizeX - 8 > 0) { + gDPScisFillRectangle(gMasterGfxPos++, posX + 8, posY + 8, posX + sizeX - 8, posY + sizeY - 8); + } + break; + case MSG_STYLE_INSPECT: + gDPPipeSync(gMasterGfxPos++); + gDPSetTextureFilter(gMasterGfxPos++, G_TF_AVERAGE); + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE); + if (fading == 0 || bgAlpha == 255) { + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, 216); + } else { + if (bgAlpha > 216) { + bgAlpha = 216; + } + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, bgAlpha); + } + + gDPLoadTextureBlock_4b(gMasterGfxPos++, ui_msg_background_png, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 6, G_TX_NOLOD, G_TX_NOLOD); + if (style == MSG_STYLE_INSPECT) { + gSPScisTextureRectangle(gMasterGfxPos++, (posX + 3) * 4, (posY + 3) * 4, (posX + sizeX - 3) * 4, (posY + sizeY - 3) * 4, + G_TX_RENDERTILE, gMsgBGScrollAmtX, gMsgBGScrollAmtY, 0x400, 0x400); + } else { + gSPScisTextureRectangle(gMasterGfxPos++, (posX + 5) * 4, (posY + 5) * 4, (posX + sizeX - 5) * 4, (posY + sizeY - 5) * 4, + G_TX_RENDERTILE, gMsgBGScrollAmtX, gMsgBGScrollAmtY, 0x400, 0x400); + } + break; + } + } + + if (sizeX >= 32) { + quads[2].ulx = (posX + 16) * 4; + quads[2].uly = posY * 4; + quads[2].lrx = (posX + sizeX - 16) * 4; + quads[2].lry = (posY + 8) * 4; + + quads[13].ulx = (posX + 16) * 4; + quads[13].uly = (posY + sizeY - 8) * 4; + quads[13].lrx = (posX + sizeX - 16) * 4; + quads[13].lry = (posY + sizeY) * 4; + } else if (sizeX > 16 && sizeX < 24) { + quads[2].ulx = (posX + 8) * 4; + quads[2].uly = posY * 4; + quads[2].lrx = (posX + sizeX - 8) * 4; + quads[2].lry = (posY + 8) * 4; + + quads[13].ulx = (posX + 8) * 4; + quads[13].uly = (posY + sizeY - 8) * 4; + quads[13].lrx = (posX + sizeX - 8) * 4; + quads[13].lry = (posY + sizeY) * 4; + } else { + quads[2].ulx = 10000; + quads[13].ulx = 10000; + } + + if (sizeY >= 32) { + quads[7].ulx = posX * 4; + quads[7].uly = (posY + 16) * 4; + quads[7].lrx = (posX + 8) * 4; + quads[7].lry = (posY + sizeY - 16) * 4; + + quads[8].ulx = (posX + sizeX - 8) * 4; + quads[8].uly = (posY + 16) * 4; + quads[8].lrx = (posX + sizeX) * 4; + quads[8].lry = (posY + sizeY - 16) * 4; + } else if (sizeY > 16 && sizeY < 24) { + quads[7].ulx = posX * 4; + quads[7].uly = (posY + 8) * 4; + quads[7].lrx = (posX + 8) * 4; + quads[7].lry = (posY + sizeY - 8) * 4; + + quads[8].ulx = (posX + sizeX - 8) * 4; + quads[8].uly = (posY + 8) * 4; + quads[8].lrx = (posX + sizeX) * 4; + quads[8].lry = (posY + sizeY - 8) * 4; + } else { + quads[7].ulx = 10000; + quads[8].ulx = 10000; + } + + if (sizeX >= 24) { + quads[1].ulx = (posX + 8) * 4; + quads[1].uly = posY * 4; + quads[1].lrx = (posX + 16) * 4; + quads[1].lry = (posY + 8) * 4; + + quads[3].ulx = (posX + sizeX - 16) * 4; + quads[3].uly = posY * 4; + quads[3].lrx = (posX + sizeX - 8) * 4; + quads[3].lry = (posY + 8) * 4; + + quads[12].ulx = (posX + 8) * 4; + quads[12].uly = (posY + sizeY - 8) * 4; + quads[12].lrx = (posX + 16) * 4; + quads[12].lry = (posY + sizeY) * 4; + + quads[14].ulx = (posX + sizeX - 16) * 4; + quads[14].uly = (posY + sizeY - 8) * 4; + quads[14].lrx = (posX + sizeX - 8) * 4; + quads[14].lry = (posY + sizeY) * 4; + } else { + quads[1].ulx = 10000; + quads[3].ulx = 10000; + quads[12].ulx = 10000; + quads[14].ulx = 10000; + } + + if (sizeY >= 24) { + quads[5].ulx = posX * 4; + quads[5].uly = (posY + 8) * 4; + quads[5].lrx = (posX + 8) * 4; + quads[5].lry = (posY + 16) * 4; + + quads[6].ulx = (posX + sizeX - 8) * 4; + quads[6].uly = (posY + 8) * 4; + quads[6].lrx = (posX + sizeX) * 4; + quads[6].lry = (posY + 16) * 4; + + quads[9].ulx = posX * 4; + quads[9].uly = (posY + sizeY - 16) * 4; + quads[9].lrx = (posX + 8) * 4; + quads[9].lry = (posY + sizeY - 8) * 4; + + quads[10].ulx = (posX + sizeX - 8) * 4; + quads[10].uly = (posY + sizeY - 16) * 4; + quads[10].lrx = (posX + sizeX) * 4; + quads[10].lry = (posY + sizeY - 8) * 4; + } else { + quads[5].ulx = 10000; + quads[6].ulx = 10000; + quads[9].ulx = 10000; + quads[10].ulx = 10000; + } + + quads[0].ulx = posX * 4; + quads[0].uly = posY * 4; + quads[0].lrx = (posX + 8) * 4; + quads[0].lry = (posY + 8) * 4; + + quads[4].ulx = (posX + sizeX - 8) * 4; + quads[4].uly = posY * 4; + quads[4].lrx = (posX + sizeX) * 4; + quads[4].lry = (posY + 8) * 4; + + quads[11].ulx = posX * 4; + quads[11].uly = (posY + sizeY - 8) * 4; + quads[11].lrx = (posX + 8) * 4; + quads[11].lry = (posY + sizeY) * 4; + + quads[15].ulx = (posX + sizeX - 8) * 4; + quads[15].uly = (posY + sizeY - 8) * 4; + quads[15].lrx = (posX + sizeX) * 4; + quads[15].lry = (posY + sizeY) * 4; + + switch (style) { + case MSG_STYLE_CHOICE: + frameType = 0; + break; + case MSG_STYLE_INSPECT: + frameType = 1; + break; + default: + frameType = 0; + break; + } + + for (i = 0; i < ARRAY_COUNT(textures); i++) { + textures[i] = gMessageBoxFrameParts[frameType][i]; + } + + if (fading == 0) { + frameAlpha = 255; + } + + gDPPipeSync(gMasterGfxPos++); + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, frameAlpha); + gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16); + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, ui_msg_palettes[palette]); + + for (i = 0; i < ARRAY_COUNT(textures); i++) { + if (textures[i] != NULL && quads[i].ulx < 10000) { + gDPLoadTextureTile_4b(gMasterGfxPos++, textures[i], G_IM_FMT_CI, 8, 8, 0, 0, 7, 7, 0, G_TX_WRAP, G_TX_WRAP, 3, 3, G_TX_NOLOD, G_TX_NOLOD); + gSPScisTextureRectangle(gMasterGfxPos++, quads[i].ulx, quads[i].uly, quads[i].lrx, quads[i].lry, + G_TX_RENDERTILE, 0, 0, 0x400, 0x400); + } + } + + gDPPipeSync(gMasterGfxPos++); + gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE); +} void msg_get_glyph(s32 font, s32 variation, s32 charIndex, s32 palette, MesasgeFontGlyphData* out) { out->raster = &gMsgCharsets[font]->rasters[variation].raster[(u16)gMsgCharsets[font]->charRasterSize * charIndex]; - out->palette = &D_802F4560[palette].unk_00; + out->palette = D_802F4560[palette]; out->texSize.x = gMsgCharsets[font]->texSize.x; out->texSize.y = gMsgCharsets[font]->texSize.y; out->charWidth = msg_get_draw_char_width(charIndex, font, variation, 1.0f, 0, 0); diff --git a/src/msg_data.c b/src/msg_data.c new file mode 100644 index 0000000000..554ca10741 --- /dev/null +++ b/src/msg_data.c @@ -0,0 +1,163 @@ +#include "common.h" + +extern IMG_BIN D_802ED970[]; +extern IMG_BIN D_802F39D0[]; +extern IMG_BIN D_802EE8D0[]; + +u8 D_802EB3D0[] = { + 11, 8, 8, 10, 9, 9, 9, 4, + 8, 8, 9, 9, 5, 9, 5, 10, + 9, 7, 9, 9, 9, 9, 9, 9, + 9, 9, 5, 5, 8, 9, 8, 9, + 10, 9, 9, 9, 9, 9, 9, 9, + 9, 7, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 7, 9, 6, 7, 9, + 6, 9, 8, 8, 9, 8, 8, 8, + 7, 4, 7, 8, 4, 9, 8, 7, + 9, 8, 8, 8, 8, 8, 8, 9, + 8, 8, 8, 7, 3, 7, 10, 7, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 7, 7, 7, 8, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 8, 8, 8, 8, 8, + 6, 6, 6, 7, 9, 7, 7, 7, + 8, 8, 8, 8, 8, 6, 9, 7, + 11, 11, 11, 11, 12, 12, 11, 11, + 13, 13, 14, 14, 12, 13, 13, 13, + 13, 16, 9, 9, 5, 5, 0, 0, +}; + +MessageCharData D_802EB478[] = { + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 10, + .baseHeightOffset = 0, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 10, + .baseHeightOffset = 0xFE, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 10, + .baseHeightOffset = 0, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 10, + .baseHeightOffset = 0, + }, + {} +}; + +MessageCharData D_802EB4B4[] = { + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 9, + .baseHeightOffset = 0xFE, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 9, + .baseHeightOffset = 0, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 9, + .baseHeightOffset = 0, + }, + { + .raster = D_802EE8D0, + .charWidthTable = D_802EB3D0, + .monospaceWidth = 9, + .baseHeightOffset = 0, + }, + {} +}; + +MessageCharset D_802EB4F0 = { + .texSize = { 16, 16 }, + .unk_02 = 14, + .newLineY = 16, + .charRasterSize = 128, + .rasters = D_802EB478 +}; + +MessageCharset D_802EB4FC = { + .texSize = { 16, 16 }, + .unk_02 = 14, + .newLineY = 16, + .charRasterSize = 128, + .rasters = D_802EB4B4 +}; + +u8 D_802EB508[] = { + 8, 8, 8, 9, 8, 8, 8, 8, + 5, 8, 9, 8,10, 8, 8, 9, + 8, 9, 8, 8, 8, 8,10, 9, + 9, 8, 4, 3, 4, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9,10, + 10, 0, 0, 0 +}; + +u8 D_802EB534[] = { + 9, 9, 8, 8, 7, 7, 8, 7, + 3, 7, 7, 7, 8, 7, 8, 8, + 8, 7, 7, 8, 7, 7, 8, 8, + 8, 7, 4, 3, 4, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 0, 0, 0 +}; + +MessageCharData D_802EB560[] = { + { + .raster = D_802ED970, + .charWidthTable = D_802EB508, + .monospaceWidth = 14, + .baseHeightOffset = 0, + }, + {} +}; + +MessageCharData D_802EB578[] = { + { + .raster = D_802F39D0, + .charWidthTable = D_802EB534, + .monospaceWidth = 10, + .baseHeightOffset = 0, + }, + {} +}; + +MessageCharset D_802EB590 = { + .texSize = { 12, 15 }, + .unk_02 = 14, + .newLineY = 16, + .charRasterSize = 96, + .rasters = D_802EB560 +}; + +MessageCharset D_802EB59C = { + .texSize = { 12, 12 }, + .unk_02 = 10, + .newLineY = 10, + .charRasterSize = 72, + .rasters = D_802EB578 +}; + +MessageCharset* gMsgCharsets[] = { + &D_802EB4F0, + &D_802EB4FC, + &D_802EB4FC, + &D_802EB590, + &D_802EB59C +}; diff --git a/src/msg_data_2.c b/src/msg_data_2.c new file mode 100644 index 0000000000..d36aaa3748 --- /dev/null +++ b/src/msg_data_2.c @@ -0,0 +1,117 @@ +#include "common.h" + +s32 D_802EB5C0[] = { + 0x0000D178, 0x0000ED78, 0x00010978, 0x00012578, 0x00014178, 0x00015D78, 0x00017978, 0x00019578, 0x0001B178, 0x0001CD78, 0x0001E978, 0x00020578 +}; + +s32 D_802EB5F0[] = { + 0x0000EB78, 0x00010778, 0x00012378, 0x00013F78, 0x00015B78, 0x00017778, 0x00019378, 0x0001AF78, 0x0001CB78, 0x0001E778, 0x00020378, 0x00021F78 +}; + +struct_D_802EB620 D_802EB620[] = { + { + .unk_00 = 0x11, + .unk_04 = 0x12, + .unk_08 = 0 + }, + { + .unk_00 = 0x17, + .unk_04 = 0x18, + .unk_08 = -50 + }, + { + .unk_00 = 0x1B, + .unk_04 = 0x1B, + .unk_08 = 0 + }, +}; + +s16 D_802EB644[] = { + 0, -4, -4, -4, + -4, 0, -4, -4, + -4, 0, 0, 0, + 0, -4, -4, 0, + 0, 0, 0, 0, + 0, 0 +}; + +#include "ui/msg/bubble_left.png.inc.c" +#include "ui/msg/bubble_mid.png.inc.c" +#include "ui/msg/bubble_right.png.inc.c" +#include "ui/msg/arrow.png.inc.c" +#include "ui/msg/frame_part_0.png.inc.c" +#include "ui/msg/frame_part_1.png.inc.c" +#include "ui/msg/frame_part_2.png.inc.c" +#include "ui/msg/frame_part_3.png.inc.c" +#include "ui/msg/frame_part_4.png.inc.c" +#include "ui/msg/frame_part_5.png.inc.c" +#include "ui/msg/frame_part_6.png.inc.c" +#include "ui/msg/frame_part_7.png.inc.c" +#include "ui/msg/frame_part_8.png.inc.c" +#include "ui/msg/frame_part_9.png.inc.c" +#include "ui/msg/frame_part_A.png.inc.c" +#include "ui/msg/frame_part_B.png.inc.c" +#include "ui/msg/frame_part_C.png.inc.c" +#include "ui/msg/frame_part_D.png.inc.c" +#include "ui/msg/frame_part_E.png.inc.c" +#include "ui/msg/frame_part_F.png.inc.c" +#include "ui/msg/frame_part_10.png.inc.c" +#include "ui/msg/frame_part_11.png.inc.c" +#include "ui/msg/frame_part_12.png.inc.c" +#include "ui/msg/frame_part_13.png.inc.c" +#include "ui/msg/frame_part_14.png.inc.c" +#include "ui/msg/frame_part_15.png.inc.c" +#include "ui/msg/frame_part_16.png.inc.c" +#include "ui/msg/frame_part_17.png.inc.c" +#include "ui/msg/frame_part_18.png.inc.c" +#include "ui/msg/frame_part_19.png.inc.c" +#include "ui/msg/frame_part_1A.png.inc.c" +#include "ui/msg/frame_part_1B.png.inc.c" +#include "ui/msg/frame_part_1C.png.inc.c" +#include "ui/msg/frame_part_1D.png.inc.c" +#include "ui/msg/frame_part_1E.png.inc.c" +#include "ui/msg/frame_part_1F.png.inc.c" + +// TODO: make assets +unsigned char ui_msg_palettes[16][32] = { + {115,158,255,255,247,187,231,57,222,245,198,47,156,229,123,221,189,239,222,247,156,229,115,157,0,1,0,1,0,1,0,1,}, + {115,158,231,59,222,249,214,183,206,117,181,175,140,101,107,93,173,109,206,117,140,101,99,27,0,1,0,1,0,1,0,1,}, + {115,158,255,255,246,245,246,113,245,171,204,229,172,97,131,155,197,173,230,181,164,163,115,157,0,1,0,1,0,1,0,1,}, + {115,158,255,255,214,189,198,63,181,191,156,245,140,107,115,161,181,177,214,185,148,169,115,157,0,1,0,1,0,1,0,1,}, + {115,158,255,255,247,179,247,169,247,95,206,29,165,29,123,219,198,43,231,51,165,35,115,157,0,1,0,1,0,1,0,1,}, + {115,158,231,57,246,159,139,79,171,207,180,85,213,89,171,209,168,63,168,63,168,63,168,63,168,63,122,3,65,1,0,1,}, + {115,158,231,57,246,159,188,81,168,63,180,85,213,89,168,63,168,63,168,63,168,63,168,63,168,63,122,3,65,1,0,1,}, + {115,158,231,57,246,159,131,13,168,63,180,19,213,89,168,63,168,63,168,63,168,63,168,63,168,63,122,3,65,1,0,1,}, + {115,158,255,255,247,187,231,57,222,245,198,47,156,229,123,221,189,239,222,247,156,229,115,157,0,1,0,1,0,1,0,1,}, + {115,158,66,15,132,29,181,171,214,179,181,171,123,221,66,15,66,15,66,15,66,15,115,157,0,1,0,1,0,1,0,1,}, + {115,158,255,255,247,57,238,247,230,115,197,107,172,97,131,155,197,173,230,181,164,163,115,157,0,1,0,1,0,1,0,1,}, + {115,158,255,255,231,61,214,187,206,121,173,113,140,107,115,161,181,177,214,185,148,169,115,157,0,1,0,1,0,1,0,1,}, + {115,158,255,255,247,183,239,115,231,45,198,39,165,31,123,219,198,43,231,51,165,35,115,157,0,1,0,1,0,1,0,1,}, + {115,158,231,57,230,29,147,143,188,21,196,79,213,87,171,209,168,63,168,63,168,63,168,63,168,63,130,137,65,1,0,1,}, + {115,158,231,57,230,29,172,83,172,19,196,79,213,87,163,141,168,63,168,63,168,63,168,63,168,63,130,137,65,1,0,1,}, + {115,158,231,57,230,29,155,75,168,63,196,79,205,23,168,63,168,63,168,63,168,63,168,63,168,63,130,137,65,1,0,1,}, +}; + +#include "ui/msg/sign_corner_topleft.png.inc.c" +#include "ui/msg/sign_corner_topright.png.inc.c" +#include "ui/msg/sign_corner_bottomleft.png.inc.c" +#include "ui/msg/sign_corner_bottomright.png.inc.c" +#include "ui/msg/lamppost_corner_bottomright.png.inc.c" +#include "ui/msg/sign_side_top.png.inc.c" +#include "ui/msg/sign_side_left.png.inc.c" +#include "ui/msg/sign_side_right.png.inc.c" +#include "ui/msg/sign_side_bottom.png.inc.c" +#include "ui/msg/sign_fill.png.inc.c" +#include "ui/msg/sign_corner_topleft.pal.inc.c" +#include "ui/msg/lamppost_corner_bottomright.pal.inc.c" +#include "ui/msg/background.png.inc.c" +#include "ui/msg/rewind_arrow.png.inc.c" +#include "ui/msg/rewind_arrow.pal.inc.c" +#include "ui/msg/star.png.inc.c" +#include "ui/msg/star_silhouette.png.inc.c" + +BSS IMG_BIN D_802ED970[0xF60]; +BSS IMG_BIN D_802EE8D0[0x5100]; +BSS IMG_BIN D_802F39D0[0xB88]; +BSS char MSG_unused[8]; +BSS PAL_BIN D_802F4560[80][8]; diff --git a/src/pause/pause_badges.c b/src/pause/pause_badges.c index 91fabdbad1..b75f8dfc3d 100644 --- a/src/pause/pause_badges.c +++ b/src/pause/pause_badges.c @@ -304,14 +304,14 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width costBP = 0; canBeEquipped = FALSE; - style = 1; + style = DRAW_MSG_STYLE_MENU; bpAvailable = gPlayerData.maxBP - pause_get_total_equipped_bp_cost(); currentBadgeColumn = gPauseBadgesSelectedIndex / currentPage->numCols; currentBadgeRow = gPauseBadgesSelectedIndex % currentPage->numCols; 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); hud_element_set_render_pos(gPauseBadgesIconIDs[20], baseX + 241, baseY + 11); - palette = 10; + palette = MSG_PAL_STANDARD; hud_element_draw_without_clipping(gPauseBadgesIconIDs[20]); x1 = baseX + 1; @@ -399,10 +399,10 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width } if (i == 0) { - style = 1; - palette = 10; + style = DRAW_MSG_STYLE_MENU; + palette = MSG_PAL_STANDARD; if (isSelected) { - style = 9; + style = DRAW_MSG_STYLE_MENU | DRAW_MSG_STYLE_DROP_SHADOW; } if (isEquipped) { @@ -410,7 +410,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width 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); } else if (cannotBeEquipped) { - palette = 11; + palette = MSG_PAL_0B; } } @@ -430,7 +430,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width } } draw_number(gMoveTable[gItemTable[badgeID].moveID].costBP, baseX + 235 + pause_badges_scroll_offset_x(posX), - baseY + 17 + pause_badges_scroll_offset_y(posY), 1, palette, 255, 3); + baseY + 17 + pause_badges_scroll_offset_y(posY), DRAW_NUMBER_CHARSET_THIN, palette, 255, DRAW_NUMBER_STYLE_ALIGN_RIGHT | DRAW_NUMBER_STYLE_MONOSPACE); } } @@ -562,8 +562,8 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width hud_element_set_render_pos(gPauseBadgesIconIDs[16], baseX + 43, baseY + 81); hud_element_draw_without_clipping(gPauseBadgesIconIDs[16]); - draw_msg(pause_get_menu_msg(70), baseX + 16, baseY + 74, 255, 10, 1); - draw_number(playerData->maxBP, baseX + 69, baseY + 74, 1, 10, 255, 3); + draw_msg(pause_get_menu_msg(70), baseX + 16, baseY + 74, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_number(playerData->maxBP, baseX + 69, baseY + 74, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); bpAmount = playerData->maxBP - pause_get_total_equipped_bp_cost(); bpAvailOffsetX = 0; bpAvailOffsetY = (playerData->maxBP - 1) / 10 * 8; @@ -571,7 +571,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width bpAvailOffsetX = -4; } pause_draw_menu_label(7, baseX + 12, baseY + 100 + bpAvailOffsetY); - draw_number(bpAmount, baseX + 73 + bpAvailOffsetX, baseY + 100 + bpAvailOffsetY, 1, 10, 255, 3); + draw_number(bpAmount, baseX + 73 + bpAvailOffsetX, baseY + 100 + bpAvailOffsetY, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); orbColorR = 0; orbColorG = 255; @@ -624,7 +624,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width if (gPauseBadgesCurrentTab == 1) { msgOpacity = 191; } - draw_msg(msg, msgX, msgY, msgOpacity, 0, 1); + draw_msg(msg, msgX, msgY, msgOpacity, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); 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); @@ -639,7 +639,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width if (gPauseBadgesCurrentTab == 0) { msgOpacity = 191; } - draw_msg(msg, msgX, msgY, msgOpacity, 0, 1); + draw_msg(msg, msgX, msgY, msgOpacity, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); msg = pause_get_menu_msg(0x49); msgX = baseX + 26; @@ -651,7 +651,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width if (gPauseBadgesCurrentTab == 0) { msgOpacity = 191; } - draw_msg(msg, msgX, msgY, msgOpacity, 0, 1); + draw_msg(msg, msgX, msgY, msgOpacity, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); if (gPauseMenuCurrentTab == 2) { if (gPauseBadgesLevel == 0) { @@ -679,10 +679,10 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width pause_set_cursor_opacity(0); if (gPauseBadgesShowNotEnoughBP == 1) { 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, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); } else { 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, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); } } } diff --git a/src/pause/pause_items.c b/src/pause/pause_items.c index 58876ee5e0..758647847e 100644 --- a/src/pause/pause_items.c +++ b/src/pause/pause_items.c @@ -125,8 +125,8 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 selectedPosX, selectedPosY; s32 cursorOffsetX, cursorOffsetY; - style = 1; - palette = 10; + style = DRAW_MSG_STYLE_MENU; + palette = MSG_PAL_STANDARD; currentItemColumn = gPauseItemsSelectedIndex / gPauseItemsPages[gPauseItemsCurrentPage].numCols; currentItemRow = gPauseItemsSelectedIndex % gPauseItemsPages[gPauseItemsCurrentPage].numCols; 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); @@ -198,11 +198,11 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, } if (i == 0) { - style = 1; - palette = 10; + style = DRAW_MSG_STYLE_MENU; + palette = MSG_PAL_STANDARD; if (isSelected) { - style = 9; + style = DRAW_MSG_STYLE_MENU | DRAW_MSG_STYLE_DROP_SHADOW; } } @@ -306,7 +306,7 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, if (gPauseItemsCurrentTab == 1) { opacity1 = 191; } - draw_msg(msg, msgX, msgY, opacity1, 0, 1); + draw_msg(msg, msgX, msgY, opacity1, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); draw_box(DRAW_FLAGS_CLIP, &gPauseWS_17, gPauseItemsCurrentTab == 1 ? baseX + 9 : baseX, baseY + 39, 0, 91, 34, 255, gPauseItemsCurrentTab == 0 ? 128 : 0, 0, 0, @@ -322,7 +322,7 @@ void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, if (gPauseItemsCurrentTab == 0) { opacity1 = 191; } - draw_msg(msg, msgX, msgY, opacity1, 0, 1); + draw_msg(msg, msgX, msgY, opacity1, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); if (gPauseMenuCurrentTab == 3) { if (gPauseItemsLevel == 0) { diff --git a/src/pause/pause_main.c b/src/pause/pause_main.c index e33be15fbe..c8cc094581 100644 --- a/src/pause/pause_main.c +++ b/src/pause/pause_main.c @@ -471,7 +471,7 @@ void pause_textbox_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 widt gDPPipeSync(gMasterGfxPos++); gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, baseX + 1, baseY + 1, baseX + width - 1, baseY + height - 1); - draw_msg(msgID, baseX + 10, baseY - gPauseDescTextOffset, 255, 10, 0); + draw_msg(msgID, baseX + 10, baseY - gPauseDescTextOffset, 255, MSG_PAL_STANDARD, 0); if (gPauseShownDescIconScript != 0) { gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); hud_element_set_render_pos(gPauseCommonIconIDs[3], baseX - 4, baseY + 16); @@ -551,13 +551,13 @@ void pause_tutorial_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid get_msg_properties(pause_get_menu_msg(1), &msgHeight, &msgWidth, &msgMaxLineChars, &msgNumLines, &msgMaxLinesPerPage, NULL, 1); margin = (s32)(width - msgWidth) >> 1; - draw_msg(pause_get_menu_msg(1), baseX + margin, baseY, 255, 0, 1); + draw_msg(pause_get_menu_msg(1), baseX + margin, baseY, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); gPauseTutorialScrollPos += pause_interp_text_scroll(gPauseTutorialState * 140 - gPauseTutorialScrollPos); gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, baseX + 1, baseY + 1, baseX + width - 1, baseY + height - 1); state = gPauseTutorialState; get_msg_properties(pause_get_menu_msg(gPauseTutorialDescMessages[state]), &msgHeight2, &msgWidth2, &msgMaxLineChars2, &msgNumLines2, &msgMaxLinesPerPage2, NULL, 1); margin2 = (s32)(width - msgWidth2) >> 1; - draw_msg(pause_get_menu_msg(gPauseTutorialDescMessages[state]), baseX + margin2, baseY + 13 + state * 140 - gPauseTutorialScrollPos, 255, 10, 1); + draw_msg(pause_get_menu_msg(gPauseTutorialDescMessages[state]), baseX + margin2, baseY + 13 + state * 140 - gPauseTutorialScrollPos, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); hud_element_set_render_pos(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], baseX + width / 2 - 2, baseY + 52); hud_element_set_flags(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], HUD_ELEMENT_FLAGS_FILTER_TEX); hud_element_set_scale(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], 0.5f); @@ -568,7 +568,7 @@ void pause_tutorial_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid hud_element_draw_without_clipping(gPauseCommonIconIDs[7]); } - draw_msg(pause_get_menu_msg(gPauseTutorialCmdMessages[gPauseTutorialState]), baseX + width / 2 + 10, baseY + 44, 255, 10, 0); + draw_msg(pause_get_menu_msg(gPauseTutorialCmdMessages[gPauseTutorialState]), baseX + width / 2 + 10, baseY + 44, 255, MSG_PAL_STANDARD, 0); } void pause_init(void) { diff --git a/src/pause/pause_map.c b/src/pause/pause_map.c index 31ec4fca03..d84607b7ec 100644 --- a/src/pause/pause_map.c +++ b/src/pause/pause_map.c @@ -375,7 +375,7 @@ void pause_map_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 if (gPauseMapCursorCurrentOption != -1) { msgWidth = get_msg_width(MSG_Menus_00F2 + (gPauseMapCursorCurrentOption * 3), 0); msgID = MSG_Menus_00F2 + (gPauseMapCursorCurrentOption * 3); - draw_msg(msgID, baseX + ((width - msgWidth) >> 1), baseY + 1, 255, 0, 0); + draw_msg(msgID, baseX + ((width - msgWidth) >> 1), baseY + 1, 255, MSG_PAL_WHITE, 0); } } } diff --git a/src/pause/pause_partners.c b/src/pause/pause_partners.c index a67e628db1..6e2548f226 100644 --- a/src/pause/pause_partners.c +++ b/src/pause/pause_partners.c @@ -416,7 +416,7 @@ void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, msgWidth += 4; } - draw_msg(msgID, baseX + ((width - offset - msgWidth) >> 1), baseY + 1, 255, 0, 0); + draw_msg(msgID, baseX + ((width - offset - msgWidth) >> 1), baseY + 1, 255, MSG_PAL_WHITE, 0); if (level == 1) { hud_element_set_render_pos(gPausePartnersIconIDs[2], baseX + 95, baseY + 10); @@ -453,7 +453,7 @@ void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid continue; } - style = 1; + style = DRAW_NUMBER_CHARSET_THIN; if (i == 0) { moveNameID = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].nameMsg; @@ -467,14 +467,14 @@ void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid costFP = 0; } - draw_msg(moveNameID, msgX, msgY, 255, 10, style); + draw_msg(moveNameID, msgX, msgY, 255, MSG_PAL_STANDARD, style); hud_element_set_scale(gPausePartnersIconIDs[i + 4], 0.5f); //TODO find better match hud_element_set_render_pos(gPausePartnersIconIDs[i + 4], 12 - (-baseX), baseY + 28 + i * 13); hud_element_draw_without_clipping(gPausePartnersIconIDs[i + 4]); if (costFP != 0) { - draw_number(costFP, baseX + 125, baseY + 22 + i * 13, style, 10, 255, 3); + draw_number(costFP, baseX + 125, baseY + 22 + i * 13, style, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); if (costFP > 0) { hud_element_set_render_pos(gPausePartnersIconIDs[0], baseX + 134, baseY + 29 + i * 13); hud_element_draw_without_clipping(gPausePartnersIconIDs[0]); @@ -488,7 +488,7 @@ void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid } void pause_partners_draw_movelist_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) { - draw_msg(pause_get_menu_msg(0x55), baseX + 12, baseY + 1, 255, -1, 1); + draw_msg(pause_get_menu_msg(0x55), baseX + 12, baseY + 1, 255, -1, DRAW_MSG_STYLE_MENU); } void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) { diff --git a/src/pause/pause_spirits.c b/src/pause/pause_spirits.c index 0c29eba078..eb160e025a 100644 --- a/src/pause/pause_spirits.c +++ b/src/pause/pause_spirits.c @@ -254,7 +254,7 @@ void pause_spirits_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, } else { msgID = pause_get_menu_msg(0x56); } - draw_msg(msgID, baseX + ((width - get_msg_width(msgID, 0)) >> 1), baseY + 1, 255, 0, 0); + draw_msg(msgID, baseX + ((width - get_msg_width(msgID, 0)) >> 1), baseY + 1, 255, MSG_PAL_WHITE, 0); } } diff --git a/src/pause/pause_stats.c b/src/pause/pause_stats.c index 313a2a100a..8c6186db2a 100644 --- a/src/pause/pause_stats.c +++ b/src/pause/pause_stats.c @@ -117,55 +117,55 @@ void pause_stats_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, hud_element_set_render_pos(gPauseStatsIconIDs[3], baseX + 143, baseY + 109); hud_element_draw_without_clipping(gPauseStatsIconIDs[3]); - draw_msg(pause_get_menu_msg(0x32), baseX + 155, baseY + 101, 255, 0xA, 1); - draw_number(gPlayerData.coins, baseX + 281, baseY + 101, 1, 0xA, 255, 3); + draw_msg(pause_get_menu_msg(0x32), baseX + 155, baseY + 101, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.coins, baseX + 281, baseY + 101, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); hud_element_set_render_pos(gPauseStatsIconIDs[11], baseX + 248, baseY + 108); hud_element_draw_without_clipping(gPauseStatsIconIDs[11]); hud_element_set_render_pos(gPauseStatsIconIDs[4], baseX + 143, baseY + 0x5E); hud_element_draw_without_clipping(gPauseStatsIconIDs[4]); - draw_msg(pause_get_menu_msg(51), baseX + 155, baseY + 86, 255, 0xA, 1); - draw_number(gPlayerData.starPoints, baseX + 281, baseY + 86, 1, 0xA, 255, 3); + draw_msg(pause_get_menu_msg(51), baseX + 155, baseY + 86, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.starPoints, baseX + 281, baseY + 86, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); hud_element_set_render_pos(gPauseStatsIconIDs[11], baseX + 248, baseY + 93); hud_element_draw_without_clipping(gPauseStatsIconIDs[11]); hud_element_set_render_pos(gPauseStatsIconIDs[5], baseX + 143, baseY + 123); hud_element_draw_without_clipping(gPauseStatsIconIDs[5]); - draw_msg(pause_get_menu_msg(0x34), baseX + 155, baseY + 116, 255, 0xA, 1); - draw_number(gPlayerData.starPieces, baseX + 281, baseY + 116, 1, 0xA, 255, 3); + draw_msg(pause_get_menu_msg(0x34), baseX + 155, baseY + 116, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.starPieces, baseX + 281, baseY + 116, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); hud_element_set_render_pos(gPauseStatsIconIDs[11], baseX + 248, baseY + 123); hud_element_draw_without_clipping(gPauseStatsIconIDs[11]); pause_draw_menu_label(0, baseX + 21, baseY + 35); hud_element_set_render_pos(gPauseStatsIconIDs[7], baseX + 52, baseY + 57); hud_element_draw_without_clipping(gPauseStatsIconIDs[7]); - draw_msg(pause_get_menu_msg(0x36), baseX + 25, baseY + 51, 255, 0, 1); - draw_number(gPlayerData.curHP, baseX + 78, baseY + 51, 1, 0, 255, 3); - draw_msg(pause_get_menu_msg(0x39), baseX + 78, baseY + 51, 255, 0, 1); - draw_number(gPlayerData.curMaxHP, baseX + 105, baseY + 51, 1, 0, 255, 3); + draw_msg(pause_get_menu_msg(0x36), baseX + 25, baseY + 51, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.curHP, baseX + 78, baseY + 51, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_msg(pause_get_menu_msg(0x39), baseX + 78, baseY + 51, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.curMaxHP, baseX + 105, baseY + 51, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); pause_draw_menu_label(1, baseX + 21, baseY + 69); hud_element_set_render_pos(gPauseStatsIconIDs[8], baseX + 52, baseY + 92); hud_element_draw_without_clipping(gPauseStatsIconIDs[8]); - draw_msg(pause_get_menu_msg(0x37), baseX + 25, baseY + 85, 255, 0, 1); - draw_number(gPlayerData.curFP, baseX + 78, baseY + 85, 1, 0, 255, 3); - draw_msg(pause_get_menu_msg(0x39), baseX + 78, baseY + 85, 255, 0, 1); - draw_number(gPlayerData.curMaxFP, baseX + 105, baseY + 85, 1, 0, 255, 3); + draw_msg(pause_get_menu_msg(0x37), baseX + 25, baseY + 85, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.curFP, baseX + 78, baseY + 85, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_msg(pause_get_menu_msg(0x39), baseX + 78, baseY + 85, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.curMaxFP, baseX + 105, baseY + 85, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); pause_draw_menu_label(2, baseX + 21, baseY + 103); hud_element_set_render_pos(gPauseStatsIconIDs[9], baseX + 52, baseY + 126); hud_element_draw_without_clipping(gPauseStatsIconIDs[9]); - draw_msg(pause_get_menu_msg(0x38), baseX + 25, baseY + 119, 255, 0, 1); - draw_number(gPlayerData.maxBP, baseX + 78, baseY + 119, 1, 0, 255, 3); + draw_msg(pause_get_menu_msg(0x38), baseX + 25, baseY + 119, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(gPlayerData.maxBP, baseX + 78, baseY + 119, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); hud_element_set_render_pos(gPauseStatsIconIDs[6], baseX + 143, baseY + 140); hud_element_draw_without_clipping(gPauseStatsIconIDs[6]); - draw_msg(pause_get_menu_msg(0x35), baseX + 155, baseY + 133, 255, 0xA, 1); + draw_msg(pause_get_menu_msg(0x35), baseX + 155, baseY + 133, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); frameCounter = gPlayerData.frameCounter; if (frameCounter > 21599999) { frameCounter = 21599999; } - draw_number((frameCounter / 2160000) % 10, baseX + 237, baseY + 133, 1, 0xA, 255, 2); - draw_number((frameCounter / 216000) - ((frameCounter / 2160000) * 10), baseX + 246, baseY + 133, 1, 0xA, 255, 2); - draw_msg(pause_get_menu_msg(0x3A), baseX + 257, baseY + 132, 255, 0xA, 1); - draw_msg(pause_get_menu_msg(0x3A), baseX + 257, baseY + 127, 255, 0xA, 1); - draw_number((frameCounter / 36000) - ((frameCounter / 216000) * 6), baseX + 264, baseY + 133, 1, 0xA, 255, 2); - draw_number((frameCounter / 3600) - ((frameCounter / 36000) * 10), baseX + 273, baseY + 133, 1, 0xA, 255, 2); + draw_number((frameCounter / 2160000) % 10, baseX + 237, baseY + 133, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE); + draw_number((frameCounter / 216000) - ((frameCounter / 2160000) * 10), baseX + 246, baseY + 133, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE); + draw_msg(pause_get_menu_msg(0x3A), baseX + 257, baseY + 132, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_msg(pause_get_menu_msg(0x3A), baseX + 257, baseY + 127, 255, MSG_PAL_STANDARD, DRAW_MSG_STYLE_MENU); + draw_number((frameCounter / 36000) - ((frameCounter / 216000) * 6), baseX + 264, baseY + 133, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE); + draw_number((frameCounter / 3600) - ((frameCounter / 36000) * 10), baseX + 273, baseY + 133, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE); bootsLevel = gPlayerData.bootsLevel; hammerLevel = gPlayerData.hammerLevel; @@ -180,9 +180,9 @@ void pause_stats_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, hud_element_set_render_pos(gPauseStatsIconIDs[0], baseX + 61, baseY + 21); hud_element_draw_without_clipping(gPauseStatsIconIDs[0]); - draw_msg(pause_get_menu_msg(0x43), baseX + 16, baseY + 14, 255, 0, 1); - draw_msg(pause_get_menu_msg(0x44), baseX + 67, baseY + 14, 255, 0, 1); - draw_number(level, baseX + 106, baseY + 14, 1, 0, 255, 2); + draw_msg(pause_get_menu_msg(0x43), baseX + 16, baseY + 14, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_msg(pause_get_menu_msg(0x44), baseX + 67, baseY + 14, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); + draw_number(level, baseX + 106, baseY + 14, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE); bootsLevel++; if (bootsLevel < 0) { @@ -206,13 +206,13 @@ void pause_stats_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, hud_element_set_script(gPauseStatsIconIDs[1], gStatsBootsElements[bootsLevel]); hud_element_set_render_pos(gPauseStatsIconIDs[1], baseX + 163, baseY + 29); hud_element_draw_without_clipping(gPauseStatsIconIDs[1]); - draw_msg(pause_get_menu_msg(gPauseStatsBootsMessages[bootsLevel]), baseX + 176, baseY + 23, 255, 0, 1); + draw_msg(pause_get_menu_msg(gPauseStatsBootsMessages[bootsLevel]), baseX + 176, baseY + 23, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); var_s3_2 = 0; hud_element_set_script(gPauseStatsIconIDs[2], gStatsHammerElements[hammerLevel]); hud_element_set_render_pos(gPauseStatsIconIDs[2], baseX + 163, baseY + 54); elemIdx = 0; hud_element_draw_without_clipping(gPauseStatsIconIDs[2]); - draw_msg(pause_get_menu_msg(gPauseStatsHammerMessages[hammerLevel]), baseX + 176, baseY + 48, 255, 0, 1); + draw_msg(pause_get_menu_msg(gPauseStatsHammerMessages[hammerLevel]), baseX + 176, baseY + 48, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); pause_draw_menu_label(6, baseX + 130, baseY + 69); pause_draw_menu_label(5, baseX + 138, baseY + 60); var_s2_2 = 0; diff --git a/src/status_icons.c b/src/status_icons.c index 1e77f96c43..866d92cc99 100644 --- a/src/status_icons.c +++ b/src/status_icons.c @@ -260,7 +260,7 @@ void draw_merlee_message_string(PopupMessage* popup, s32 posX, s32 posY) { posY += D_80078164[get_msg_lines(messageID) - 1]; - draw_msg(messageID, posX, posY, 255, 15, 0); + draw_msg(messageID, posX, posY, 255, MSG_PAL_0F, 0); } void draw_merlee_message(void* data) { diff --git a/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c b/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c index 6d63f48847..1dc6248d1c 100644 --- a/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c +++ b/src/world/area_mgm/mgm_00/mgm_00_3_scoreboard.c @@ -53,17 +53,17 @@ void N(draw_record_display)(RecordDisplayData* data, s32 alpha) { gDPSetPrimColor(gMasterGfxPos++, 0, 0, 16, 120, 24, alpha * 0.65); gDPFillRectangle(gMasterGfxPos++, 48, 53, 272, 129); gDPPipeSync(gMasterGfxPos++); - msg_draw_frame(45, 50, 230, 82, 6, 0, 1, (s32)(alpha * 0.55), alpha); // cast needed if signature isn't present + msg_draw_frame(45, 50, 230, 82, MSG_STYLE_INSPECT, 0, 1, (s32)(alpha * 0.55), alpha); // cast needed if signature isn't present if (data->gameType == MINIGAME_TYPE_JUMP) { draw_msg(MSG_MGM_001C, 66, 57, alpha, MSG_PAL_TEAL, 0); - draw_number(gPlayerData.jumpGamePlays, 219, 78, TRUE, MSG_PAL_WHITE, alpha, 3); - draw_number(gPlayerData.jumpGameTotal, 219, 93, TRUE, MSG_PAL_WHITE, alpha, 3); - draw_number(gPlayerData.jumpGameRecord, 219, 108, TRUE, MSG_PAL_WHITE, alpha, 3); + draw_number(gPlayerData.jumpGamePlays, 219, 78, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(gPlayerData.jumpGameTotal, 219, 93, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(gPlayerData.jumpGameRecord, 219, 108, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); } else { draw_msg(MSG_MGM_001D, 64, 57, alpha, MSG_PAL_TEAL, 0); - draw_number(gPlayerData.smashGamePlays, 219, 78, TRUE, MSG_PAL_WHITE, alpha, 3); - draw_number(gPlayerData.smashGameTotal, 219, 93, TRUE, MSG_PAL_WHITE, alpha, 3); - draw_number(gPlayerData.smashGameRecord, 219, 108, TRUE, MSG_PAL_WHITE, alpha, 3); + draw_number(gPlayerData.smashGamePlays, 219, 78, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(gPlayerData.smashGameTotal, 219, 93, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); + draw_number(gPlayerData.smashGameRecord, 219, 108, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); } draw_msg(MSG_MGM_001E, 58, 78, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU); diff --git a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c index eecc01d2f0..beafb7582a 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c +++ b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c @@ -147,7 +147,7 @@ void N(appendGfx_score_display) (void* renderData) { sfx_play_sound_with_params(SOUND_211, 0, 0x40, 0x32); } - draw_number(data->currentScore, data->scoreWindowPosX + 63, 32, 1, 0, 255, 3); + draw_number(data->currentScore, data->scoreWindowPosX + 63, 32, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); } } diff --git a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c index fc395c3127..9c5152b257 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c +++ b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c @@ -163,7 +163,7 @@ void N(appendGfx_score_display)(void* renderData) { draw_box(0, 9, data->windowA_posX, 23, 0, 80, 38, 180, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); draw_msg(MSG_MGM_0047, data->windowA_posX + 42, 28, 255, MSG_PAL_WHITE, 0); - draw_number(NUM_PANELS - data->found, data->windowA_posX + 65, 43, TRUE, MSG_PAL_WHITE, 255, 3); + draw_number(NUM_PANELS - data->found, data->windowA_posX + 65, 43, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); draw_ci_image_with_clipping(&N(panel_peach_img), 32, 32, G_IM_FMT_CI, G_IM_SIZ_4b, &N(panel_peach_pal), data->windowA_posX + 5, 26, 10, 20, 300, 200, 255); @@ -173,9 +173,9 @@ void N(appendGfx_score_display)(void* renderData) { draw_box(0, 0xB, data->windowB_posX, 27, 0, 60, 20, 180, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); // draw whole seconds - draw_number(seconds, data->windowB_posX + 29, 31, TRUE, MSG_PAL_WHITE, 255, 3); + draw_number(seconds, data->windowB_posX + 29, 31, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT); // draw tenths of seconds - draw_number(deciseconds, data->windowB_posX + 40, 31, TRUE, MSG_PAL_WHITE, 255, 0); + draw_number(deciseconds, data->windowB_posX + 40, 31, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, 0); // draw dot draw_msg(MSG_MGM_0024, data->windowB_posX + 30, 29, 255, MSG_PAL_WHITE, 0); } diff --git a/src/world/common/atomic/Credits.inc.c b/src/world/common/atomic/Credits.inc.c index ea737b0706..7efefc990d 100644 --- a/src/world/common/atomic/Credits.inc.c +++ b/src/world/common/atomic/Credits.inc.c @@ -106,7 +106,7 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) { f32 posX = chr->posX; f32 posY = chr->posY; f32 alpha; - + alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, chr->fadeInTime, line->appearTime); if (alpha > 255.0f) { alpha = 255.0; @@ -119,7 +119,7 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -128,7 +128,7 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40000 | FOLD_STATE_FLAG_10000 | FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -141,7 +141,7 @@ void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) { f32 posX = chr->posX; f32 posY = chr->posY; f32 alpha; - + alpha = update_lerp(0, 0.0f, 255.0f, chr->fadeInTime, line->appearTime); if (alpha > 255.0f) { alpha = 255.0; @@ -164,7 +164,7 @@ void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -185,13 +185,13 @@ void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) { f32 posY = chr->posY; f32 scaleAmt; f32 alpha; - + alpha = update_lerp(EASING_COS_IN, 16.0f, 300.0f, chr->fadeInTime, line->appearTime); if (alpha > 255.0f) { alpha = 255.0f; } fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); - + scaleAmt = update_lerp(EASING_LINEAR, 0.2f, 2.0f, chr->fadeInTime, line->appearTime); if (scaleAmt > 1.0) { scaleAmt = 1.0; @@ -207,7 +207,7 @@ void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) { guMtxF2L(transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -234,12 +234,12 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) { alpha = 255.0f; } fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); - + rotAngle = update_lerp(EASING_LINEAR, -75.0f, 30.0f, chr->fadeInTime, line->appearTime); if (rotAngle >= 0.0f) { rotAngle = 0.0f; } - + msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); posX += (glyphPtr->charWidth * 0.5); @@ -251,7 +251,7 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) { guMtxF2L(transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -260,7 +260,7 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_10000 | FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -294,7 +294,7 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) { fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); } msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); - + posX += (glyphPtr->charWidth * 0.5); guTranslateF(transformMtx, posX, -posY, 0.0f); guRotateF(tempMtx, rotAngle, 0.0f, 1.0f, 0.2f); @@ -304,7 +304,7 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -323,7 +323,7 @@ void N(CharAnim_FadeIn_5)(CreditsLine* line, CreditsChar* chr) { f32 posX = chr->posX; f32 posY = chr->posY; f32 alpha; - + alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, chr->fadeInTime, line->appearTime); msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); @@ -347,7 +347,7 @@ void N(CharAnim_HoldClearFold)(CreditsLine* line, CreditsChar* chr) { gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -356,7 +356,7 @@ void N(CharAnim_HoldClearFold)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40000 | FOLD_STATE_FLAG_10000 | FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -381,7 +381,7 @@ void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) { f32 posX = chr->posX; f32 posY = chr->posY; f32 alpha; - + alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime); fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); @@ -392,7 +392,7 @@ void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -401,7 +401,7 @@ void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_10000 | FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -413,13 +413,13 @@ void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) { f32 scaleAmt, alpha; f32 posX = chr->posX; f32 posY = chr->posY; - + alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime); fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); - + scaleAmt = update_lerp(EASING_LINEAR, 1.0f, 0.2f, chr->fadeInTime, line->vanishTime); msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); - + posX += (glyphPtr->charWidth * 0.5); guTranslateF(transformMtx, posX, -posY, 0.0f); guScaleF(tempMtx, scaleAmt, scaleAmt, 1.0f); @@ -427,7 +427,7 @@ void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -436,7 +436,7 @@ void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -448,10 +448,10 @@ void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) { f32 rotAngle, alpha; f32 posX = chr->posX; f32 posY = chr->posY; - + alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime); fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0); - + rotAngle = update_lerp(EASING_LINEAR, 0.0f, 60.0f, chr->fadeInTime, line->vanishTime); msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); @@ -462,7 +462,7 @@ void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) { guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - + foldImg.raster = glyphPtr->raster; foldImg.palette = glyphPtr->palette; foldImg.width = glyphPtr->texSize.x; @@ -471,7 +471,7 @@ void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) { foldImg.yOffset = 0; foldImg.opacity = 255; fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_10000 | FOLD_STATE_FLAG_40, transformMtx); - + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); } @@ -479,9 +479,9 @@ void N(CharAnim_FadeOut_3)(CreditsLine* line, CreditsChar* chr) { MesasgeFontGlyphData glyph; MesasgeFontGlyphData* glyphPtr = &glyph; f32 posX = chr->posX; - f32 posY = chr->posY; + f32 posY = chr->posY; f32 alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime); - + msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr); draw_ci_image_with_clipping(glyphPtr->raster, glyphPtr->texSize.x, glyphPtr->texSize.y, G_IM_FMT_CI, G_IM_SIZ_4b, glyphPtr->palette, posX, posY, @@ -508,9 +508,9 @@ void N(credits_update_line)(CreditsLine* line) { line->time = 0; line->state = 0; } - + get_msg_properties((s32) line->message, &msgHeight, &msgWidth, &msgMaxLineChars, NULL, NULL, NULL, 0); - + curChar->font = 0; curChar->variation = 0; @@ -521,7 +521,7 @@ void N(credits_update_line)(CreditsLine* line) { curMsgChar = line->message[readPos++]; nextMsgChar1 = line->message[readPos]; doneCalcLoop = FALSE; - + switch (curMsgChar) { case MSG_CHAR_READ_VARIANT0: case MSG_CHAR_READ_VARIANT1: @@ -545,15 +545,15 @@ void N(credits_update_line)(CreditsLine* line) { if (curChar->font == MSG_FONT_SUBTITLE) { curPattern = N(Font4Patterns); } - + i = 0; - + if (curChar->font == MSG_FONT_SUBTITLE) { if (curMsgChar == MSG_CHAR_LPAREN || nextMsgChar1 == MSG_CHAR_LPAREN) { msgWidth++; } } - + do { if (curMsgChar == curPattern[i].unk_00 && nextMsgChar1 == curPattern[i].unk_01) { msgWidth += curPattern[i].size; @@ -575,14 +575,14 @@ void N(credits_update_line)(CreditsLine* line) { curChar->font = 0; curChar->variation = 0; curChar->palette = line->palette; - + drawCount = 0; readPos = 0; do { curMsgChar = line->message[readPos++]; nextMsgChar2 = line->message[readPos]; doneDrawLoop = FALSE; - + switch (curMsgChar) { case MSG_CHAR_READ_VARIANT0: case MSG_CHAR_READ_VARIANT1: @@ -603,7 +603,7 @@ void N(credits_update_line)(CreditsLine* line) { curChar->charIndex = curMsgChar; curChar->posX = posX; curChar->posY = line->posY; - + switch (line->state) { case CREDITS_LINE_APPEARING: curChar->fadeInTime = line->time - (line->perCharDelayIn * drawCount); @@ -636,7 +636,7 @@ void N(credits_update_line)(CreditsLine* line) { } } break; - + case CREDITS_LINE_HOLDING: if (nextMsgChar2 == MSG_CHAR_READ_END) { if (line->time == line->holdTime) { @@ -701,7 +701,7 @@ void N(credits_update_line)(CreditsLine* line) { break; } } while (!doneDrawLoop); - + if ((line->state == CREDITS_LINE_APPEARING) && doneCurrentState) { s32 temp = 0; get_msg_properties((s32) line->message, NULL, NULL, &temp, NULL, NULL, NULL, 0); @@ -741,9 +741,9 @@ void N(credits_worker_render)(void) { void N(credits_load_message)(CreditsEntry* entry) { CreditsLine* line; s32 maxLineChars; - s32 unkMsgProperty; + s32 numSpaces; s32 i = 0; - + while (TRUE) { if (!(N(CreditsDataPtr)->lines[i].flags & CREDITS_LINE_FLAG_1)) { break; @@ -752,7 +752,7 @@ void N(credits_load_message)(CreditsEntry* entry) { return; } } - + line = &N(CreditsDataPtr)->lines[i]; if (entry->msgID != NULL) { if (entry->msgID >= 0) { @@ -765,7 +765,7 @@ void N(credits_load_message)(CreditsEntry* entry) { } else { line->message = (u8*) entry->msgID; } - get_msg_properties((s32) line->message, NULL, NULL, &maxLineChars, NULL, NULL, &unkMsgProperty, 0); + get_msg_properties((s32) line->message, NULL, NULL, &maxLineChars, NULL, NULL, &numSpaces, 0); line->posX = entry->posX; line->posY = entry->posY; line->palette = entry->palette; @@ -774,7 +774,7 @@ void N(credits_load_message)(CreditsEntry* entry) { line->holdMode = entry->holdMode; line->holdTime = entry->holdTime; if (entry->perCharDelayIn != 0) { - line->holdTime = entry->holdTime - ((maxLineChars - 1) - unkMsgProperty) * entry->perCharDelayIn; + line->holdTime = entry->holdTime - ((maxLineChars - 1) - numSpaces) * entry->perCharDelayIn; if (line->holdTime < 0) { line->holdTime = 0; } @@ -806,13 +806,13 @@ ApiStatus N(InitCredits)(Evt* script, s32 isInitialCall) { ApiStatus N(ShowCreditList)(Evt* script, s32 isInitialCall) { CreditsEntry* creditList = (CreditsEntry*) evt_get_variable(script, *script->ptrReadPos); - + if (isInitialCall) { script->varTable[0] = 0; script->varTable[1] = -1; script->varTable[2] = 0; } - + switch (script->varTable[0]) { case 0: while (TRUE) { diff --git a/src/world/script_api/7E0E80.c b/src/world/script_api/7E0E80.c index 476da1ed9e..50eb306e4a 100644 --- a/src/world/script_api/7E0E80.c +++ b/src/world/script_api/7E0E80.c @@ -769,14 +769,14 @@ void shop_draw_item_name(s32 arg0, s32 posX, s32 posY) { ShopItemData* siItem = &shop->staticInventory[shop->currentItemSlot]; ItemData* shopItem = &gItemTable[siItem->itemID]; - draw_msg(shopItem->nameMsg, posX + 60 - (get_msg_width(shopItem->nameMsg, 0) >> 1), posY + 6, 255, 0, 0); + draw_msg(shopItem->nameMsg, posX + 60 - (get_msg_width(shopItem->nameMsg, 0) >> 1), posY + 6, 255, MSG_PAL_WHITE, 0); } void shop_draw_item_desc(s32 arg0, s32 posX, s32 posY) { Shop* shop = gGameStatusPtr->mapShop; ShopItemData* shopItem = &shop->staticInventory[shop->currentItemSlot]; - draw_msg(shopItem->descMsg, posX + 8, posY, 255, 0xA, 0); + draw_msg(shopItem->descMsg, posX + 8, posY, 255, MSG_PAL_STANDARD, 0); } void draw_shop_items(void) { @@ -828,7 +828,7 @@ void draw_shop_items(void) { } if (!(get_item_entity(shopItemEntities->index)->flags & ITEM_ENTITY_FLAGS_40)) { - draw_number(itemData->price, xTemp + xOffset, yTemp, 1, 0, 255, 0); + draw_number(itemData->price, xTemp + xOffset, yTemp, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_WHITE, 255, 0); } if (i == shop->currentItemSlot) { diff --git a/ver/us/asm/data/10CC10.data.s b/ver/us/asm/data/10CC10.data.s deleted file mode 100644 index c86607eede..0000000000 --- a/ver/us/asm/data/10CC10.data.s +++ /dev/null @@ -1,216 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802EB3D0 -.word 0x0B08080A, 0x09090904, 0x08080909, 0x0509050A, 0x09070909, 0x09090909, 0x09090505, 0x08090809, 0x0A090909, 0x09090909, 0x09070909, 0x09090909, 0x09090909, 0x09090909, 0x09090907, 0x09060709, 0x06090808, 0x09080808, 0x07040708, 0x04090807, 0x09080808, 0x08080809, 0x08080807, 0x03070A07, 0x09090909, 0x09090909, 0x09070707, 0x08090909, 0x09090909, 0x09090909, 0x09090908, 0x08080808, 0x06060607, 0x09070707, 0x08080808, 0x08060907, 0x0B0B0B0B, 0x0C0C0B0B, 0x0D0D0E0E, 0x0C0D0D0D, 0x0D100909, 0x05050000 - -dlabel D_802EB478 -.word D_802EE8D0, D_802EB3D0, 0x0A000000, D_802EE8D0, D_802EB3D0, 0x0AFE0000, D_802EE8D0, D_802EB3D0, 0x0A000000, D_802EE8D0, D_802EB3D0, 0x0A000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EB4B4 -.word D_802EE8D0, D_802EB3D0, 0x09FE0000, D_802EE8D0, D_802EB3D0, 0x09000000, D_802EE8D0, D_802EB3D0, 0x09000000, D_802EE8D0, D_802EB3D0, 0x09000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EB4F0 -.word 0x10100E10, 0x00800000, D_802EB478 - -dlabel D_802EB4FC -.word 0x10100E10, 0x00800000, D_802EB4B4 - -dlabel D_802EB508 -.word 0x08080809, 0x08080808, 0x05080908, 0x0A080809, 0x08090808, 0x08080A09, 0x09080403, 0x04090909, 0x09090909, 0x0909090A, 0x0A000000 - -dlabel D_802EB534 -.word 0x09090808, 0x07070807, 0x03070707, 0x08070808, 0x08070708, 0x07070808, 0x08070403, 0x04080808, 0x08080808, 0x08080808, 0x08000000 - -dlabel D_802EB560 -.word D_802ED970, D_802EB508, 0x0E000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EB578 -.word D_802F39D0, D_802EB534, 0x0A000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EB590 -.word 0x0C0F0E10, 0x00600000, D_802EB560 - -dlabel D_802EB59C -.word 0x0C0C0A0A, 0x00480000, D_802EB578 - -dlabel gMsgCharsets -.word D_802EB4F0, D_802EB4FC, D_802EB4FC, D_802EB590, D_802EB59C, 0x00000000 - -dlabel D_802EB5C0 -.word 0x0000D178, 0x0000ED78, 0x00010978, 0x00012578, 0x00014178, 0x00015D78, 0x00017978, 0x00019578, 0x0001B178, 0x0001CD78, 0x0001E978, 0x00020578 - -dlabel D_802EB5F0 -.word 0x0000EB78, 0x00010778, 0x00012378, 0x00013F78, 0x00015B78, 0x00017778, 0x00019378, 0x0001AF78, 0x0001CB78, 0x0001E778, 0x00020378, 0x00021F78 - -dlabel D_802EB620 -.word 0x00000011, 0x00000012, 0x00000000, 0x00000017, 0x00000018, 0xFFFFFFCE, 0x0000001B, 0x0000001B, 0x00000000 - -dlabel D_802EB644 -.short 0x0000, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0x0000, 0xFFFC, 0xFFFC, 0xFFFC, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFC, 0xFFFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 - -dlabel D_802EB670 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01111111, 0x00000000, 0x00000000, 0x00000111, 0x12233334, 0x00000000, 0x00000000, 0x00111233, 0x44444444, 0x00000000, 0x00000000, 0x11234444, 0x44444444, 0x00000000, 0x00000011, 0x23444444, 0x44444444, 0x00000000, 0x00000123, 0x44444444, 0x44444444, 0x00000000, 0x00011344, 0x44444444, 0x44444444, 0x00000000, 0x00123444, 0x44444444, 0x44444444, 0x00000000, 0x01244444, 0x44444444, 0x44444444, 0x00000000, 0x12444444, 0x44444444, 0x44444444, 0x00000001, 0x24444444, 0x44444444, 0x44444444, 0x00000012, 0x44444444, 0x44444444, 0x44444444, 0x00000013, 0x44444444, 0x44444444, 0x44444444, 0x00000134, 0x44444444, 0x44444444, 0x44444444, 0x00001244, 0x44444444, 0x44444444, 0x44444444, 0x00001344, 0x44444444, 0x44444444, 0x44444444, 0x00012444, 0x44444444, 0x44444444, 0x44444444, 0x00013444, 0x44444444, 0x44444444, 0x44444444, 0x00124444, 0x44444444, 0x44444444, 0x44444444, 0x00134444, 0x44444444, 0x44444444, 0x44444444, 0x01244444, 0x44444444, 0x44444444, 0x44444444, 0x01344444, 0x44444444, 0x44444444, 0x44444444, 0x01344444, 0x44444444, 0x44444444, 0x44444444, 0x01444444, 0x44444444, 0x44444444, 0x44444444, 0x12444444, 0x44444444, 0x44444444, 0x44444444, 0x12444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x13444444, 0x44444444, 0x44444444, 0x44444444, 0x12444444, 0x44444444, 0x44444444, 0x44444444, 0x12444444, 0x44444444, 0x44444444, 0x44444444, 0x01444444, 0x44444444, 0x44444444, 0x44444444, 0x01344444, 0x44444444, 0x44444444, 0x44444444, 0x01344444, 0x44444444, 0x44444444, 0x44444444, 0x01244444, 0x44444444, 0x44444444, 0x44444444, 0x00134444, 0x44444444, 0x44444444, 0x44444444, 0x00124444, 0x44444444, 0x44444444, 0x44444444, 0x00013444, 0x44444444, 0x44444444, 0x44444444, 0x00012444, 0x44444444, 0x44444444, 0x44444444, 0x00001344, 0x44444444, 0x44444444, 0x44444444, 0x00001244, 0x44444444, 0x44444444, 0x44444444, 0x00000134, 0x44444444, 0x44444444, 0x44444444, 0x00000014, 0x44444444, 0x44444444, 0x44444444, 0x00000099, 0x44444444, 0x44444444, 0x44444444, 0x00000009, 0x34444444, 0x44444444, 0x44444444, 0x00000000, 0x88444444, 0x44444444, 0x44444444, 0x00000000, 0x08544444, 0x44444444, 0x44444444, 0x00000000, 0x00AA4444, 0x44444444, 0x44444444, 0x00000000, 0x000A7544, 0x44444444, 0x44444444, 0x00000000, 0x00000765, 0x44444444, 0x44444444, 0x00000000, 0x00000077, 0x65444444, 0x44444444, 0x00000000, 0x00000000, 0x77654444, 0x44444444, 0x00000000, 0x00000000, 0x00777655, 0x44444444, 0x00000000, 0x00000000, 0x00000777, 0x76655554, 0x00000000, 0x00000000, 0x00000000, 0x07777777, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EBA70 -.word 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x77777777, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EBB70 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111110, 0x00000000, 0x00000000, 0x00000000, 0x43333221, 0x11100000, 0x00000000, 0x00000000, 0x44444444, 0x33211100, 0x00000000, 0x00000000, 0x44444444, 0x44443211, 0x00000000, 0x00000000, 0x44444444, 0x44444432, 0x11000000, 0x00000000, 0x44444444, 0x44444444, 0x32100000, 0x00000000, 0x44444444, 0x44444444, 0x44319000, 0x00000000, 0x44444444, 0x44444444, 0x44449900, 0x00000000, 0x44444444, 0x44444444, 0x44444380, 0x00000000, 0x44444444, 0x44444444, 0x44444488, 0x00000000, 0x44444444, 0x44444444, 0x44444445, D_A0000000, 0x44444444, 0x44444444, 0x44444444, 0xAA000000, 0x44444444, 0x44444444, 0x44444444, 0x47000000, 0x44444444, 0x44444444, 0x44444444, 0x45700000, 0x44444444, 0x44444444, 0x44444444, 0x44670000, 0x44444444, 0x44444444, 0x44444444, 0x44570000, 0x44444444, 0x44444444, 0x44444444, 0x44467000, 0x44444444, 0x44444444, 0x44444444, 0x44457000, 0x44444444, 0x44444444, 0x44444444, 0x44446700, 0x44444444, 0x44444444, 0x44444444, 0x44445700, 0x44444444, 0x44444444, 0x44444444, 0x44444670, 0x44444444, 0x44444444, 0x44444444, 0x44444570, 0x44444444, 0x44444444, 0x44444444, 0x44444570, 0x44444444, 0x44444444, 0x44444444, 0x44444470, 0x44444444, 0x44444444, 0x44444444, 0x44444467, 0x44444444, 0x44444444, 0x44444444, 0x44444467, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444457, 0x44444444, 0x44444444, 0x44444444, 0x44444467, 0x44444444, 0x44444444, 0x44444444, 0x44444467, 0x44444444, 0x44444444, 0x44444444, 0x44444470, 0x44444444, 0x44444444, 0x44444444, 0x44444570, 0x44444444, 0x44444444, 0x44444444, 0x44444570, 0x44444444, 0x44444444, 0x44444444, 0x44444670, 0x44444444, 0x44444444, 0x44444444, 0x44445700, 0x44444444, 0x44444444, 0x44444444, 0x44446700, 0x44444444, 0x44444444, 0x44444444, 0x44457000, 0x44444444, 0x44444444, 0x44444444, 0x44467000, 0x44444444, 0x44444444, 0x44444444, 0x44570000, 0x44444444, 0x44444444, 0x44444444, 0x44670000, 0x44444444, 0x44444444, 0x44444444, 0x45700000, 0x44444444, 0x44444444, 0x44444444, 0x57000000, 0x44444444, 0x44444444, 0x44444444, 0x67000000, 0x44444444, 0x44444444, 0x44444446, 0x70000000, 0x44444444, 0x44444444, 0x44444467, 0x00000000, 0x44444444, 0x44444444, 0x44444670, 0x00000000, 0x44444444, 0x44444444, 0x44456700, 0x00000000, 0x44444444, 0x44444444, 0x44577000, 0x00000000, 0x44444444, 0x44444444, 0x56700000, 0x00000000, 0x44444444, 0x44444456, 0x77000000, 0x00000000, 0x44444444, 0x44445677, 0x00000000, 0x00000000, 0x44444444, 0x55677700, 0x00000000, 0x00000000, 0x45555667, 0x77700000, 0x00000000, 0x00000000, 0x77777770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EBF70 -.word 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78444444, 0x44444870, 0x78888888, 0x88888870, 0x77777777, 0x77777770, 0x00000000, 0x00000000 - -dlabel D_802EBFF0 -.word 0x00000001, 0x00000112, 0x00011344, 0x00123444, 0x00134444, 0x01344444, 0x01444444, 0x12444444 - -dlabel D_802EC010 -.word 0x11111111, 0x33344444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444 - -dlabel D_802EC030 -.word 0x11111111, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444 - -dlabel D_802EC050 -.word 0x11111111, 0x44444333, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444 - -dlabel D_802EC070 -.word 0x10000000, 0x21100000, 0x44398000, 0x44449A00, 0x44444A00, 0x44444570, 0x44444470, 0x44444467 - -dlabel D_802EC090 -.word 0x13444444, 0x13444444, 0x13444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444 - -dlabel D_802EC0B0 -.word 0x44444457, 0x44444457, 0x44444457, 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447 - -dlabel D_802EC0D0 -.word 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444 - -dlabel D_802EC0F0 -.word 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447 - -dlabel D_802EC110 -.word 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x14444444, 0x13444444, 0x13444444, 0x13444444 - -dlabel D_802EC130 -.word 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444447, 0x44444457, 0x44444457, 0x44444457 - -dlabel D_802EC150 -.word 0x12444444, 0x01444444, 0x01344444, 0x00944444, 0x00894444, 0x000AA544, 0x00000776, 0x00000007 - -dlabel D_802EC170 -.word 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x55544444, 0x77777777 - -dlabel D_802EC190 -.word 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x77777777 - -dlabel D_802EC1B0 -.word 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444555, 0x77777777 - -dlabel D_802EC1D0 -.word 0x44444467, 0x44444470, 0x44444570, 0x44445700, 0x44456700, 0x44577000, 0x67700000, 0x70000000 - -dlabel D_802EC1F0 -.word 0x00000008, 0x00000812, 0x00001245, 0x000145BB, 0x00146B00, 0x0825B000, 0x014B0000, 0x825B0000 - -dlabel D_802EC210 -.word 0x11111111, 0x33444444, 0xBBBBBBBB, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EC230 -.word 0x11111111, 0x44444444, 0xBBBBBBBB, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EC250 -.word 0x11111111, 0x44444444, 0xBBBBBBBB, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802EC270 -.word 0x80000000, 0x21800000, 0x54210000, 0xBB541000, 0x00B64100, 0x000B5280, 0x0000B410, 0x0000B528 - -dlabel D_802EC290 -.word 0x13B00000, 0x13B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000 - -dlabel D_802EC2B0 -.word 0x00000B31, 0x00000B31, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41 - -dlabel D_802EC2D0 -.word 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000 - -dlabel D_802EC2F0 -.word 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41 - -dlabel D_802EC310 -.word 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x14B00000, 0x13B00000, 0x13B00000 - -dlabel D_802EC330 -.word 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B41, 0x00000B31, 0x00000B31 - -dlabel D_802EC350 -.word 0x825B0000, 0x014B0000, 0x0825B000, 0x00146B00, 0x000145BB, 0x00001245, 0x00000812, 0x00000008 - -dlabel D_802EC370 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBBBBBBBB, 0x33444444, 0x11111111 - -dlabel D_802EC390 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBBBBBBBB, 0x44444444, 0x11111111 - -dlabel D_802EC3B0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBBBBBBBB, 0x44444433, 0x11111111 - -dlabel D_802EC3D0 -.word 0x0000B528, 0x0000B410, 0x000B5280, 0x00B64100, 0xBB541000, 0x54210000, 0x21800000, 0x80000000 - -dlabel D_802EC3F0 -.word 0x739EFFFF, 0xF7BBE739 - -dlabel D_802EC3F8 -.short 0xDEF5, 0xC62F, 0x9CE5, 0x7BDD, 0xBDEF, 0xDEF7, 0x9CE5, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xE73B, 0xDEF9, 0xD6B7, 0xCE75, 0xB5AF, 0x8C65, 0x6B5D, 0xAD6D, 0xCE75, 0x8C65, 0x631B, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xF6F5, 0xF671, 0xF5AB, 0xCCE5, 0xAC61, 0x839B, 0xC5AD, 0xE6B5, 0xA4A3, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xD6BD, 0xC63F, 0xB5BF, 0x9CF5, 0x8C6B, 0x73A1, 0xB5B1, 0xD6B9, 0x94A9, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xF7B3, 0xF7A9, 0xF75F, 0xCE1D, 0xA51D, 0x7BDB, 0xC62B, 0xE733, 0xA523, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xE739, 0xF69F, 0x8B4F, 0xABCF, 0xB455, 0xD559, 0xABD1, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x7A03, 0x4101, 0x0001, 0x739E, 0xE739, 0xF69F, 0xBC51, 0xA83F, 0xB455, 0xD559, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x7A03, 0x4101, 0x0001, 0x739E, 0xE739, 0xF69F, 0x830D, 0xA83F, 0xB413, 0xD559, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x7A03, 0x4101, 0x0001, 0x739E, 0xFFFF, 0xF7BB, 0xE739, 0xDEF5, 0xC62F, 0x9CE5, 0x7BDD, 0xBDEF, 0xDEF7, 0x9CE5, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0x420F, 0x841D, 0xB5AB, 0xD6B3, 0xB5AB, 0x7BDD, 0x420F, 0x420F, 0x420F, 0x420F, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xF739, 0xEEF7, 0xE673, 0xC56B, 0xAC61, 0x839B, 0xC5AD, 0xE6B5, 0xA4A3, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xE73D, 0xD6BB, 0xCE79, 0xAD71, 0x8C6B, 0x73A1, 0xB5B1, 0xD6B9, 0x94A9, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xFFFF, 0xF7B7, 0xEF73, 0xE72D, 0xC627, 0xA51F, 0x7BDB, 0xC62B, 0xE733, 0xA523, 0x739D, 0x0001, 0x0001, 0x0001, 0x0001, 0x739E, 0xE739, 0xE61D, 0x938F, 0xBC15, 0xC44F, 0xD557, 0xABD1, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x8289, 0x4101, 0x0001, 0x739E, 0xE739, 0xE61D, 0xAC53, 0xAC13, 0xC44F, 0xD557, 0xA38D, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x8289, 0x4101, 0x0001, 0x739E, 0xE739, 0xE61D, 0x9B4B, 0xA83F, 0xC44F, 0xCD17, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0xA83F, 0x8289, 0x4101, 0x0001 - -dlabel D_802EC5F0 -.word 0x00006666, 0x66666666, 0x00666666, 0x66666666, 0x06666666, 0x66666666, 0x06666FEE, 0xEEEEEEEE, 0x6666EEEE, 0xBBBBBBBB, 0x666FEEBB, 0xBBAAAAAA, 0x666EEBBA, 0xAAAAAAAA, 0x666EEBAA, 0xCCCCCCCC, 0x666EBBAC, 0x23333333, 0x666EBAAC, 0x99CCC923, 0x666EBAAC, 0x2C11DC23, 0x666EBAAC, 0x9C12DD23, 0x666EBAAC, 0x2CDDDC32, 0x666EBAAC, 0x23CDC332, 0x666EBAAC, 0x22333332, 0x666EBBAC, 0x22333323 - -dlabel D_802EC670 -.word 0x66666666, 0x66660000, 0x66666666, 0x66666600, 0x66666666, 0x66666770, 0xEEEEEEEE, 0xEEF67770, 0xBBBBBBBB, 0xEEEE7777, 0xBAAAAABB, 0xBBEEF777, 0xAAAAAAAA, 0xABBEE777, 0xCCCCCCCC, 0xCBBEE777, 0x33332992, 0xDABBE777, 0x3239CC39, 0xDABBE777, 0x22922DC2, 0xDAABE777, 0x32C22DD9, 0xDAABE777, 0x23CDDDC9, 0xDAABE777, 0x233CDC33, 0xDAABE777, 0x23333333, 0xDAABE777, 0x32333333, 0xDAABE777 - -dlabel D_802EC6F0 -.word 0x666EBAAC, 0x39993332, 0x666EBAAC, 0x33939322, 0x666EBAAC, 0x39393322, 0x666EBAAC, 0x39CCC322, 0x666EBAAC, 0x9C11DC22, 0x666EBAAC, 0x3D22DD22, 0x666EBAAC, 0x3CDDDC22, 0x666EBBBC, 0x33CDC322, 0x666EEBBC, 0xDDDDDDDD, 0x666EEBBB, 0xAAAAAAAA, 0x666FEEBB, 0xBBAAAAAA, 0x6666EEEE, 0xBBBBBBBB, 0x06667FEE, 0xEEEEEEEE, 0x06677777, 0x77777777, 0x00777777, 0x77777777, 0x00007777, 0x77777777 - -dlabel D_802EC770 -.word 0x22323322, 0xDAABE777, 0x2222232C, 0xDAABE777, 0x22CCCCCD, 0xAABBE777, 0x22CCDDDA, 0xAABBE777, 0x39CCDDBA, 0xAABBE777, 0x3CCDDEAA, 0xABBBE777, 0xCDDDEAAA, 0xAABBE777, 0xDDEAAAAA, 0xABBBE777, 0xBAAAAAAA, 0xABBBE777, 0xAAAABABB, 0xBBBBF777, 0xAAAAABBB, 0xBBBE7777, 0xBBBBBBBB, 0xBBEF7777, 0xEEEEEEEE, 0xEEF77770, 0x77777777, 0x77777770, 0x77777777, 0x77777700, 0x77777777, 0x77770000 - -dlabel D_802EC7F0 -.word 0x22323322, 0xDAABF777, 0x22222322, 0xDAABF777, 0x229CCC92, 0xDABBF777, 0x22C11DC2, 0xDABBE777, 0x22C12DD2, 0xDABBE777, 0x22CDDDC2, 0xDBBBE777, 0x223CDC32, 0xDABBE777, 0x22222222, 0xDBBBE777, 0xBDDDDDDD, 0xDBBBE777, 0xAAAABABB, 0xBBBBF777, 0xAAAAABBB, 0xBBBE7777, 0xBBBBBBBB, 0xBBEF7777, 0xEEEEEEEE, 0xEEF77770, 0x77777777, 0x77777770, 0x77777777, 0x77777700, 0x77777777, 0x77770000 - -dlabel D_802EC870 -.word 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xAAAAAAAB, 0xBAAABBBB, 0xBBBAAAAA, 0xAABBBBBA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCCCC, 0x33339999, 0x99999993, 0x33399999, 0x99999333, 0x22332333, 0x33333333, 0x33333333, 0x33333332, 0x22222333, 0x33333333, 0x33222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222 - -dlabel D_802EC970 -.word 0x666EBBAC, 0x22332323, 0x666EBBAC, 0x23323233, 0x666EBAAC, 0x23392322, 0x666EBAAC, 0x23323223, 0x666EBAAC, 0x23332222, 0x666EBAAC, 0x23323223, 0x666EBAAC, 0x39332222, 0x666EBAAC, 0x99323223, 0x666EBAAC, 0x99332329, 0x666EBAAC, 0x99323223, 0x666EBAAC, 0x99932322, 0x666EBAAC, 0x99933323, 0x666EBAAC, 0x99993232, 0x666EBBAC, 0x99933222, 0x666EBBBC, 0x99933322, 0x666EBBBC, 0x99933222, 0x666EBBBC, 0x99932322, 0x666EBBAC, 0x99932222, 0x666EBAAC, 0x99332222, 0x666EBAAC, 0x99333222, 0x666EBAAC, 0x99332222, 0x666EBAAC, 0x99333222, 0x666EBAAC, 0x99332223, 0x666EBAAC, 0x93332222, 0x666EBAAC, 0x93322322, 0x666EBAAC, 0x93332222, 0x666EBBAC, 0x93332322, 0x666EBBAC, 0x93333233, 0x666EBBAC, 0x93332323, 0x666EBBAC, 0x93333233, 0x666EBAAC, 0x93332323, 0x666EBAAC, 0x93333233, 0x666EBAAC, 0x99222322, 0x666EBAAC, 0x99933233, 0x666EBAAC, 0x99332322, 0x666EAAAC, 0x93333232, 0x666EAAAC, 0x93333332, 0x666EAAAC, 0x93333332, 0x666EBAAC, 0x33333332, 0x666EBAAC, 0x33333332 - -dlabel D_802ECAB0 -.word 0x23333399, 0xDAABE777, 0x23333999, 0xDAABE777, 0x23339993, 0xDAABE777, 0x23339993, 0xDAABE777, 0x23339333, 0xDAABE777, 0x22332333, 0xDAABE777, 0x22332339, 0xDAABE777, 0x22222339, 0xDAABE777, 0x22222339, 0xDAABE777, 0x22222339, 0xDAABE777, 0x22223399, 0xDAABE777, 0x22222399, 0xDAABE777, 0x32222399, 0xDAABE777, 0x22222339, 0xDAABE777, 0x22222339, 0xDAABE777, 0x22332339, 0xDAABE777, 0x32333339, 0xDAABE777, 0x23333339, 0xDAABE777, 0x23333339, 0xDAABE777, 0x22333333, 0xDAABE777, 0x32232339, 0xDAABE777, 0x22333339, 0xDAABE777, 0x22233339, 0xDAABE777, 0x23232399, 0xDAABE777, 0x22323999, 0xDAABE777, 0x22222399, 0xDABBE777, 0x22223399, 0xDABBE777, 0x23222399, 0xDAABE777, 0x32323339, 0xDAABE777, 0x22222339, 0xDAABE777, 0x32323333, 0xDAABE777, 0x23222333, 0xDAABE777, 0x32323333, 0xDAABE777, 0x23222333, 0xDAABE777, 0x32323333, 0xDAABE777, 0x23232333, 0xDABBE777, 0x32323333, 0xDABBE777, 0x23232933, 0xDABBE777, 0x32323333, 0xDAABE777, 0x23232322, 0xDAABE777 - -dlabel D_802ECBF0 -.word 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x32222222, 0x22222222, 0x22222222, 0x22222222, 0x32232222, 0x22222222, 0x22222222, 0x33339932, 0x33333333, 0x33333333, 0x22222222, 0x33333332, 0x93399999, 0x33333333, 0x22332322, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAABBBB, 0xBAAABBBB, 0xBBAAAAAA, 0xABBAAAAA, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777 - -dlabel D_802ECCF0 -.word 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222, 0x22222222 - -dlabel D_802ECD10 -.word 0x7BDEBDAD, 0xCE2BC5E9, 0xF801F801, 0x51834143, 0xF801B565, 0xB459A3D3, 0x8C1B7353, 0x82CB6205 - -dlabel D_802ECD30 -.word 0x7BDEBDAD, 0xCE2BC5E9, 0xF801F801, 0x218F210B, 0xF801B5E5, 0x2BDD2BDD, 0x5C1D2B59, 0x02D70211 - -dlabel D_802ECD50 -.word 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44444433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x33443343, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333443, 0x33333333, 0x33333344, 0x43333444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334444, 0x33333333, 0x33333444, 0x44444444, 0x43333333, 0x33333333, 0x33333333, 0x33333333, 0x33334334, 0x33333333, 0x33333344, 0x44444444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334344, 0x33333333, 0x33333434, 0x33333343, 0x43333333, 0x33333333, 0x33333333, 0x33333333, 0x33334343, 0x33333333, 0x33333433, 0x44444433, 0x43333333, 0x33333333, 0x33333333, 0x33333333, 0x33334434, 0x44433333, 0x33333434, 0x43443443, 0x43333333, 0x33333333, 0x33344444, 0x33333333, 0x33333434, 0x44433333, 0x33333334, 0x43443443, 0x33333333, 0x33333333, 0x33343334, 0x33333333, 0x33333444, 0x34433333, 0x33333334, 0x44444443, 0x33333333, 0x33333333, 0x33343334, 0x33333333, 0x33333443, 0x33433333, 0x33333333, 0x44444433, 0x33333333, 0x33333334, 0x43443334, 0x33333333, 0x33333444, 0x34433333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x44433334, 0x43333333, 0x33333344, 0x44333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x44433444, 0x43333333, 0x33333333, 0x34333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44433444, 0x44333333, 0x33333333, 0x34333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x33333333, 0x33333334, 0x44333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x44333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334334, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44443333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44443333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x34443333, 0x33333333, 0x33333333, 0x33333333, 0x33433333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333433, 0x34443334, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333443, 0x44444344, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x44444444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x34443444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x34443444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x44444444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333344, 0x44444443, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x44444433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334433, 0x33433334, 0x43333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x43434444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333344, 0x44444443, 0x33333333, 0x33333333, 0x33333343, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334444, 0x43333333, 0x33333333, 0x44444433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44444444, 0x44444333, 0x33333333, 0x44333433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x34444343, 0x44443333, 0x33333333, 0x43333433, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33444343, 0x44433333, 0x33333333, 0x43333443, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33344444, 0x44333333, 0x33333333, 0x43333344, 0x33333333, 0x33333344, 0x33333333, 0x33333333, 0x33344444, 0x44333333, 0x33333333, 0x43334444, 0x33333333, 0x33333344, 0x43333333, 0x33333333, 0x33444444, 0x44433333, 0x33333444, 0x43334444, 0x33333333, 0x33333343, 0x34333333, 0x33333333, 0x33444333, 0x44433333, 0x33333444, 0x43333333, 0x33333333, 0x33333343, 0x33433333, 0x33333333, 0x34433333, 0x33443333, 0x33333344, 0x33333333, 0x33333333, 0x33333443, 0x34433333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33344433, 0x34333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33344433, 0x34333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33334434, 0x44333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x44333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333334, 0x43333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333 - -dlabel D_802ED550 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05000000, 0x00000000, 0x00000000, 0x55500000, 0x00000000, 0x00000005, 0x52550000, 0x00000000, 0x00000055, 0x21255000, 0x00000000, 0x00000552, 0x11125500, 0x00000000, 0x00005521, 0x11112550, 0x00000000, 0x00005555, 0x11155550, 0x00000000, 0x00000055, 0x11155005, 0x55500000, 0x00000055, 0x11155055, 0x55550000, 0x00000055, 0x11155055, 0x11550000, 0x00000055, 0x11155555, 0x11550000, 0x00000055, 0x31135553, 0x12550000, 0x00000055, 0x42112221, 0x14550000, 0x00000005, 0x54311113, 0x45500000, 0x00000005, 0x55555555, 0x55000000, 0x00000000, 0x05555555, 0x50000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802ED670 -.word 0x294AE729, 0xC623AD61, 0x84194209, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001 - -dlabel D_802ED690 -.word 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C79BCB, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x9BCBDE9B, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0xC553DE9B, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C79BCB, 0xDE9BDE9B, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7C553, 0xDE9BDE9B, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x9BCBB44B, 0xC553C553, 0xDE55DE9B, 0xDE9BDE9B, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0xB44BDDCF, 0xDDCFDE55, 0xDE55DE55, 0xDE55DE55, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7A3C7, 0xD549D549, 0xDDCFDDCF, 0xDDCFDE55, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x9B87CC87, 0xD549D549, 0xD549D549, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7A3C7, 0xCC87CC87, 0xCC87CC87, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7A3C7, 0xBC45BC45, 0xBC05BC05, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7B44B, 0xBC45BC45, 0xBC05BC05, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C7BC05, 0xBC05B3C5, 0xB3C5B3C5, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x8B07B3C5, 0xB3C5B3C5, 0x9B878B07, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x8B07B3C5, 0xA3C78B07, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x8B079B87, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7, 0x82C782C7 - -dlabel D_802ED8D0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x0000004F, 0x00000000, 0x000000CF, 0x00000000, 0x000003FF, 0x00000000, 0x00000BFF, 0x00000000, 0x69BDEFFF, 0x00000000, 0xAFFFFFFF, 0x00000000, 0x08FFFFFF, 0x00000000, 0x006FFFFF, 0x00000000, 0x0009FFFF, 0x00000000, 0x0009FFFF, 0x00000000, 0x000EFFFF, 0x00000000, 0x000FFFFF, 0x00000000, 0x002FFFC6, 0x00000000, 0x004FE500, 0x00000000, 0x00280000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/nonmatchings/msg/draw_number.s b/ver/us/asm/nonmatchings/msg/draw_number.s deleted file mode 100644 index 73f5c2a3ae..0000000000 --- a/ver/us/asm/nonmatchings/msg/draw_number.s +++ /dev/null @@ -1,333 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel draw_number -/* BDD9C 8012769C 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* BDDA0 801276A0 AFB200A8 */ sw $s2, 0xa8($sp) -/* BDDA4 801276A4 AFB500B4 */ sw $s5, 0xb4($sp) -/* BDDA8 801276A8 00E0A82D */ daddu $s5, $a3, $zero -/* BDDAC 801276AC 3C028015 */ lui $v0, %hi(gMsgNumbers) -/* BDDB0 801276B0 2442C340 */ addiu $v0, $v0, %lo(gMsgNumbers) -/* BDDB4 801276B4 00151880 */ sll $v1, $s5, 2 -/* BDDB8 801276B8 00751821 */ addu $v1, $v1, $s5 -/* BDDBC 801276BC 00031880 */ sll $v1, $v1, 2 -/* BDDC0 801276C0 00621821 */ addu $v1, $v1, $v0 -/* BDDC4 801276C4 AFB400B0 */ sw $s4, 0xb0($sp) -/* BDDC8 801276C8 24D4FFFE */ addiu $s4, $a2, -2 -/* BDDCC 801276CC AFB100A4 */ sw $s1, 0xa4($sp) -/* BDDD0 801276D0 97B100E2 */ lhu $s1, 0xe2($sp) -/* BDDD4 801276D4 2E8200F1 */ sltiu $v0, $s4, 0xf1 -/* BDDD8 801276D8 AFBF00C4 */ sw $ra, 0xc4($sp) -/* BDDDC 801276DC AFBE00C0 */ sw $fp, 0xc0($sp) -/* BDDE0 801276E0 AFB700BC */ sw $s7, 0xbc($sp) -/* BDDE4 801276E4 AFB600B8 */ sw $s6, 0xb8($sp) -/* BDDE8 801276E8 AFB300AC */ sw $s3, 0xac($sp) -/* BDDEC 801276EC AFB000A0 */ sw $s0, 0xa0($sp) -/* BDDF0 801276F0 8C7E0000 */ lw $fp, ($v1) -/* BDDF4 801276F4 90770004 */ lbu $s7, 4($v1) -/* BDDF8 801276F8 10400111 */ beqz $v0, .L80127B40 -/* BDDFC 801276FC 00A0902D */ daddu $s2, $a1, $zero -/* BDE00 80127700 27A50010 */ addiu $a1, $sp, 0x10 -/* BDE04 80127704 0C00A531 */ jal int_to_string -/* BDE08 80127708 2406000A */ addiu $a2, $zero, 0xa -/* BDE0C 8012770C 0000802D */ daddu $s0, $zero, $zero -/* BDE10 80127710 27A50010 */ addiu $a1, $sp, 0x10 -/* BDE14 80127714 27A40028 */ addiu $a0, $sp, 0x28 -/* BDE18 80127718 00B01021 */ addu $v0, $a1, $s0 -.L8012771C: -/* BDE1C 8012771C 90420000 */ lbu $v0, ($v0) -/* BDE20 80127720 1040000B */ beqz $v0, .L80127750 -/* BDE24 80127724 2443FFD0 */ addiu $v1, $v0, -0x30 -/* BDE28 80127728 306200FF */ andi $v0, $v1, 0xff -/* BDE2C 8012772C 2C42000A */ sltiu $v0, $v0, 0xa -/* BDE30 80127730 50400004 */ beql $v0, $zero, .L80127744 -/* BDE34 80127734 26100001 */ addiu $s0, $s0, 1 -/* BDE38 80127738 00901021 */ addu $v0, $a0, $s0 -/* BDE3C 8012773C A0430000 */ sb $v1, ($v0) -/* BDE40 80127740 26100001 */ addiu $s0, $s0, 1 -.L80127744: -/* BDE44 80127744 2A02000A */ slti $v0, $s0, 0xa -/* BDE48 80127748 1440FFF4 */ bnez $v0, .L8012771C -/* BDE4C 8012774C 00B01021 */ addu $v0, $a1, $s0 -.L80127750: -/* BDE50 80127750 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* BDE54 80127754 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* BDE58 80127758 0240302D */ daddu $a2, $s2, $zero -/* BDE5C 8012775C 8C620000 */ lw $v0, ($v1) -/* BDE60 80127760 0040202D */ daddu $a0, $v0, $zero -/* BDE64 80127764 24420008 */ addiu $v0, $v0, 8 -/* BDE68 80127768 AC620000 */ sw $v0, ($v1) -/* BDE6C 8012776C 3C02DE00 */ lui $v0, 0xde00 -/* BDE70 80127770 AC820000 */ sw $v0, ($a0) -/* BDE74 80127774 3C028015 */ lui $v0, %hi(D_8014C368) -/* BDE78 80127778 2442C368 */ addiu $v0, $v0, %lo(D_8014C368) -/* BDE7C 8012777C AC820004 */ sw $v0, 4($a0) -/* BDE80 80127780 32220001 */ andi $v0, $s1, 1 -/* BDE84 80127784 1040001E */ beqz $v0, .L80127800 -/* BDE88 80127788 0200982D */ daddu $s3, $s0, $zero -/* BDE8C 8012778C 2610FFFF */ addiu $s0, $s0, -1 -/* BDE90 80127790 06000035 */ bltz $s0, .L80127868 -/* BDE94 80127794 00151080 */ sll $v0, $s5, 2 -/* BDE98 80127798 32290002 */ andi $t1, $s1, 2 -/* BDE9C 8012779C 3C058015 */ lui $a1, %hi(gMsgNumbers) -/* BDEA0 801277A0 24A5C340 */ addiu $a1, $a1, %lo(gMsgNumbers) -/* BDEA4 801277A4 00551021 */ addu $v0, $v0, $s5 -/* BDEA8 801277A8 00022080 */ sll $a0, $v0, 2 -/* BDEAC 801277AC 00854021 */ addu $t0, $a0, $a1 -/* BDEB0 801277B0 27A70028 */ addiu $a3, $sp, 0x28 -/* BDEB4 801277B4 27A30040 */ addiu $v1, $sp, 0x40 -/* BDEB8 801277B8 00101080 */ sll $v0, $s0, 2 -/* BDEBC 801277BC 00431821 */ addu $v1, $v0, $v1 -.L801277C0: -/* BDEC0 801277C0 11200004 */ beqz $t1, .L801277D4 -/* BDEC4 801277C4 00F01021 */ addu $v0, $a3, $s0 -/* BDEC8 801277C8 91020011 */ lbu $v0, 0x11($t0) -/* BDECC 801277CC 08049DFA */ j .L801277E8 -/* BDED0 801277D0 00C23023 */ subu $a2, $a2, $v0 -.L801277D4: -/* BDED4 801277D4 90420000 */ lbu $v0, ($v0) -/* BDED8 801277D8 00441021 */ addu $v0, $v0, $a0 -/* BDEDC 801277DC 00451021 */ addu $v0, $v0, $a1 -/* BDEE0 801277E0 90420007 */ lbu $v0, 7($v0) -/* BDEE4 801277E4 00C23023 */ subu $a2, $a2, $v0 -.L801277E8: -/* BDEE8 801277E8 AC660000 */ sw $a2, ($v1) -/* BDEEC 801277EC 2610FFFF */ addiu $s0, $s0, -1 -/* BDEF0 801277F0 0601FFF3 */ bgez $s0, .L801277C0 -/* BDEF4 801277F4 2463FFFC */ addiu $v1, $v1, -4 -/* BDEF8 801277F8 08049E1B */ j .L8012786C -/* BDEFC 801277FC 32220004 */ andi $v0, $s1, 4 -.L80127800: -/* BDF00 80127800 1A600019 */ blez $s3, .L80127868 -/* BDF04 80127804 0000802D */ daddu $s0, $zero, $zero -/* BDF08 80127808 32290002 */ andi $t1, $s1, 2 -/* BDF0C 8012780C 3C058015 */ lui $a1, %hi(gMsgNumbers) -/* BDF10 80127810 24A5C340 */ addiu $a1, $a1, %lo(gMsgNumbers) -/* BDF14 80127814 00151080 */ sll $v0, $s5, 2 -/* BDF18 80127818 00551021 */ addu $v0, $v0, $s5 -/* BDF1C 8012781C 00022080 */ sll $a0, $v0, 2 -/* BDF20 80127820 00854021 */ addu $t0, $a0, $a1 -/* BDF24 80127824 27A70028 */ addiu $a3, $sp, 0x28 -/* BDF28 80127828 27A30040 */ addiu $v1, $sp, 0x40 -.L8012782C: -/* BDF2C 8012782C 11200004 */ beqz $t1, .L80127840 -/* BDF30 80127830 AC660000 */ sw $a2, ($v1) -/* BDF34 80127834 91020011 */ lbu $v0, 0x11($t0) -/* BDF38 80127838 08049E16 */ j .L80127858 -/* BDF3C 8012783C 00C23021 */ addu $a2, $a2, $v0 -.L80127840: -/* BDF40 80127840 00F01021 */ addu $v0, $a3, $s0 -/* BDF44 80127844 90420000 */ lbu $v0, ($v0) -/* BDF48 80127848 00441021 */ addu $v0, $v0, $a0 -/* BDF4C 8012784C 00451021 */ addu $v0, $v0, $a1 -/* BDF50 80127850 90420007 */ lbu $v0, 7($v0) -/* BDF54 80127854 00C23021 */ addu $a2, $a2, $v0 -.L80127858: -/* BDF58 80127858 26100001 */ addiu $s0, $s0, 1 -/* BDF5C 8012785C 0213102A */ slt $v0, $s0, $s3 -/* BDF60 80127860 1440FFF2 */ bnez $v0, .L8012782C -/* BDF64 80127864 24630004 */ addiu $v1, $v1, 4 -.L80127868: -/* BDF68 80127868 32220004 */ andi $v0, $s1, 4 -.L8012786C: -/* BDF6C 8012786C 10400038 */ beqz $v0, .L80127950 -/* BDF70 80127870 00000000 */ nop -/* BDF74 80127874 1A600036 */ blez $s3, .L80127950 -/* BDF78 80127878 0000802D */ daddu $s0, $zero, $zero -/* BDF7C 8012787C 3C11800A */ lui $s1, %hi(gMasterGfxPos) -/* BDF80 80127880 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos) -/* BDF84 80127884 3C12E700 */ lui $s2, 0xe700 -/* BDF88 80127888 3C16E200 */ lui $s6, 0xe200 -/* BDF8C 8012788C 36D6001C */ ori $s6, $s6, 0x1c -.L80127890: -/* BDF90 80127890 3C040050 */ lui $a0, 0x50 -/* BDF94 80127894 34844240 */ ori $a0, $a0, 0x4240 -/* BDF98 80127898 3C07FCFF */ lui $a3, 0xfcff -/* BDF9C 8012789C 34E797FF */ ori $a3, $a3, 0x97ff -/* BDFA0 801278A0 3C06FF2D */ lui $a2, 0xff2d -/* BDFA4 801278A4 34C6FEFF */ ori $a2, $a2, 0xfeff -/* BDFA8 801278A8 3C082828 */ lui $t0, 0x2828 -/* BDFAC 801278AC 35082848 */ ori $t0, $t0, 0x2848 -/* BDFB0 801278B0 8E230000 */ lw $v1, ($s1) -/* BDFB4 801278B4 02A0282D */ daddu $a1, $s5, $zero -/* BDFB8 801278B8 0060102D */ daddu $v0, $v1, $zero -/* BDFBC 801278BC 24630008 */ addiu $v1, $v1, 8 -/* BDFC0 801278C0 AE230000 */ sw $v1, ($s1) -/* BDFC4 801278C4 AC520000 */ sw $s2, ($v0) -/* BDFC8 801278C8 AC400004 */ sw $zero, 4($v0) -/* BDFCC 801278CC 24620008 */ addiu $v0, $v1, 8 -/* BDFD0 801278D0 AE220000 */ sw $v0, ($s1) -/* BDFD4 801278D4 24620010 */ addiu $v0, $v1, 0x10 -/* BDFD8 801278D8 AC760000 */ sw $s6, ($v1) -/* BDFDC 801278DC AC640004 */ sw $a0, 4($v1) -/* BDFE0 801278E0 AE220000 */ sw $v0, ($s1) -/* BDFE4 801278E4 24620018 */ addiu $v0, $v1, 0x18 -/* BDFE8 801278E8 AC670008 */ sw $a3, 8($v1) -/* BDFEC 801278EC AC66000C */ sw $a2, 0xc($v1) -/* BDFF0 801278F0 AE220000 */ sw $v0, ($s1) -/* BDFF4 801278F4 3C02FA00 */ lui $v0, %hi(D_FA000028) -/* BDFF8 801278F8 AC620010 */ sw $v0, 0x10($v1) -/* BDFFC 801278FC 03B01021 */ addu $v0, $sp, $s0 -/* BE000 80127900 AC680014 */ sw $t0, 0x14($v1) -/* BE004 80127904 90420028 */ lbu $v0, %lo(D_FA000028)($v0) -/* BE008 80127908 00101880 */ sll $v1, $s0, 2 -/* BE00C 8012790C 00570018 */ mult $v0, $s7 -/* BE010 80127910 03A31021 */ addu $v0, $sp, $v1 -/* BE014 80127914 8C460040 */ lw $a2, 0x40($v0) -/* BE018 80127918 26870002 */ addiu $a3, $s4, 2 -/* BE01C 8012791C 24C60002 */ addiu $a2, $a2, 2 -/* BE020 80127920 00005012 */ mflo $t2 -/* BE024 80127924 0C049D30 */ jal draw_digit -/* BE028 80127928 03CA2021 */ addu $a0, $fp, $t2 -/* BE02C 8012792C 8E220000 */ lw $v0, ($s1) -/* BE030 80127930 26100001 */ addiu $s0, $s0, 1 -/* BE034 80127934 0040182D */ daddu $v1, $v0, $zero -/* BE038 80127938 24420008 */ addiu $v0, $v0, 8 -/* BE03C 8012793C AE220000 */ sw $v0, ($s1) -/* BE040 80127940 0213102A */ slt $v0, $s0, $s3 -/* BE044 80127944 AC720000 */ sw $s2, ($v1) -/* BE048 80127948 1440FFD1 */ bnez $v0, .L80127890 -/* BE04C 8012794C AC600004 */ sw $zero, 4($v1) -.L80127950: -/* BE050 80127950 8FAA00DC */ lw $t2, 0xdc($sp) -/* BE054 80127954 240200FF */ addiu $v0, $zero, 0xff -/* BE058 80127958 15420015 */ bne $t2, $v0, .L801279B0 -/* BE05C 8012795C 3C07E200 */ lui $a3, 0xe200 -/* BE060 80127960 34E7001C */ ori $a3, $a3, 0x1c -/* BE064 80127964 3C050F0A */ lui $a1, 0xf0a -/* BE068 80127968 34A57008 */ ori $a1, $a1, 0x7008 -/* BE06C 8012796C 3C08FCFF */ lui $t0, 0xfcff -/* BE070 80127970 3508FFFF */ ori $t0, $t0, 0xffff -/* BE074 80127974 3C06FFFC */ lui $a2, 0xfffc -/* BE078 80127978 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* BE07C 8012797C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* BE080 80127980 8C820000 */ lw $v0, ($a0) -/* BE084 80127984 34C6F279 */ ori $a2, $a2, 0xf279 -/* BE088 80127988 0040182D */ daddu $v1, $v0, $zero -/* BE08C 8012798C 24420008 */ addiu $v0, $v0, 8 -/* BE090 80127990 AC820000 */ sw $v0, ($a0) -/* BE094 80127994 AC670000 */ sw $a3, ($v1) -/* BE098 80127998 AC650004 */ sw $a1, 4($v1) -/* BE09C 8012799C 24430008 */ addiu $v1, $v0, 8 -/* BE0A0 801279A0 AC830000 */ sw $v1, ($a0) -/* BE0A4 801279A4 AC480000 */ sw $t0, ($v0) -/* BE0A8 801279A8 08049E87 */ j .L80127A1C -/* BE0AC 801279AC AC460004 */ sw $a2, 4($v0) -.L801279B0: -/* BE0B0 801279B0 34E7001C */ ori $a3, $a3, 0x1c -/* BE0B4 801279B4 3C050050 */ lui $a1, 0x50 -/* BE0B8 801279B8 34A54240 */ ori $a1, $a1, 0x4240 -/* BE0BC 801279BC 3C08FCFF */ lui $t0, 0xfcff -/* BE0C0 801279C0 3508B3FF */ ori $t0, $t0, 0xb3ff -/* BE0C4 801279C4 3C06FF64 */ lui $a2, 0xff64 -/* BE0C8 801279C8 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* BE0CC 801279CC 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* BE0D0 801279D0 8C830000 */ lw $v1, ($a0) -/* BE0D4 801279D4 34C6FE7F */ ori $a2, $a2, 0xfe7f -/* BE0D8 801279D8 0060102D */ daddu $v0, $v1, $zero -/* BE0DC 801279DC 24630008 */ addiu $v1, $v1, 8 -/* BE0E0 801279E0 AC830000 */ sw $v1, ($a0) -/* BE0E4 801279E4 AC470000 */ sw $a3, ($v0) -/* BE0E8 801279E8 AC450004 */ sw $a1, 4($v0) -/* BE0EC 801279EC 24620008 */ addiu $v0, $v1, 8 -/* BE0F0 801279F0 AC820000 */ sw $v0, ($a0) -/* BE0F4 801279F4 24620010 */ addiu $v0, $v1, 0x10 -/* BE0F8 801279F8 AC680000 */ sw $t0, ($v1) -/* BE0FC 801279FC AC660004 */ sw $a2, 4($v1) -/* BE100 80127A00 AC820000 */ sw $v0, ($a0) -/* BE104 80127A04 3C02FA00 */ lui $v0, 0xfa00 -/* BE108 80127A08 AC620008 */ sw $v0, 8($v1) -/* BE10C 80127A0C 8FAA00DC */ lw $t2, 0xdc($sp) -/* BE110 80127A10 2402FF00 */ addiu $v0, $zero, -0x100 -/* BE114 80127A14 01421025 */ or $v0, $t2, $v0 -/* BE118 80127A18 AC62000C */ sw $v0, 0xc($v1) -.L80127A1C: -/* BE11C 80127A1C 3C07F500 */ lui $a3, 0xf500 -/* BE120 80127A20 34E70100 */ ori $a3, $a3, 0x100 -/* BE124 80127A24 3C080703 */ lui $t0, 0x703 -/* BE128 80127A28 3508C000 */ ori $t0, $t0, 0xc000 -/* BE12C 80127A2C 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* BE130 80127A30 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* BE134 80127A34 0000802D */ daddu $s0, $zero, $zero -/* BE138 80127A38 8C830000 */ lw $v1, ($a0) -/* BE13C 80127A3C 3C02FD10 */ lui $v0, 0xfd10 -/* BE140 80127A40 0060302D */ daddu $a2, $v1, $zero -/* BE144 80127A44 24630008 */ addiu $v1, $v1, 8 -/* BE148 80127A48 AC830000 */ sw $v1, ($a0) -/* BE14C 80127A4C ACC20000 */ sw $v0, ($a2) -/* BE150 80127A50 8FA200D8 */ lw $v0, 0xd8($sp) -/* BE154 80127A54 3C05802F */ lui $a1, %hi(D_802F4560) -/* BE158 80127A58 24A54560 */ addiu $a1, $a1, %lo(D_802F4560) -/* BE15C 80127A5C 00021100 */ sll $v0, $v0, 4 -/* BE160 80127A60 00451021 */ addu $v0, $v0, $a1 -/* BE164 80127A64 ACC20004 */ sw $v0, 4($a2) -/* BE168 80127A68 24620008 */ addiu $v0, $v1, 8 -/* BE16C 80127A6C AC820000 */ sw $v0, ($a0) -/* BE170 80127A70 3C02E800 */ lui $v0, 0xe800 -/* BE174 80127A74 AC620000 */ sw $v0, ($v1) -/* BE178 80127A78 24620010 */ addiu $v0, $v1, 0x10 -/* BE17C 80127A7C AC600004 */ sw $zero, 4($v1) -/* BE180 80127A80 AC820000 */ sw $v0, ($a0) -/* BE184 80127A84 3C020700 */ lui $v0, 0x700 -/* BE188 80127A88 AC62000C */ sw $v0, 0xc($v1) -/* BE18C 80127A8C 24620018 */ addiu $v0, $v1, 0x18 -/* BE190 80127A90 AC670008 */ sw $a3, 8($v1) -/* BE194 80127A94 AC820000 */ sw $v0, ($a0) -/* BE198 80127A98 3C02E600 */ lui $v0, 0xe600 -/* BE19C 80127A9C AC620010 */ sw $v0, 0x10($v1) -/* BE1A0 80127AA0 24620020 */ addiu $v0, $v1, 0x20 -/* BE1A4 80127AA4 AC600014 */ sw $zero, 0x14($v1) -/* BE1A8 80127AA8 AC820000 */ sw $v0, ($a0) -/* BE1AC 80127AAC 3C02F000 */ lui $v0, 0xf000 -/* BE1B0 80127AB0 AC620018 */ sw $v0, 0x18($v1) -/* BE1B4 80127AB4 24620028 */ addiu $v0, $v1, 0x28 -/* BE1B8 80127AB8 AC68001C */ sw $t0, 0x1c($v1) -/* BE1BC 80127ABC AC820000 */ sw $v0, ($a0) -/* BE1C0 80127AC0 3C02E700 */ lui $v0, 0xe700 -/* BE1C4 80127AC4 AC620020 */ sw $v0, 0x20($v1) -/* BE1C8 80127AC8 1A600014 */ blez $s3, .L80127B1C -/* BE1CC 80127ACC AC600024 */ sw $zero, 0x24($v1) -/* BE1D0 80127AD0 27B20028 */ addiu $s2, $sp, 0x28 -/* BE1D4 80127AD4 27B10040 */ addiu $s1, $sp, 0x40 -.L80127AD8: -/* BE1D8 80127AD8 8E260000 */ lw $a2, ($s1) -/* BE1DC 80127ADC 24C2FFFF */ addiu $v0, $a2, -1 -/* BE1E0 80127AE0 2C42013F */ sltiu $v0, $v0, 0x13f -/* BE1E4 80127AE4 5040000A */ beql $v0, $zero, .L80127B10 -/* BE1E8 80127AE8 26100001 */ addiu $s0, $s0, 1 -/* BE1EC 80127AEC 02501021 */ addu $v0, $s2, $s0 -/* BE1F0 80127AF0 90420000 */ lbu $v0, ($v0) -/* BE1F4 80127AF4 00570018 */ mult $v0, $s7 -/* BE1F8 80127AF8 02A0282D */ daddu $a1, $s5, $zero -/* BE1FC 80127AFC 0280382D */ daddu $a3, $s4, $zero -/* BE200 80127B00 00005012 */ mflo $t2 -/* BE204 80127B04 0C049D30 */ jal draw_digit -/* BE208 80127B08 03CA2021 */ addu $a0, $fp, $t2 -/* BE20C 80127B0C 26100001 */ addiu $s0, $s0, 1 -.L80127B10: -/* BE210 80127B10 0213102A */ slt $v0, $s0, $s3 -/* BE214 80127B14 1440FFF0 */ bnez $v0, .L80127AD8 -/* BE218 80127B18 26310004 */ addiu $s1, $s1, 4 -.L80127B1C: -/* BE21C 80127B1C 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* BE220 80127B20 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* BE224 80127B24 8C620000 */ lw $v0, ($v1) -/* BE228 80127B28 0040202D */ daddu $a0, $v0, $zero -/* BE22C 80127B2C 24420008 */ addiu $v0, $v0, 8 -/* BE230 80127B30 AC620000 */ sw $v0, ($v1) -/* BE234 80127B34 3C02E700 */ lui $v0, 0xe700 -/* BE238 80127B38 AC820000 */ sw $v0, ($a0) -/* BE23C 80127B3C AC800004 */ sw $zero, 4($a0) -.L80127B40: -/* BE240 80127B40 8FBF00C4 */ lw $ra, 0xc4($sp) -/* BE244 80127B44 8FBE00C0 */ lw $fp, 0xc0($sp) -/* BE248 80127B48 8FB700BC */ lw $s7, 0xbc($sp) -/* BE24C 80127B4C 8FB600B8 */ lw $s6, 0xb8($sp) -/* BE250 80127B50 8FB500B4 */ lw $s5, 0xb4($sp) -/* BE254 80127B54 8FB400B0 */ lw $s4, 0xb0($sp) -/* BE258 80127B58 8FB300AC */ lw $s3, 0xac($sp) -/* BE25C 80127B5C 8FB200A8 */ lw $s2, 0xa8($sp) -/* BE260 80127B60 8FB100A4 */ lw $s1, 0xa4($sp) -/* BE264 80127B64 8FB000A0 */ lw $s0, 0xa0($sp) -/* BE268 80127B68 03E00008 */ jr $ra -/* BE26C 80127B6C 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/ver/us/asm/nonmatchings/msg/get_msg_properties.s b/ver/us/asm/nonmatchings/msg/get_msg_properties.s deleted file mode 100644 index 97b1d1fe0a..0000000000 --- a/ver/us/asm/nonmatchings/msg/get_msg_properties.s +++ /dev/null @@ -1,389 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_80150588 -.word .L801260B0_BC7B0, .L80126080_BC780, .L80126260_BC960, .L80126074_BC774, .L80126074_BC774, .L80126074_BC774, .L80126074_BC774, .L80126294_BC994, .L80126294_BC994, .L80126294_BC994, .L801262E8_BC9E8, .L80126080_BC780, .L801260F4_BC7F4, .L8012612C_BC82C, .L801262A0_BC9A0, .L80126158_BC858 - -dlabel jtbl_801505C8 -.word .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L80126124_BC824, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L80126260_BC960, .L801262E8_BC9E8, .L801262E8_BC9E8, 0 - -dlabel jtbl_801505F8 -.word .L80126184_BC884, .L801261D8_BC8D8, .L801261D8_BC8D8, .L801262E8_BC9E8, .L801261C4_BC8C4, .L80126260_BC960, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L80126260_BC960, .L80126260_BC960, .L801261E0_BC8E0, .L80126224_BC924, .L801261A4_BC8A4, .L801261A4_BC8A4, .L80126260_BC960, .L80126260_BC960, .L80126260_BC960, .L80126260_BC960, .L80126260_BC960, .L801261A0_BC8A0, .L80126260_BC960, .L8012619C_BC89C, .L80126260_BC960, .L801261A0_BC8A0, .L801261A4_BC8A4, .L80126260_BC960, .L801261D8_BC8D8, .L80126260_BC960, .L80126260_BC960, .L80126260_BC960, .L80126260_BC960, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L80126234_BC934, .L80126260_BC960, .L80126268_BC968, .L801261AC_BC8AC, .L80126260_BC960, .L801262E8_BC9E8, .L80126198_BC898, .L801261D8_BC8D8, .L801261D8_BC8D8, .L80126260_BC960 - -dlabel jtbl_801506B8 -.word .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L80126260_BC960, .L801262E8_BC9E8, .L80126260_BC960, .L801262E8_BC9E8, .L80126260_BC960, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, .L801262E8_BC9E8, 0 - -.section .text - -glabel get_msg_properties -/* BC668 80125F68 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* BC66C 80125F6C F7B40148 */ sdc1 $f20, 0x148($sp) -/* BC670 80125F70 3C013F80 */ lui $at, 0x3f80 -/* BC674 80125F74 4481A000 */ mtc1 $at, $f20 -/* BC678 80125F78 AFB3012C */ sw $s3, 0x12c($sp) -/* BC67C 80125F7C 97B3016E */ lhu $s3, 0x16e($sp) -/* BC680 80125F80 AFB00120 */ sw $s0, 0x120($sp) -/* BC684 80125F84 0080802D */ daddu $s0, $a0, $zero -/* BC688 80125F88 AFB20128 */ sw $s2, 0x128($sp) -/* BC68C 80125F8C 0000902D */ daddu $s2, $zero, $zero -/* BC690 80125F90 AFB7013C */ sw $s7, 0x13c($sp) -/* BC694 80125F94 0240B82D */ daddu $s7, $s2, $zero -/* BC698 80125F98 AFBF0144 */ sw $ra, 0x144($sp) -/* BC69C 80125F9C AFBE0140 */ sw $fp, 0x140($sp) -/* BC6A0 80125FA0 AFB60138 */ sw $s6, 0x138($sp) -/* BC6A4 80125FA4 AFB50134 */ sw $s5, 0x134($sp) -/* BC6A8 80125FA8 AFB40130 */ sw $s4, 0x130($sp) -/* BC6AC 80125FAC AFB10124 */ sw $s1, 0x124($sp) -/* BC6B0 80125FB0 AFA50154 */ sw $a1, 0x154($sp) -/* BC6B4 80125FB4 AFA60158 */ sw $a2, 0x158($sp) -/* BC6B8 80125FB8 AFA7015C */ sw $a3, 0x15c($sp) -/* BC6BC 80125FBC A7A000E6 */ sh $zero, 0xe6($sp) -/* BC6C0 80125FC0 A7A000EE */ sh $zero, 0xee($sp) -/* BC6C4 80125FC4 AFA000F0 */ sw $zero, 0xf0($sp) -/* BC6C8 80125FC8 A7A000FE */ sh $zero, 0xfe($sp) -/* BC6CC 80125FCC A7A00106 */ sh $zero, 0x106($sp) -/* BC6D0 80125FD0 A7A00108 */ sh $zero, 0x108($sp) -/* BC6D4 80125FD4 1200011A */ beqz $s0, .L80126440 -/* BC6D8 80125FD8 A7A00116 */ sh $zero, 0x116($sp) -/* BC6DC 80125FDC 0600000A */ bltz $s0, .L80126008 -/* BC6E0 80125FE0 0200882D */ daddu $s1, $s0, $zero -/* BC6E4 80125FE4 0C00AB0A */ jal general_heap_malloc -/* BC6E8 80125FE8 24040400 */ addiu $a0, $zero, 0x400 -/* BC6EC 80125FEC 0200202D */ daddu $a0, $s0, $zero -/* BC6F0 80125FF0 AFA200F0 */ sw $v0, 0xf0($sp) -/* BC6F4 80125FF4 0C049601 */ jal dma_load_msg -/* BC6F8 80125FF8 0040282D */ daddu $a1, $v0, $zero -/* BC6FC 80125FFC 8FB100F0 */ lw $s1, 0xf0($sp) -/* BC700 80126000 08049803 */ j .L8012600C -/* BC704 80126004 32620001 */ andi $v0, $s3, 1 -.L80126008: -/* BC708 80126008 32620001 */ andi $v0, $s3, 1 -.L8012600C: -/* BC70C 8012600C 10400002 */ beqz $v0, .L80126018 -/* BC710 80126010 24080001 */ addiu $t0, $zero, 1 -/* BC714 80126014 A7A800EE */ sh $t0, 0xee($sp) -.L80126018: -/* BC718 80126018 0000802D */ daddu $s0, $zero, $zero -/* BC71C 8012601C 0200A02D */ daddu $s4, $s0, $zero -/* BC720 80126020 0200982D */ daddu $s3, $s0, $zero -/* BC724 80126024 0200B02D */ daddu $s6, $s0, $zero -/* BC728 80126028 0200A82D */ daddu $s5, $s0, $zero -/* BC72C 8012602C 241E0001 */ addiu $fp, $zero, 1 -/* BC730 80126030 27A90018 */ addiu $t1, $sp, 0x18 -/* BC734 80126034 27A80058 */ addiu $t0, $sp, 0x58 -/* BC738 80126038 AFA000D8 */ sw $zero, 0xd8($sp) -/* BC73C 8012603C AFA9011C */ sw $t1, 0x11c($sp) -/* BC740 80126040 AFA80118 */ sw $t0, 0x118($sp) -/* BC744 80126044 02301021 */ addu $v0, $s1, $s0 -.L80126048: -/* BC748 80126048 90440000 */ lbu $a0, ($v0) -/* BC74C 8012604C 2483FF10 */ addiu $v1, $a0, -0xf0 -/* BC750 80126050 2C620010 */ sltiu $v0, $v1, 0x10 -/* BC754 80126054 10400092 */ beqz $v0, .L801262A0_BC9A0 -/* BC758 80126058 26100001 */ addiu $s0, $s0, 1 -/* BC75C 8012605C 00031080 */ sll $v0, $v1, 2 -/* BC760 80126060 3C018015 */ lui $at, %hi(jtbl_80150588) -/* BC764 80126064 00220821 */ addu $at, $at, $v0 -/* BC768 80126068 8C220588 */ lw $v0, %lo(jtbl_80150588)($at) -/* BC76C 8012606C 00400008 */ jr $v0 -/* BC770 80126070 00000000 */ nop -.L80126074_BC774: -/* BC774 80126074 2484FF0D */ addiu $a0, $a0, -0xf3 -/* BC778 80126078 080498BA */ j .L801262E8_BC9E8 -/* BC77C 8012607C A7A400E6 */ sh $a0, 0xe6($sp) -.L80126080_BC780: -/* BC780 80126080 12C00099 */ beqz $s6, .L801262E8_BC9E8 -/* BC784 80126084 32E2FFFF */ andi $v0, $s7, 0xffff -/* BC788 80126088 00021040 */ sll $v0, $v0, 1 -/* BC78C 8012608C 03A21021 */ addu $v0, $sp, $v0 -/* BC790 80126090 A4560098 */ sh $s6, 0x98($v0) -/* BC794 80126094 26F70001 */ addiu $s7, $s7, 1 -/* BC798 80126098 32E2FFFF */ andi $v0, $s7, 0xffff -/* BC79C 8012609C 2C420020 */ sltiu $v0, $v0, 0x20 -/* BC7A0 801260A0 50400001 */ beql $v0, $zero, .L801260A8 -/* BC7A4 801260A4 24140001 */ addiu $s4, $zero, 1 -.L801260A8: -/* BC7A8 801260A8 080498BA */ j .L801262E8_BC9E8 -/* BC7AC 801260AC 0000B02D */ daddu $s6, $zero, $zero -.L801260B0_BC7B0: -/* BC7B0 801260B0 3243FFFF */ andi $v1, $s2, 0xffff -/* BC7B4 801260B4 26520001 */ addiu $s2, $s2, 1 -/* BC7B8 801260B8 8FA9011C */ lw $t1, 0x11c($sp) -/* BC7BC 801260BC 00031840 */ sll $v1, $v1, 1 -/* BC7C0 801260C0 01231021 */ addu $v0, $t1, $v1 -/* BC7C4 801260C4 A4530000 */ sh $s3, ($v0) -/* BC7C8 801260C8 3242FFFF */ andi $v0, $s2, 0xffff -/* BC7CC 801260CC 8FA80118 */ lw $t0, 0x118($sp) -/* BC7D0 801260D0 2C420020 */ sltiu $v0, $v0, 0x20 -/* BC7D4 801260D4 01031821 */ addu $v1, $t0, $v1 -/* BC7D8 801260D8 14400002 */ bnez $v0, .L801260E4 -/* BC7DC 801260DC A4750000 */ sh $s5, ($v1) -/* BC7E0 801260E0 24140001 */ addiu $s4, $zero, 1 -.L801260E4: -/* BC7E4 801260E4 0000982D */ daddu $s3, $zero, $zero -/* BC7E8 801260E8 0260A82D */ daddu $s5, $s3, $zero -/* BC7EC 801260EC 080498BA */ j .L801262E8_BC9E8 -/* BC7F0 801260F0 241E0001 */ addiu $fp, $zero, 1 -.L801260F4_BC7F4: -/* BC7F4 801260F4 02301021 */ addu $v0, $s1, $s0 -/* BC7F8 801260F8 90420000 */ lbu $v0, ($v0) -/* BC7FC 801260FC 2443FFFF */ addiu $v1, $v0, -1 -/* BC800 80126100 2C62000B */ sltiu $v0, $v1, 0xb -/* BC804 80126104 10400078 */ beqz $v0, .L801262E8_BC9E8 -/* BC808 80126108 26100001 */ addiu $s0, $s0, 1 -/* BC80C 8012610C 00031080 */ sll $v0, $v1, 2 -/* BC810 80126110 3C018015 */ lui $at, %hi(jtbl_801505C8) -/* BC814 80126114 00220821 */ addu $at, $at, $v0 -/* BC818 80126118 8C2205C8 */ lw $v0, %lo(jtbl_801505C8)($at) -/* BC81C 8012611C 00400008 */ jr $v0 -/* BC820 80126120 00000000 */ nop -.L80126124_BC824: -/* BC824 80126124 080498BA */ j .L801262E8_BC9E8 -/* BC828 80126128 26100004 */ addiu $s0, $s0, 4 -.L8012612C_BC82C: -/* BC82C 8012612C 3243FFFF */ andi $v1, $s2, 0xffff -/* BC830 80126130 26520001 */ addiu $s2, $s2, 1 -/* BC834 80126134 8FA9011C */ lw $t1, 0x11c($sp) -/* BC838 80126138 00031840 */ sll $v1, $v1, 1 -/* BC83C 8012613C 01231021 */ addu $v0, $t1, $v1 -/* BC840 80126140 A4530000 */ sh $s3, ($v0) -/* BC844 80126144 8FA80118 */ lw $t0, 0x118($sp) -/* BC848 80126148 24140001 */ addiu $s4, $zero, 1 -/* BC84C 8012614C 01031821 */ addu $v1, $t0, $v1 -/* BC850 80126150 080498BA */ j .L801262E8_BC9E8 -/* BC854 80126154 A4750000 */ sh $s5, ($v1) -.L80126158_BC858: -/* BC858 80126158 02301021 */ addu $v0, $s1, $s0 -/* BC85C 8012615C 90430000 */ lbu $v1, ($v0) -/* BC860 80126160 2C620030 */ sltiu $v0, $v1, 0x30 -/* BC864 80126164 1040001C */ beqz $v0, .L801261D8_BC8D8 -/* BC868 80126168 26100001 */ addiu $s0, $s0, 1 -/* BC86C 8012616C 00031080 */ sll $v0, $v1, 2 -/* BC870 80126170 3C018015 */ lui $at, %hi(jtbl_801505F8) -/* BC874 80126174 00220821 */ addu $at, $at, $v0 -/* BC878 80126178 8C2205F8 */ lw $v0, %lo(jtbl_801505F8)($at) -/* BC87C 8012617C 00400008 */ jr $v0 -/* BC880 80126180 00000000 */ nop -.L80126184_BC884: -/* BC884 80126184 02301021 */ addu $v0, $s1, $s0 -/* BC888 80126188 90420000 */ lbu $v0, ($v0) -/* BC88C 8012618C 26100001 */ addiu $s0, $s0, 1 -/* BC890 80126190 080498BA */ j .L801262E8_BC9E8 -/* BC894 80126194 A7A200EE */ sh $v0, 0xee($sp) -.L80126198_BC898: -/* BC898 80126198 26100001 */ addiu $s0, $s0, 1 -.L8012619C_BC89C: -/* BC89C 8012619C 26100004 */ addiu $s0, $s0, 4 -.L801261A0_BC8A0: -/* BC8A0 801261A0 26100001 */ addiu $s0, $s0, 1 -.L801261A4_BC8A4: -/* BC8A4 801261A4 08049898 */ j .L80126260_BC960 -/* BC8A8 801261A8 26100001 */ addiu $s0, $s0, 1 -.L801261AC_BC8AC: -/* BC8AC 801261AC 02301021 */ addu $v0, $s1, $s0 -/* BC8B0 801261B0 90420000 */ lbu $v0, ($v0) -/* BC8B4 801261B4 5040002A */ beql $v0, $zero, .L80126260_BC960 -/* BC8B8 801261B8 24140001 */ addiu $s4, $zero, 1 -/* BC8BC 801261BC 080498BA */ j .L801262E8_BC9E8 -/* BC8C0 801261C0 26100001 */ addiu $s0, $s0, 1 -.L801261C4_BC8C4: -/* BC8C4 801261C4 02301021 */ addu $v0, $s1, $s0 -/* BC8C8 801261C8 90430000 */ lbu $v1, ($v0) -/* BC8CC 801261CC 240200FD */ addiu $v0, $zero, 0xfd -/* BC8D0 801261D0 14620046 */ bne $v1, $v0, .L801262EC -/* BC8D4 801261D4 328200FF */ andi $v0, $s4, 0xff -.L801261D8_BC8D8: -/* BC8D8 801261D8 080498BA */ j .L801262E8_BC9E8 -/* BC8DC 801261DC 24140001 */ addiu $s4, $zero, 1 -.L801261E0_BC8E0: -/* BC8E0 801261E0 02111021 */ addu $v0, $s0, $s1 -/* BC8E4 801261E4 90420001 */ lbu $v0, 1($v0) -/* BC8E8 801261E8 3C013D80 */ lui $at, 0x3d80 -/* BC8EC 801261EC 44810000 */ mtc1 $at, $f0 -/* BC8F0 801261F0 3043000F */ andi $v1, $v0, 0xf -/* BC8F4 801261F4 44831000 */ mtc1 $v1, $f2 -/* BC8F8 801261F8 00000000 */ nop -/* BC8FC 801261FC 468010A0 */ cvt.s.w $f2, $f2 -/* BC900 80126200 46001082 */ mul.s $f2, $f2, $f0 -/* BC904 80126204 00000000 */ nop -/* BC908 80126208 26100002 */ addiu $s0, $s0, 2 -/* BC90C 8012620C 00021102 */ srl $v0, $v0, 4 -/* BC910 80126210 44820000 */ mtc1 $v0, $f0 -/* BC914 80126214 00000000 */ nop -/* BC918 80126218 46800020 */ cvt.s.w $f0, $f0 -/* BC91C 8012621C 080498BA */ j .L801262E8_BC9E8 -/* BC920 80126220 46020500 */ add.s $f20, $f0, $f2 -.L80126224_BC924: -/* BC924 80126224 3C013F80 */ lui $at, 0x3f80 -/* BC928 80126228 4481A000 */ mtc1 $at, $f20 -/* BC92C 8012622C 080498BB */ j .L801262EC -/* BC930 80126230 328200FF */ andi $v0, $s4, 0xff -.L80126234_BC934: -/* BC934 80126234 02301021 */ addu $v0, $s1, $s0 -/* BC938 80126238 90430000 */ lbu $v1, ($v0) -/* BC93C 8012623C 2C62000F */ sltiu $v0, $v1, 0xf -/* BC940 80126240 10400029 */ beqz $v0, .L801262E8_BC9E8 -/* BC944 80126244 26100001 */ addiu $s0, $s0, 1 -/* BC948 80126248 00031080 */ sll $v0, $v1, 2 -/* BC94C 8012624C 3C018015 */ lui $at, %hi(jtbl_801506B8) -/* BC950 80126250 00220821 */ addu $at, $at, $v0 -/* BC954 80126254 8C2206B8 */ lw $v0, %lo(jtbl_801506B8)($at) -/* BC958 80126258 00400008 */ jr $v0 -/* BC95C 8012625C 00000000 */ nop -.L80126260_BC960: -/* BC960 80126260 080498BA */ j .L801262E8_BC9E8 -/* BC964 80126264 26100001 */ addiu $s0, $s0, 1 -.L80126268_BC968: -/* BC968 80126268 02301021 */ addu $v0, $s1, $s0 -/* BC96C 8012626C 26100001 */ addiu $s0, $s0, 1 -/* BC970 80126270 90440000 */ lbu $a0, ($v0) -/* BC974 80126274 0000282D */ daddu $a1, $zero, $zero -/* BC978 80126278 3C098015 */ lui $t1, %hi(gMessageMsgVars) -/* BC97C 8012627C 25295C38 */ addiu $t1, $t1, %lo(gMessageMsgVars) -/* BC980 80126280 00042140 */ sll $a0, $a0, 5 -/* BC984 80126284 0C04991D */ jal get_msg_width -/* BC988 80126288 00892021 */ addu $a0, $a0, $t1 -/* BC98C 8012628C 080498BA */ j .L801262E8_BC9E8 -/* BC990 80126290 02629821 */ addu $s3, $s3, $v0 -.L80126294_BC994: -/* BC994 80126294 97A80116 */ lhu $t0, 0x116($sp) -/* BC998 80126298 25080001 */ addiu $t0, $t0, 1 -/* BC99C 8012629C A7A80116 */ sh $t0, 0x116($sp) -.L801262A0_BC9A0: -/* BC9A0 801262A0 33C2FFFF */ andi $v0, $fp, 0xffff -/* BC9A4 801262A4 10400006 */ beqz $v0, .L801262C0 -/* BC9A8 801262A8 308400FF */ andi $a0, $a0, 0xff -/* BC9AC 801262AC 8FA900D8 */ lw $t1, 0xd8($sp) -/* BC9B0 801262B0 25290001 */ addiu $t1, $t1, 1 -/* BC9B4 801262B4 AFA900D8 */ sw $t1, 0xd8($sp) -/* BC9B8 801262B8 26D60001 */ addiu $s6, $s6, 1 -/* BC9BC 801262BC 0000F02D */ daddu $fp, $zero, $zero -.L801262C0: -/* BC9C0 801262C0 26B50001 */ addiu $s5, $s5, 1 -/* BC9C4 801262C4 97A800EE */ lhu $t0, 0xee($sp) -/* BC9C8 801262C8 4407A000 */ mfc1 $a3, $f20 -/* BC9CC 801262CC 97A600E6 */ lhu $a2, 0xe6($sp) -/* BC9D0 801262D0 24020001 */ addiu $v0, $zero, 1 -/* BC9D4 801262D4 AFA00010 */ sw $zero, 0x10($sp) -/* BC9D8 801262D8 AFA20014 */ sw $v0, 0x14($sp) -/* BC9DC 801262DC 0C049721 */ jal msg_get_print_char_width -/* BC9E0 801262E0 0100282D */ daddu $a1, $t0, $zero -/* BC9E4 801262E4 02629821 */ addu $s3, $s3, $v0 -.L801262E8_BC9E8: -/* BC9E8 801262E8 328200FF */ andi $v0, $s4, 0xff -.L801262EC: -/* BC9EC 801262EC 1040FF56 */ beqz $v0, .L80126048 -/* BC9F0 801262F0 02301021 */ addu $v0, $s1, $s0 -/* BC9F4 801262F4 8FA900F0 */ lw $t1, 0xf0($sp) -/* BC9F8 801262F8 11200004 */ beqz $t1, .L8012630C -/* BC9FC 801262FC 3242FFFF */ andi $v0, $s2, 0xffff -/* BCA00 80126300 0C00AB1E */ jal general_heap_free -/* BCA04 80126304 0120202D */ daddu $a0, $t1, $zero -/* BCA08 80126308 3242FFFF */ andi $v0, $s2, 0xffff -.L8012630C: -/* BCA0C 8012630C 10400013 */ beqz $v0, .L8012635C -/* BCA10 80126310 0000802D */ daddu $s0, $zero, $zero -/* BCA14 80126314 0040182D */ daddu $v1, $v0, $zero -/* BCA18 80126318 27A60058 */ addiu $a2, $sp, 0x58 -/* BCA1C 8012631C 27A50018 */ addiu $a1, $sp, 0x18 -.L80126320: -/* BCA20 80126320 94A40000 */ lhu $a0, ($a1) -/* BCA24 80126324 97A800FE */ lhu $t0, 0xfe($sp) -/* BCA28 80126328 0104102B */ sltu $v0, $t0, $a0 -/* BCA2C 8012632C 54400001 */ bnel $v0, $zero, .L80126334 -/* BCA30 80126330 A7A400FE */ sh $a0, 0xfe($sp) -.L80126334: -/* BCA34 80126334 94C40000 */ lhu $a0, ($a2) -/* BCA38 80126338 97A90106 */ lhu $t1, 0x106($sp) -/* BCA3C 8012633C 0124102B */ sltu $v0, $t1, $a0 -/* BCA40 80126340 54400001 */ bnel $v0, $zero, .L80126348 -/* BCA44 80126344 A7A40106 */ sh $a0, 0x106($sp) -.L80126348: -/* BCA48 80126348 24C60002 */ addiu $a2, $a2, 2 -/* BCA4C 8012634C 26100001 */ addiu $s0, $s0, 1 -/* BCA50 80126350 0203102A */ slt $v0, $s0, $v1 -/* BCA54 80126354 1440FFF2 */ bnez $v0, .L80126320 -/* BCA58 80126358 24A50002 */ addiu $a1, $a1, 2 -.L8012635C: -/* BCA5C 8012635C 32E2FFFF */ andi $v0, $s7, 0xffff -/* BCA60 80126360 14400003 */ bnez $v0, .L80126370 -/* BCA64 80126364 00000000 */ nop -/* BCA68 80126368 080498E9 */ j .L801263A4 -/* BCA6C 8012636C A7B60108 */ sh $s6, 0x108($sp) -.L80126370: -/* BCA70 80126370 1040000C */ beqz $v0, .L801263A4 -/* BCA74 80126374 0000802D */ daddu $s0, $zero, $zero -/* BCA78 80126378 0040282D */ daddu $a1, $v0, $zero -/* BCA7C 8012637C 27A40098 */ addiu $a0, $sp, 0x98 -.L80126380: -/* BCA80 80126380 94830000 */ lhu $v1, ($a0) -/* BCA84 80126384 97A20108 */ lhu $v0, 0x108($sp) -/* BCA88 80126388 0043102B */ sltu $v0, $v0, $v1 -/* BCA8C 8012638C 54400001 */ bnel $v0, $zero, .L80126394 -/* BCA90 80126390 A7A30108 */ sh $v1, 0x108($sp) -.L80126394: -/* BCA94 80126394 26100001 */ addiu $s0, $s0, 1 -/* BCA98 80126398 0205102A */ slt $v0, $s0, $a1 -/* BCA9C 8012639C 1440FFF8 */ bnez $v0, .L80126380 -/* BCAA0 801263A0 24840002 */ addiu $a0, $a0, 2 -.L801263A4: -/* BCAA4 801263A4 8FA80158 */ lw $t0, 0x158($sp) -/* BCAA8 801263A8 11000003 */ beqz $t0, .L801263B8 -/* BCAAC 801263AC 00000000 */ nop -/* BCAB0 801263B0 97A900FE */ lhu $t1, 0xfe($sp) -/* BCAB4 801263B4 AD090000 */ sw $t1, ($t0) -.L801263B8: -/* BCAB8 801263B8 8FA80154 */ lw $t0, 0x154($sp) -/* BCABC 801263BC 1100000C */ beqz $t0, .L801263F0 -/* BCAC0 801263C0 00000000 */ nop -/* BCAC4 801263C4 97A900EE */ lhu $t1, 0xee($sp) -/* BCAC8 801263C8 00091080 */ sll $v0, $t1, 2 -/* BCACC 801263CC 3C01802F */ lui $at, %hi(gMsgCharsets) -/* BCAD0 801263D0 00220821 */ addu $at, $at, $v0 -/* BCAD4 801263D4 8C22B5A8 */ lw $v0, %lo(gMsgCharsets)($at) -/* BCAD8 801263D8 8FA800D8 */ lw $t0, 0xd8($sp) -/* BCADC 801263DC 90420003 */ lbu $v0, 3($v0) -/* BCAE0 801263E0 01020018 */ mult $t0, $v0 -/* BCAE4 801263E4 8FA90154 */ lw $t1, 0x154($sp) -/* BCAE8 801263E8 00004012 */ mflo $t0 -/* BCAEC 801263EC AD280000 */ sw $t0, ($t1) -.L801263F0: -/* BCAF0 801263F0 8FA9015C */ lw $t1, 0x15c($sp) -/* BCAF4 801263F4 11200003 */ beqz $t1, .L80126404 -/* BCAF8 801263F8 00000000 */ nop -/* BCAFC 801263FC 97A80106 */ lhu $t0, 0x106($sp) -/* BCB00 80126400 AD280000 */ sw $t0, ($t1) -.L80126404: -/* BCB04 80126404 8FA90160 */ lw $t1, 0x160($sp) -/* BCB08 80126408 11200003 */ beqz $t1, .L80126418 -/* BCB0C 8012640C 00000000 */ nop -/* BCB10 80126410 8FA800D8 */ lw $t0, 0xd8($sp) -/* BCB14 80126414 AD280000 */ sw $t0, ($t1) -.L80126418: -/* BCB18 80126418 8FA90164 */ lw $t1, 0x164($sp) -/* BCB1C 8012641C 11200003 */ beqz $t1, .L8012642C -/* BCB20 80126420 00000000 */ nop -/* BCB24 80126424 97A20108 */ lhu $v0, 0x108($sp) -/* BCB28 80126428 AD220000 */ sw $v0, ($t1) -.L8012642C: -/* BCB2C 8012642C 8FA80168 */ lw $t0, 0x168($sp) -/* BCB30 80126430 11000003 */ beqz $t0, .L80126440 -/* BCB34 80126434 00000000 */ nop -/* BCB38 80126438 97A20116 */ lhu $v0, 0x116($sp) -/* BCB3C 8012643C AD020000 */ sw $v0, ($t0) -.L80126440: -/* BCB40 80126440 8FBF0144 */ lw $ra, 0x144($sp) -/* BCB44 80126444 8FBE0140 */ lw $fp, 0x140($sp) -/* BCB48 80126448 8FB7013C */ lw $s7, 0x13c($sp) -/* BCB4C 8012644C 8FB60138 */ lw $s6, 0x138($sp) -/* BCB50 80126450 8FB50134 */ lw $s5, 0x134($sp) -/* BCB54 80126454 8FB40130 */ lw $s4, 0x130($sp) -/* BCB58 80126458 8FB3012C */ lw $s3, 0x12c($sp) -/* BCB5C 8012645C 8FB20128 */ lw $s2, 0x128($sp) -/* BCB60 80126460 8FB10124 */ lw $s1, 0x124($sp) -/* BCB64 80126464 8FB00120 */ lw $s0, 0x120($sp) -/* BCB68 80126468 D7B40148 */ ldc1 $f20, 0x148($sp) -/* BCB6C 8012646C 03E00008 */ jr $ra -/* BCB70 80126470 27BD0150 */ addiu $sp, $sp, 0x150 diff --git a/ver/us/asm/nonmatchings/msg/msg_draw_char.s b/ver/us/asm/nonmatchings/msg/msg_draw_char.s deleted file mode 100644 index 80c7b7d97c..0000000000 --- a/ver/us/asm/nonmatchings/msg/msg_draw_char.s +++ /dev/null @@ -1,440 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel msg_draw_char -/* C2A24 8012C324 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* C2A28 8012C328 00A0502D */ daddu $t2, $a1, $zero -/* C2A2C 8012C32C AFB20008 */ sw $s2, 8($sp) -/* C2A30 8012C330 00C0902D */ daddu $s2, $a2, $zero -/* C2A34 8012C334 AFB10004 */ sw $s1, 4($sp) -/* C2A38 8012C338 00E0882D */ daddu $s1, $a3, $zero -/* C2A3C 8012C33C AFB40010 */ sw $s4, 0x10($sp) -/* C2A40 8012C340 AFB3000C */ sw $s3, 0xc($sp) -/* C2A44 8012C344 AFB00000 */ sw $s0, ($sp) -/* C2A48 8012C348 9542003C */ lhu $v0, 0x3c($t2) -/* C2A4C 8012C34C C5460018 */ lwc1 $f6, 0x18($t2) -/* C2A50 8012C350 C542001C */ lwc1 $f2, 0x1c($t2) -/* C2A54 8012C354 8FA60028 */ lw $a2, 0x28($sp) -/* C2A58 8012C358 00021080 */ sll $v0, $v0, 2 -/* C2A5C 8012C35C 3C09802F */ lui $t1, %hi(gMsgCharsets) -/* C2A60 8012C360 01224821 */ addu $t1, $t1, $v0 -/* C2A64 8012C364 8D29B5A8 */ lw $t1, %lo(gMsgCharsets)($t1) -/* C2A68 8012C368 8FA3002C */ lw $v1, 0x2c($sp) -/* C2A6C 8012C36C 91220000 */ lbu $v0, ($t1) -/* C2A70 8012C370 8D4B0004 */ lw $t3, 4($t2) -/* C2A74 8012C374 44822000 */ mtc1 $v0, $f4 -/* C2A78 8012C378 00000000 */ nop -/* C2A7C 8012C37C 46802120 */ cvt.s.w $f4, $f4 -/* C2A80 8012C380 46043102 */ mul.s $f4, $f6, $f4 -/* C2A84 8012C384 00000000 */ nop -/* C2A88 8012C388 954C003E */ lhu $t4, 0x3e($t2) -/* C2A8C 8012C38C 91220001 */ lbu $v0, 1($t1) -/* C2A90 8012C390 8D470008 */ lw $a3, 8($t2) -/* C2A94 8012C394 44820000 */ mtc1 $v0, $f0 -/* C2A98 8012C398 00000000 */ nop -/* C2A9C 8012C39C 46800020 */ cvt.s.w $f0, $f0 -/* C2AA0 8012C3A0 46001082 */ mul.s $f2, $f2, $f0 -/* C2AA4 8012C3A4 00000000 */ nop -/* C2AA8 8012C3A8 8D48000C */ lw $t0, 0xc($t2) -/* C2AAC 8012C3AC 8D450000 */ lw $a1, ($t2) -/* C2AB0 8012C3B0 4600220D */ trunc.w.s $f8, $f4 -/* C2AB4 8012C3B4 44024000 */ mfc1 $v0, $f8 -/* C2AB8 8012C3B8 00000000 */ nop -/* C2ABC 8012C3BC 00C26821 */ addu $t5, $a2, $v0 -/* C2AC0 8012C3C0 4600120D */ trunc.w.s $f8, $f2 -/* C2AC4 8012C3C4 44024000 */ mfc1 $v0, $f8 -/* C2AC8 8012C3C8 00000000 */ nop -/* C2ACC 8012C3CC 00627021 */ addu $t6, $v1, $v0 -/* C2AD0 8012C3D0 00CB102A */ slt $v0, $a2, $t3 -/* C2AD4 8012C3D4 1040016D */ beqz $v0, .L8012C98C -/* C2AD8 8012C3D8 0068102A */ slt $v0, $v1, $t0 -/* C2ADC 8012C3DC 1040016B */ beqz $v0, .L8012C98C -/* C2AE0 8012C3E0 00AD102A */ slt $v0, $a1, $t5 -/* C2AE4 8012C3E4 10400169 */ beqz $v0, .L8012C98C -/* C2AE8 8012C3E8 00EE102A */ slt $v0, $a3, $t6 -/* C2AEC 8012C3EC 10400167 */ beqz $v0, .L8012C98C -/* C2AF0 8012C3F0 00C5102A */ slt $v0, $a2, $a1 -/* C2AF4 8012C3F4 10400017 */ beqz $v0, .L8012C454 -/* C2AF8 8012C3F8 00C51023 */ subu $v0, $a2, $a1 -/* C2AFC 8012C3FC 04420001 */ bltzl $v0, .L8012C404 -/* C2B00 8012C400 00021023 */ negu $v0, $v0 -.L8012C404: -/* C2B04 8012C404 44820000 */ mtc1 $v0, $f0 -/* C2B08 8012C408 00000000 */ nop -/* C2B0C 8012C40C 46800020 */ cvt.s.w $f0, $f0 -/* C2B10 8012C410 46060103 */ div.s $f4, $f0, $f6 -/* C2B14 8012C414 3C013FE0 */ lui $at, 0x3fe0 -/* C2B18 8012C418 44811800 */ mtc1 $at, $f3 -/* C2B1C 8012C41C 44801000 */ mtc1 $zero, $f2 -/* C2B20 8012C420 46002021 */ cvt.d.s $f0, $f4 -/* C2B24 8012C424 46220000 */ add.d $f0, $f0, $f2 -/* C2B28 8012C428 3C014040 */ lui $at, 0x4040 -/* C2B2C 8012C42C 44811800 */ mtc1 $at, $f3 -/* C2B30 8012C430 44801000 */ mtc1 $zero, $f2 -/* C2B34 8012C434 00000000 */ nop -/* C2B38 8012C438 46220002 */ mul.d $f0, $f0, $f2 -/* C2B3C 8012C43C 00000000 */ nop -/* C2B40 8012C440 46200020 */ cvt.s.d $f0, $f0 -/* C2B44 8012C444 4600020D */ trunc.w.s $f8, $f0 -/* C2B48 8012C448 44104000 */ mfc1 $s0, $f8 -/* C2B4C 8012C44C 0804B117 */ j .L8012C45C -/* C2B50 8012C450 00A0C82D */ daddu $t9, $a1, $zero -.L8012C454: -/* C2B54 8012C454 0000802D */ daddu $s0, $zero, $zero -/* C2B58 8012C458 00C0C82D */ daddu $t9, $a2, $zero -.L8012C45C: -/* C2B5C 8012C45C 0067102A */ slt $v0, $v1, $a3 -/* C2B60 8012C460 10400017 */ beqz $v0, .L8012C4C0 -/* C2B64 8012C464 0000C02D */ daddu $t8, $zero, $zero -/* C2B68 8012C468 8C8204FC */ lw $v0, 0x4fc($a0) -/* C2B6C 8012C46C 30420400 */ andi $v0, $v0, 0x400 -/* C2B70 8012C470 10400004 */ beqz $v0, .L8012C484 -/* C2B74 8012C474 00671023 */ subu $v0, $v1, $a3 -/* C2B78 8012C478 04610012 */ bgez $v1, .L8012C4C4 -/* C2B7C 8012C47C 0060782D */ daddu $t7, $v1, $zero -/* C2B80 8012C480 00671023 */ subu $v0, $v1, $a3 -.L8012C484: -/* C2B84 8012C484 04420001 */ bltzl $v0, .L8012C48C -/* C2B88 8012C488 00021023 */ negu $v0, $v0 -.L8012C48C: -/* C2B8C 8012C48C 44822000 */ mtc1 $v0, $f4 -/* C2B90 8012C490 00000000 */ nop -/* C2B94 8012C494 46802120 */ cvt.s.w $f4, $f4 -/* C2B98 8012C498 C542001C */ lwc1 $f2, 0x1c($t2) -/* C2B9C 8012C49C 3C014200 */ lui $at, 0x4200 -/* C2BA0 8012C4A0 44810000 */ mtc1 $at, $f0 -/* C2BA4 8012C4A4 46022103 */ div.s $f4, $f4, $f2 -/* C2BA8 8012C4A8 46002002 */ mul.s $f0, $f4, $f0 -/* C2BAC 8012C4AC 00000000 */ nop -/* C2BB0 8012C4B0 4600020D */ trunc.w.s $f8, $f0 -/* C2BB4 8012C4B4 44184000 */ mfc1 $t8, $f8 -/* C2BB8 8012C4B8 0804B131 */ j .L8012C4C4 -/* C2BBC 8012C4BC 00E0782D */ daddu $t7, $a3, $zero -.L8012C4C0: -/* C2BC0 8012C4C0 0060782D */ daddu $t7, $v1, $zero -.L8012C4C4: -/* C2BC4 8012C4C4 01AB102A */ slt $v0, $t5, $t3 -/* C2BC8 8012C4C8 50400001 */ beql $v0, $zero, .L8012C4D0 -/* C2BCC 8012C4CC 0160682D */ daddu $t5, $t3, $zero -.L8012C4D0: -/* C2BD0 8012C4D0 01C0582D */ daddu $t3, $t6, $zero -/* C2BD4 8012C4D4 0168102A */ slt $v0, $t3, $t0 -/* C2BD8 8012C4D8 50400001 */ beql $v0, $zero, .L8012C4E0 -/* C2BDC 8012C4DC 0100582D */ daddu $t3, $t0, $zero -.L8012C4E0: -/* C2BE0 8012C4E0 C5440018 */ lwc1 $f4, 0x18($t2) -/* C2BE4 8012C4E4 3C013F80 */ lui $at, 0x3f80 -/* C2BE8 8012C4E8 44811000 */ mtc1 $at, $f2 -/* C2BEC 8012C4EC 3C014480 */ lui $at, 0x4480 -/* C2BF0 8012C4F0 44813000 */ mtc1 $at, $f6 -/* C2BF4 8012C4F4 46041103 */ div.s $f4, $f2, $f4 -/* C2BF8 8012C4F8 46062102 */ mul.s $f4, $f4, $f6 -/* C2BFC 8012C4FC 00000000 */ nop -/* C2C00 8012C500 C540001C */ lwc1 $f0, 0x1c($t2) -/* C2C04 8012C504 46001083 */ div.s $f2, $f2, $f0 -/* C2C08 8012C508 46061082 */ mul.s $f2, $f2, $f6 -/* C2C0C 8012C50C 00000000 */ nop -/* C2C10 8012C510 95440034 */ lhu $a0, 0x34($t2) -/* C2C14 8012C514 30820011 */ andi $v0, $a0, 0x11 -/* C2C18 8012C518 4600220D */ trunc.w.s $f8, $f4 -/* C2C1C 8012C51C 440E4000 */ mfc1 $t6, $f8 -/* C2C20 8012C520 4600120D */ trunc.w.s $f8, $f2 -/* C2C24 8012C524 44134000 */ mfc1 $s3, $f8 -/* C2C28 8012C528 1040002C */ beqz $v0, .L8012C5DC -/* C2C2C 8012C52C 3082FFEE */ andi $v0, $a0, 0xffee -/* C2C30 8012C530 3C07F500 */ lui $a3, 0xf500 -/* C2C34 8012C534 34E70100 */ ori $a3, $a3, 0x100 -/* C2C38 8012C538 3C080703 */ lui $t0, 0x703 -/* C2C3C 8012C53C 3508C000 */ ori $t0, $t0, 0xc000 -/* C2C40 8012C540 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* C2C44 8012C544 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* C2C48 8012C548 8CA30000 */ lw $v1, ($a1) -/* C2C4C 8012C54C A5420034 */ sh $v0, 0x34($t2) -/* C2C50 8012C550 3C02FD10 */ lui $v0, 0xfd10 -/* C2C54 8012C554 3C04802F */ lui $a0, %hi(D_802F4560) -/* C2C58 8012C558 24844560 */ addiu $a0, $a0, %lo(D_802F4560) -/* C2C5C 8012C55C 0060302D */ daddu $a2, $v1, $zero -/* C2C60 8012C560 24630008 */ addiu $v1, $v1, 8 -/* C2C64 8012C564 ACA30000 */ sw $v1, ($a1) -/* C2C68 8012C568 ACC20000 */ sw $v0, ($a2) -/* C2C6C 8012C56C 00111100 */ sll $v0, $s1, 4 -/* C2C70 8012C570 00441021 */ addu $v0, $v0, $a0 -/* C2C74 8012C574 ACC20004 */ sw $v0, 4($a2) -/* C2C78 8012C578 24620008 */ addiu $v0, $v1, 8 -/* C2C7C 8012C57C ACA20000 */ sw $v0, ($a1) -/* C2C80 8012C580 3C02E800 */ lui $v0, 0xe800 -/* C2C84 8012C584 AC620000 */ sw $v0, ($v1) -/* C2C88 8012C588 24620010 */ addiu $v0, $v1, 0x10 -/* C2C8C 8012C58C AC600004 */ sw $zero, 4($v1) -/* C2C90 8012C590 ACA20000 */ sw $v0, ($a1) -/* C2C94 8012C594 3C020700 */ lui $v0, 0x700 -/* C2C98 8012C598 AC62000C */ sw $v0, 0xc($v1) -/* C2C9C 8012C59C 24620018 */ addiu $v0, $v1, 0x18 -/* C2CA0 8012C5A0 AC670008 */ sw $a3, 8($v1) -/* C2CA4 8012C5A4 ACA20000 */ sw $v0, ($a1) -/* C2CA8 8012C5A8 3C02E600 */ lui $v0, 0xe600 -/* C2CAC 8012C5AC AC620010 */ sw $v0, 0x10($v1) -/* C2CB0 8012C5B0 24620020 */ addiu $v0, $v1, 0x20 -/* C2CB4 8012C5B4 AC600014 */ sw $zero, 0x14($v1) -/* C2CB8 8012C5B8 ACA20000 */ sw $v0, ($a1) -/* C2CBC 8012C5BC 3C02F000 */ lui $v0, 0xf000 -/* C2CC0 8012C5C0 AC620018 */ sw $v0, 0x18($v1) -/* C2CC4 8012C5C4 24620028 */ addiu $v0, $v1, 0x28 -/* C2CC8 8012C5C8 AC68001C */ sw $t0, 0x1c($v1) -/* C2CCC 8012C5CC ACA20000 */ sw $v0, ($a1) -/* C2CD0 8012C5D0 3C02E700 */ lui $v0, 0xe700 -/* C2CD4 8012C5D4 AC620020 */ sw $v0, 0x20($v1) -/* C2CD8 8012C5D8 AC600024 */ sw $zero, 0x24($v1) -.L8012C5DC: -/* C2CDC 8012C5DC 91220000 */ lbu $v0, ($t1) -/* C2CE0 8012C5E0 2C420010 */ sltiu $v0, $v0, 0x10 -/* C2CE4 8012C5E4 1440006B */ bnez $v0, .L8012C794 -/* C2CE8 8012C5E8 00000000 */ nop -/* C2CEC 8012C5EC 91220000 */ lbu $v0, ($t1) -/* C2CF0 8012C5F0 3042000F */ andi $v0, $v0, 0xf -/* C2CF4 8012C5F4 14400067 */ bnez $v0, .L8012C794 -/* C2CF8 8012C5F8 3C02FD50 */ lui $v0, 0xfd50 -/* C2CFC 8012C5FC 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* C2D00 8012C600 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* C2D04 8012C604 8CC40000 */ lw $a0, ($a2) -/* C2D08 8012C608 0080382D */ daddu $a3, $a0, $zero -/* C2D0C 8012C60C 24840008 */ addiu $a0, $a0, 8 -/* C2D10 8012C610 ACC40000 */ sw $a0, ($a2) -/* C2D14 8012C614 ACE20000 */ sw $v0, ($a3) -/* C2D18 8012C618 24820008 */ addiu $v0, $a0, 8 -/* C2D1C 8012C61C ACC20000 */ sw $v0, ($a2) -/* C2D20 8012C620 24820010 */ addiu $v0, $a0, 0x10 -/* C2D24 8012C624 ACC20000 */ sw $v0, ($a2) -/* C2D28 8012C628 000C1040 */ sll $v0, $t4, 1 -/* C2D2C 8012C62C 004C1021 */ addu $v0, $v0, $t4 -/* C2D30 8012C630 00021080 */ sll $v0, $v0, 2 -/* C2D34 8012C634 8D250008 */ lw $a1, 8($t1) -/* C2D38 8012C638 95230004 */ lhu $v1, 4($t1) -/* C2D3C 8012C63C 00451021 */ addu $v0, $v0, $a1 -/* C2D40 8012C640 00720018 */ mult $v1, $s2 -/* C2D44 8012C644 24830018 */ addiu $v1, $a0, 0x18 -/* C2D48 8012C648 8C420000 */ lw $v0, ($v0) -/* C2D4C 8012C64C 3C050700 */ lui $a1, 0x700 -/* C2D50 8012C650 ACC30000 */ sw $v1, ($a2) -/* C2D54 8012C654 0000A012 */ mflo $s4 -/* C2D58 8012C658 00541021 */ addu $v0, $v0, $s4 -/* C2D5C 8012C65C ACE20004 */ sw $v0, 4($a3) -/* C2D60 8012C660 3C02F550 */ lui $v0, 0xf550 -/* C2D64 8012C664 AC820000 */ sw $v0, ($a0) -/* C2D68 8012C668 3C02E600 */ lui $v0, 0xe600 -/* C2D6C 8012C66C AC820008 */ sw $v0, 8($a0) -/* C2D70 8012C670 3C02F300 */ lui $v0, 0xf300 -/* C2D74 8012C674 AC850004 */ sw $a1, 4($a0) -/* C2D78 8012C678 AC80000C */ sw $zero, 0xc($a0) -/* C2D7C 8012C67C AC820010 */ sw $v0, 0x10($a0) -/* C2D80 8012C680 91230000 */ lbu $v1, ($t1) -/* C2D84 8012C684 24860014 */ addiu $a2, $a0, 0x14 -/* C2D88 8012C688 00032102 */ srl $a0, $v1, 4 -/* C2D8C 8012C68C 10800002 */ beqz $a0, .L8012C698 -/* C2D90 8012C690 24080800 */ addiu $t0, $zero, 0x800 -/* C2D94 8012C694 248807FF */ addiu $t0, $a0, 0x7ff -.L8012C698: -/* C2D98 8012C698 91220001 */ lbu $v0, 1($t1) -/* C2D9C 8012C69C 00620018 */ mult $v1, $v0 -/* C2DA0 8012C6A0 0000A012 */ mflo $s4 -/* C2DA4 8012C6A4 26820003 */ addiu $v0, $s4, 3 -/* C2DA8 8012C6A8 00021083 */ sra $v0, $v0, 2 -/* C2DAC 8012C6AC 2443FFFF */ addiu $v1, $v0, -1 -/* C2DB0 8012C6B0 28620800 */ slti $v0, $v1, 0x800 -/* C2DB4 8012C6B4 50400001 */ beql $v0, $zero, .L8012C6BC -/* C2DB8 8012C6B8 240307FF */ addiu $v1, $zero, 0x7ff -.L8012C6BC: -/* C2DBC 8012C6BC 30620FFF */ andi $v0, $v1, 0xfff -/* C2DC0 8012C6C0 00021300 */ sll $v0, $v0, 0xc -/* C2DC4 8012C6C4 1080000D */ beqz $a0, .L8012C6FC -/* C2DC8 8012C6C8 00452825 */ or $a1, $v0, $a1 -/* C2DCC 8012C6CC 14800002 */ bnez $a0, .L8012C6D8 -/* C2DD0 8012C6D0 0104001A */ div $zero, $t0, $a0 -/* C2DD4 8012C6D4 0007000D */ break 7 -.L8012C6D8: -/* C2DD8 8012C6D8 2401FFFF */ addiu $at, $zero, -1 -/* C2DDC 8012C6DC 14810004 */ bne $a0, $at, .L8012C6F0 -/* C2DE0 8012C6E0 3C018000 */ lui $at, 0x8000 -/* C2DE4 8012C6E4 15010002 */ bne $t0, $at, .L8012C6F0 -/* C2DE8 8012C6E8 00000000 */ nop -/* C2DEC 8012C6EC 0006000D */ break 6 -.L8012C6F0: -/* C2DF0 8012C6F0 00001012 */ mflo $v0 -/* C2DF4 8012C6F4 0804B1C0 */ j .L8012C700 -/* C2DF8 8012C6F8 00A21025 */ or $v0, $a1, $v0 -.L8012C6FC: -/* C2DFC 8012C6FC 00A81025 */ or $v0, $a1, $t0 -.L8012C700: -/* C2E00 8012C700 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* C2E04 8012C704 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* C2E08 8012C708 8CA40000 */ lw $a0, ($a1) -/* C2E0C 8012C70C ACC20000 */ sw $v0, ($a2) -/* C2E10 8012C710 3C02E700 */ lui $v0, 0xe700 -/* C2E14 8012C714 0080182D */ daddu $v1, $a0, $zero -/* C2E18 8012C718 24840008 */ addiu $a0, $a0, 8 -/* C2E1C 8012C71C ACA40000 */ sw $a0, ($a1) -/* C2E20 8012C720 AC620000 */ sw $v0, ($v1) -/* C2E24 8012C724 24820008 */ addiu $v0, $a0, 8 -/* C2E28 8012C728 AC600004 */ sw $zero, 4($v1) -/* C2E2C 8012C72C ACA20000 */ sw $v0, ($a1) -/* C2E30 8012C730 91220000 */ lbu $v0, ($t1) -/* C2E34 8012C734 24830010 */ addiu $v1, $a0, 0x10 -/* C2E38 8012C738 AC800004 */ sw $zero, 4($a0) -/* C2E3C 8012C73C ACA30000 */ sw $v1, ($a1) -/* C2E40 8012C740 3C03F200 */ lui $v1, 0xf200 -/* C2E44 8012C744 AC830008 */ sw $v1, 8($a0) -/* C2E48 8012C748 3C03F540 */ lui $v1, 0xf540 -/* C2E4C 8012C74C 00021042 */ srl $v0, $v0, 1 -/* C2E50 8012C750 24420007 */ addiu $v0, $v0, 7 -/* C2E54 8012C754 000210C2 */ srl $v0, $v0, 3 -/* C2E58 8012C758 00021240 */ sll $v0, $v0, 9 -/* C2E5C 8012C75C 00431025 */ or $v0, $v0, $v1 -/* C2E60 8012C760 AC820000 */ sw $v0, ($a0) -/* C2E64 8012C764 91230000 */ lbu $v1, ($t1) -/* C2E68 8012C768 91220001 */ lbu $v0, 1($t1) -/* C2E6C 8012C76C 2463FFFF */ addiu $v1, $v1, -1 -/* C2E70 8012C770 00031880 */ sll $v1, $v1, 2 -/* C2E74 8012C774 30630FFF */ andi $v1, $v1, 0xfff -/* C2E78 8012C778 00031B00 */ sll $v1, $v1, 0xc -/* C2E7C 8012C77C 2442FFFF */ addiu $v0, $v0, -1 -/* C2E80 8012C780 00021080 */ sll $v0, $v0, 2 -/* C2E84 8012C784 30420FFF */ andi $v0, $v0, 0xfff -/* C2E88 8012C788 00621825 */ or $v1, $v1, $v0 -/* C2E8C 8012C78C 0804B23D */ j .L8012C8F4 -/* C2E90 8012C790 AC83000C */ sw $v1, 0xc($a0) -.L8012C794: -/* C2E94 8012C794 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* C2E98 8012C798 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* C2E9C 8012C79C 8CC50000 */ lw $a1, ($a2) -/* C2EA0 8012C7A0 00A0382D */ daddu $a3, $a1, $zero -/* C2EA4 8012C7A4 24A50008 */ addiu $a1, $a1, 8 -/* C2EA8 8012C7A8 ACC50000 */ sw $a1, ($a2) -/* C2EAC 8012C7AC 91220000 */ lbu $v0, ($t1) -/* C2EB0 8012C7B0 3C03FD48 */ lui $v1, 0xfd48 -/* C2EB4 8012C7B4 00021042 */ srl $v0, $v0, 1 -/* C2EB8 8012C7B8 2442FFFF */ addiu $v0, $v0, -1 -/* C2EBC 8012C7BC 30420FFF */ andi $v0, $v0, 0xfff -/* C2EC0 8012C7C0 00431025 */ or $v0, $v0, $v1 -/* C2EC4 8012C7C4 ACE20000 */ sw $v0, ($a3) -/* C2EC8 8012C7C8 000C1040 */ sll $v0, $t4, 1 -/* C2ECC 8012C7CC 004C1021 */ addu $v0, $v0, $t4 -/* C2ED0 8012C7D0 00021080 */ sll $v0, $v0, 2 -/* C2ED4 8012C7D4 8D240008 */ lw $a0, 8($t1) -/* C2ED8 8012C7D8 95230004 */ lhu $v1, 4($t1) -/* C2EDC 8012C7DC 00441021 */ addu $v0, $v0, $a0 -/* C2EE0 8012C7E0 00720018 */ mult $v1, $s2 -/* C2EE4 8012C7E4 8C420000 */ lw $v0, ($v0) -/* C2EE8 8012C7E8 24A30008 */ addiu $v1, $a1, 8 -/* C2EEC 8012C7EC ACC30000 */ sw $v1, ($a2) -/* C2EF0 8012C7F0 24A30010 */ addiu $v1, $a1, 0x10 -/* C2EF4 8012C7F4 0000A012 */ mflo $s4 -/* C2EF8 8012C7F8 00541021 */ addu $v0, $v0, $s4 -/* C2EFC 8012C7FC ACE20004 */ sw $v0, 4($a3) -/* C2F00 8012C800 91220000 */ lbu $v0, ($t1) -/* C2F04 8012C804 3C070700 */ lui $a3, 0x700 -/* C2F08 8012C808 ACA70004 */ sw $a3, 4($a1) -/* C2F0C 8012C80C ACC30000 */ sw $v1, ($a2) -/* C2F10 8012C810 3C03E600 */ lui $v1, 0xe600 -/* C2F14 8012C814 ACA30008 */ sw $v1, 8($a1) -/* C2F18 8012C818 24A30018 */ addiu $v1, $a1, 0x18 -/* C2F1C 8012C81C ACA0000C */ sw $zero, 0xc($a1) -/* C2F20 8012C820 ACC30000 */ sw $v1, ($a2) -/* C2F24 8012C824 3C03F400 */ lui $v1, 0xf400 -/* C2F28 8012C828 ACA30010 */ sw $v1, 0x10($a1) -/* C2F2C 8012C82C 3C03F548 */ lui $v1, 0xf548 -/* C2F30 8012C830 00021042 */ srl $v0, $v0, 1 -/* C2F34 8012C834 24420007 */ addiu $v0, $v0, 7 -/* C2F38 8012C838 000210C2 */ srl $v0, $v0, 3 -/* C2F3C 8012C83C 00021240 */ sll $v0, $v0, 9 -/* C2F40 8012C840 00431025 */ or $v0, $v0, $v1 -/* C2F44 8012C844 ACA20000 */ sw $v0, ($a1) -/* C2F48 8012C848 91220000 */ lbu $v0, ($t1) -/* C2F4C 8012C84C 91240001 */ lbu $a0, 1($t1) -/* C2F50 8012C850 24A30020 */ addiu $v1, $a1, 0x20 -/* C2F54 8012C854 ACC30000 */ sw $v1, ($a2) -/* C2F58 8012C858 3C03E700 */ lui $v1, 0xe700 -/* C2F5C 8012C85C ACA30018 */ sw $v1, 0x18($a1) -/* C2F60 8012C860 24A30028 */ addiu $v1, $a1, 0x28 -/* C2F64 8012C864 ACA0001C */ sw $zero, 0x1c($a1) -/* C2F68 8012C868 ACC30000 */ sw $v1, ($a2) -/* C2F6C 8012C86C 2442FFFF */ addiu $v0, $v0, -1 -/* C2F70 8012C870 00021040 */ sll $v0, $v0, 1 -/* C2F74 8012C874 30420FFF */ andi $v0, $v0, 0xfff -/* C2F78 8012C878 00021300 */ sll $v0, $v0, 0xc -/* C2F7C 8012C87C 2484FFFF */ addiu $a0, $a0, -1 -/* C2F80 8012C880 00042080 */ sll $a0, $a0, 2 -/* C2F84 8012C884 30840FFF */ andi $a0, $a0, 0xfff -/* C2F88 8012C888 00872025 */ or $a0, $a0, $a3 -/* C2F8C 8012C88C 00441025 */ or $v0, $v0, $a0 -/* C2F90 8012C890 ACA20014 */ sw $v0, 0x14($a1) -/* C2F94 8012C894 91220000 */ lbu $v0, ($t1) -/* C2F98 8012C898 24A30030 */ addiu $v1, $a1, 0x30 -/* C2F9C 8012C89C ACA00024 */ sw $zero, 0x24($a1) -/* C2FA0 8012C8A0 ACC30000 */ sw $v1, ($a2) -/* C2FA4 8012C8A4 3C03F200 */ lui $v1, 0xf200 -/* C2FA8 8012C8A8 ACA30028 */ sw $v1, 0x28($a1) -/* C2FAC 8012C8AC 3C03F540 */ lui $v1, 0xf540 -/* C2FB0 8012C8B0 00021042 */ srl $v0, $v0, 1 -/* C2FB4 8012C8B4 24420007 */ addiu $v0, $v0, 7 -/* C2FB8 8012C8B8 000210C2 */ srl $v0, $v0, 3 -/* C2FBC 8012C8BC 00021240 */ sll $v0, $v0, 9 -/* C2FC0 8012C8C0 00431025 */ or $v0, $v0, $v1 -/* C2FC4 8012C8C4 ACA20020 */ sw $v0, 0x20($a1) -/* C2FC8 8012C8C8 91230000 */ lbu $v1, ($t1) -/* C2FCC 8012C8CC 91220001 */ lbu $v0, 1($t1) -/* C2FD0 8012C8D0 2463FFFF */ addiu $v1, $v1, -1 -/* C2FD4 8012C8D4 00031880 */ sll $v1, $v1, 2 -/* C2FD8 8012C8D8 30630FFF */ andi $v1, $v1, 0xfff -/* C2FDC 8012C8DC 00031B00 */ sll $v1, $v1, 0xc -/* C2FE0 8012C8E0 2442FFFF */ addiu $v0, $v0, -1 -/* C2FE4 8012C8E4 00021080 */ sll $v0, $v0, 2 -/* C2FE8 8012C8E8 30420FFF */ andi $v0, $v0, 0xfff -/* C2FEC 8012C8EC 00621825 */ or $v1, $v1, $v0 -/* C2FF0 8012C8F0 ACA3002C */ sw $v1, 0x2c($a1) -.L8012C8F4: -/* C2FF4 8012C8F4 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* C2FF8 8012C8F8 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* C2FFC 8012C8FC 000D1080 */ sll $v0, $t5, 2 -/* C3000 8012C900 30420FFF */ andi $v0, $v0, 0xfff -/* C3004 8012C904 00021300 */ sll $v0, $v0, 0xc -/* C3008 8012C908 000B1880 */ sll $v1, $t3, 2 -/* C300C 8012C90C 30630FFF */ andi $v1, $v1, 0xfff -/* C3010 8012C910 3C04E400 */ lui $a0, 0xe400 -/* C3014 8012C914 00641825 */ or $v1, $v1, $a0 -/* C3018 8012C918 00431025 */ or $v0, $v0, $v1 -/* C301C 8012C91C 000F1880 */ sll $v1, $t7, 2 -/* C3020 8012C920 8CC50000 */ lw $a1, ($a2) -/* C3024 8012C924 30630FFF */ andi $v1, $v1, 0xfff -/* C3028 8012C928 00A0382D */ daddu $a3, $a1, $zero -/* C302C 8012C92C 24A50008 */ addiu $a1, $a1, 8 -/* C3030 8012C930 ACC50000 */ sw $a1, ($a2) -/* C3034 8012C934 ACE20000 */ sw $v0, ($a3) -/* C3038 8012C938 00191080 */ sll $v0, $t9, 2 -/* C303C 8012C93C 30420FFF */ andi $v0, $v0, 0xfff -/* C3040 8012C940 00021300 */ sll $v0, $v0, 0xc -/* C3044 8012C944 00431025 */ or $v0, $v0, $v1 -/* C3048 8012C948 ACE20004 */ sw $v0, 4($a3) -/* C304C 8012C94C 24A20008 */ addiu $v0, $a1, 8 -/* C3050 8012C950 ACC20000 */ sw $v0, ($a2) -/* C3054 8012C954 3C02E100 */ lui $v0, 0xe100 -/* C3058 8012C958 ACA20000 */ sw $v0, ($a1) -/* C305C 8012C95C 00101400 */ sll $v0, $s0, 0x10 -/* C3060 8012C960 3303FFFF */ andi $v1, $t8, 0xffff -/* C3064 8012C964 00431025 */ or $v0, $v0, $v1 -/* C3068 8012C968 ACA20004 */ sw $v0, 4($a1) -/* C306C 8012C96C 24A20010 */ addiu $v0, $a1, 0x10 -/* C3070 8012C970 ACC20000 */ sw $v0, ($a2) -/* C3074 8012C974 3C02F100 */ lui $v0, 0xf100 -/* C3078 8012C978 ACA20008 */ sw $v0, 8($a1) -/* C307C 8012C97C 000E1400 */ sll $v0, $t6, 0x10 -/* C3080 8012C980 3263FFFF */ andi $v1, $s3, 0xffff -/* C3084 8012C984 00431025 */ or $v0, $v0, $v1 -/* C3088 8012C988 ACA2000C */ sw $v0, 0xc($a1) -.L8012C98C: -/* C308C 8012C98C 8FB40010 */ lw $s4, 0x10($sp) -/* C3090 8012C990 8FB3000C */ lw $s3, 0xc($sp) -/* C3094 8012C994 8FB20008 */ lw $s2, 8($sp) -/* C3098 8012C998 8FB10004 */ lw $s1, 4($sp) -/* C309C 8012C99C 8FB00000 */ lw $s0, ($sp) -/* C30A0 8012C9A0 03E00008 */ jr $ra -/* C30A4 8012C9A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/msg/msg_draw_choice_pointer.s b/ver/us/asm/nonmatchings/msg/msg_draw_choice_pointer.s deleted file mode 100644 index 7f215641a6..0000000000 --- a/ver/us/asm/nonmatchings/msg/msg_draw_choice_pointer.s +++ /dev/null @@ -1,362 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80150718 -.double 3.2 - -dlabel D_80150720 -.double 255.0 - -dlabel D_80150728 -.double 14.4 - -.section .text - -glabel msg_draw_choice_pointer -/* BD678 80126F78 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* BD67C 80126F7C AFB00038 */ sw $s0, 0x38($sp) -/* BD680 80126F80 0080802D */ daddu $s0, $a0, $zero -/* BD684 80126F84 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* BD688 80126F88 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* BD68C 80126F8C 3C0316C1 */ lui $v1, 0x16c1 -/* BD690 80126F90 AFBF0058 */ sw $ra, 0x58($sp) -/* BD694 80126F94 AFB70054 */ sw $s7, 0x54($sp) -/* BD698 80126F98 AFB60050 */ sw $s6, 0x50($sp) -/* BD69C 80126F9C AFB5004C */ sw $s5, 0x4c($sp) -/* BD6A0 80126FA0 AFB40048 */ sw $s4, 0x48($sp) -/* BD6A4 80126FA4 AFB30044 */ sw $s3, 0x44($sp) -/* BD6A8 80126FA8 AFB20040 */ sw $s2, 0x40($sp) -/* BD6AC 80126FAC AFB1003C */ sw $s1, 0x3c($sp) -/* BD6B0 80126FB0 94440134 */ lhu $a0, 0x134($v0) -/* BD6B4 80126FB4 34636C17 */ ori $v1, $v1, 0x6c17 -/* BD6B8 80126FB8 000410C2 */ srl $v0, $a0, 3 -/* BD6BC 80126FBC 00430019 */ multu $v0, $v1 -/* BD6C0 80126FC0 241700FF */ addiu $s7, $zero, 0xff -/* BD6C4 80126FC4 24160048 */ addiu $s6, $zero, 0x48 -/* BD6C8 80126FC8 0000C010 */ mfhi $t8 -/* BD6CC 80126FCC 00181082 */ srl $v0, $t8, 2 -/* BD6D0 80126FD0 00021840 */ sll $v1, $v0, 1 -/* BD6D4 80126FD4 00621821 */ addu $v1, $v1, $v0 -/* BD6D8 80126FD8 00031100 */ sll $v0, $v1, 4 -/* BD6DC 80126FDC 00431023 */ subu $v0, $v0, $v1 -/* BD6E0 80126FE0 000210C0 */ sll $v0, $v0, 3 -/* BD6E4 80126FE4 00822023 */ subu $a0, $a0, $v0 -/* BD6E8 80126FE8 920304F8 */ lbu $v1, 0x4f8($s0) -/* BD6EC 80126FEC 24020007 */ addiu $v0, $zero, 7 -/* BD6F0 80126FF0 10620006 */ beq $v1, $v0, .L8012700C -/* BD6F4 80126FF4 3088FFFF */ andi $t0, $a0, 0xffff -/* BD6F8 80126FF8 8E0204FC */ lw $v0, 0x4fc($s0) -/* BD6FC 80126FFC 3C030002 */ lui $v1, 2 -/* BD700 80127000 00431024 */ and $v0, $v0, $v1 -/* BD704 80127004 1040000F */ beqz $v0, .L80127044 -/* BD708 80127008 00000000 */ nop -.L8012700C: -/* BD70C 8012700C 920304EE */ lbu $v1, 0x4ee($s0) -/* BD710 80127010 86020456 */ lh $v0, 0x456($s0) -/* BD714 80127014 8604045A */ lh $a0, 0x45a($s0) -/* BD718 80127018 00031840 */ sll $v1, $v1, 1 -/* BD71C 8012701C 02031821 */ addu $v1, $s0, $v1 -/* BD720 80127020 00441021 */ addu $v0, $v0, $a0 -/* BD724 80127024 946504D0 */ lhu $a1, 0x4d0($v1) -/* BD728 80127028 8604045C */ lh $a0, 0x45c($s0) -/* BD72C 8012702C 0045A021 */ addu $s4, $v0, $a1 -/* BD730 80127030 86020458 */ lh $v0, 0x458($s0) -/* BD734 80127034 946304DC */ lhu $v1, 0x4dc($v1) -/* BD738 80127038 00441021 */ addu $v0, $v0, $a0 -/* BD73C 8012703C 08049C4C */ j .L80127130 -/* BD740 80127040 0043A821 */ addu $s5, $v0, $v1 -.L80127044: -/* BD744 80127044 920204ED */ lbu $v0, 0x4ed($s0) -/* BD748 80127048 3C013FF0 */ lui $at, 0x3ff0 -/* BD74C 8012704C 44811800 */ mtc1 $at, $f3 -/* BD750 80127050 44801000 */ mtc1 $zero, $f2 -/* BD754 80127054 86030456 */ lh $v1, 0x456($s0) -/* BD758 80127058 920604EE */ lbu $a2, 0x4ee($s0) -/* BD75C 8012705C 920504EC */ lbu $a1, 0x4ec($s0) -/* BD760 80127060 8604045C */ lh $a0, 0x45c($s0) -/* BD764 80127064 44820000 */ mtc1 $v0, $f0 -/* BD768 80127068 00000000 */ nop -/* BD76C 8012706C 46800021 */ cvt.d.w $f0, $f0 -/* BD770 80127070 00063040 */ sll $a2, $a2, 1 -/* BD774 80127074 02063021 */ addu $a2, $s0, $a2 -/* BD778 80127078 00052840 */ sll $a1, $a1, 1 -/* BD77C 8012707C 02052821 */ addu $a1, $s0, $a1 -/* BD780 80127080 46220000 */ add.d $f0, $f0, $f2 -/* BD784 80127084 3C014018 */ lui $at, 0x4018 -/* BD788 80127088 44811800 */ mtc1 $at, $f3 -/* BD78C 8012708C 44801000 */ mtc1 $zero, $f2 -/* BD790 80127090 8602045A */ lh $v0, 0x45a($s0) -/* BD794 80127094 94C704D0 */ lhu $a3, 0x4d0($a2) -/* BD798 80127098 00621821 */ addu $v1, $v1, $v0 -/* BD79C 8012709C 00673821 */ addu $a3, $v1, $a3 -/* BD7A0 801270A0 94A204D0 */ lhu $v0, 0x4d0($a1) -/* BD7A4 801270A4 46200020 */ cvt.s.d $f0, $f0 -/* BD7A8 801270A8 46000021 */ cvt.d.s $f0, $f0 -/* BD7AC 801270AC 46220003 */ div.d $f0, $f0, $f2 -/* BD7B0 801270B0 46200020 */ cvt.s.d $f0, $f0 -/* BD7B4 801270B4 00621821 */ addu $v1, $v1, $v0 -/* BD7B8 801270B8 00671823 */ subu $v1, $v1, $a3 -/* BD7BC 801270BC 44833000 */ mtc1 $v1, $f6 -/* BD7C0 801270C0 00000000 */ nop -/* BD7C4 801270C4 468031A0 */ cvt.s.w $f6, $f6 -/* BD7C8 801270C8 46003182 */ mul.s $f6, $f6, $f0 -/* BD7CC 801270CC 00000000 */ nop -/* BD7D0 801270D0 86020458 */ lh $v0, 0x458($s0) -/* BD7D4 801270D4 94C304DC */ lhu $v1, 0x4dc($a2) -/* BD7D8 801270D8 00441021 */ addu $v0, $v0, $a0 -/* BD7DC 801270DC 94A404DC */ lhu $a0, 0x4dc($a1) -/* BD7E0 801270E0 00431821 */ addu $v1, $v0, $v1 -/* BD7E4 801270E4 00441021 */ addu $v0, $v0, $a0 -/* BD7E8 801270E8 00431023 */ subu $v0, $v0, $v1 -/* BD7EC 801270EC 44822000 */ mtc1 $v0, $f4 -/* BD7F0 801270F0 00000000 */ nop -/* BD7F4 801270F4 46802120 */ cvt.s.w $f4, $f4 -/* BD7F8 801270F8 46002102 */ mul.s $f4, $f4, $f0 -/* BD7FC 801270FC 00000000 */ nop -/* BD800 80127100 44871000 */ mtc1 $a3, $f2 -/* BD804 80127104 00000000 */ nop -/* BD808 80127108 468010A0 */ cvt.s.w $f2, $f2 -/* BD80C 8012710C 46061080 */ add.s $f2, $f2, $f6 -/* BD810 80127110 44830000 */ mtc1 $v1, $f0 -/* BD814 80127114 00000000 */ nop -/* BD818 80127118 46800020 */ cvt.s.w $f0, $f0 -/* BD81C 8012711C 46040000 */ add.s $f0, $f0, $f4 -/* BD820 80127120 4600120D */ trunc.w.s $f8, $f2 -/* BD824 80127124 44144000 */ mfc1 $s4, $f8 -/* BD828 80127128 4600020D */ trunc.w.s $f8, $f0 -/* BD82C 8012712C 44154000 */ mfc1 $s5, $f8 -.L80127130: -/* BD830 80127130 00082080 */ sll $a0, $t0, 2 -/* BD834 80127134 00882021 */ addu $a0, $a0, $t0 -/* BD838 80127138 00042080 */ sll $a0, $a0, 2 -/* BD83C 8012713C 00882023 */ subu $a0, $a0, $t0 -/* BD840 80127140 00042040 */ sll $a0, $a0, 1 -/* BD844 80127144 2484010E */ addiu $a0, $a0, 0x10e -/* BD848 80127148 00042400 */ sll $a0, $a0, 0x10 -/* BD84C 8012714C 0C00A4F5 */ jal cosine -/* BD850 80127150 00042403 */ sra $a0, $a0, 0x10 -/* BD854 80127154 3C013FF0 */ lui $at, 0x3ff0 -/* BD858 80127158 44811800 */ mtc1 $at, $f3 -/* BD85C 8012715C 44801000 */ mtc1 $zero, $f2 -/* BD860 80127160 46000021 */ cvt.d.s $f0, $f0 -/* BD864 80127164 46220000 */ add.d $f0, $f0, $f2 -/* BD868 80127168 3C013FE0 */ lui $at, 0x3fe0 -/* BD86C 8012716C 44811800 */ mtc1 $at, $f3 -/* BD870 80127170 44801000 */ mtc1 $zero, $f2 -/* BD874 80127174 00000000 */ nop -/* BD878 80127178 46220002 */ mul.d $f0, $f0, $f2 -/* BD87C 8012717C 00000000 */ nop -/* BD880 80127180 3C018015 */ lui $at, %hi(D_80150718) -/* BD884 80127184 D4220718 */ ldc1 $f2, %lo(D_80150718)($at) -/* BD888 80127188 46220002 */ mul.d $f0, $f0, $f2 -/* BD88C 8012718C 00000000 */ nop -/* BD890 80127190 26B50001 */ addiu $s5, $s5, 1 -/* BD894 80127194 8E0204FC */ lw $v0, 0x4fc($s0) -/* BD898 80127198 44941000 */ mtc1 $s4, $f2 -/* BD89C 8012719C 00000000 */ nop -/* BD8A0 801271A0 468010A1 */ cvt.d.w $f2, $f2 -/* BD8A4 801271A4 46201080 */ add.d $f2, $f2, $f0 -/* BD8A8 801271A8 3C030002 */ lui $v1, 2 -/* BD8AC 801271AC 00431024 */ and $v0, $v0, $v1 -/* BD8B0 801271B0 4620120D */ trunc.w.d $f8, $f2 -/* BD8B4 801271B4 44144000 */ mfc1 $s4, $f8 -/* BD8B8 801271B8 1040003E */ beqz $v0, .L801272B4 -/* BD8BC 801271BC 2694FFFE */ addiu $s4, $s4, -2 -/* BD8C0 801271C0 92020512 */ lbu $v0, 0x512($s0) -/* BD8C4 801271C4 3C014047 */ lui $at, 0x4047 -/* BD8C8 801271C8 44811800 */ mtc1 $at, $f3 -/* BD8CC 801271CC 44801000 */ mtc1 $zero, $f2 -/* BD8D0 801271D0 44820000 */ mtc1 $v0, $f0 -/* BD8D4 801271D4 00000000 */ nop -/* BD8D8 801271D8 46800021 */ cvt.d.w $f0, $f0 -/* BD8DC 801271DC 46220002 */ mul.d $f0, $f0, $f2 -/* BD8E0 801271E0 00000000 */ nop -/* BD8E4 801271E4 3C018015 */ lui $at, %hi(D_80150720) -/* BD8E8 801271E8 D4220720 */ ldc1 $f2, %lo(D_80150720)($at) -/* BD8EC 801271EC 46201001 */ sub.d $f0, $f2, $f0 -/* BD8F0 801271F0 3C0141E0 */ lui $at, 0x41e0 -/* BD8F4 801271F4 44811800 */ mtc1 $at, $f3 -/* BD8F8 801271F8 44801000 */ mtc1 $zero, $f2 -/* BD8FC 801271FC 00000000 */ nop -/* BD900 80127200 4620103E */ c.le.d $f2, $f0 -/* BD904 80127204 00000000 */ nop -/* BD908 80127208 45030005 */ bc1tl .L80127220 -/* BD90C 8012720C 46220001 */ sub.d $f0, $f0, $f2 -/* BD910 80127210 4620020D */ trunc.w.d $f8, $f0 -/* BD914 80127214 44034000 */ mfc1 $v1, $f8 -/* BD918 80127218 08049C8D */ j .L80127234 -/* BD91C 8012721C 00000000 */ nop -.L80127220: -/* BD920 80127220 3C028000 */ lui $v0, 0x8000 -/* BD924 80127224 4620020D */ trunc.w.d $f8, $f0 -/* BD928 80127228 44034000 */ mfc1 $v1, $f8 -/* BD92C 8012722C 00000000 */ nop -/* BD930 80127230 00621825 */ or $v1, $v1, $v0 -.L80127234: -/* BD934 80127234 92020512 */ lbu $v0, 0x512($s0) -/* BD938 80127238 3C018015 */ lui $at, %hi(D_80150728) -/* BD93C 8012723C D4220728 */ ldc1 $f2, %lo(D_80150728)($at) -/* BD940 80127240 44820000 */ mtc1 $v0, $f0 -/* BD944 80127244 00000000 */ nop -/* BD948 80127248 46800021 */ cvt.d.w $f0, $f0 -/* BD94C 8012724C 46220002 */ mul.d $f0, $f0, $f2 -/* BD950 80127250 00000000 */ nop -/* BD954 80127254 3C014052 */ lui $at, 0x4052 -/* BD958 80127258 44811800 */ mtc1 $at, $f3 -/* BD95C 8012725C 44801000 */ mtc1 $zero, $f2 -/* BD960 80127260 00000000 */ nop -/* BD964 80127264 46201001 */ sub.d $f0, $f2, $f0 -/* BD968 80127268 3C0141E0 */ lui $at, 0x41e0 -/* BD96C 8012726C 44811800 */ mtc1 $at, $f3 -/* BD970 80127270 44801000 */ mtc1 $zero, $f2 -/* BD974 80127274 00000000 */ nop -/* BD978 80127278 4620103E */ c.le.d $f2, $f0 -/* BD97C 8012727C 00000000 */ nop -/* BD980 80127280 45010005 */ bc1t .L80127298 -/* BD984 80127284 0060B82D */ daddu $s7, $v1, $zero -/* BD988 80127288 4620020D */ trunc.w.d $f8, $f0 -/* BD98C 8012728C 44034000 */ mfc1 $v1, $f8 -/* BD990 80127290 08049CAD */ j .L801272B4 -/* BD994 80127294 0060B02D */ daddu $s6, $v1, $zero -.L80127298: -/* BD998 80127298 46220001 */ sub.d $f0, $f0, $f2 -/* BD99C 8012729C 3C028000 */ lui $v0, 0x8000 -/* BD9A0 801272A0 4620020D */ trunc.w.d $f8, $f0 -/* BD9A4 801272A4 44034000 */ mfc1 $v1, $f8 -/* BD9A8 801272A8 00000000 */ nop -/* BD9AC 801272AC 00621825 */ or $v1, $v1, $v0 -/* BD9B0 801272B0 0060B02D */ daddu $s6, $v1, $zero -.L801272B4: -/* BD9B4 801272B4 3C0AE300 */ lui $t2, 0xe300 -/* BD9B8 801272B8 354A1001 */ ori $t2, $t2, 0x1001 -/* BD9BC 801272BC 3C0BF500 */ lui $t3, 0xf500 -/* BD9C0 801272C0 356B0100 */ ori $t3, $t3, 0x100 -/* BD9C4 801272C4 3C0C0703 */ lui $t4, 0x703 -/* BD9C8 801272C8 358CC000 */ ori $t4, $t4, 0xc000 -/* BD9CC 801272CC 3C0FE200 */ lui $t7, 0xe200 -/* BD9D0 801272D0 35EF001C */ ori $t7, $t7, 0x1c -/* BD9D4 801272D4 3C0D0050 */ lui $t5, 0x50 -/* BD9D8 801272D8 35AD4240 */ ori $t5, $t5, 0x4240 -/* BD9DC 801272DC 3C10FCFF */ lui $s0, 0xfcff -/* BD9E0 801272E0 361097FF */ ori $s0, $s0, 0x97ff -/* BD9E4 801272E4 3C0EFF2D */ lui $t6, 0xff2d -/* BD9E8 801272E8 35CEFEFF */ ori $t6, $t6, 0xfeff -/* BD9EC 801272EC 3C132828 */ lui $s3, 0x2828 -/* BD9F0 801272F0 36732800 */ ori $s3, $s3, 0x2800 -/* BD9F4 801272F4 3C128010 */ lui $s2, %hi(D_800FBB60) -/* BD9F8 801272F8 2652BB60 */ addiu $s2, $s2, %lo(D_800FBB60) -/* BD9FC 801272FC 0240202D */ daddu $a0, $s2, $zero -/* BDA00 80127300 24050010 */ addiu $a1, $zero, 0x10 -/* BDA04 80127304 00A0302D */ daddu $a2, $a1, $zero -/* BDA08 80127308 3C08800A */ lui $t0, %hi(gMasterGfxPos) -/* BDA0C 8012730C 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos) -/* BDA10 80127310 24070002 */ addiu $a3, $zero, 2 -/* BDA14 80127314 3C09E700 */ lui $t1, 0xe700 -/* BDA18 80127318 8D030000 */ lw $v1, ($t0) -/* BDA1C 8012731C 3C118010 */ lui $s1, %hi(D_800FBBE0) -/* BDA20 80127320 2631BBE0 */ addiu $s1, $s1, %lo(D_800FBBE0) -/* BDA24 80127324 0060102D */ daddu $v0, $v1, $zero -/* BDA28 80127328 24630008 */ addiu $v1, $v1, 8 -/* BDA2C 8012732C AD030000 */ sw $v1, ($t0) -/* BDA30 80127330 AC490000 */ sw $t1, ($v0) -/* BDA34 80127334 AC400004 */ sw $zero, 4($v0) -/* BDA38 80127338 24620008 */ addiu $v0, $v1, 8 -/* BDA3C 8012733C AD020000 */ sw $v0, ($t0) -/* BDA40 80127340 34028000 */ ori $v0, $zero, 0x8000 -/* BDA44 80127344 AC620004 */ sw $v0, 4($v1) -/* BDA48 80127348 00651021 */ addu $v0, $v1, $a1 -/* BDA4C 8012734C AC6A0000 */ sw $t2, ($v1) -/* BDA50 80127350 AD020000 */ sw $v0, ($t0) -/* BDA54 80127354 3C02FD10 */ lui $v0, 0xfd10 -/* BDA58 80127358 AC620008 */ sw $v0, 8($v1) -/* BDA5C 8012735C 24620018 */ addiu $v0, $v1, 0x18 -/* BDA60 80127360 AC71000C */ sw $s1, 0xc($v1) -/* BDA64 80127364 AD020000 */ sw $v0, ($t0) -/* BDA68 80127368 3C02E800 */ lui $v0, 0xe800 -/* BDA6C 8012736C AC620010 */ sw $v0, 0x10($v1) -/* BDA70 80127370 24620020 */ addiu $v0, $v1, 0x20 -/* BDA74 80127374 AC600014 */ sw $zero, 0x14($v1) -/* BDA78 80127378 AD020000 */ sw $v0, ($t0) -/* BDA7C 8012737C 3C020700 */ lui $v0, 0x700 -/* BDA80 80127380 AC62001C */ sw $v0, 0x1c($v1) -/* BDA84 80127384 24620028 */ addiu $v0, $v1, 0x28 -/* BDA88 80127388 AC6B0018 */ sw $t3, 0x18($v1) -/* BDA8C 8012738C AD020000 */ sw $v0, ($t0) -/* BDA90 80127390 3C02E600 */ lui $v0, 0xe600 -/* BDA94 80127394 AC620020 */ sw $v0, 0x20($v1) -/* BDA98 80127398 24620030 */ addiu $v0, $v1, 0x30 -/* BDA9C 8012739C AC600024 */ sw $zero, 0x24($v1) -/* BDAA0 801273A0 AD020000 */ sw $v0, ($t0) -/* BDAA4 801273A4 3C02F000 */ lui $v0, 0xf000 -/* BDAA8 801273A8 AC620028 */ sw $v0, 0x28($v1) -/* BDAAC 801273AC 24620038 */ addiu $v0, $v1, 0x38 -/* BDAB0 801273B0 AC6C002C */ sw $t4, 0x2c($v1) -/* BDAB4 801273B4 AD020000 */ sw $v0, ($t0) -/* BDAB8 801273B8 24620040 */ addiu $v0, $v1, 0x40 -/* BDABC 801273BC AC690030 */ sw $t1, 0x30($v1) -/* BDAC0 801273C0 AC600034 */ sw $zero, 0x34($v1) -/* BDAC4 801273C4 AD020000 */ sw $v0, ($t0) -/* BDAC8 801273C8 24620048 */ addiu $v0, $v1, 0x48 -/* BDACC 801273CC AC6F0038 */ sw $t7, 0x38($v1) -/* BDAD0 801273D0 AC6D003C */ sw $t5, 0x3c($v1) -/* BDAD4 801273D4 AD020000 */ sw $v0, ($t0) -/* BDAD8 801273D8 24620050 */ addiu $v0, $v1, 0x50 -/* BDADC 801273DC AC700040 */ sw $s0, 0x40($v1) -/* BDAE0 801273E0 AC6E0044 */ sw $t6, 0x44($v1) -/* BDAE4 801273E4 AD020000 */ sw $v0, ($t0) -/* BDAE8 801273E8 3C02FA00 */ lui $v0, 0xfa00 -/* BDAEC 801273EC AC620048 */ sw $v0, 0x48($v1) -/* BDAF0 801273F0 32C200FF */ andi $v0, $s6, 0xff -/* BDAF4 801273F4 00531025 */ or $v0, $v0, $s3 -/* BDAF8 801273F8 AC62004C */ sw $v0, 0x4c($v1) -/* BDAFC 801273FC 02871021 */ addu $v0, $s4, $a3 -/* BDB00 80127400 00A21004 */ sllv $v0, $v0, $a1 -/* BDB04 80127404 00A21007 */ srav $v0, $v0, $a1 -/* BDB08 80127408 AFA20014 */ sw $v0, 0x14($sp) -/* BDB0C 8012740C 02A71021 */ addu $v0, $s5, $a3 -/* BDB10 80127410 00A21004 */ sllv $v0, $v0, $a1 -/* BDB14 80127414 00A21007 */ srav $v0, $v0, $a1 -/* BDB18 80127418 AFA20018 */ sw $v0, 0x18($sp) -/* BDB1C 8012741C 2402000A */ addiu $v0, $zero, 0xa -/* BDB20 80127420 2410012C */ addiu $s0, $zero, 0x12c -/* BDB24 80127424 AFA2001C */ sw $v0, 0x1c($sp) -/* BDB28 80127428 AFA20020 */ sw $v0, 0x20($sp) -/* BDB2C 8012742C 240200DC */ addiu $v0, $zero, 0xdc -/* BDB30 80127430 AFA00010 */ sw $zero, 0x10($sp) -/* BDB34 80127434 AFB00024 */ sw $s0, 0x24($sp) -/* BDB38 80127438 0C04BB25 */ jal draw_image_with_clipping -/* BDB3C 8012743C AFA20028 */ sw $v0, 0x28($sp) -/* BDB40 80127440 0240202D */ daddu $a0, $s2, $zero -/* BDB44 80127444 24050010 */ addiu $a1, $zero, 0x10 -/* BDB48 80127448 00A0302D */ daddu $a2, $a1, $zero -/* BDB4C 8012744C 24070002 */ addiu $a3, $zero, 2 -/* BDB50 80127450 00B41004 */ sllv $v0, $s4, $a1 -/* BDB54 80127454 00A21007 */ srav $v0, $v0, $a1 -/* BDB58 80127458 AFA20018 */ sw $v0, 0x18($sp) -/* BDB5C 8012745C 00B51004 */ sllv $v0, $s5, $a1 -/* BDB60 80127460 00A21007 */ srav $v0, $v0, $a1 -/* BDB64 80127464 AFA2001C */ sw $v0, 0x1c($sp) -/* BDB68 80127468 24020014 */ addiu $v0, $zero, 0x14 -/* BDB6C 8012746C AFA20020 */ sw $v0, 0x20($sp) -/* BDB70 80127470 AFA20024 */ sw $v0, 0x24($sp) -/* BDB74 80127474 240200C8 */ addiu $v0, $zero, 0xc8 -/* BDB78 80127478 AFA2002C */ sw $v0, 0x2c($sp) -/* BDB7C 8012747C 32E200FF */ andi $v0, $s7, 0xff -/* BDB80 80127480 AFA00010 */ sw $zero, 0x10($sp) -/* BDB84 80127484 AFB10014 */ sw $s1, 0x14($sp) -/* BDB88 80127488 AFB00028 */ sw $s0, 0x28($sp) -/* BDB8C 8012748C 0C04BA68 */ jal draw_ci_image_with_clipping -/* BDB90 80127490 AFA20030 */ sw $v0, 0x30($sp) -/* BDB94 80127494 8FBF0058 */ lw $ra, 0x58($sp) -/* BDB98 80127498 8FB70054 */ lw $s7, 0x54($sp) -/* BDB9C 8012749C 8FB60050 */ lw $s6, 0x50($sp) -/* BDBA0 801274A0 8FB5004C */ lw $s5, 0x4c($sp) -/* BDBA4 801274A4 8FB40048 */ lw $s4, 0x48($sp) -/* BDBA8 801274A8 8FB30044 */ lw $s3, 0x44($sp) -/* BDBAC 801274AC 8FB20040 */ lw $s2, 0x40($sp) -/* BDBB0 801274B0 8FB1003C */ lw $s1, 0x3c($sp) -/* BDBB4 801274B4 8FB00038 */ lw $s0, 0x38($sp) -/* BDBB8 801274B8 03E00008 */ jr $ra -/* BDBBC 801274BC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/ver/us/asm/nonmatchings/msg/msg_draw_frame.s b/ver/us/asm/nonmatchings/msg/msg_draw_frame.s deleted file mode 100644 index c8d7588c70..0000000000 --- a/ver/us/asm/nonmatchings/msg/msg_draw_frame.s +++ /dev/null @@ -1,940 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel msg_draw_frame -/* C4258 8012DB58 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* C425C 8012DB5C 0080682D */ daddu $t5, $a0, $zero -/* C4260 8012DB60 8FAC016C */ lw $t4, 0x16c($sp) -/* C4264 8012DB64 00A0702D */ daddu $t6, $a1, $zero -/* C4268 8012DB68 AFB10144 */ sw $s1, 0x144($sp) -/* C426C 8012DB6C 8FB10170 */ lw $s1, 0x170($sp) -/* C4270 8012DB70 00C0C82D */ daddu $t9, $a2, $zero -/* C4274 8012DB74 AFB00140 */ sw $s0, 0x140($sp) -/* C4278 8012DB78 AFB20148 */ sw $s2, 0x148($sp) -/* C427C 8012DB7C 8FB20160 */ lw $s2, 0x160($sp) -/* C4280 8012DB80 2B220010 */ slti $v0, $t9, 0x10 -/* C4284 8012DB84 AFB3014C */ sw $s3, 0x14c($sp) -/* C4288 8012DB88 8FB30168 */ lw $s3, 0x168($sp) -/* C428C 8012DB8C 1440034E */ bnez $v0, .L8012E8C8 -/* C4290 8012DB90 00E0802D */ daddu $s0, $a3, $zero -/* C4294 8012DB94 2A020010 */ slti $v0, $s0, 0x10 -/* C4298 8012DB98 1440034B */ bnez $v0, .L8012E8C8 -/* C429C 8012DB9C 00000000 */ nop -/* C42A0 8012DBA0 12600005 */ beqz $s3, .L8012DBB8 -/* C42A4 8012DBA4 3C03E300 */ lui $v1, 0xe300 -/* C42A8 8012DBA8 15800004 */ bnez $t4, .L8012DBBC -/* C42AC 8012DBAC 34630A01 */ ori $v1, $v1, 0xa01 -/* C42B0 8012DBB0 12200345 */ beqz $s1, .L8012E8C8 -/* C42B4 8012DBB4 3C03E300 */ lui $v1, 0xe300 -.L8012DBB8: -/* C42B8 8012DBB8 34630A01 */ ori $v1, $v1, 0xa01 -.L8012DBBC: -/* C42BC 8012DBBC 3C04E300 */ lui $a0, 0xe300 -/* C42C0 8012DBC0 34840C00 */ ori $a0, $a0, 0xc00 -/* C42C4 8012DBC4 3C05E300 */ lui $a1, 0xe300 -/* C42C8 8012DBC8 34A50F00 */ ori $a1, $a1, 0xf00 -/* C42CC 8012DBCC 3C06E300 */ lui $a2, 0xe300 -/* C42D0 8012DBD0 34C61001 */ ori $a2, $a2, 0x1001 -/* C42D4 8012DBD4 3C07E300 */ lui $a3, 0xe300 -/* C42D8 8012DBD8 34E71801 */ ori $a3, $a3, 0x1801 -/* C42DC 8012DBDC 3C08E300 */ lui $t0, 0xe300 -/* C42E0 8012DBE0 35081A01 */ ori $t0, $t0, 0x1a01 -/* C42E4 8012DBE4 3C18E300 */ lui $t8, 0xe300 -/* C42E8 8012DBE8 3C0B800A */ lui $t3, %hi(gMasterGfxPos) -/* C42EC 8012DBEC 256BA66C */ addiu $t3, $t3, %lo(gMasterGfxPos) -/* C42F0 8012DBF0 37181201 */ ori $t8, $t8, 0x1201 -/* C42F4 8012DBF4 8D690000 */ lw $t1, ($t3) -/* C42F8 8012DBF8 3C0FE700 */ lui $t7, 0xe700 -/* C42FC 8012DBFC 0120102D */ daddu $v0, $t1, $zero -/* C4300 8012DC00 25290008 */ addiu $t1, $t1, 8 -/* C4304 8012DC04 AD690000 */ sw $t1, ($t3) -/* C4308 8012DC08 AC4F0000 */ sw $t7, ($v0) -/* C430C 8012DC0C AC400004 */ sw $zero, 4($v0) -/* C4310 8012DC10 25220008 */ addiu $v0, $t1, 8 -/* C4314 8012DC14 AD620000 */ sw $v0, ($t3) -/* C4318 8012DC18 25220010 */ addiu $v0, $t1, 0x10 -/* C431C 8012DC1C AD230000 */ sw $v1, ($t1) -/* C4320 8012DC20 AD200004 */ sw $zero, 4($t1) -/* C4324 8012DC24 AD620000 */ sw $v0, ($t3) -/* C4328 8012DC28 25220018 */ addiu $v0, $t1, 0x18 -/* C432C 8012DC2C AD240008 */ sw $a0, 8($t1) -/* C4330 8012DC30 AD20000C */ sw $zero, 0xc($t1) -/* C4334 8012DC34 AD620000 */ sw $v0, ($t3) -/* C4338 8012DC38 25220020 */ addiu $v0, $t1, 0x20 -/* C433C 8012DC3C AD250010 */ sw $a1, 0x10($t1) -/* C4340 8012DC40 AD200014 */ sw $zero, 0x14($t1) -/* C4344 8012DC44 AD620000 */ sw $v0, ($t3) -/* C4348 8012DC48 25220028 */ addiu $v0, $t1, 0x28 -/* C434C 8012DC4C AD260018 */ sw $a2, 0x18($t1) -/* C4350 8012DC50 AD20001C */ sw $zero, 0x1c($t1) -/* C4354 8012DC54 AD620000 */ sw $v0, ($t3) -/* C4358 8012DC58 240200C0 */ addiu $v0, $zero, 0xc0 -/* C435C 8012DC5C AD220024 */ sw $v0, 0x24($t1) -/* C4360 8012DC60 25220030 */ addiu $v0, $t1, 0x30 -/* C4364 8012DC64 AD270020 */ sw $a3, 0x20($t1) -/* C4368 8012DC68 AD620000 */ sw $v0, ($t3) -/* C436C 8012DC6C 24020030 */ addiu $v0, $zero, 0x30 -/* C4370 8012DC70 AD280028 */ sw $t0, 0x28($t1) -/* C4374 8012DC74 25280038 */ addiu $t0, $t1, 0x38 -/* C4378 8012DC78 AD22002C */ sw $v0, 0x2c($t1) -/* C437C 8012DC7C AD680000 */ sw $t0, ($t3) -/* C4380 8012DC80 AD380030 */ sw $t8, 0x30($t1) -/* C4384 8012DC84 12600003 */ beqz $s3, .L8012DC94 -/* C4388 8012DC88 AD200034 */ sw $zero, 0x34($t1) -/* C438C 8012DC8C 11800168 */ beqz $t4, .L8012E230 -/* C4390 8012DC90 2B220020 */ slti $v0, $t9, 0x20 -.L8012DC94: -/* C4394 8012DC94 24020005 */ addiu $v0, $zero, 5 -/* C4398 8012DC98 12420005 */ beq $s2, $v0, .L8012DCB0 -/* C439C 8012DC9C 24020006 */ addiu $v0, $zero, 6 -/* C43A0 8012DCA0 1242005D */ beq $s2, $v0, .L8012DE18 -/* C43A4 8012DCA4 2B220020 */ slti $v0, $t9, 0x20 -/* C43A8 8012DCA8 0804B88C */ j .L8012E230 -/* C43AC 8012DCAC 00000000 */ nop -.L8012DCB0: -/* C43B0 8012DCB0 3C02802F */ lui $v0, %hi(D_802EC3F8) -/* C43B4 8012DCB4 9442C3F8 */ lhu $v0, %lo(D_802EC3F8)($v0) -/* C43B8 8012DCB8 25250040 */ addiu $a1, $t1, 0x40 -/* C43BC 8012DCBC AD650000 */ sw $a1, ($t3) -/* C43C0 8012DCC0 AD2F0038 */ sw $t7, 0x38($t1) -/* C43C4 8012DCC4 AD000004 */ sw $zero, 4($t0) -/* C43C8 8012DCC8 00021AC2 */ srl $v1, $v0, 0xb -/* C43CC 8012DCCC 000350C0 */ sll $t2, $v1, 3 -/* C43D0 8012DCD0 000218C2 */ srl $v1, $v0, 3 -/* C43D4 8012DCD4 306700F8 */ andi $a3, $v1, 0xf8 -/* C43D8 8012DCD8 00021080 */ sll $v0, $v0, 2 -/* C43DC 8012DCDC 1260000C */ beqz $s3, .L8012DD10 -/* C43E0 8012DCE0 304800F8 */ andi $t0, $v0, 0xf8 -/* C43E4 8012DCE4 298200FF */ slti $v0, $t4, 0xff -/* C43E8 8012DCE8 10400009 */ beqz $v0, .L8012DD10 -/* C43EC 8012DCEC 3C04E200 */ lui $a0, 0xe200 -/* C43F0 8012DCF0 3484001C */ ori $a0, $a0, 0x1c -/* C43F4 8012DCF4 3C030050 */ lui $v1, 0x50 -/* C43F8 8012DCF8 34634B40 */ ori $v1, $v1, 0x4b40 -/* C43FC 8012DCFC 25220048 */ addiu $v0, $t1, 0x48 -/* C4400 8012DD00 AD620000 */ sw $v0, ($t3) -/* C4404 8012DD04 AD240040 */ sw $a0, 0x40($t1) -/* C4408 8012DD08 0804B750 */ j .L8012DD40 -/* C440C 8012DD0C ACA30004 */ sw $v1, 4($a1) -.L8012DD10: -/* C4410 8012DD10 3C06E200 */ lui $a2, 0xe200 -/* C4414 8012DD14 34C6001C */ ori $a2, $a2, 0x1c -/* C4418 8012DD18 3C050F0A */ lui $a1, 0xf0a -/* C441C 8012DD1C 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* C4420 8012DD20 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* C4424 8012DD24 8C820000 */ lw $v0, ($a0) -/* C4428 8012DD28 34A54000 */ ori $a1, $a1, 0x4000 -/* C442C 8012DD2C 0040182D */ daddu $v1, $v0, $zero -/* C4430 8012DD30 24420008 */ addiu $v0, $v0, 8 -/* C4434 8012DD34 AC820000 */ sw $v0, ($a0) -/* C4438 8012DD38 AC660000 */ sw $a2, ($v1) -/* C443C 8012DD3C AC650004 */ sw $a1, 4($v1) -.L8012DD40: -/* C4440 8012DD40 3C04FCFF */ lui $a0, 0xfcff -/* C4444 8012DD44 3484FFFF */ ori $a0, $a0, 0xffff -/* C4448 8012DD48 3C03FFFD */ lui $v1, 0xfffd -/* C444C 8012DD4C 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* C4450 8012DD50 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* C4454 8012DD54 8CC50000 */ lw $a1, ($a2) -/* C4458 8012DD58 3463F6FB */ ori $v1, $v1, 0xf6fb -/* C445C 8012DD5C 00A0102D */ daddu $v0, $a1, $zero -/* C4460 8012DD60 24A50008 */ addiu $a1, $a1, 8 -/* C4464 8012DD64 ACC50000 */ sw $a1, ($a2) -/* C4468 8012DD68 AC440000 */ sw $a0, ($v0) -/* C446C 8012DD6C AC430004 */ sw $v1, 4($v0) -/* C4470 8012DD70 24A20008 */ addiu $v0, $a1, 8 -/* C4474 8012DD74 ACC20000 */ sw $v0, ($a2) -/* C4478 8012DD78 3C02FA00 */ lui $v0, 0xfa00 -/* C447C 8012DD7C ACA20000 */ sw $v0, ($a1) -/* C4480 8012DD80 000A1600 */ sll $v0, $t2, 0x18 -/* C4484 8012DD84 00071C00 */ sll $v1, $a3, 0x10 -/* C4488 8012DD88 00431025 */ or $v0, $v0, $v1 -/* C448C 8012DD8C 00081A00 */ sll $v1, $t0, 8 -/* C4490 8012DD90 00431025 */ or $v0, $v0, $v1 -/* C4494 8012DD94 318300FF */ andi $v1, $t4, 0xff -/* C4498 8012DD98 00431025 */ or $v0, $v0, $v1 -/* C449C 8012DD9C ACA20004 */ sw $v0, 4($a1) -/* C44A0 8012DDA0 01B91021 */ addu $v0, $t5, $t9 -/* C44A4 8012DDA4 2444FFF8 */ addiu $a0, $v0, -8 -/* C44A8 8012DDA8 18800120 */ blez $a0, .L8012E22C -/* C44AC 8012DDAC 24A20010 */ addiu $v0, $a1, 0x10 -/* C44B0 8012DDB0 ACC20000 */ sw $v0, ($a2) -/* C44B4 8012DDB4 01D01021 */ addu $v0, $t6, $s0 -/* C44B8 8012DDB8 2443FFF8 */ addiu $v1, $v0, -8 -/* C44BC 8012DDBC 308203FF */ andi $v0, $a0, 0x3ff -/* C44C0 8012DDC0 04610002 */ bgez $v1, .L8012DDCC -/* C44C4 8012DDC4 00022380 */ sll $a0, $v0, 0xe -/* C44C8 8012DDC8 0000182D */ daddu $v1, $zero, $zero -.L8012DDCC: -/* C44CC 8012DDCC 306203FF */ andi $v0, $v1, 0x3ff -/* C44D0 8012DDD0 00021080 */ sll $v0, $v0, 2 -/* C44D4 8012DDD4 3C03F600 */ lui $v1, 0xf600 -/* C44D8 8012DDD8 00431025 */ or $v0, $v0, $v1 -/* C44DC 8012DDDC 00821025 */ or $v0, $a0, $v0 -/* C44E0 8012DDE0 ACA20008 */ sw $v0, 8($a1) -/* C44E4 8012DDE4 25A20008 */ addiu $v0, $t5, 8 -/* C44E8 8012DDE8 04420001 */ bltzl $v0, .L8012DDF0 -/* C44EC 8012DDEC 0000102D */ daddu $v0, $zero, $zero -.L8012DDF0: -/* C44F0 8012DDF0 25C30008 */ addiu $v1, $t6, 8 -/* C44F4 8012DDF4 304203FF */ andi $v0, $v0, 0x3ff -/* C44F8 8012DDF8 04610002 */ bgez $v1, .L8012DE04 -/* C44FC 8012DDFC 00022380 */ sll $a0, $v0, 0xe -/* C4500 8012DE00 0000182D */ daddu $v1, $zero, $zero -.L8012DE04: -/* C4504 8012DE04 306203FF */ andi $v0, $v1, 0x3ff -/* C4508 8012DE08 00021080 */ sll $v0, $v0, 2 -/* C450C 8012DE0C 00821025 */ or $v0, $a0, $v0 -/* C4510 8012DE10 0804B88B */ j .L8012E22C -/* C4514 8012DE14 ACA2000C */ sw $v0, 0xc($a1) -.L8012DE18: -/* C4518 8012DE18 3C05E200 */ lui $a1, 0xe200 -/* C451C 8012DE1C 34A5001C */ ori $a1, $a1, 0x1c -/* C4520 8012DE20 3C030050 */ lui $v1, 0x50 -/* C4524 8012DE24 34634240 */ ori $v1, $v1, 0x4240 -/* C4528 8012DE28 3C06FCFF */ lui $a2, 0xfcff -/* C452C 8012DE2C 34C6FFFF */ ori $a2, $a2, 0xffff -/* C4530 8012DE30 3C04FFFC */ lui $a0, 0xfffc -/* C4534 8012DE34 3484F67B */ ori $a0, $a0, 0xf67b -/* C4538 8012DE38 0160502D */ daddu $t2, $t3, $zero -/* C453C 8012DE3C 25270040 */ addiu $a3, $t1, 0x40 -/* C4540 8012DE40 25220048 */ addiu $v0, $t1, 0x48 -/* C4544 8012DE44 AD470000 */ sw $a3, ($t2) -/* C4548 8012DE48 AD2F0038 */ sw $t7, 0x38($t1) -/* C454C 8012DE4C AD000004 */ sw $zero, 4($t0) -/* C4550 8012DE50 AD420000 */ sw $v0, ($t2) -/* C4554 8012DE54 24023000 */ addiu $v0, $zero, 0x3000 -/* C4558 8012DE58 AD380040 */ sw $t8, 0x40($t1) -/* C455C 8012DE5C ACE20004 */ sw $v0, 4($a3) -/* C4560 8012DE60 25220050 */ addiu $v0, $t1, 0x50 -/* C4564 8012DE64 AD420000 */ sw $v0, ($t2) -/* C4568 8012DE68 25220058 */ addiu $v0, $t1, 0x58 -/* C456C 8012DE6C ACE50008 */ sw $a1, 8($a3) -/* C4570 8012DE70 ACE3000C */ sw $v1, 0xc($a3) -/* C4574 8012DE74 AD420000 */ sw $v0, ($t2) -/* C4578 8012DE78 ACE60010 */ sw $a2, 0x10($a3) -/* C457C 8012DE7C 12600004 */ beqz $s3, .L8012DE90 -/* C4580 8012DE80 ACE40014 */ sw $a0, 0x14($a3) -/* C4584 8012DE84 240200FF */ addiu $v0, $zero, 0xff -/* C4588 8012DE88 55820007 */ bnel $t4, $v0, .L8012DEA8 -/* C458C 8012DE8C 298200D9 */ slti $v0, $t4, 0xd9 -.L8012DE90: -/* C4590 8012DE90 25220060 */ addiu $v0, $t1, 0x60 -/* C4594 8012DE94 AD420000 */ sw $v0, ($t2) -/* C4598 8012DE98 3C02FA00 */ lui $v0, 0xfa00 -/* C459C 8012DE9C ACE20018 */ sw $v0, 0x18($a3) -/* C45A0 8012DEA0 0804B7B1 */ j .L8012DEC4 -/* C45A4 8012DEA4 240200D8 */ addiu $v0, $zero, 0xd8 -.L8012DEA8: -/* C45A8 8012DEA8 50400001 */ beql $v0, $zero, .L8012DEB0 -/* C45AC 8012DEAC 240C00D8 */ addiu $t4, $zero, 0xd8 -.L8012DEB0: -/* C45B0 8012DEB0 25220060 */ addiu $v0, $t1, 0x60 -/* C45B4 8012DEB4 AD620000 */ sw $v0, ($t3) -/* C45B8 8012DEB8 3C02FA00 */ lui $v0, 0xfa00 -/* C45BC 8012DEBC ACE20018 */ sw $v0, 0x18($a3) -/* C45C0 8012DEC0 318200FF */ andi $v0, $t4, 0xff -.L8012DEC4: -/* C45C4 8012DEC4 ACE2001C */ sw $v0, 0x1c($a3) -/* C45C8 8012DEC8 3C040701 */ lui $a0, 0x701 -/* C45CC 8012DECC 34848060 */ ori $a0, $a0, 0x8060 -/* C45D0 8012DED0 3C05073F */ lui $a1, 0x73f -/* C45D4 8012DED4 34A5F200 */ ori $a1, $a1, 0xf200 -/* C45D8 8012DED8 3C07F580 */ lui $a3, 0xf580 -/* C45DC 8012DEDC 34E70800 */ ori $a3, $a3, 0x800 -/* C45E0 8012DEE0 3C060001 */ lui $a2, 1 -/* C45E4 8012DEE4 34C68060 */ ori $a2, $a2, 0x8060 -/* C45E8 8012DEE8 3C08000F */ lui $t0, 0xf -/* C45EC 8012DEEC 3C0A800A */ lui $t2, %hi(gMasterGfxPos) -/* C45F0 8012DEF0 254AA66C */ addiu $t2, $t2, %lo(gMasterGfxPos) -/* C45F4 8012DEF4 3508C0FC */ ori $t0, $t0, 0xc0fc -/* C45F8 8012DEF8 8D490000 */ lw $t1, ($t2) -/* C45FC 8012DEFC 3C02FD90 */ lui $v0, 0xfd90 -/* C4600 8012DF00 0120182D */ daddu $v1, $t1, $zero -/* C4604 8012DF04 25290008 */ addiu $t1, $t1, 8 -/* C4608 8012DF08 AD490000 */ sw $t1, ($t2) -/* C460C 8012DF0C AC620000 */ sw $v0, ($v1) -/* C4610 8012DF10 3C02802F */ lui $v0, %hi(D_802ECD50) -/* C4614 8012DF14 2442CD50 */ addiu $v0, $v0, %lo(D_802ECD50) -/* C4618 8012DF18 AC620004 */ sw $v0, 4($v1) -/* C461C 8012DF1C 25220008 */ addiu $v0, $t1, 8 -/* C4620 8012DF20 AD420000 */ sw $v0, ($t2) -/* C4624 8012DF24 3C02F590 */ lui $v0, 0xf590 -/* C4628 8012DF28 AD220000 */ sw $v0, ($t1) -/* C462C 8012DF2C 25220010 */ addiu $v0, $t1, 0x10 -/* C4630 8012DF30 AD240004 */ sw $a0, 4($t1) -/* C4634 8012DF34 AD420000 */ sw $v0, ($t2) -/* C4638 8012DF38 3C02E600 */ lui $v0, 0xe600 -/* C463C 8012DF3C AD220008 */ sw $v0, 8($t1) -/* C4640 8012DF40 25220018 */ addiu $v0, $t1, 0x18 -/* C4644 8012DF44 AD20000C */ sw $zero, 0xc($t1) -/* C4648 8012DF48 AD420000 */ sw $v0, ($t2) -/* C464C 8012DF4C 3C02F300 */ lui $v0, 0xf300 -/* C4650 8012DF50 AD220010 */ sw $v0, 0x10($t1) -/* C4654 8012DF54 25220020 */ addiu $v0, $t1, 0x20 -/* C4658 8012DF58 AD250014 */ sw $a1, 0x14($t1) -/* C465C 8012DF5C AD420000 */ sw $v0, ($t2) -/* C4660 8012DF60 3C02E700 */ lui $v0, 0xe700 -/* C4664 8012DF64 AD220018 */ sw $v0, 0x18($t1) -/* C4668 8012DF68 25220028 */ addiu $v0, $t1, 0x28 -/* C466C 8012DF6C 25230030 */ addiu $v1, $t1, 0x30 -/* C4670 8012DF70 AD20001C */ sw $zero, 0x1c($t1) -/* C4674 8012DF74 AD420000 */ sw $v0, ($t2) -/* C4678 8012DF78 3C02F200 */ lui $v0, 0xf200 -/* C467C 8012DF7C AD270020 */ sw $a3, 0x20($t1) -/* C4680 8012DF80 AD260024 */ sw $a2, 0x24($t1) -/* C4684 8012DF84 AD430000 */ sw $v1, ($t2) -/* C4688 8012DF88 AD220028 */ sw $v0, 0x28($t1) -/* C468C 8012DF8C 24020006 */ addiu $v0, $zero, 6 -/* C4690 8012DF90 1642004C */ bne $s2, $v0, .L8012E0C4 -/* C4694 8012DF94 AD28002C */ sw $t0, 0x2c($t1) -/* C4698 8012DF98 25220038 */ addiu $v0, $t1, 0x38 -/* C469C 8012DF9C AD420000 */ sw $v0, ($t2) -/* C46A0 8012DFA0 01B91021 */ addu $v0, $t5, $t9 -/* C46A4 8012DFA4 2442FFFD */ addiu $v0, $v0, -3 -/* C46A8 8012DFA8 00021480 */ sll $v0, $v0, 0x12 -/* C46AC 8012DFAC 00021403 */ sra $v0, $v0, 0x10 -/* C46B0 8012DFB0 18400006 */ blez $v0, .L8012DFCC -/* C46B4 8012DFB4 0060202D */ daddu $a0, $v1, $zero -/* C46B8 8012DFB8 30420FFF */ andi $v0, $v0, 0xfff -/* C46BC 8012DFBC 00021300 */ sll $v0, $v0, 0xc -/* C46C0 8012DFC0 3C03E400 */ lui $v1, 0xe400 -/* C46C4 8012DFC4 0804B7F4 */ j .L8012DFD0 -/* C46C8 8012DFC8 00431825 */ or $v1, $v0, $v1 -.L8012DFCC: -/* C46CC 8012DFCC 3C03E400 */ lui $v1, 0xe400 -.L8012DFD0: -/* C46D0 8012DFD0 01D01021 */ addu $v0, $t6, $s0 -/* C46D4 8012DFD4 2442FFFD */ addiu $v0, $v0, -3 -/* C46D8 8012DFD8 00021480 */ sll $v0, $v0, 0x12 -/* C46DC 8012DFDC 00021403 */ sra $v0, $v0, 0x10 -/* C46E0 8012DFE0 18400004 */ blez $v0, .L8012DFF4 -/* C46E4 8012DFE4 AC830000 */ sw $v1, ($a0) -/* C46E8 8012DFE8 30420FFF */ andi $v0, $v0, 0xfff -/* C46EC 8012DFEC 00621025 */ or $v0, $v1, $v0 -/* C46F0 8012DFF0 AC820000 */ sw $v0, ($a0) -.L8012DFF4: -/* C46F4 8012DFF4 25A20003 */ addiu $v0, $t5, 3 -/* C46F8 8012DFF8 00021480 */ sll $v0, $v0, 0x12 -/* C46FC 8012DFFC 00021403 */ sra $v0, $v0, 0x10 -/* C4700 8012E000 18400004 */ blez $v0, .L8012E014 -/* C4704 8012E004 24840004 */ addiu $a0, $a0, 4 -/* C4708 8012E008 30420FFF */ andi $v0, $v0, 0xfff -/* C470C 8012E00C 0804B806 */ j .L8012E018 -/* C4710 8012E010 00021B00 */ sll $v1, $v0, 0xc -.L8012E014: -/* C4714 8012E014 0000182D */ daddu $v1, $zero, $zero -.L8012E018: -/* C4718 8012E018 25C20003 */ addiu $v0, $t6, 3 -/* C471C 8012E01C 00021480 */ sll $v0, $v0, 0x12 -/* C4720 8012E020 00021403 */ sra $v0, $v0, 0x10 -/* C4724 8012E024 18400004 */ blez $v0, .L8012E038 -/* C4728 8012E028 AC830000 */ sw $v1, ($a0) -/* C472C 8012E02C 30420FFF */ andi $v0, $v0, 0xfff -/* C4730 8012E030 00621025 */ or $v0, $v1, $v0 -/* C4734 8012E034 AC820000 */ sw $v0, ($a0) -.L8012E038: -/* C4738 8012E038 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* C473C 8012E03C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* C4740 8012E040 8C620000 */ lw $v0, ($v1) -/* C4744 8012E044 0040202D */ daddu $a0, $v0, $zero -/* C4748 8012E048 24420008 */ addiu $v0, $v0, 8 -/* C474C 8012E04C AC620000 */ sw $v0, ($v1) -/* C4750 8012E050 3C02E100 */ lui $v0, 0xe100 -/* C4754 8012E054 AC820000 */ sw $v0, ($a0) -/* C4758 8012E058 25A20003 */ addiu $v0, $t5, 3 -/* C475C 8012E05C 00021480 */ sll $v0, $v0, 0x12 -/* C4760 8012E060 00021403 */ sra $v0, $v0, 0x10 -/* C4764 8012E064 04410008 */ bgez $v0, .L8012E088 -/* C4768 8012E068 24840004 */ addiu $a0, $a0, 4 -/* C476C 8012E06C 000218C0 */ sll $v1, $v0, 3 -/* C4770 8012E070 5C600001 */ bgtzl $v1, .L8012E078 -/* C4774 8012E074 0000182D */ daddu $v1, $zero, $zero -.L8012E078: -/* C4778 8012E078 3C028015 */ lui $v0, %hi(gMsgBGScrollAmtX) -/* C477C 8012E07C 8C4212D8 */ lw $v0, %lo(gMsgBGScrollAmtX)($v0) -/* C4780 8012E080 0804B824 */ j .L8012E090 -/* C4784 8012E084 00431023 */ subu $v0, $v0, $v1 -.L8012E088: -/* C4788 8012E088 3C028015 */ lui $v0, %hi(D_801512DA) -/* C478C 8012E08C 944212DA */ lhu $v0, %lo(D_801512DA)($v0) -.L8012E090: -/* C4790 8012E090 00022C00 */ sll $a1, $v0, 0x10 -/* C4794 8012E094 25C30003 */ addiu $v1, $t6, 3 -/* C4798 8012E098 00031080 */ sll $v0, $v1, 2 -/* C479C 8012E09C 04410054 */ bgez $v0, .L8012E1F0 -/* C47A0 8012E0A0 00031480 */ sll $v0, $v1, 0x12 -/* C47A4 8012E0A4 00021B43 */ sra $v1, $v0, 0xd -/* C47A8 8012E0A8 5C600001 */ bgtzl $v1, .L8012E0B0 -/* C47AC 8012E0AC 0000182D */ daddu $v1, $zero, $zero -.L8012E0B0: -/* C47B0 8012E0B0 3C028015 */ lui $v0, %hi(gMsgBGScrollAmtY) -/* C47B4 8012E0B4 8C42130C */ lw $v0, %lo(gMsgBGScrollAmtY)($v0) -/* C47B8 8012E0B8 00431023 */ subu $v0, $v0, $v1 -/* C47BC 8012E0BC 0804B87E */ j .L8012E1F8 -/* C47C0 8012E0C0 3042FFFF */ andi $v0, $v0, 0xffff -.L8012E0C4: -/* C47C4 8012E0C4 25220038 */ addiu $v0, $t1, 0x38 -/* C47C8 8012E0C8 AD420000 */ sw $v0, ($t2) -/* C47CC 8012E0CC 01B91021 */ addu $v0, $t5, $t9 -/* C47D0 8012E0D0 2442FFFB */ addiu $v0, $v0, -5 -/* C47D4 8012E0D4 00021480 */ sll $v0, $v0, 0x12 -/* C47D8 8012E0D8 00021403 */ sra $v0, $v0, 0x10 -/* C47DC 8012E0DC 18400006 */ blez $v0, .L8012E0F8 -/* C47E0 8012E0E0 0060202D */ daddu $a0, $v1, $zero -/* C47E4 8012E0E4 30420FFF */ andi $v0, $v0, 0xfff -/* C47E8 8012E0E8 00021300 */ sll $v0, $v0, 0xc -/* C47EC 8012E0EC 3C03E400 */ lui $v1, 0xe400 -/* C47F0 8012E0F0 0804B83F */ j .L8012E0FC -/* C47F4 8012E0F4 00431825 */ or $v1, $v0, $v1 -.L8012E0F8: -/* C47F8 8012E0F8 3C03E400 */ lui $v1, 0xe400 -.L8012E0FC: -/* C47FC 8012E0FC 01D01021 */ addu $v0, $t6, $s0 -/* C4800 8012E100 2442FFFB */ addiu $v0, $v0, -5 -/* C4804 8012E104 00021480 */ sll $v0, $v0, 0x12 -/* C4808 8012E108 00021403 */ sra $v0, $v0, 0x10 -/* C480C 8012E10C 18400004 */ blez $v0, .L8012E120 -/* C4810 8012E110 AC830000 */ sw $v1, ($a0) -/* C4814 8012E114 30420FFF */ andi $v0, $v0, 0xfff -/* C4818 8012E118 00621025 */ or $v0, $v1, $v0 -/* C481C 8012E11C AC820000 */ sw $v0, ($a0) -.L8012E120: -/* C4820 8012E120 25A20005 */ addiu $v0, $t5, 5 -/* C4824 8012E124 00021480 */ sll $v0, $v0, 0x12 -/* C4828 8012E128 00021403 */ sra $v0, $v0, 0x10 -/* C482C 8012E12C 18400004 */ blez $v0, .L8012E140 -/* C4830 8012E130 24840004 */ addiu $a0, $a0, 4 -/* C4834 8012E134 30420FFF */ andi $v0, $v0, 0xfff -/* C4838 8012E138 0804B851 */ j .L8012E144 -/* C483C 8012E13C 00021B00 */ sll $v1, $v0, 0xc -.L8012E140: -/* C4840 8012E140 0000182D */ daddu $v1, $zero, $zero -.L8012E144: -/* C4844 8012E144 25C20005 */ addiu $v0, $t6, 5 -/* C4848 8012E148 00021480 */ sll $v0, $v0, 0x12 -/* C484C 8012E14C 00021403 */ sra $v0, $v0, 0x10 -/* C4850 8012E150 18400004 */ blez $v0, .L8012E164 -/* C4854 8012E154 AC830000 */ sw $v1, ($a0) -/* C4858 8012E158 30420FFF */ andi $v0, $v0, 0xfff -/* C485C 8012E15C 00621025 */ or $v0, $v1, $v0 -/* C4860 8012E160 AC820000 */ sw $v0, ($a0) -.L8012E164: -/* C4864 8012E164 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* C4868 8012E168 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* C486C 8012E16C 8C620000 */ lw $v0, ($v1) -/* C4870 8012E170 0040202D */ daddu $a0, $v0, $zero -/* C4874 8012E174 24420008 */ addiu $v0, $v0, 8 -/* C4878 8012E178 AC620000 */ sw $v0, ($v1) -/* C487C 8012E17C 3C02E100 */ lui $v0, 0xe100 -/* C4880 8012E180 AC820000 */ sw $v0, ($a0) -/* C4884 8012E184 25A20005 */ addiu $v0, $t5, 5 -/* C4888 8012E188 00021480 */ sll $v0, $v0, 0x12 -/* C488C 8012E18C 00021403 */ sra $v0, $v0, 0x10 -/* C4890 8012E190 04410008 */ bgez $v0, .L8012E1B4 -/* C4894 8012E194 24840004 */ addiu $a0, $a0, 4 -/* C4898 8012E198 000218C0 */ sll $v1, $v0, 3 -/* C489C 8012E19C 5C600001 */ bgtzl $v1, .L8012E1A4 -/* C48A0 8012E1A0 0000182D */ daddu $v1, $zero, $zero -.L8012E1A4: -/* C48A4 8012E1A4 3C028015 */ lui $v0, %hi(gMsgBGScrollAmtX) -/* C48A8 8012E1A8 8C4212D8 */ lw $v0, %lo(gMsgBGScrollAmtX)($v0) -/* C48AC 8012E1AC 0804B86F */ j .L8012E1BC -/* C48B0 8012E1B0 00431023 */ subu $v0, $v0, $v1 -.L8012E1B4: -/* C48B4 8012E1B4 3C028015 */ lui $v0, %hi(D_801512DA) -/* C48B8 8012E1B8 944212DA */ lhu $v0, %lo(D_801512DA)($v0) -.L8012E1BC: -/* C48BC 8012E1BC 00022C00 */ sll $a1, $v0, 0x10 -/* C48C0 8012E1C0 25C30005 */ addiu $v1, $t6, 5 -/* C48C4 8012E1C4 00031080 */ sll $v0, $v1, 2 -/* C48C8 8012E1C8 04410009 */ bgez $v0, .L8012E1F0 -/* C48CC 8012E1CC 00031480 */ sll $v0, $v1, 0x12 -/* C48D0 8012E1D0 00021B43 */ sra $v1, $v0, 0xd -/* C48D4 8012E1D4 5C600001 */ bgtzl $v1, .L8012E1DC -/* C48D8 8012E1D8 0000182D */ daddu $v1, $zero, $zero -.L8012E1DC: -/* C48DC 8012E1DC 3C028015 */ lui $v0, %hi(gMsgBGScrollAmtY) -/* C48E0 8012E1E0 8C42130C */ lw $v0, %lo(gMsgBGScrollAmtY)($v0) -/* C48E4 8012E1E4 00431023 */ subu $v0, $v0, $v1 -/* C48E8 8012E1E8 0804B87E */ j .L8012E1F8 -/* C48EC 8012E1EC 3042FFFF */ andi $v0, $v0, 0xffff -.L8012E1F0: -/* C48F0 8012E1F0 3C028015 */ lui $v0, %hi(D_8015130E) -/* C48F4 8012E1F4 9442130E */ lhu $v0, %lo(D_8015130E)($v0) -.L8012E1F8: -/* C48F8 8012E1F8 00A21025 */ or $v0, $a1, $v0 -/* C48FC 8012E1FC AC820000 */ sw $v0, ($a0) -/* C4900 8012E200 3C050400 */ lui $a1, 0x400 -/* C4904 8012E204 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* C4908 8012E208 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* C490C 8012E20C 8C620000 */ lw $v0, ($v1) -/* C4910 8012E210 34A50400 */ ori $a1, $a1, 0x400 -/* C4914 8012E214 0040202D */ daddu $a0, $v0, $zero -/* C4918 8012E218 24420008 */ addiu $v0, $v0, 8 -/* C491C 8012E21C AC620000 */ sw $v0, ($v1) -/* C4920 8012E220 3C02F100 */ lui $v0, 0xf100 -/* C4924 8012E224 AC820000 */ sw $v0, ($a0) -/* C4928 8012E228 AC850004 */ sw $a1, 4($a0) -.L8012E22C: -/* C492C 8012E22C 2B220020 */ slti $v0, $t9, 0x20 -.L8012E230: -/* C4930 8012E230 14400007 */ bnez $v0, .L8012E250 -/* C4934 8012E234 2722FFEF */ addiu $v0, $t9, -0x11 -/* C4938 8012E238 25A30010 */ addiu $v1, $t5, 0x10 -/* C493C 8012E23C 00031880 */ sll $v1, $v1, 2 -/* C4940 8012E240 000E1080 */ sll $v0, $t6, 2 -/* C4944 8012E244 01B92021 */ addu $a0, $t5, $t9 -/* C4948 8012E248 0804B89B */ j .L8012E26C -/* C494C 8012E24C 2484FFF0 */ addiu $a0, $a0, -0x10 -.L8012E250: -/* C4950 8012E250 2C420007 */ sltiu $v0, $v0, 7 -/* C4954 8012E254 10400015 */ beqz $v0, .L8012E2AC -/* C4958 8012E258 25A30008 */ addiu $v1, $t5, 8 -/* C495C 8012E25C 00031880 */ sll $v1, $v1, 2 -/* C4960 8012E260 000E1080 */ sll $v0, $t6, 2 -/* C4964 8012E264 01B92021 */ addu $a0, $t5, $t9 -/* C4968 8012E268 2484FFF8 */ addiu $a0, $a0, -8 -.L8012E26C: -/* C496C 8012E26C 00042080 */ sll $a0, $a0, 2 -/* C4970 8012E270 AFA20064 */ sw $v0, 0x64($sp) -/* C4974 8012E274 25C20008 */ addiu $v0, $t6, 8 -/* C4978 8012E278 00021080 */ sll $v0, $v0, 2 -/* C497C 8012E27C AFA30060 */ sw $v1, 0x60($sp) -/* C4980 8012E280 AFA30110 */ sw $v1, 0x110($sp) -/* C4984 8012E284 01D01821 */ addu $v1, $t6, $s0 -/* C4988 8012E288 AFA2006C */ sw $v0, 0x6c($sp) -/* C498C 8012E28C 2462FFF8 */ addiu $v0, $v1, -8 -/* C4990 8012E290 00021080 */ sll $v0, $v0, 2 -/* C4994 8012E294 00031880 */ sll $v1, $v1, 2 -/* C4998 8012E298 AFA40068 */ sw $a0, 0x68($sp) -/* C499C 8012E29C AFA20114 */ sw $v0, 0x114($sp) -/* C49A0 8012E2A0 AFA40118 */ sw $a0, 0x118($sp) -/* C49A4 8012E2A4 0804B8AE */ j .L8012E2B8 -/* C49A8 8012E2A8 AFA3011C */ sw $v1, 0x11c($sp) -.L8012E2AC: -/* C49AC 8012E2AC 24022710 */ addiu $v0, $zero, 0x2710 -/* C49B0 8012E2B0 AFA20060 */ sw $v0, 0x60($sp) -/* C49B4 8012E2B4 AFA20110 */ sw $v0, 0x110($sp) -.L8012E2B8: -/* C49B8 8012E2B8 2A020020 */ slti $v0, $s0, 0x20 -/* C49BC 8012E2BC 1440000A */ bnez $v0, .L8012E2E8 -/* C49C0 8012E2C0 2602FFEF */ addiu $v0, $s0, -0x11 -/* C49C4 8012E2C4 000D1080 */ sll $v0, $t5, 2 -/* C49C8 8012E2C8 25C50010 */ addiu $a1, $t6, 0x10 -/* C49CC 8012E2CC 00052880 */ sll $a1, $a1, 2 -/* C49D0 8012E2D0 AFA200B0 */ sw $v0, 0xb0($sp) -/* C49D4 8012E2D4 25A20008 */ addiu $v0, $t5, 8 -/* C49D8 8012E2D8 00021080 */ sll $v0, $v0, 2 -/* C49DC 8012E2DC 01D02021 */ addu $a0, $t6, $s0 -/* C49E0 8012E2E0 0804B8C4 */ j .L8012E310 -/* C49E4 8012E2E4 2484FFF0 */ addiu $a0, $a0, -0x10 -.L8012E2E8: -/* C49E8 8012E2E8 2C420007 */ sltiu $v0, $v0, 7 -/* C49EC 8012E2EC 10400015 */ beqz $v0, .L8012E344 -/* C49F0 8012E2F0 000D1080 */ sll $v0, $t5, 2 -/* C49F4 8012E2F4 25C50008 */ addiu $a1, $t6, 8 -/* C49F8 8012E2F8 00052880 */ sll $a1, $a1, 2 -/* C49FC 8012E2FC AFA200B0 */ sw $v0, 0xb0($sp) -/* C4A00 8012E300 25A20008 */ addiu $v0, $t5, 8 -/* C4A04 8012E304 00021080 */ sll $v0, $v0, 2 -/* C4A08 8012E308 01D02021 */ addu $a0, $t6, $s0 -/* C4A0C 8012E30C 2484FFF8 */ addiu $a0, $a0, -8 -.L8012E310: -/* C4A10 8012E310 00042080 */ sll $a0, $a0, 2 -/* C4A14 8012E314 01B91821 */ addu $v1, $t5, $t9 -/* C4A18 8012E318 AFA200B8 */ sw $v0, 0xb8($sp) -/* C4A1C 8012E31C 2462FFF8 */ addiu $v0, $v1, -8 -/* C4A20 8012E320 00021080 */ sll $v0, $v0, 2 -/* C4A24 8012E324 00031880 */ sll $v1, $v1, 2 -/* C4A28 8012E328 AFA500B4 */ sw $a1, 0xb4($sp) -/* C4A2C 8012E32C AFA400BC */ sw $a0, 0xbc($sp) -/* C4A30 8012E330 AFA200C0 */ sw $v0, 0xc0($sp) -/* C4A34 8012E334 AFA500C4 */ sw $a1, 0xc4($sp) -/* C4A38 8012E338 AFA300C8 */ sw $v1, 0xc8($sp) -/* C4A3C 8012E33C 0804B8D4 */ j .L8012E350 -/* C4A40 8012E340 AFA400CC */ sw $a0, 0xcc($sp) -.L8012E344: -/* C4A44 8012E344 24022710 */ addiu $v0, $zero, 0x2710 -/* C4A48 8012E348 AFA200B0 */ sw $v0, 0xb0($sp) -/* C4A4C 8012E34C AFA200C0 */ sw $v0, 0xc0($sp) -.L8012E350: -/* C4A50 8012E350 2B220018 */ slti $v0, $t9, 0x18 -/* C4A54 8012E354 14400022 */ bnez $v0, .L8012E3E0 -/* C4A58 8012E358 24022710 */ addiu $v0, $zero, 0x2710 -/* C4A5C 8012E35C 25A40008 */ addiu $a0, $t5, 8 -/* C4A60 8012E360 00042080 */ sll $a0, $a0, 2 -/* C4A64 8012E364 000E3880 */ sll $a3, $t6, 2 -/* C4A68 8012E368 25A60010 */ addiu $a2, $t5, 0x10 -/* C4A6C 8012E36C 00063080 */ sll $a2, $a2, 2 -/* C4A70 8012E370 25C20008 */ addiu $v0, $t6, 8 -/* C4A74 8012E374 00021080 */ sll $v0, $v0, 2 -/* C4A78 8012E378 01B91821 */ addu $v1, $t5, $t9 -/* C4A7C 8012E37C 2465FFF0 */ addiu $a1, $v1, -0x10 -/* C4A80 8012E380 00052880 */ sll $a1, $a1, 2 -/* C4A84 8012E384 2463FFF8 */ addiu $v1, $v1, -8 -/* C4A88 8012E388 00031880 */ sll $v1, $v1, 2 -/* C4A8C 8012E38C AFA40050 */ sw $a0, 0x50($sp) -/* C4A90 8012E390 AFA40100 */ sw $a0, 0x100($sp) -/* C4A94 8012E394 01D02021 */ addu $a0, $t6, $s0 -/* C4A98 8012E398 AFA2005C */ sw $v0, 0x5c($sp) -/* C4A9C 8012E39C AFA2007C */ sw $v0, 0x7c($sp) -/* C4AA0 8012E3A0 2482FFF8 */ addiu $v0, $a0, -8 -/* C4AA4 8012E3A4 00021080 */ sll $v0, $v0, 2 -/* C4AA8 8012E3A8 00042080 */ sll $a0, $a0, 2 -/* C4AAC 8012E3AC AFA70054 */ sw $a3, 0x54($sp) -/* C4AB0 8012E3B0 AFA60058 */ sw $a2, 0x58($sp) -/* C4AB4 8012E3B4 AFA50070 */ sw $a1, 0x70($sp) -/* C4AB8 8012E3B8 AFA70074 */ sw $a3, 0x74($sp) -/* C4ABC 8012E3BC AFA30078 */ sw $v1, 0x78($sp) -/* C4AC0 8012E3C0 AFA20104 */ sw $v0, 0x104($sp) -/* C4AC4 8012E3C4 AFA60108 */ sw $a2, 0x108($sp) -/* C4AC8 8012E3C8 AFA4010C */ sw $a0, 0x10c($sp) -/* C4ACC 8012E3CC AFA50120 */ sw $a1, 0x120($sp) -/* C4AD0 8012E3D0 AFA20124 */ sw $v0, 0x124($sp) -/* C4AD4 8012E3D4 AFA30128 */ sw $v1, 0x128($sp) -/* C4AD8 8012E3D8 0804B8FC */ j .L8012E3F0 -/* C4ADC 8012E3DC AFA4012C */ sw $a0, 0x12c($sp) -.L8012E3E0: -/* C4AE0 8012E3E0 AFA20050 */ sw $v0, 0x50($sp) -/* C4AE4 8012E3E4 AFA20070 */ sw $v0, 0x70($sp) -/* C4AE8 8012E3E8 AFA20100 */ sw $v0, 0x100($sp) -/* C4AEC 8012E3EC AFA20120 */ sw $v0, 0x120($sp) -.L8012E3F0: -/* C4AF0 8012E3F0 2A020018 */ slti $v0, $s0, 0x18 -/* C4AF4 8012E3F4 14400022 */ bnez $v0, .L8012E480 -/* C4AF8 8012E3F8 24022710 */ addiu $v0, $zero, 0x2710 -/* C4AFC 8012E3FC 000D3880 */ sll $a3, $t5, 2 -/* C4B00 8012E400 25C30008 */ addiu $v1, $t6, 8 -/* C4B04 8012E404 00031880 */ sll $v1, $v1, 2 -/* C4B08 8012E408 25A60008 */ addiu $a2, $t5, 8 -/* C4B0C 8012E40C 00063080 */ sll $a2, $a2, 2 -/* C4B10 8012E410 25C20010 */ addiu $v0, $t6, 0x10 -/* C4B14 8012E414 00021080 */ sll $v0, $v0, 2 -/* C4B18 8012E418 01B92021 */ addu $a0, $t5, $t9 -/* C4B1C 8012E41C 2485FFF8 */ addiu $a1, $a0, -8 -/* C4B20 8012E420 00052880 */ sll $a1, $a1, 2 -/* C4B24 8012E424 00042080 */ sll $a0, $a0, 2 -/* C4B28 8012E428 AFA2009C */ sw $v0, 0x9c($sp) -/* C4B2C 8012E42C AFA200AC */ sw $v0, 0xac($sp) -/* C4B30 8012E430 01D01021 */ addu $v0, $t6, $s0 -/* C4B34 8012E434 AFA30094 */ sw $v1, 0x94($sp) -/* C4B38 8012E438 AFA300A4 */ sw $v1, 0xa4($sp) -/* C4B3C 8012E43C 2443FFF0 */ addiu $v1, $v0, -0x10 -/* C4B40 8012E440 00031880 */ sll $v1, $v1, 2 -/* C4B44 8012E444 2442FFF8 */ addiu $v0, $v0, -8 -/* C4B48 8012E448 00021080 */ sll $v0, $v0, 2 -/* C4B4C 8012E44C AFA70090 */ sw $a3, 0x90($sp) -/* C4B50 8012E450 AFA60098 */ sw $a2, 0x98($sp) -/* C4B54 8012E454 AFA500A0 */ sw $a1, 0xa0($sp) -/* C4B58 8012E458 AFA400A8 */ sw $a0, 0xa8($sp) -/* C4B5C 8012E45C AFA700D0 */ sw $a3, 0xd0($sp) -/* C4B60 8012E460 AFA300D4 */ sw $v1, 0xd4($sp) -/* C4B64 8012E464 AFA600D8 */ sw $a2, 0xd8($sp) -/* C4B68 8012E468 AFA200DC */ sw $v0, 0xdc($sp) -/* C4B6C 8012E46C AFA500E0 */ sw $a1, 0xe0($sp) -/* C4B70 8012E470 AFA300E4 */ sw $v1, 0xe4($sp) -/* C4B74 8012E474 AFA400E8 */ sw $a0, 0xe8($sp) -/* C4B78 8012E478 0804B925 */ j .L8012E494 -/* C4B7C 8012E47C AFA200EC */ sw $v0, 0xec($sp) -.L8012E480: -/* C4B80 8012E480 AFA20090 */ sw $v0, 0x90($sp) -/* C4B84 8012E484 AFA200A0 */ sw $v0, 0xa0($sp) -/* C4B88 8012E488 AFA200D0 */ sw $v0, 0xd0($sp) -/* C4B8C 8012E48C AFA200E0 */ sw $v0, 0xe0($sp) -/* C4B90 8012E490 000D3880 */ sll $a3, $t5, 2 -.L8012E494: -/* C4B94 8012E494 000E1880 */ sll $v1, $t6, 2 -/* C4B98 8012E498 25A60008 */ addiu $a2, $t5, 8 -/* C4B9C 8012E49C 00063080 */ sll $a2, $a2, 2 -/* C4BA0 8012E4A0 25C20008 */ addiu $v0, $t6, 8 -/* C4BA4 8012E4A4 00021080 */ sll $v0, $v0, 2 -/* C4BA8 8012E4A8 01B92021 */ addu $a0, $t5, $t9 -/* C4BAC 8012E4AC 2485FFF8 */ addiu $a1, $a0, -8 -/* C4BB0 8012E4B0 00052880 */ sll $a1, $a1, 2 -/* C4BB4 8012E4B4 00042080 */ sll $a0, $a0, 2 -/* C4BB8 8012E4B8 AFA30044 */ sw $v1, 0x44($sp) -/* C4BBC 8012E4BC AFA30084 */ sw $v1, 0x84($sp) -/* C4BC0 8012E4C0 01D01821 */ addu $v1, $t6, $s0 -/* C4BC4 8012E4C4 AFA2004C */ sw $v0, 0x4c($sp) -/* C4BC8 8012E4C8 AFA2008C */ sw $v0, 0x8c($sp) -/* C4BCC 8012E4CC 2462FFF8 */ addiu $v0, $v1, -8 -/* C4BD0 8012E4D0 00021080 */ sll $v0, $v0, 2 -/* C4BD4 8012E4D4 00031880 */ sll $v1, $v1, 2 -/* C4BD8 8012E4D8 AFA200F4 */ sw $v0, 0xf4($sp) -/* C4BDC 8012E4DC AFA20134 */ sw $v0, 0x134($sp) -/* C4BE0 8012E4E0 24020005 */ addiu $v0, $zero, 5 -/* C4BE4 8012E4E4 AFA70040 */ sw $a3, 0x40($sp) -/* C4BE8 8012E4E8 AFA60048 */ sw $a2, 0x48($sp) -/* C4BEC 8012E4EC AFA50080 */ sw $a1, 0x80($sp) -/* C4BF0 8012E4F0 AFA40088 */ sw $a0, 0x88($sp) -/* C4BF4 8012E4F4 AFA700F0 */ sw $a3, 0xf0($sp) -/* C4BF8 8012E4F8 AFA600F8 */ sw $a2, 0xf8($sp) -/* C4BFC 8012E4FC AFA300FC */ sw $v1, 0xfc($sp) -/* C4C00 8012E500 AFA50130 */ sw $a1, 0x130($sp) -/* C4C04 8012E504 AFA40138 */ sw $a0, 0x138($sp) -/* C4C08 8012E508 12420006 */ beq $s2, $v0, .L8012E524 -/* C4C0C 8012E50C AFA3013C */ sw $v1, 0x13c($sp) -/* C4C10 8012E510 24020006 */ addiu $v0, $zero, 6 -/* C4C14 8012E514 16420004 */ bne $s2, $v0, .L8012E528 -/* C4C18 8012E518 0000102D */ daddu $v0, $zero, $zero -/* C4C1C 8012E51C 0804B94A */ j .L8012E528 -/* C4C20 8012E520 24020001 */ addiu $v0, $zero, 1 -.L8012E524: -/* C4C24 8012E524 0000102D */ daddu $v0, $zero, $zero -.L8012E528: -/* C4C28 8012E528 0000702D */ daddu $t6, $zero, $zero -/* C4C2C 8012E52C 3C058009 */ lui $a1, %hi(gMessageBoxFrameParts) -/* C4C30 8012E530 24A5FEE0 */ addiu $a1, $a1, %lo(gMessageBoxFrameParts) -/* C4C34 8012E534 03A0202D */ daddu $a0, $sp, $zero -/* C4C38 8012E538 00021980 */ sll $v1, $v0, 6 -.L8012E53C: -/* C4C3C 8012E53C 00651021 */ addu $v0, $v1, $a1 -/* C4C40 8012E540 24630004 */ addiu $v1, $v1, 4 -/* C4C44 8012E544 8C420000 */ lw $v0, ($v0) -/* C4C48 8012E548 25CE0001 */ addiu $t6, $t6, 1 -/* C4C4C 8012E54C AC820000 */ sw $v0, ($a0) -/* C4C50 8012E550 29C20010 */ slti $v0, $t6, 0x10 -/* C4C54 8012E554 1440FFF9 */ bnez $v0, .L8012E53C -/* C4C58 8012E558 24840004 */ addiu $a0, $a0, 4 -/* C4C5C 8012E55C 52600001 */ beql $s3, $zero, .L8012E564 -/* C4C60 8012E560 241100FF */ addiu $s1, $zero, 0xff -.L8012E564: -/* C4C64 8012E564 3C06E200 */ lui $a2, 0xe200 -/* C4C68 8012E568 34C6001C */ ori $a2, $a2, 0x1c -/* C4C6C 8012E56C 3C040050 */ lui $a0, 0x50 -/* C4C70 8012E570 34844240 */ ori $a0, $a0, 0x4240 -/* C4C74 8012E574 3C07FCFF */ lui $a3, 0xfcff -/* C4C78 8012E578 34E797FF */ ori $a3, $a3, 0x97ff -/* C4C7C 8012E57C 3C05FF2C */ lui $a1, 0xff2c -/* C4C80 8012E580 34A5FE7F */ ori $a1, $a1, 0xfe7f -/* C4C84 8012E584 3C08E300 */ lui $t0, 0xe300 -/* C4C88 8012E588 35081001 */ ori $t0, $t0, 0x1001 -/* C4C8C 8012E58C 3C0AF500 */ lui $t2, 0xf500 -/* C4C90 8012E590 354A0100 */ ori $t2, $t2, 0x100 -/* C4C94 8012E594 3C0B0703 */ lui $t3, 0x703 -/* C4C98 8012E598 356BC000 */ ori $t3, $t3, 0xc000 -/* C4C9C 8012E59C 0000702D */ daddu $t6, $zero, $zero -/* C4CA0 8012E5A0 3C02800A */ lui $v0, %hi(gMasterGfxPos) -/* C4CA4 8012E5A4 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos) -/* C4CA8 8012E5A8 0040602D */ daddu $t4, $v0, $zero -/* C4CAC 8012E5AC 27AD0040 */ addiu $t5, $sp, 0x40 -/* C4CB0 8012E5B0 03A0782D */ daddu $t7, $sp, $zero -/* C4CB4 8012E5B4 8D830000 */ lw $v1, ($t4) -/* C4CB8 8012E5B8 3C09E700 */ lui $t1, 0xe700 -/* C4CBC 8012E5BC 0060102D */ daddu $v0, $v1, $zero -/* C4CC0 8012E5C0 24630008 */ addiu $v1, $v1, 8 -/* C4CC4 8012E5C4 AD830000 */ sw $v1, ($t4) -/* C4CC8 8012E5C8 AC490000 */ sw $t1, ($v0) -/* C4CCC 8012E5CC AC400004 */ sw $zero, 4($v0) -/* C4CD0 8012E5D0 24620008 */ addiu $v0, $v1, 8 -/* C4CD4 8012E5D4 AD820000 */ sw $v0, ($t4) -/* C4CD8 8012E5D8 24620010 */ addiu $v0, $v1, 0x10 -/* C4CDC 8012E5DC AC660000 */ sw $a2, ($v1) -/* C4CE0 8012E5E0 AC640004 */ sw $a0, 4($v1) -/* C4CE4 8012E5E4 AD820000 */ sw $v0, ($t4) -/* C4CE8 8012E5E8 24620018 */ addiu $v0, $v1, 0x18 -/* C4CEC 8012E5EC AC670008 */ sw $a3, 8($v1) -/* C4CF0 8012E5F0 AC65000C */ sw $a1, 0xc($v1) -/* C4CF4 8012E5F4 AD820000 */ sw $v0, ($t4) -/* C4CF8 8012E5F8 3C02FA00 */ lui $v0, 0xfa00 -/* C4CFC 8012E5FC AC620010 */ sw $v0, 0x10($v1) -/* C4D00 8012E600 322200FF */ andi $v0, $s1, 0xff -/* C4D04 8012E604 AC620014 */ sw $v0, 0x14($v1) -/* C4D08 8012E608 24620020 */ addiu $v0, $v1, 0x20 -/* C4D0C 8012E60C AD820000 */ sw $v0, ($t4) -/* C4D10 8012E610 34028000 */ ori $v0, $zero, 0x8000 -/* C4D14 8012E614 AC62001C */ sw $v0, 0x1c($v1) -/* C4D18 8012E618 24620028 */ addiu $v0, $v1, 0x28 -/* C4D1C 8012E61C AC680018 */ sw $t0, 0x18($v1) -/* C4D20 8012E620 AD820000 */ sw $v0, ($t4) -/* C4D24 8012E624 3C02FD10 */ lui $v0, 0xfd10 -/* C4D28 8012E628 AC620020 */ sw $v0, 0x20($v1) -/* C4D2C 8012E62C 8FA20164 */ lw $v0, 0x164($sp) -/* C4D30 8012E630 3C04802F */ lui $a0, %hi(D_802EC3F0) -/* C4D34 8012E634 2484C3F0 */ addiu $a0, $a0, %lo(D_802EC3F0) -/* C4D38 8012E638 00021140 */ sll $v0, $v0, 5 -/* C4D3C 8012E63C 00441021 */ addu $v0, $v0, $a0 -/* C4D40 8012E640 AC620024 */ sw $v0, 0x24($v1) -/* C4D44 8012E644 24620030 */ addiu $v0, $v1, 0x30 -/* C4D48 8012E648 AD820000 */ sw $v0, ($t4) -/* C4D4C 8012E64C 3C02E800 */ lui $v0, 0xe800 -/* C4D50 8012E650 AC620028 */ sw $v0, 0x28($v1) -/* C4D54 8012E654 24620038 */ addiu $v0, $v1, 0x38 -/* C4D58 8012E658 AC60002C */ sw $zero, 0x2c($v1) -/* C4D5C 8012E65C AD820000 */ sw $v0, ($t4) -/* C4D60 8012E660 3C020700 */ lui $v0, 0x700 -/* C4D64 8012E664 AC620034 */ sw $v0, 0x34($v1) -/* C4D68 8012E668 24620040 */ addiu $v0, $v1, 0x40 -/* C4D6C 8012E66C AC6A0030 */ sw $t2, 0x30($v1) -/* C4D70 8012E670 AD820000 */ sw $v0, ($t4) -/* C4D74 8012E674 3C02E600 */ lui $v0, 0xe600 -/* C4D78 8012E678 AC620038 */ sw $v0, 0x38($v1) -/* C4D7C 8012E67C 24620048 */ addiu $v0, $v1, 0x48 -/* C4D80 8012E680 AC60003C */ sw $zero, 0x3c($v1) -/* C4D84 8012E684 AD820000 */ sw $v0, ($t4) -/* C4D88 8012E688 3C02F000 */ lui $v0, 0xf000 -/* C4D8C 8012E68C AC620040 */ sw $v0, 0x40($v1) -/* C4D90 8012E690 24620050 */ addiu $v0, $v1, 0x50 -/* C4D94 8012E694 AC6B0044 */ sw $t3, 0x44($v1) -/* C4D98 8012E698 AD820000 */ sw $v0, ($t4) -/* C4D9C 8012E69C AC690048 */ sw $t1, 0x48($v1) -/* C4DA0 8012E6A0 AC60004C */ sw $zero, 0x4c($v1) -.L8012E6A4: -/* C4DA4 8012E6A4 8DE20000 */ lw $v0, ($t7) -/* C4DA8 8012E6A8 50400074 */ beql $v0, $zero, .L8012E87C -/* C4DAC 8012E6AC 25AD0010 */ addiu $t5, $t5, 0x10 -/* C4DB0 8012E6B0 8DA20000 */ lw $v0, ($t5) -/* C4DB4 8012E6B4 28422710 */ slti $v0, $v0, 0x2710 -/* C4DB8 8012E6B8 1040006F */ beqz $v0, .L8012E878 -/* C4DBC 8012E6BC 3C02FD48 */ lui $v0, 0xfd48 -/* C4DC0 8012E6C0 34420003 */ ori $v0, $v0, 3 -/* C4DC4 8012E6C4 3C08F548 */ lui $t0, 0xf548 -/* C4DC8 8012E6C8 35080200 */ ori $t0, $t0, 0x200 -/* C4DCC 8012E6CC 3C070700 */ lui $a3, 0x700 -/* C4DD0 8012E6D0 34E7C030 */ ori $a3, $a3, 0xc030 -/* C4DD4 8012E6D4 3C090700 */ lui $t1, 0x700 -/* C4DD8 8012E6D8 3529E01C */ ori $t1, $t1, 0xe01c -/* C4DDC 8012E6DC 3C0AF540 */ lui $t2, 0xf540 -/* C4DE0 8012E6E0 354A0200 */ ori $t2, $t2, 0x200 -/* C4DE4 8012E6E4 3C0B0001 */ lui $t3, 1 -/* C4DE8 8012E6E8 8D830000 */ lw $v1, ($t4) -/* C4DEC 8012E6EC 356BC01C */ ori $t3, $t3, 0xc01c -/* C4DF0 8012E6F0 0060282D */ daddu $a1, $v1, $zero -/* C4DF4 8012E6F4 24630008 */ addiu $v1, $v1, 8 -/* C4DF8 8012E6F8 AD830000 */ sw $v1, ($t4) -/* C4DFC 8012E6FC ACA20000 */ sw $v0, ($a1) -/* C4E00 8012E700 24620008 */ addiu $v0, $v1, 8 -/* C4E04 8012E704 AD820000 */ sw $v0, ($t4) -/* C4E08 8012E708 24620010 */ addiu $v0, $v1, 0x10 -/* C4E0C 8012E70C AD820000 */ sw $v0, ($t4) -/* C4E10 8012E710 24620018 */ addiu $v0, $v1, 0x18 -/* C4E14 8012E714 AD820000 */ sw $v0, ($t4) -/* C4E18 8012E718 24620020 */ addiu $v0, $v1, 0x20 -/* C4E1C 8012E71C AD820000 */ sw $v0, ($t4) -/* C4E20 8012E720 24620028 */ addiu $v0, $v1, 0x28 -/* C4E24 8012E724 24660030 */ addiu $a2, $v1, 0x30 -/* C4E28 8012E728 AD820000 */ sw $v0, ($t4) -/* C4E2C 8012E72C AD860000 */ sw $a2, ($t4) -/* C4E30 8012E730 8DE40000 */ lw $a0, ($t7) -/* C4E34 8012E734 24620038 */ addiu $v0, $v1, 0x38 -/* C4E38 8012E738 AD820000 */ sw $v0, ($t4) -/* C4E3C 8012E73C 3C02E600 */ lui $v0, 0xe600 -/* C4E40 8012E740 ACA40004 */ sw $a0, 4($a1) -/* C4E44 8012E744 AC620008 */ sw $v0, 8($v1) -/* C4E48 8012E748 3C02F400 */ lui $v0, 0xf400 -/* C4E4C 8012E74C AC620010 */ sw $v0, 0x10($v1) -/* C4E50 8012E750 3C02E700 */ lui $v0, 0xe700 -/* C4E54 8012E754 AC620018 */ sw $v0, 0x18($v1) -/* C4E58 8012E758 3402C030 */ ori $v0, $zero, 0xc030 -/* C4E5C 8012E75C AC620024 */ sw $v0, 0x24($v1) -/* C4E60 8012E760 3C02F200 */ lui $v0, 0xf200 -/* C4E64 8012E764 AC680000 */ sw $t0, ($v1) -/* C4E68 8012E768 AC670004 */ sw $a3, 4($v1) -/* C4E6C 8012E76C AC60000C */ sw $zero, 0xc($v1) -/* C4E70 8012E770 AC690014 */ sw $t1, 0x14($v1) -/* C4E74 8012E774 AC60001C */ sw $zero, 0x1c($v1) -/* C4E78 8012E778 AC6A0020 */ sw $t2, 0x20($v1) -/* C4E7C 8012E77C AC620028 */ sw $v0, 0x28($v1) -/* C4E80 8012E780 AC6B002C */ sw $t3, 0x2c($v1) -/* C4E84 8012E784 85A2000A */ lh $v0, 0xa($t5) -/* C4E88 8012E788 18400005 */ blez $v0, .L8012E7A0 -/* C4E8C 8012E78C 30420FFF */ andi $v0, $v0, 0xfff -/* C4E90 8012E790 00021300 */ sll $v0, $v0, 0xc -/* C4E94 8012E794 3C03E400 */ lui $v1, 0xe400 -/* C4E98 8012E798 0804B9E9 */ j .L8012E7A4 -/* C4E9C 8012E79C 00431825 */ or $v1, $v0, $v1 -.L8012E7A0: -/* C4EA0 8012E7A0 3C03E400 */ lui $v1, 0xe400 -.L8012E7A4: -/* C4EA4 8012E7A4 85A2000E */ lh $v0, 0xe($t5) -/* C4EA8 8012E7A8 18400002 */ blez $v0, .L8012E7B4 -/* C4EAC 8012E7AC 30420FFF */ andi $v0, $v0, 0xfff -/* C4EB0 8012E7B0 00621825 */ or $v1, $v1, $v0 -.L8012E7B4: -/* C4EB4 8012E7B4 ACC30000 */ sw $v1, ($a2) -/* C4EB8 8012E7B8 85A20002 */ lh $v0, 2($t5) -/* C4EBC 8012E7BC 18400004 */ blez $v0, .L8012E7D0 -/* C4EC0 8012E7C0 24C60004 */ addiu $a2, $a2, 4 -/* C4EC4 8012E7C4 30420FFF */ andi $v0, $v0, 0xfff -/* C4EC8 8012E7C8 0804B9F5 */ j .L8012E7D4 -/* C4ECC 8012E7CC 00021B00 */ sll $v1, $v0, 0xc -.L8012E7D0: -/* C4ED0 8012E7D0 0000182D */ daddu $v1, $zero, $zero -.L8012E7D4: -/* C4ED4 8012E7D4 85A20006 */ lh $v0, 6($t5) -/* C4ED8 8012E7D8 18400002 */ blez $v0, .L8012E7E4 -/* C4EDC 8012E7DC 30420FFF */ andi $v0, $v0, 0xfff -/* C4EE0 8012E7E0 00621825 */ or $v1, $v1, $v0 -.L8012E7E4: -/* C4EE4 8012E7E4 8D820000 */ lw $v0, ($t4) -/* C4EE8 8012E7E8 ACC30000 */ sw $v1, ($a2) -/* C4EEC 8012E7EC 0040182D */ daddu $v1, $v0, $zero -/* C4EF0 8012E7F0 24420008 */ addiu $v0, $v0, 8 -/* C4EF4 8012E7F4 AD820000 */ sw $v0, ($t4) -/* C4EF8 8012E7F8 3C02E100 */ lui $v0, 0xe100 -/* C4EFC 8012E7FC AC620000 */ sw $v0, ($v1) -/* C4F00 8012E800 85A20002 */ lh $v0, 2($t5) -/* C4F04 8012E804 04410007 */ bgez $v0, .L8012E824 -/* C4F08 8012E808 24630004 */ addiu $v1, $v1, 4 -/* C4F0C 8012E80C 000210C0 */ sll $v0, $v0, 3 -/* C4F10 8012E810 5C400001 */ bgtzl $v0, .L8012E818 -/* C4F14 8012E814 0000102D */ daddu $v0, $zero, $zero -.L8012E818: -/* C4F18 8012E818 00021023 */ negu $v0, $v0 -/* C4F1C 8012E81C 0804BA0A */ j .L8012E828 -/* C4F20 8012E820 00022400 */ sll $a0, $v0, 0x10 -.L8012E824: -/* C4F24 8012E824 0000202D */ daddu $a0, $zero, $zero -.L8012E828: -/* C4F28 8012E828 8DA20004 */ lw $v0, 4($t5) -/* C4F2C 8012E82C 04410008 */ bgez $v0, .L8012E850 -/* C4F30 8012E830 0080282D */ daddu $a1, $a0, $zero -/* C4F34 8012E834 85A20006 */ lh $v0, 6($t5) -/* C4F38 8012E838 000210C0 */ sll $v0, $v0, 3 -/* C4F3C 8012E83C 5C400001 */ bgtzl $v0, .L8012E844 -/* C4F40 8012E840 0000102D */ daddu $v0, $zero, $zero -.L8012E844: -/* C4F44 8012E844 00021023 */ negu $v0, $v0 -/* C4F48 8012E848 3042FFFF */ andi $v0, $v0, 0xffff -/* C4F4C 8012E84C 00A22825 */ or $a1, $a1, $v0 -.L8012E850: -/* C4F50 8012E850 3C040400 */ lui $a0, 0x400 -/* C4F54 8012E854 8D820000 */ lw $v0, ($t4) -/* C4F58 8012E858 34840400 */ ori $a0, $a0, 0x400 -/* C4F5C 8012E85C AC650000 */ sw $a1, ($v1) -/* C4F60 8012E860 0040182D */ daddu $v1, $v0, $zero -/* C4F64 8012E864 24420008 */ addiu $v0, $v0, 8 -/* C4F68 8012E868 AD820000 */ sw $v0, ($t4) -/* C4F6C 8012E86C 3C02F100 */ lui $v0, 0xf100 -/* C4F70 8012E870 AC620000 */ sw $v0, ($v1) -/* C4F74 8012E874 AC640004 */ sw $a0, 4($v1) -.L8012E878: -/* C4F78 8012E878 25AD0010 */ addiu $t5, $t5, 0x10 -.L8012E87C: -/* C4F7C 8012E87C 25CE0001 */ addiu $t6, $t6, 1 -/* C4F80 8012E880 29C20010 */ slti $v0, $t6, 0x10 -/* C4F84 8012E884 1440FF87 */ bnez $v0, .L8012E6A4 -/* C4F88 8012E888 25EF0004 */ addiu $t7, $t7, 4 -/* C4F8C 8012E88C 3C06E300 */ lui $a2, 0xe300 -/* C4F90 8012E890 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* C4F94 8012E894 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* C4F98 8012E898 34C61001 */ ori $a2, $a2, 0x1001 -/* C4F9C 8012E89C 8C820000 */ lw $v0, ($a0) -/* C4FA0 8012E8A0 3C03E700 */ lui $v1, 0xe700 -/* C4FA4 8012E8A4 0040282D */ daddu $a1, $v0, $zero -/* C4FA8 8012E8A8 24420008 */ addiu $v0, $v0, 8 -/* C4FAC 8012E8AC AC820000 */ sw $v0, ($a0) -/* C4FB0 8012E8B0 ACA30000 */ sw $v1, ($a1) -/* C4FB4 8012E8B4 24430008 */ addiu $v1, $v0, 8 -/* C4FB8 8012E8B8 ACA00004 */ sw $zero, 4($a1) -/* C4FBC 8012E8BC AC830000 */ sw $v1, ($a0) -/* C4FC0 8012E8C0 AC460000 */ sw $a2, ($v0) -/* C4FC4 8012E8C4 AC400004 */ sw $zero, 4($v0) -.L8012E8C8: -/* C4FC8 8012E8C8 8FB3014C */ lw $s3, 0x14c($sp) -/* C4FCC 8012E8CC 8FB20148 */ lw $s2, 0x148($sp) -/* C4FD0 8012E8D0 8FB10144 */ lw $s1, 0x144($sp) -/* C4FD4 8012E8D4 8FB00140 */ lw $s0, 0x140($sp) -/* C4FD8 8012E8D8 03E00008 */ jr $ra -/* C4FDC 8012E8DC 27BD0150 */ addiu $sp, $sp, 0x150 diff --git a/ver/us/asm/nonmatchings/msg/msg_draw_speech_arrow.s b/ver/us/asm/nonmatchings/msg/msg_draw_speech_arrow.s deleted file mode 100644 index 0c46914d69..0000000000 --- a/ver/us/asm/nonmatchings/msg/msg_draw_speech_arrow.s +++ /dev/null @@ -1,523 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80150A08 -.double 0.7 - -dlabel D_80150A10 -.double 0.005 - -dlabel D_80150A18 -.double 0.67 - -dlabel D_80150A20 -.double 0.3 - -dlabel D_80150A28 -.double 0.005 - -dlabel D_80150A30 -.double 0.38, 0.0 - -.section .text - -glabel msg_draw_speech_arrow -/* C3ADC 8012D3DC 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* C3AE0 8012D3E0 AFB10064 */ sw $s1, 0x64($sp) -/* C3AE4 8012D3E4 0080882D */ daddu $s1, $a0, $zero -/* C3AE8 8012D3E8 0000282D */ daddu $a1, $zero, $zero -/* C3AEC 8012D3EC AFBF0084 */ sw $ra, 0x84($sp) -/* C3AF0 8012D3F0 AFBE0080 */ sw $fp, 0x80($sp) -/* C3AF4 8012D3F4 AFB7007C */ sw $s7, 0x7c($sp) -/* C3AF8 8012D3F8 AFB60078 */ sw $s6, 0x78($sp) -/* C3AFC 8012D3FC AFB50074 */ sw $s5, 0x74($sp) -/* C3B00 8012D400 AFB40070 */ sw $s4, 0x70($sp) -/* C3B04 8012D404 AFB3006C */ sw $s3, 0x6c($sp) -/* C3B08 8012D408 AFB20068 */ sw $s2, 0x68($sp) -/* C3B0C 8012D40C AFB00060 */ sw $s0, 0x60($sp) -/* C3B10 8012D410 F7BA00A0 */ sdc1 $f26, 0xa0($sp) -/* C3B14 8012D414 F7B80098 */ sdc1 $f24, 0x98($sp) -/* C3B18 8012D418 F7B60090 */ sdc1 $f22, 0x90($sp) -/* C3B1C 8012D41C F7B40088 */ sdc1 $f20, 0x88($sp) -/* C3B20 8012D420 96230456 */ lhu $v1, 0x456($s1) -/* C3B24 8012D424 9622045A */ lhu $v0, 0x45a($s1) -/* C3B28 8012D428 96240458 */ lhu $a0, 0x458($s1) -/* C3B2C 8012D42C 00623021 */ addu $a2, $v1, $v0 -/* C3B30 8012D430 9622045C */ lhu $v0, 0x45c($s1) -/* C3B34 8012D434 9623050E */ lhu $v1, 0x50e($s1) -/* C3B38 8012D438 106001B7 */ beqz $v1, .L8012DB18 -/* C3B3C 8012D43C 00822021 */ addu $a0, $a0, $v0 -/* C3B40 8012D440 92220508 */ lbu $v0, 0x508($s1) -/* C3B44 8012D444 2442FFFF */ addiu $v0, $v0, -1 -/* C3B48 8012D448 2C420003 */ sltiu $v0, $v0, 3 -/* C3B4C 8012D44C 14400004 */ bnez $v0, .L8012D460 -/* C3B50 8012D450 24020003 */ addiu $v0, $zero, 3 -/* C3B54 8012D454 9223053C */ lbu $v1, 0x53c($s1) -/* C3B58 8012D458 14620005 */ bne $v1, $v0, .L8012D470 -/* C3B5C 8012D45C 00000000 */ nop -.L8012D460: -/* C3B60 8012D460 96220516 */ lhu $v0, 0x516($s1) -/* C3B64 8012D464 00821021 */ addu $v0, $a0, $v0 -/* C3B68 8012D468 0804B51F */ j .L8012D47C -/* C3B6C 8012D46C 2454FFFC */ addiu $s4, $v0, -4 -.L8012D470: -/* C3B70 8012D470 96220516 */ lhu $v0, 0x516($s1) -/* C3B74 8012D474 00821021 */ addu $v0, $a0, $v0 -/* C3B78 8012D478 2454FFFD */ addiu $s4, $v0, -3 -.L8012D47C: -/* C3B7C 8012D47C 92230508 */ lbu $v1, 0x508($s1) -/* C3B80 8012D480 24020002 */ addiu $v0, $zero, 2 -/* C3B84 8012D484 14620003 */ bne $v1, $v0, .L8012D494 -/* C3B88 8012D488 24020003 */ addiu $v0, $zero, 3 -/* C3B8C 8012D48C 0804B52C */ j .L8012D4B0 -/* C3B90 8012D490 0000282D */ daddu $a1, $zero, $zero -.L8012D494: -/* C3B94 8012D494 50620006 */ beql $v1, $v0, .L8012D4B0 -/* C3B98 8012D498 24050001 */ addiu $a1, $zero, 1 -/* C3B9C 8012D49C 9622050E */ lhu $v0, 0x50e($s1) -/* C3BA0 8012D4A0 2C4200A0 */ sltiu $v0, $v0, 0xa0 -/* C3BA4 8012D4A4 14400003 */ bnez $v0, .L8012D4B4 -/* C3BA8 8012D4A8 30A200FF */ andi $v0, $a1, 0xff -/* C3BAC 8012D4AC 24050001 */ addiu $a1, $zero, 1 -.L8012D4B0: -/* C3BB0 8012D4B0 30A200FF */ andi $v0, $a1, 0xff -.L8012D4B4: -/* C3BB4 8012D4B4 10400056 */ beqz $v0, .L8012D610 -/* C3BB8 8012D4B8 00000000 */ nop -/* C3BBC 8012D4BC 96220514 */ lhu $v0, 0x514($s1) -/* C3BC0 8012D4C0 3C018015 */ lui $at, %hi(D_80150A08) -/* C3BC4 8012D4C4 D4200A08 */ ldc1 $f0, %lo(D_80150A08)($at) -/* C3BC8 8012D4C8 44821000 */ mtc1 $v0, $f2 -/* C3BCC 8012D4CC 00000000 */ nop -/* C3BD0 8012D4D0 468010A0 */ cvt.s.w $f2, $f2 -/* C3BD4 8012D4D4 460010A1 */ cvt.d.s $f2, $f2 -/* C3BD8 8012D4D8 46201082 */ mul.d $f2, $f2, $f0 -/* C3BDC 8012D4DC 00000000 */ nop -/* C3BE0 8012D4E0 00061400 */ sll $v0, $a2, 0x10 -/* C3BE4 8012D4E4 00022403 */ sra $a0, $v0, 0x10 -/* C3BE8 8012D4E8 44840000 */ mtc1 $a0, $f0 -/* C3BEC 8012D4EC 00000000 */ nop -/* C3BF0 8012D4F0 46800021 */ cvt.d.w $f0, $f0 -/* C3BF4 8012D4F4 46220000 */ add.d $f0, $f0, $f2 -/* C3BF8 8012D4F8 9623050E */ lhu $v1, 0x50e($s1) -/* C3BFC 8012D4FC 4620010D */ trunc.w.d $f4, $f0 -/* C3C00 8012D500 44022000 */ mfc1 $v0, $f4 -/* C3C04 8012D504 00000000 */ nop -/* C3C08 8012D508 0040902D */ daddu $s2, $v0, $zero -/* C3C0C 8012D50C 00021400 */ sll $v0, $v0, 0x10 -/* C3C10 8012D510 00021403 */ sra $v0, $v0, 0x10 -/* C3C14 8012D514 0062182A */ slt $v1, $v1, $v0 -/* C3C18 8012D518 10600090 */ beqz $v1, .L8012D75C -/* C3C1C 8012D51C 00141400 */ sll $v0, $s4, 0x10 -/* C3C20 8012D520 4484D000 */ mtc1 $a0, $f26 -/* C3C24 8012D524 00000000 */ nop -/* C3C28 8012D528 4680D6A0 */ cvt.s.w $f26, $f26 -/* C3C2C 8012D52C 00029C03 */ sra $s3, $v0, 0x10 -/* C3C30 8012D530 3C013F33 */ lui $at, 0x3f33 -/* C3C34 8012D534 34213333 */ ori $at, $at, 0x3333 -/* C3C38 8012D538 4481A000 */ mtc1 $at, $f20 -/* C3C3C 8012D53C 3C018015 */ lui $at, %hi(D_80150A10) -/* C3C40 8012D540 D4380A10 */ ldc1 $f24, %lo(D_80150A10)($at) -/* C3C44 8012D544 3C018015 */ lui $at, %hi(D_80150A18) -/* C3C48 8012D548 D4360A18 */ ldc1 $f22, %lo(D_80150A18)($at) -.L8012D54C: -/* C3C4C 8012D54C 96220514 */ lhu $v0, 0x514($s1) -/* C3C50 8012D550 44820000 */ mtc1 $v0, $f0 -/* C3C54 8012D554 00000000 */ nop -/* C3C58 8012D558 46800020 */ cvt.s.w $f0, $f0 -/* C3C5C 8012D55C 46140002 */ mul.s $f0, $f0, $f20 -/* C3C60 8012D560 00000000 */ nop -/* C3C64 8012D564 44932000 */ mtc1 $s3, $f4 -/* C3C68 8012D568 00000000 */ nop -/* C3C6C 8012D56C 46802120 */ cvt.s.w $f4, $f4 -/* C3C70 8012D570 44072000 */ mfc1 $a3, $f4 -/* C3C74 8012D574 9622050E */ lhu $v0, 0x50e($s1) -/* C3C78 8012D578 4600D000 */ add.s $f0, $f26, $f0 -/* C3C7C 8012D57C 96230510 */ lhu $v1, 0x510($s1) -/* C3C80 8012D580 44826000 */ mtc1 $v0, $f12 -/* C3C84 8012D584 00000000 */ nop -/* C3C88 8012D588 46806320 */ cvt.s.w $f12, $f12 -/* C3C8C 8012D58C 4600010D */ trunc.w.s $f4, $f0 -/* C3C90 8012D590 44022000 */ mfc1 $v0, $f4 -/* C3C94 8012D594 00000000 */ nop -/* C3C98 8012D598 0040902D */ daddu $s2, $v0, $zero -/* C3C9C 8012D59C 00021400 */ sll $v0, $v0, 0x10 -/* C3CA0 8012D5A0 00021403 */ sra $v0, $v0, 0x10 -/* C3CA4 8012D5A4 44822000 */ mtc1 $v0, $f4 -/* C3CA8 8012D5A8 00000000 */ nop -/* C3CAC 8012D5AC 46802120 */ cvt.s.w $f4, $f4 -/* C3CB0 8012D5B0 44062000 */ mfc1 $a2, $f4 -/* C3CB4 8012D5B4 44837000 */ mtc1 $v1, $f14 -/* C3CB8 8012D5B8 00000000 */ nop -/* C3CBC 8012D5BC 0C00A720 */ jal atan2 -/* C3CC0 8012D5C0 468073A0 */ cvt.s.w $f14, $f14 -/* C3CC4 8012D5C4 4600010D */ trunc.w.s $f4, $f0 -/* C3CC8 8012D5C8 44102000 */ mfc1 $s0, $f4 -/* C3CCC 8012D5CC 00000000 */ nop -/* C3CD0 8012D5D0 06010002 */ bgez $s0, .L8012D5DC -/* C3CD4 8012D5D4 0200102D */ daddu $v0, $s0, $zero -/* C3CD8 8012D5D8 00021023 */ negu $v0, $v0 -.L8012D5DC: -/* C3CDC 8012D5DC 2842002D */ slti $v0, $v0, 0x2d -/* C3CE0 8012D5E0 1440005F */ bnez $v0, .L8012D760 -/* C3CE4 8012D5E4 00121400 */ sll $v0, $s2, 0x10 -/* C3CE8 8012D5E8 4600A021 */ cvt.d.s $f0, $f20 -/* C3CEC 8012D5EC 46380001 */ sub.d $f0, $f0, $f24 -/* C3CF0 8012D5F0 46200520 */ cvt.s.d $f20, $f0 -/* C3CF4 8012D5F4 4600A021 */ cvt.d.s $f0, $f20 -/* C3CF8 8012D5F8 4620B03E */ c.le.d $f22, $f0 -/* C3CFC 8012D5FC 00000000 */ nop -/* C3D00 8012D600 45000058 */ bc1f .L8012D764 -/* C3D04 8012D604 00021403 */ sra $v0, $v0, 0x10 -/* C3D08 8012D608 0804B553 */ j .L8012D54C -/* C3D0C 8012D60C 00000000 */ nop -.L8012D610: -/* C3D10 8012D610 96220514 */ lhu $v0, 0x514($s1) -/* C3D14 8012D614 3C018015 */ lui $at, %hi(D_80150A20) -/* C3D18 8012D618 D4200A20 */ ldc1 $f0, %lo(D_80150A20)($at) -/* C3D1C 8012D61C 44821000 */ mtc1 $v0, $f2 -/* C3D20 8012D620 00000000 */ nop -/* C3D24 8012D624 468010A0 */ cvt.s.w $f2, $f2 -/* C3D28 8012D628 460010A1 */ cvt.d.s $f2, $f2 -/* C3D2C 8012D62C 46201082 */ mul.d $f2, $f2, $f0 -/* C3D30 8012D630 00000000 */ nop -/* C3D34 8012D634 00061400 */ sll $v0, $a2, 0x10 -/* C3D38 8012D638 00022403 */ sra $a0, $v0, 0x10 -/* C3D3C 8012D63C 44840000 */ mtc1 $a0, $f0 -/* C3D40 8012D640 00000000 */ nop -/* C3D44 8012D644 46800021 */ cvt.d.w $f0, $f0 -/* C3D48 8012D648 46220000 */ add.d $f0, $f0, $f2 -/* C3D4C 8012D64C 9623050E */ lhu $v1, 0x50e($s1) -/* C3D50 8012D650 4620010D */ trunc.w.d $f4, $f0 -/* C3D54 8012D654 44022000 */ mfc1 $v0, $f4 -/* C3D58 8012D658 00000000 */ nop -/* C3D5C 8012D65C 0040902D */ daddu $s2, $v0, $zero -/* C3D60 8012D660 00021400 */ sll $v0, $v0, 0x10 -/* C3D64 8012D664 00021403 */ sra $v0, $v0, 0x10 -/* C3D68 8012D668 0043102A */ slt $v0, $v0, $v1 -/* C3D6C 8012D66C 1040003B */ beqz $v0, .L8012D75C -/* C3D70 8012D670 00141400 */ sll $v0, $s4, 0x10 -/* C3D74 8012D674 4484D000 */ mtc1 $a0, $f26 -/* C3D78 8012D678 00000000 */ nop -/* C3D7C 8012D67C 4680D6A0 */ cvt.s.w $f26, $f26 -/* C3D80 8012D680 00029C03 */ sra $s3, $v0, 0x10 -/* C3D84 8012D684 3C013E99 */ lui $at, 0x3e99 -/* C3D88 8012D688 3421999A */ ori $at, $at, 0x999a -/* C3D8C 8012D68C 4481A000 */ mtc1 $at, $f20 -/* C3D90 8012D690 3C018015 */ lui $at, %hi(D_80150A28) -/* C3D94 8012D694 D4380A28 */ ldc1 $f24, %lo(D_80150A28)($at) -/* C3D98 8012D698 3C018015 */ lui $at, %hi(D_80150A30) -/* C3D9C 8012D69C D4360A30 */ ldc1 $f22, %lo(D_80150A30)($at) -.L8012D6A0: -/* C3DA0 8012D6A0 96220514 */ lhu $v0, 0x514($s1) -/* C3DA4 8012D6A4 44820000 */ mtc1 $v0, $f0 -/* C3DA8 8012D6A8 00000000 */ nop -/* C3DAC 8012D6AC 46800020 */ cvt.s.w $f0, $f0 -/* C3DB0 8012D6B0 46140002 */ mul.s $f0, $f0, $f20 -/* C3DB4 8012D6B4 00000000 */ nop -/* C3DB8 8012D6B8 44932000 */ mtc1 $s3, $f4 -/* C3DBC 8012D6BC 00000000 */ nop -/* C3DC0 8012D6C0 46802120 */ cvt.s.w $f4, $f4 -/* C3DC4 8012D6C4 44072000 */ mfc1 $a3, $f4 -/* C3DC8 8012D6C8 9622050E */ lhu $v0, 0x50e($s1) -/* C3DCC 8012D6CC 4600D000 */ add.s $f0, $f26, $f0 -/* C3DD0 8012D6D0 96230510 */ lhu $v1, 0x510($s1) -/* C3DD4 8012D6D4 44826000 */ mtc1 $v0, $f12 -/* C3DD8 8012D6D8 00000000 */ nop -/* C3DDC 8012D6DC 46806320 */ cvt.s.w $f12, $f12 -/* C3DE0 8012D6E0 4600010D */ trunc.w.s $f4, $f0 -/* C3DE4 8012D6E4 44022000 */ mfc1 $v0, $f4 -/* C3DE8 8012D6E8 00000000 */ nop -/* C3DEC 8012D6EC 0040902D */ daddu $s2, $v0, $zero -/* C3DF0 8012D6F0 00021400 */ sll $v0, $v0, 0x10 -/* C3DF4 8012D6F4 00021403 */ sra $v0, $v0, 0x10 -/* C3DF8 8012D6F8 44822000 */ mtc1 $v0, $f4 -/* C3DFC 8012D6FC 00000000 */ nop -/* C3E00 8012D700 46802120 */ cvt.s.w $f4, $f4 -/* C3E04 8012D704 44062000 */ mfc1 $a2, $f4 -/* C3E08 8012D708 44837000 */ mtc1 $v1, $f14 -/* C3E0C 8012D70C 00000000 */ nop -/* C3E10 8012D710 0C00A720 */ jal atan2 -/* C3E14 8012D714 468073A0 */ cvt.s.w $f14, $f14 -/* C3E18 8012D718 4600010D */ trunc.w.s $f4, $f0 -/* C3E1C 8012D71C 44102000 */ mfc1 $s0, $f4 -/* C3E20 8012D720 00000000 */ nop -/* C3E24 8012D724 06010002 */ bgez $s0, .L8012D730 -/* C3E28 8012D728 0200102D */ daddu $v0, $s0, $zero -/* C3E2C 8012D72C 00021023 */ negu $v0, $v0 -.L8012D730: -/* C3E30 8012D730 2842002D */ slti $v0, $v0, 0x2d -/* C3E34 8012D734 1440000A */ bnez $v0, .L8012D760 -/* C3E38 8012D738 00121400 */ sll $v0, $s2, 0x10 -/* C3E3C 8012D73C 4600A021 */ cvt.d.s $f0, $f20 -/* C3E40 8012D740 46380000 */ add.d $f0, $f0, $f24 -/* C3E44 8012D744 46200520 */ cvt.s.d $f20, $f0 -/* C3E48 8012D748 4600A021 */ cvt.d.s $f0, $f20 -/* C3E4C 8012D74C 4636003E */ c.le.d $f0, $f22 -/* C3E50 8012D750 00000000 */ nop -/* C3E54 8012D754 4501FFD2 */ bc1t .L8012D6A0 -/* C3E58 8012D758 00000000 */ nop -.L8012D75C: -/* C3E5C 8012D75C 00121400 */ sll $v0, $s2, 0x10 -.L8012D760: -/* C3E60 8012D760 00021403 */ sra $v0, $v0, 0x10 -.L8012D764: -/* C3E64 8012D764 4482C000 */ mtc1 $v0, $f24 -/* C3E68 8012D768 00000000 */ nop -/* C3E6C 8012D76C 4680C620 */ cvt.s.w $f24, $f24 -/* C3E70 8012D770 00141400 */ sll $v0, $s4, 0x10 -/* C3E74 8012D774 0002B403 */ sra $s6, $v0, 0x10 -/* C3E78 8012D778 4496B000 */ mtc1 $s6, $f22 -/* C3E7C 8012D77C 00000000 */ nop -/* C3E80 8012D780 4680B5A0 */ cvt.s.w $f22, $f22 -/* C3E84 8012D784 4406C000 */ mfc1 $a2, $f24 -/* C3E88 8012D788 4407B000 */ mfc1 $a3, $f22 -/* C3E8C 8012D78C 8622050A */ lh $v0, 0x50a($s1) -/* C3E90 8012D790 8623050C */ lh $v1, 0x50c($s1) -/* C3E94 8012D794 44826000 */ mtc1 $v0, $f12 -/* C3E98 8012D798 00000000 */ nop -/* C3E9C 8012D79C 46806320 */ cvt.s.w $f12, $f12 -/* C3EA0 8012D7A0 44837000 */ mtc1 $v1, $f14 -/* C3EA4 8012D7A4 00000000 */ nop -/* C3EA8 8012D7A8 468073A0 */ cvt.s.w $f14, $f14 -/* C3EAC 8012D7AC 0C00A7B5 */ jal dist2D -/* C3EB0 8012D7B0 2655FFF7 */ addiu $s5, $s2, -9 -/* C3EB4 8012D7B4 4600010D */ trunc.w.s $f4, $f0 -/* C3EB8 8012D7B8 44172000 */ mfc1 $s7, $f4 -/* C3EBC 8012D7BC 26520009 */ addiu $s2, $s2, 9 -/* C3EC0 8012D7C0 2AE2000A */ slti $v0, $s7, 0xa -/* C3EC4 8012D7C4 144000D4 */ bnez $v0, .L8012DB18 -/* C3EC8 8012D7C8 AFB20050 */ sw $s2, 0x50($sp) -/* C3ECC 8012D7CC 2AE2001A */ slti $v0, $s7, 0x1a -/* C3ED0 8012D7D0 50400001 */ beql $v0, $zero, .L8012D7D8 -/* C3ED4 8012D7D4 24170019 */ addiu $s7, $zero, 0x19 -.L8012D7D8: -/* C3ED8 8012D7D8 3C028007 */ lui $v0, %hi(gCurrentDisplayContextIndex) -/* C3EDC 8012D7DC 8C4241F4 */ lw $v0, %lo(gCurrentDisplayContextIndex)($v0) -/* C3EE0 8012D7E0 3C1E8015 */ lui $fp, %hi(gMsgUnkQuad) -/* C3EE4 8012D7E4 27DEC4C0 */ addiu $fp, $fp, %lo(gMsgUnkQuad) -/* C3EE8 8012D7E8 10400003 */ beqz $v0, .L8012D7F8 -/* C3EEC 8012D7EC 4600C306 */ mov.s $f12, $f24 -/* C3EF0 8012D7F0 3C1E8015 */ lui $fp, %hi(gMsgUnkArrowQuad) -/* C3EF4 8012D7F4 27DEC480 */ addiu $fp, $fp, %lo(gMsgUnkArrowQuad) -.L8012D7F8: -/* C3EF8 8012D7F8 8622050A */ lh $v0, 0x50a($s1) -/* C3EFC 8012D7FC 8623050C */ lh $v1, 0x50c($s1) -/* C3F00 8012D800 44822000 */ mtc1 $v0, $f4 -/* C3F04 8012D804 00000000 */ nop -/* C3F08 8012D808 46802120 */ cvt.s.w $f4, $f4 -/* C3F0C 8012D80C 44062000 */ mfc1 $a2, $f4 -/* C3F10 8012D810 44832000 */ mtc1 $v1, $f4 -/* C3F14 8012D814 00000000 */ nop -/* C3F18 8012D818 46802120 */ cvt.s.w $f4, $f4 -/* C3F1C 8012D81C 44072000 */ mfc1 $a3, $f4 -/* C3F20 8012D820 0C00A720 */ jal atan2 -/* C3F24 8012D824 4600B386 */ mov.s $f14, $f22 -/* C3F28 8012D828 4600010D */ trunc.w.s $f4, $f0 -/* C3F2C 8012D82C 44102000 */ mfc1 $s0, $f4 -/* C3F30 8012D830 00000000 */ nop -/* C3F34 8012D834 2610FF4C */ addiu $s0, $s0, -0xb4 -/* C3F38 8012D838 06010002 */ bgez $s0, .L8012D844 -/* C3F3C 8012D83C 0200102D */ daddu $v0, $s0, $zero -/* C3F40 8012D840 00021023 */ negu $v0, $v0 -.L8012D844: -/* C3F44 8012D844 2842004B */ slti $v0, $v0, 0x4b -/* C3F48 8012D848 104000B3 */ beqz $v0, .L8012DB18 -/* C3F4C 8012D84C 00102400 */ sll $a0, $s0, 0x10 -/* C3F50 8012D850 0C00A4F5 */ jal cosine -/* C3F54 8012D854 00042403 */ sra $a0, $a0, 0x10 -/* C3F58 8012D858 2604005A */ addiu $a0, $s0, 0x5a -/* C3F5C 8012D85C 00042400 */ sll $a0, $a0, 0x10 -/* C3F60 8012D860 00042403 */ sra $a0, $a0, 0x10 -/* C3F64 8012D864 0C00A4F5 */ jal cosine -/* C3F68 8012D868 46000506 */ mov.s $f20, $f0 -/* C3F6C 8012D86C 3C13E200 */ lui $s3, 0xe200 -/* C3F70 8012D870 3673001C */ ori $s3, $s3, 0x1c -/* C3F74 8012D874 3C0F0F0A */ lui $t7, 0xf0a -/* C3F78 8012D878 35EF4000 */ ori $t7, $t7, 0x4000 -/* C3F7C 8012D87C 3C0CFCFF */ lui $t4, 0xfcff -/* C3F80 8012D880 358CFFFF */ ori $t4, $t4, 0xffff -/* C3F84 8012D884 3C0BFFFC */ lui $t3, 0xfffc -/* C3F88 8012D888 356BFC7E */ ori $t3, $t3, 0xfc7e -/* C3F8C 8012D88C 3C0AE300 */ lui $t2, 0xe300 -/* C3F90 8012D890 354A1201 */ ori $t2, $t2, 0x1201 -/* C3F94 8012D894 3C112020 */ lui $s1, 0x2020 -/* C3F98 8012D898 363120FF */ ori $s1, $s1, 0x20ff -/* C3F9C 8012D89C 3C0DFD48 */ lui $t5, 0xfd48 -/* C3FA0 8012D8A0 35AD0007 */ ori $t5, $t5, 7 -/* C3FA4 8012D8A4 3C12F548 */ lui $s2, 0xf548 -/* C3FA8 8012D8A8 36520200 */ ori $s2, $s2, 0x200 -/* C3FAC 8012D8AC 3C0E0701 */ lui $t6, 0x701 -/* C3FB0 8012D8B0 35CE0040 */ ori $t6, $t6, 0x40 -/* C3FB4 8012D8B4 3C190701 */ lui $t9, 0x701 -/* C3FB8 8012D8B8 3739E03C */ ori $t9, $t9, 0xe03c -/* C3FBC 8012D8BC AFB90054 */ sw $t9, 0x54($sp) -/* C3FC0 8012D8C0 3C19F540 */ lui $t9, 0xf540 -/* C3FC4 8012D8C4 37390200 */ ori $t9, $t9, 0x200 -/* C3FC8 8012D8C8 AFB90058 */ sw $t9, 0x58($sp) -/* C3FCC 8012D8CC 3C190001 */ lui $t9, 1 -/* C3FD0 8012D8D0 37390040 */ ori $t9, $t9, 0x40 -/* C3FD4 8012D8D4 3C180003 */ lui $t8, 3 -/* C3FD8 8012D8D8 3718C03C */ ori $t8, $t8, 0xc03c -/* C3FDC 8012D8DC 27A40010 */ addiu $a0, $sp, 0x10 -/* C3FE0 8012D8E0 3C140001 */ lui $s4, 1 -/* C3FE4 8012D8E4 3C10800A */ lui $s0, %hi(gMasterGfxPos) -/* C3FE8 8012D8E8 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos) -/* C3FEC 8012D8EC 36941630 */ ori $s4, $s4, 0x1630 -/* C3FF0 8012D8F0 AFB9005C */ sw $t9, 0x5c($sp) -/* C3FF4 8012D8F4 8E030000 */ lw $v1, ($s0) -/* C3FF8 8012D8F8 44801000 */ mtc1 $zero, $f2 -/* C3FFC 8012D8FC 00161023 */ negu $v0, $s6 -/* C4000 8012D900 A7D50000 */ sh $s5, ($fp) -/* C4004 8012D904 A7C20002 */ sh $v0, 2($fp) -/* C4008 8012D908 97B90052 */ lhu $t9, 0x52($sp) -/* C400C 8012D90C A7C20012 */ sh $v0, 0x12($fp) -/* C4010 8012D910 0060482D */ daddu $t1, $v1, $zero -/* C4014 8012D914 24630008 */ addiu $v1, $v1, 8 -/* C4018 8012D918 24620008 */ addiu $v0, $v1, 8 -/* C401C 8012D91C A7D90010 */ sh $t9, 0x10($fp) -/* C4020 8012D920 AE030000 */ sw $v1, ($s0) -/* C4024 8012D924 AE020000 */ sw $v0, ($s0) -/* C4028 8012D928 24620010 */ addiu $v0, $v1, 0x10 -/* C402C 8012D92C 44051000 */ mfc1 $a1, $f2 -/* C4030 8012D930 44971000 */ mtc1 $s7, $f2 -/* C4034 8012D934 00000000 */ nop -/* C4038 8012D938 468010A0 */ cvt.s.w $f2, $f2 -/* C403C 8012D93C 46141502 */ mul.s $f20, $f2, $f20 -/* C4040 8012D940 00000000 */ nop -/* C4044 8012D944 AE020000 */ sw $v0, ($s0) -/* C4048 8012D948 24620018 */ addiu $v0, $v1, 0x18 -/* C404C 8012D94C AE020000 */ sw $v0, ($s0) -/* C4050 8012D950 24620020 */ addiu $v0, $v1, 0x20 -/* C4054 8012D954 46001082 */ mul.s $f2, $f2, $f0 -/* C4058 8012D958 00000000 */ nop -/* C405C 8012D95C AE020000 */ sw $v0, ($s0) -/* C4060 8012D960 24620028 */ addiu $v0, $v1, 0x28 -/* C4064 8012D964 AE020000 */ sw $v0, ($s0) -/* C4068 8012D968 24620030 */ addiu $v0, $v1, 0x30 -/* C406C 8012D96C AE020000 */ sw $v0, ($s0) -/* C4070 8012D970 4614C501 */ sub.s $f20, $f24, $f20 -/* C4074 8012D974 24620038 */ addiu $v0, $v1, 0x38 -/* C4078 8012D978 AE020000 */ sw $v0, ($s0) -/* C407C 8012D97C 4602B080 */ add.s $f2, $f22, $f2 -/* C4080 8012D980 00A0302D */ daddu $a2, $a1, $zero -/* C4084 8012D984 4600A10D */ trunc.w.s $f4, $f20 -/* C4088 8012D988 44082000 */ mfc1 $t0, $f4 -/* C408C 8012D98C 4600110D */ trunc.w.s $f4, $f2 -/* C4090 8012D990 44022000 */ mfc1 $v0, $f4 -/* C4094 8012D994 00000000 */ nop -/* C4098 8012D998 00021400 */ sll $v0, $v0, 0x10 -/* C409C 8012D99C 00021403 */ sra $v0, $v0, 0x10 -/* C40A0 8012D9A0 00021023 */ negu $v0, $v0 -/* C40A4 8012D9A4 A7C80020 */ sh $t0, 0x20($fp) -/* C40A8 8012D9A8 25080001 */ addiu $t0, $t0, 1 -/* C40AC 8012D9AC A7C80030 */ sh $t0, 0x30($fp) -/* C40B0 8012D9B0 3C08E700 */ lui $t0, 0xe700 -/* C40B4 8012D9B4 A7C20022 */ sh $v0, 0x22($fp) -/* C40B8 8012D9B8 A7C20032 */ sh $v0, 0x32($fp) -/* C40BC 8012D9BC 24022000 */ addiu $v0, $zero, 0x2000 -/* C40C0 8012D9C0 AD280000 */ sw $t0, ($t1) -/* C40C4 8012D9C4 AD200004 */ sw $zero, 4($t1) -/* C40C8 8012D9C8 AC620014 */ sw $v0, 0x14($v1) -/* C40CC 8012D9CC 3C02FA00 */ lui $v0, 0xfa00 -/* C40D0 8012D9D0 AC620018 */ sw $v0, 0x18($v1) -/* C40D4 8012D9D4 3C02802F */ lui $v0, %hi(D_802EBF70) -/* C40D8 8012D9D8 2442BF70 */ addiu $v0, $v0, %lo(D_802EBF70) -/* C40DC 8012D9DC AC730000 */ sw $s3, ($v1) -/* C40E0 8012D9E0 AC6F0004 */ sw $t7, 4($v1) -/* C40E4 8012D9E4 AC6C0008 */ sw $t4, 8($v1) -/* C40E8 8012D9E8 AC6B000C */ sw $t3, 0xc($v1) -/* C40EC 8012D9EC AC6A0010 */ sw $t2, 0x10($v1) -/* C40F0 8012D9F0 AC71001C */ sw $s1, 0x1c($v1) -/* C40F4 8012D9F4 AC6D0020 */ sw $t5, 0x20($v1) -/* C40F8 8012D9F8 AC620024 */ sw $v0, 0x24($v1) -/* C40FC 8012D9FC 3C02E600 */ lui $v0, 0xe600 -/* C4100 8012DA00 AC620030 */ sw $v0, 0x30($v1) -/* C4104 8012DA04 24620040 */ addiu $v0, $v1, 0x40 -/* C4108 8012DA08 AC720028 */ sw $s2, 0x28($v1) -/* C410C 8012DA0C AC6E002C */ sw $t6, 0x2c($v1) -/* C4110 8012DA10 AC600034 */ sw $zero, 0x34($v1) -/* C4114 8012DA14 AE020000 */ sw $v0, ($s0) -/* C4118 8012DA18 3C02F400 */ lui $v0, 0xf400 -/* C411C 8012DA1C AC620038 */ sw $v0, 0x38($v1) -/* C4120 8012DA20 8FB90054 */ lw $t9, 0x54($sp) -/* C4124 8012DA24 24620048 */ addiu $v0, $v1, 0x48 -/* C4128 8012DA28 AC79003C */ sw $t9, 0x3c($v1) -/* C412C 8012DA2C AE020000 */ sw $v0, ($s0) -/* C4130 8012DA30 24620050 */ addiu $v0, $v1, 0x50 -/* C4134 8012DA34 AC680040 */ sw $t0, 0x40($v1) -/* C4138 8012DA38 AC600044 */ sw $zero, 0x44($v1) -/* C413C 8012DA3C AE020000 */ sw $v0, ($s0) -/* C4140 8012DA40 8FB90058 */ lw $t9, 0x58($sp) -/* C4144 8012DA44 00A0382D */ daddu $a3, $a1, $zero -/* C4148 8012DA48 AC790048 */ sw $t9, 0x48($v1) -/* C414C 8012DA4C 8FB9005C */ lw $t9, 0x5c($sp) -/* C4150 8012DA50 24620058 */ addiu $v0, $v1, 0x58 -/* C4154 8012DA54 AC79004C */ sw $t9, 0x4c($v1) -/* C4158 8012DA58 AE020000 */ sw $v0, ($s0) -/* C415C 8012DA5C 3C02F200 */ lui $v0, 0xf200 -/* C4160 8012DA60 AC620050 */ sw $v0, 0x50($v1) -/* C4164 8012DA64 0C019E40 */ jal guTranslateF -/* C4168 8012DA68 AC780054 */ sw $t8, 0x54($v1) -/* C416C 8012DA6C 27A40010 */ addiu $a0, $sp, 0x10 -/* C4170 8012DA70 3C118007 */ lui $s1, %hi(gMatrixListPos) -/* C4174 8012DA74 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos) -/* C4178 8012DA78 3C12800A */ lui $s2, %hi(gDisplayContext) -/* C417C 8012DA7C 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext) -/* C4180 8012DA80 96250000 */ lhu $a1, ($s1) -/* C4184 8012DA84 8E420000 */ lw $v0, ($s2) -/* C4188 8012DA88 00052980 */ sll $a1, $a1, 6 -/* C418C 8012DA8C 00B42821 */ addu $a1, $a1, $s4 -/* C4190 8012DA90 0C019D40 */ jal guMtxF2L -/* C4194 8012DA94 00452821 */ addu $a1, $v0, $a1 -/* C4198 8012DA98 3C03DA38 */ lui $v1, 0xda38 -/* C419C 8012DA9C 34630003 */ ori $v1, $v1, 3 -/* C41A0 8012DAA0 3C060100 */ lui $a2, 0x100 -/* C41A4 8012DAA4 34C64008 */ ori $a2, $a2, 0x4008 -/* C41A8 8012DAA8 3C080600 */ lui $t0, 0x600 -/* C41AC 8012DAAC 35080402 */ ori $t0, $t0, 0x402 -/* C41B0 8012DAB0 3C070002 */ lui $a3, 2 -/* C41B4 8012DAB4 34E70406 */ ori $a3, $a3, 0x406 -/* C41B8 8012DAB8 8E040000 */ lw $a0, ($s0) -/* C41BC 8012DABC 96220000 */ lhu $v0, ($s1) -/* C41C0 8012DAC0 0080282D */ daddu $a1, $a0, $zero -/* C41C4 8012DAC4 24840008 */ addiu $a0, $a0, 8 -/* C41C8 8012DAC8 AE040000 */ sw $a0, ($s0) -/* C41CC 8012DACC ACA30000 */ sw $v1, ($a1) -/* C41D0 8012DAD0 24430001 */ addiu $v1, $v0, 1 -/* C41D4 8012DAD4 3042FFFF */ andi $v0, $v0, 0xffff -/* C41D8 8012DAD8 00021180 */ sll $v0, $v0, 6 -/* C41DC 8012DADC A6230000 */ sh $v1, ($s1) -/* C41E0 8012DAE0 8E430000 */ lw $v1, ($s2) -/* C41E4 8012DAE4 00541021 */ addu $v0, $v0, $s4 -/* C41E8 8012DAE8 00621821 */ addu $v1, $v1, $v0 -/* C41EC 8012DAEC 3C028000 */ lui $v0, 0x8000 -/* C41F0 8012DAF0 00621821 */ addu $v1, $v1, $v0 -/* C41F4 8012DAF4 24820008 */ addiu $v0, $a0, 8 -/* C41F8 8012DAF8 ACA30004 */ sw $v1, 4($a1) -/* C41FC 8012DAFC AE020000 */ sw $v0, ($s0) -/* C4200 8012DB00 24820010 */ addiu $v0, $a0, 0x10 -/* C4204 8012DB04 AC860000 */ sw $a2, ($a0) -/* C4208 8012DB08 AC9E0004 */ sw $fp, 4($a0) -/* C420C 8012DB0C AE020000 */ sw $v0, ($s0) -/* C4210 8012DB10 AC880008 */ sw $t0, 8($a0) -/* C4214 8012DB14 AC87000C */ sw $a3, 0xc($a0) -.L8012DB18: -/* C4218 8012DB18 8FBF0084 */ lw $ra, 0x84($sp) -/* C421C 8012DB1C 8FBE0080 */ lw $fp, 0x80($sp) -/* C4220 8012DB20 8FB7007C */ lw $s7, 0x7c($sp) -/* C4224 8012DB24 8FB60078 */ lw $s6, 0x78($sp) -/* C4228 8012DB28 8FB50074 */ lw $s5, 0x74($sp) -/* C422C 8012DB2C 8FB40070 */ lw $s4, 0x70($sp) -/* C4230 8012DB30 8FB3006C */ lw $s3, 0x6c($sp) -/* C4234 8012DB34 8FB20068 */ lw $s2, 0x68($sp) -/* C4238 8012DB38 8FB10064 */ lw $s1, 0x64($sp) -/* C423C 8012DB3C 8FB00060 */ lw $s0, 0x60($sp) -/* C4240 8012DB40 D7BA00A0 */ ldc1 $f26, 0xa0($sp) -/* C4244 8012DB44 D7B80098 */ ldc1 $f24, 0x98($sp) -/* C4248 8012DB48 D7B60090 */ ldc1 $f22, 0x90($sp) -/* C424C 8012DB4C D7B40088 */ ldc1 $f20, 0x88($sp) -/* C4250 8012DB50 03E00008 */ jr $ra -/* C4254 8012DB54 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/ver/us/asm/nonmatchings/msg/msg_update_rewind_arrow.s b/ver/us/asm/nonmatchings/msg/msg_update_rewind_arrow.s deleted file mode 100644 index 770e2c1ca5..0000000000 --- a/ver/us/asm/nonmatchings/msg/msg_update_rewind_arrow.s +++ /dev/null @@ -1,487 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_801506F8 -.word .L80126874_BCF74, .L80126884_BCF84, .L801268D8_BCFD8, .L80126900_BD000, .L8012698C_BD08C, 0 - -dlabel D_80150710 -.double 0.2 - -.section .text - -glabel msg_update_rewind_arrow -/* BCE90 80126790 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* BCE94 80126794 F7BA00D8 */ sdc1 $f26, 0xd8($sp) -/* BCE98 80126798 4480D000 */ mtc1 $zero, $f26 -/* BCE9C 8012679C F7BC00E0 */ sdc1 $f28, 0xe0($sp) -/* BCEA0 801267A0 3C013F80 */ lui $at, 0x3f80 -/* BCEA4 801267A4 4481E000 */ mtc1 $at, $f28 -/* BCEA8 801267A8 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* BCEAC 801267AC 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* BCEB0 801267B0 F7B600C8 */ sdc1 $f22, 0xc8($sp) -/* BCEB4 801267B4 3C01437F */ lui $at, 0x437f -/* BCEB8 801267B8 4481B000 */ mtc1 $at, $f22 -/* BCEBC 801267BC 3C02E700 */ lui $v0, 0xe700 -/* BCEC0 801267C0 AFBF00B8 */ sw $ra, 0xb8($sp) -/* BCEC4 801267C4 AFB700B4 */ sw $s7, 0xb4($sp) -/* BCEC8 801267C8 AFB600B0 */ sw $s6, 0xb0($sp) -/* BCECC 801267CC AFB500AC */ sw $s5, 0xac($sp) -/* BCED0 801267D0 AFB400A8 */ sw $s4, 0xa8($sp) -/* BCED4 801267D4 AFB300A4 */ sw $s3, 0xa4($sp) -/* BCED8 801267D8 AFB200A0 */ sw $s2, 0xa0($sp) -/* BCEDC 801267DC AFB1009C */ sw $s1, 0x9c($sp) -/* BCEE0 801267E0 AFB00098 */ sw $s0, 0x98($sp) -/* BCEE4 801267E4 F7B800D0 */ sdc1 $f24, 0xd0($sp) -/* BCEE8 801267E8 F7B400C0 */ sdc1 $f20, 0xc0($sp) -/* BCEEC 801267EC 8CA30000 */ lw $v1, ($a1) -/* BCEF0 801267F0 4600B606 */ mov.s $f24, $f22 -/* BCEF4 801267F4 0060302D */ daddu $a2, $v1, $zero -/* BCEF8 801267F8 24630008 */ addiu $v1, $v1, 8 -/* BCEFC 801267FC ACA30000 */ sw $v1, ($a1) -/* BCF00 80126800 ACC20000 */ sw $v0, ($a2) -/* BCF04 80126804 24620008 */ addiu $v0, $v1, 8 -/* BCF08 80126808 ACC00004 */ sw $zero, 4($a2) -/* BCF0C 8012680C ACA20000 */ sw $v0, ($a1) -/* BCF10 80126810 3C02DE00 */ lui $v0, 0xde00 -/* BCF14 80126814 AC620000 */ sw $v0, ($v1) -/* BCF18 80126818 3C028015 */ lui $v0, %hi(D_8014C2D8) -/* BCF1C 8012681C 2442C2D8 */ addiu $v0, $v0, %lo(D_8014C2D8) -/* BCF20 80126820 3C058015 */ lui $a1, %hi(gMessagePrinters) -/* BCF24 80126824 24A54C30 */ addiu $a1, $a1, %lo(gMessagePrinters) -/* BCF28 80126828 AC620004 */ sw $v0, 4($v1) -/* BCF2C 8012682C 00041080 */ sll $v0, $a0, 2 -/* BCF30 80126830 00441021 */ addu $v0, $v0, $a0 -/* BCF34 80126834 00021080 */ sll $v0, $v0, 2 -/* BCF38 80126838 00441023 */ subu $v0, $v0, $a0 -/* BCF3C 8012683C 000218C0 */ sll $v1, $v0, 3 -/* BCF40 80126840 00431021 */ addu $v0, $v0, $v1 -/* BCF44 80126844 000210C0 */ sll $v0, $v0, 3 -/* BCF48 80126848 00458821 */ addu $s1, $v0, $a1 -/* BCF4C 8012684C 9223047C */ lbu $v1, 0x47c($s1) -/* BCF50 80126850 2C620005 */ sltiu $v0, $v1, 5 -/* BCF54 80126854 10400071 */ beqz $v0, .L80126A1C -/* BCF58 80126858 4600B106 */ mov.s $f4, $f22 -/* BCF5C 8012685C 00031080 */ sll $v0, $v1, 2 -/* BCF60 80126860 3C018015 */ lui $at, %hi(jtbl_801506F8) -/* BCF64 80126864 00220821 */ addu $at, $at, $v0 -/* BCF68 80126868 8C2206F8 */ lw $v0, %lo(jtbl_801506F8)($at) -/* BCF6C 8012686C 00400008 */ jr $v0 -/* BCF70 80126870 00000000 */ nop -.L80126874_BCF74: -/* BCF74 80126874 24020001 */ addiu $v0, $zero, 1 -/* BCF78 80126878 A620047E */ sh $zero, 0x47e($s1) -/* BCF7C 8012687C A6200480 */ sh $zero, 0x480($s1) -/* BCF80 80126880 A222047C */ sb $v0, 0x47c($s1) -.L80126884_BCF84: -/* BCF84 80126884 8622047E */ lh $v0, 0x47e($s1) -/* BCF88 80126888 3C018015 */ lui $at, %hi(D_80150710) -/* BCF8C 8012688C D4220710 */ ldc1 $f2, %lo(D_80150710)($at) -/* BCF90 80126890 44820000 */ mtc1 $v0, $f0 -/* BCF94 80126894 00000000 */ nop -/* BCF98 80126898 46800020 */ cvt.s.w $f0, $f0 -/* BCF9C 8012689C 46000021 */ cvt.d.s $f0, $f0 -/* BCFA0 801268A0 46220002 */ mul.d $f0, $f0, $f2 -/* BCFA4 801268A4 00000000 */ nop -/* BCFA8 801268A8 9622047E */ lhu $v0, 0x47e($s1) -/* BCFAC 801268AC 3C013FE0 */ lui $at, 0x3fe0 -/* BCFB0 801268B0 44811800 */ mtc1 $at, $f3 -/* BCFB4 801268B4 44801000 */ mtc1 $zero, $f2 -/* BCFB8 801268B8 24420001 */ addiu $v0, $v0, 1 -/* BCFBC 801268BC A622047E */ sh $v0, 0x47e($s1) -/* BCFC0 801268C0 00021400 */ sll $v0, $v0, 0x10 -/* BCFC4 801268C4 46220000 */ add.d $f0, $f0, $f2 -/* BCFC8 801268C8 00021403 */ sra $v0, $v0, 0x10 -/* BCFCC 801268CC 28420004 */ slti $v0, $v0, 4 -/* BCFD0 801268D0 08049A83 */ j .L80126A0C -/* BCFD4 801268D4 46200720 */ cvt.s.d $f28, $f0 -.L801268D8_BCFD8: -/* BCFD8 801268D8 9622047E */ lhu $v0, 0x47e($s1) -/* BCFDC 801268DC 24420001 */ addiu $v0, $v0, 1 -/* BCFE0 801268E0 A622047E */ sh $v0, 0x47e($s1) -/* BCFE4 801268E4 00021400 */ sll $v0, $v0, 0x10 -/* BCFE8 801268E8 00021403 */ sra $v0, $v0, 0x10 -/* BCFEC 801268EC 28420019 */ slti $v0, $v0, 0x19 -/* BCFF0 801268F0 1440004A */ bnez $v0, .L80126A1C -/* BCFF4 801268F4 24020003 */ addiu $v0, $zero, 3 -/* BCFF8 801268F8 08049A86 */ j .L80126A18 -/* BCFFC 801268FC A620047E */ sh $zero, 0x47e($s1) -.L80126900_BD000: -/* BD000 80126900 0000202D */ daddu $a0, $zero, $zero -/* BD004 80126904 8627047E */ lh $a3, 0x47e($s1) -/* BD008 80126908 3C01437F */ lui $at, 0x437f -/* BD00C 8012690C 4481A000 */ mtc1 $at, $f20 -/* BD010 80126910 3C014360 */ lui $at, 0x4360 -/* BD014 80126914 4481B000 */ mtc1 $at, $f22 -/* BD018 80126918 4405A000 */ mfc1 $a1, $f20 -/* BD01C 8012691C 4406B000 */ mfc1 $a2, $f22 -/* BD020 80126920 2410000F */ addiu $s0, $zero, 0xf -/* BD024 80126924 0C00A8ED */ jal update_lerp -/* BD028 80126928 AFB00010 */ sw $s0, 0x10($sp) -/* BD02C 8012692C 46000606 */ mov.s $f24, $f0 -/* BD030 80126930 4405A000 */ mfc1 $a1, $f20 -/* BD034 80126934 4406B000 */ mfc1 $a2, $f22 -/* BD038 80126938 8627047E */ lh $a3, 0x47e($s1) -/* BD03C 8012693C 0000202D */ daddu $a0, $zero, $zero -/* BD040 80126940 0C00A8ED */ jal update_lerp -/* BD044 80126944 AFB00010 */ sw $s0, 0x10($sp) -/* BD048 80126948 46000586 */ mov.s $f22, $f0 -/* BD04C 8012694C 4405A000 */ mfc1 $a1, $f20 -/* BD050 80126950 3C064350 */ lui $a2, 0x4350 -/* BD054 80126954 8627047E */ lh $a3, 0x47e($s1) -/* BD058 80126958 0000202D */ daddu $a0, $zero, $zero -/* BD05C 8012695C 0C00A8ED */ jal update_lerp -/* BD060 80126960 AFB00010 */ sw $s0, 0x10($sp) -/* BD064 80126964 9622047E */ lhu $v0, 0x47e($s1) -/* BD068 80126968 24420001 */ addiu $v0, $v0, 1 -/* BD06C 8012696C A622047E */ sh $v0, 0x47e($s1) -/* BD070 80126970 00021400 */ sll $v0, $v0, 0x10 -/* BD074 80126974 00021403 */ sra $v0, $v0, 0x10 -/* BD078 80126978 0050102A */ slt $v0, $v0, $s0 -/* BD07C 8012697C 14400027 */ bnez $v0, .L80126A1C -/* BD080 80126980 46000106 */ mov.s $f4, $f0 -/* BD084 80126984 08049A85 */ j .L80126A14 -/* BD088 80126988 24020004 */ addiu $v0, $zero, 4 -.L8012698C_BD08C: -/* BD08C 8012698C 0000202D */ daddu $a0, $zero, $zero -/* BD090 80126990 8627047E */ lh $a3, 0x47e($s1) -/* BD094 80126994 3C014360 */ lui $at, 0x4360 -/* BD098 80126998 4481B000 */ mtc1 $at, $f22 -/* BD09C 8012699C 3C01437F */ lui $at, 0x437f -/* BD0A0 801269A0 4481A000 */ mtc1 $at, $f20 -/* BD0A4 801269A4 4405B000 */ mfc1 $a1, $f22 -/* BD0A8 801269A8 4406A000 */ mfc1 $a2, $f20 -/* BD0AC 801269AC 2410000F */ addiu $s0, $zero, 0xf -/* BD0B0 801269B0 0C00A8ED */ jal update_lerp -/* BD0B4 801269B4 AFB00010 */ sw $s0, 0x10($sp) -/* BD0B8 801269B8 46000606 */ mov.s $f24, $f0 -/* BD0BC 801269BC 4405B000 */ mfc1 $a1, $f22 -/* BD0C0 801269C0 4406A000 */ mfc1 $a2, $f20 -/* BD0C4 801269C4 8627047E */ lh $a3, 0x47e($s1) -/* BD0C8 801269C8 0000202D */ daddu $a0, $zero, $zero -/* BD0CC 801269CC 0C00A8ED */ jal update_lerp -/* BD0D0 801269D0 AFB00010 */ sw $s0, 0x10($sp) -/* BD0D4 801269D4 46000586 */ mov.s $f22, $f0 -/* BD0D8 801269D8 3C054350 */ lui $a1, 0x4350 -/* BD0DC 801269DC 4406A000 */ mfc1 $a2, $f20 -/* BD0E0 801269E0 8627047E */ lh $a3, 0x47e($s1) -/* BD0E4 801269E4 0000202D */ daddu $a0, $zero, $zero -/* BD0E8 801269E8 0C00A8ED */ jal update_lerp -/* BD0EC 801269EC AFB00010 */ sw $s0, 0x10($sp) -/* BD0F0 801269F0 9622047E */ lhu $v0, 0x47e($s1) -/* BD0F4 801269F4 46000106 */ mov.s $f4, $f0 -/* BD0F8 801269F8 24420001 */ addiu $v0, $v0, 1 -/* BD0FC 801269FC A622047E */ sh $v0, 0x47e($s1) -/* BD100 80126A00 00021400 */ sll $v0, $v0, 0x10 -/* BD104 80126A04 00021403 */ sra $v0, $v0, 0x10 -/* BD108 80126A08 0050102A */ slt $v0, $v0, $s0 -.L80126A0C: -/* BD10C 80126A0C 14400003 */ bnez $v0, .L80126A1C -/* BD110 80126A10 24020002 */ addiu $v0, $zero, 2 -.L80126A14: -/* BD114 80126A14 A620047E */ sh $zero, 0x47e($s1) -.L80126A18: -/* BD118 80126A18 A222047C */ sb $v0, 0x47c($s1) -.L80126A1C: -/* BD11C 80126A1C 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* BD120 80126A20 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* BD124 80126A24 8C620000 */ lw $v0, ($v1) -/* BD128 80126A28 3C014F00 */ lui $at, 0x4f00 -/* BD12C 80126A2C 44810000 */ mtc1 $at, $f0 -/* BD130 80126A30 0040202D */ daddu $a0, $v0, $zero -/* BD134 80126A34 24420008 */ addiu $v0, $v0, 8 -/* BD138 80126A38 AC620000 */ sw $v0, ($v1) -/* BD13C 80126A3C 3C02FA00 */ lui $v0, 0xfa00 -/* BD140 80126A40 AC820000 */ sw $v0, ($a0) -/* BD144 80126A44 4618003E */ c.le.s $f0, $f24 -/* BD148 80126A48 00000000 */ nop -/* BD14C 80126A4C 45010005 */ bc1t .L80126A64 -/* BD150 80126A50 24840004 */ addiu $a0, $a0, 4 -/* BD154 80126A54 4600C18D */ trunc.w.s $f6, $f24 -/* BD158 80126A58 44033000 */ mfc1 $v1, $f6 -/* BD15C 80126A5C 08049AA2 */ j .L80126A88 -/* BD160 80126A60 00032E00 */ sll $a1, $v1, 0x18 -.L80126A64: -/* BD164 80126A64 4600C001 */ sub.s $f0, $f24, $f0 -/* BD168 80126A68 3C028000 */ lui $v0, 0x8000 -/* BD16C 80126A6C 4600018D */ trunc.w.s $f6, $f0 -/* BD170 80126A70 44033000 */ mfc1 $v1, $f6 -/* BD174 80126A74 00000000 */ nop -/* BD178 80126A78 00621825 */ or $v1, $v1, $v0 -/* BD17C 80126A7C 3C014F00 */ lui $at, 0x4f00 -/* BD180 80126A80 44810000 */ mtc1 $at, $f0 -/* BD184 80126A84 00032E00 */ sll $a1, $v1, 0x18 -.L80126A88: -/* BD188 80126A88 4616003E */ c.le.s $f0, $f22 -/* BD18C 80126A8C 00000000 */ nop -/* BD190 80126A90 45030005 */ bc1tl .L80126AA8 -/* BD194 80126A94 4600B001 */ sub.s $f0, $f22, $f0 -/* BD198 80126A98 4600B18D */ trunc.w.s $f6, $f22 -/* BD19C 80126A9C 44033000 */ mfc1 $v1, $f6 -/* BD1A0 80126AA0 08049AAF */ j .L80126ABC -/* BD1A4 80126AA4 00000000 */ nop -.L80126AA8: -/* BD1A8 80126AA8 3C028000 */ lui $v0, 0x8000 -/* BD1AC 80126AAC 4600018D */ trunc.w.s $f6, $f0 -/* BD1B0 80126AB0 44033000 */ mfc1 $v1, $f6 -/* BD1B4 80126AB4 00000000 */ nop -/* BD1B8 80126AB8 00621825 */ or $v1, $v1, $v0 -.L80126ABC: -/* BD1BC 80126ABC 3C014F00 */ lui $at, 0x4f00 -/* BD1C0 80126AC0 44810000 */ mtc1 $at, $f0 -/* BD1C4 80126AC4 306200FF */ andi $v0, $v1, 0xff -/* BD1C8 80126AC8 00021400 */ sll $v0, $v0, 0x10 -/* BD1CC 80126ACC 4604003E */ c.le.s $f0, $f4 -/* BD1D0 80126AD0 00000000 */ nop -/* BD1D4 80126AD4 45010005 */ bc1t .L80126AEC -/* BD1D8 80126AD8 00A22825 */ or $a1, $a1, $v0 -/* BD1DC 80126ADC 4600218D */ trunc.w.s $f6, $f4 -/* BD1E0 80126AE0 44033000 */ mfc1 $v1, $f6 -/* BD1E4 80126AE4 08049AC2 */ j .L80126B08 -/* BD1E8 80126AE8 306200FF */ andi $v0, $v1, 0xff -.L80126AEC: -/* BD1EC 80126AEC 46002001 */ sub.s $f0, $f4, $f0 -/* BD1F0 80126AF0 3C028000 */ lui $v0, 0x8000 -/* BD1F4 80126AF4 4600018D */ trunc.w.s $f6, $f0 -/* BD1F8 80126AF8 44033000 */ mfc1 $v1, $f6 -/* BD1FC 80126AFC 00000000 */ nop -/* BD200 80126B00 00621825 */ or $v1, $v1, $v0 -/* BD204 80126B04 306200FF */ andi $v0, $v1, 0xff -.L80126B08: -/* BD208 80126B08 00021200 */ sll $v0, $v0, 8 -/* BD20C 80126B0C 00A21025 */ or $v0, $a1, $v0 -/* BD210 80126B10 344200FF */ ori $v0, $v0, 0xff -/* BD214 80126B14 AC820000 */ sw $v0, ($a0) -/* BD218 80126B18 9222047C */ lbu $v0, 0x47c($s1) -/* BD21C 80126B1C 2442FFFE */ addiu $v0, $v0, -2 -/* BD220 80126B20 2C420003 */ sltiu $v0, $v0, 3 -/* BD224 80126B24 10400010 */ beqz $v0, .L80126B68 -/* BD228 80126B28 00000000 */ nop -/* BD22C 80126B2C 0C00A4F5 */ jal cosine -/* BD230 80126B30 86240480 */ lh $a0, 0x480($s1) -/* BD234 80126B34 96230480 */ lhu $v1, 0x480($s1) -/* BD238 80126B38 3C0141F0 */ lui $at, 0x41f0 -/* BD23C 80126B3C 44811000 */ mtc1 $at, $f2 -/* BD240 80126B40 2462000F */ addiu $v0, $v1, 0xf -/* BD244 80126B44 A6220480 */ sh $v0, 0x480($s1) -/* BD248 80126B48 00021400 */ sll $v0, $v0, 0x10 -/* BD24C 80126B4C 00021403 */ sra $v0, $v0, 0x10 -/* BD250 80126B50 28420168 */ slti $v0, $v0, 0x168 -/* BD254 80126B54 46020682 */ mul.s $f26, $f0, $f2 -/* BD258 80126B58 00000000 */ nop -/* BD25C 80126B5C 14400002 */ bnez $v0, .L80126B68 -/* BD260 80126B60 2462FEA7 */ addiu $v0, $v1, -0x159 -/* BD264 80126B64 A6220480 */ sh $v0, 0x480($s1) -.L80126B68: -/* BD268 80126B68 96220482 */ lhu $v0, 0x482($s1) -/* BD26C 80126B6C 4480A000 */ mtc1 $zero, $f20 -/* BD270 80126B70 2442000C */ addiu $v0, $v0, 0xc -/* BD274 80126B74 44823000 */ mtc1 $v0, $f6 -/* BD278 80126B78 00000000 */ nop -/* BD27C 80126B7C 468031A0 */ cvt.s.w $f6, $f6 -/* BD280 80126B80 44053000 */ mfc1 $a1, $f6 -/* BD284 80126B84 96220484 */ lhu $v0, 0x484($s1) -/* BD288 80126B88 4407A000 */ mfc1 $a3, $f20 -/* BD28C 80126B8C 2442000C */ addiu $v0, $v0, 0xc -/* BD290 80126B90 00021023 */ negu $v0, $v0 -/* BD294 80126B94 44823000 */ mtc1 $v0, $f6 -/* BD298 80126B98 00000000 */ nop -/* BD29C 80126B9C 468031A0 */ cvt.s.w $f6, $f6 -/* BD2A0 80126BA0 44063000 */ mfc1 $a2, $f6 -/* BD2A4 80126BA4 0C019E40 */ jal guTranslateF -/* BD2A8 80126BA8 27A40018 */ addiu $a0, $sp, 0x18 -/* BD2AC 80126BAC 44801000 */ mtc1 $zero, $f2 -/* BD2B0 80126BB0 44801800 */ mtc1 $zero, $f3 -/* BD2B4 80126BB4 4600D021 */ cvt.d.s $f0, $f26 -/* BD2B8 80126BB8 46220032 */ c.eq.d $f0, $f2 -/* BD2BC 80126BBC 00000000 */ nop -/* BD2C0 80126BC0 4501000D */ bc1t .L80126BF8 -/* BD2C4 80126BC4 27B00058 */ addiu $s0, $sp, 0x58 -/* BD2C8 80126BC8 0200202D */ daddu $a0, $s0, $zero -/* BD2CC 80126BCC 4405D000 */ mfc1 $a1, $f26 -/* BD2D0 80126BD0 4406A000 */ mfc1 $a2, $f20 -/* BD2D4 80126BD4 3C013F80 */ lui $at, 0x3f80 -/* BD2D8 80126BD8 44810000 */ mtc1 $at, $f0 -/* BD2DC 80126BDC 00C0382D */ daddu $a3, $a2, $zero -/* BD2E0 80126BE0 0C019EC8 */ jal guRotateF -/* BD2E4 80126BE4 E7A00010 */ swc1 $f0, 0x10($sp) -/* BD2E8 80126BE8 0200202D */ daddu $a0, $s0, $zero -/* BD2EC 80126BEC 27A50018 */ addiu $a1, $sp, 0x18 -/* BD2F0 80126BF0 0C019D80 */ jal guMtxCatF -/* BD2F4 80126BF4 00A0302D */ daddu $a2, $a1, $zero -.L80126BF8: -/* BD2F8 80126BF8 3C013FF0 */ lui $at, 0x3ff0 -/* BD2FC 80126BFC 44811800 */ mtc1 $at, $f3 -/* BD300 80126C00 44801000 */ mtc1 $zero, $f2 -/* BD304 80126C04 4600E021 */ cvt.d.s $f0, $f28 -/* BD308 80126C08 46220032 */ c.eq.d $f0, $f2 -/* BD30C 80126C0C 00000000 */ nop -/* BD310 80126C10 4501000C */ bc1t .L80126C44 -/* BD314 80126C14 3C120001 */ lui $s2, 1 -/* BD318 80126C18 27B00058 */ addiu $s0, $sp, 0x58 -/* BD31C 80126C1C 0200202D */ daddu $a0, $s0, $zero -/* BD320 80126C20 4405E000 */ mfc1 $a1, $f28 -/* BD324 80126C24 3C073F80 */ lui $a3, 0x3f80 -/* BD328 80126C28 0C019DF0 */ jal guScaleF -/* BD32C 80126C2C 00A0302D */ daddu $a2, $a1, $zero -/* BD330 80126C30 0200202D */ daddu $a0, $s0, $zero -/* BD334 80126C34 27A50018 */ addiu $a1, $sp, 0x18 -/* BD338 80126C38 0C019D80 */ jal guMtxCatF -/* BD33C 80126C3C 00A0302D */ daddu $a2, $a1, $zero -/* BD340 80126C40 3C120001 */ lui $s2, 1 -.L80126C44: -/* BD344 80126C44 36521630 */ ori $s2, $s2, 0x1630 -/* BD348 80126C48 27A40018 */ addiu $a0, $sp, 0x18 -/* BD34C 80126C4C 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* BD350 80126C50 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* BD354 80126C54 3C11800A */ lui $s1, %hi(gDisplayContext) -/* BD358 80126C58 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext) -/* BD35C 80126C5C 96050000 */ lhu $a1, ($s0) -/* BD360 80126C60 8E220000 */ lw $v0, ($s1) -/* BD364 80126C64 00052980 */ sll $a1, $a1, 6 -/* BD368 80126C68 00B22821 */ addu $a1, $a1, $s2 -/* BD36C 80126C6C 0C019D40 */ jal guMtxF2L -/* BD370 80126C70 00452821 */ addu $a1, $v0, $a1 -/* BD374 80126C74 3C04DA38 */ lui $a0, 0xda38 -/* BD378 80126C78 34840002 */ ori $a0, $a0, 2 -/* BD37C 80126C7C 3C07FD10 */ lui $a3, 0xfd10 -/* BD380 80126C80 34E7000F */ ori $a3, $a3, 0xf -/* BD384 80126C84 3C09F510 */ lui $t1, 0xf510 -/* BD388 80126C88 35290800 */ ori $t1, $t1, 0x800 -/* BD38C 80126C8C 3C080701 */ lui $t0, 0x701 -/* BD390 80126C90 35080140 */ ori $t0, $t0, 0x140 -/* BD394 80126C94 3C0A0703 */ lui $t2, 0x703 -/* BD398 80126C98 354AC044 */ ori $t2, $t2, 0xc044 -/* BD39C 80126C9C 3C0B0001 */ lui $t3, 1 -/* BD3A0 80126CA0 356B0140 */ ori $t3, $t3, 0x140 -/* BD3A4 80126CA4 3C0C0003 */ lui $t4, 3 -/* BD3A8 80126CA8 358CC044 */ ori $t4, $t4, 0xc044 -/* BD3AC 80126CAC 3C0DFD88 */ lui $t5, 0xfd88 -/* BD3B0 80126CB0 35AD0007 */ ori $t5, $t5, 7 -/* BD3B4 80126CB4 3C0FF588 */ lui $t7, 0xf588 -/* BD3B8 80126CB8 35EF0300 */ ori $t7, $t7, 0x300 -/* BD3BC 80126CBC 3C0E0701 */ lui $t6, 0x701 -/* BD3C0 80126CC0 35CE4140 */ ori $t6, $t6, 0x4140 -/* BD3C4 80126CC4 3C130701 */ lui $s3, 0x701 -/* BD3C8 80126CC8 3673E048 */ ori $s3, $s3, 0xe048 -/* BD3CC 80126CCC 3C15F580 */ lui $s5, 0xf580 -/* BD3D0 80126CD0 36B50300 */ ori $s5, $s5, 0x300 -/* BD3D4 80126CD4 3C140101 */ lui $s4, 0x101 -/* BD3D8 80126CD8 36944140 */ ori $s4, $s4, 0x4140 -/* BD3DC 80126CDC 3C160103 */ lui $s6, 0x103 -/* BD3E0 80126CE0 36D6C048 */ ori $s6, $s6, 0xc048 -/* BD3E4 80126CE4 3C170100 */ lui $s7, 0x100 -/* BD3E8 80126CE8 36F74008 */ ori $s7, $s7, 0x4008 -/* BD3EC 80126CEC 3C190600 */ lui $t9, 0x600 -/* BD3F0 80126CF0 37390402 */ ori $t9, $t9, 0x402 -/* BD3F4 80126CF4 3C180002 */ lui $t8, 2 -/* BD3F8 80126CF8 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* BD3FC 80126CFC 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* BD400 80126D00 37180406 */ ori $t8, $t8, 0x406 -/* BD404 80126D04 8CA20000 */ lw $v0, ($a1) -/* BD408 80126D08 96030000 */ lhu $v1, ($s0) -/* BD40C 80126D0C 0040302D */ daddu $a2, $v0, $zero -/* BD410 80126D10 24420008 */ addiu $v0, $v0, 8 -/* BD414 80126D14 ACA20000 */ sw $v0, ($a1) -/* BD418 80126D18 ACC40000 */ sw $a0, ($a2) -/* BD41C 80126D1C 24640001 */ addiu $a0, $v1, 1 -/* BD420 80126D20 3063FFFF */ andi $v1, $v1, 0xffff -/* BD424 80126D24 00031980 */ sll $v1, $v1, 6 -/* BD428 80126D28 A6040000 */ sh $a0, ($s0) -/* BD42C 80126D2C 8E240000 */ lw $a0, ($s1) -/* BD430 80126D30 00721821 */ addu $v1, $v1, $s2 -/* BD434 80126D34 00832021 */ addu $a0, $a0, $v1 -/* BD438 80126D38 3C038000 */ lui $v1, 0x8000 -/* BD43C 80126D3C 00832021 */ addu $a0, $a0, $v1 -/* BD440 80126D40 24430008 */ addiu $v1, $v0, 8 -/* BD444 80126D44 ACC40004 */ sw $a0, 4($a2) -/* BD448 80126D48 ACA30000 */ sw $v1, ($a1) -/* BD44C 80126D4C 3C03802F */ lui $v1, %hi(D_802ED690) -/* BD450 80126D50 2463D690 */ addiu $v1, $v1, %lo(D_802ED690) -/* BD454 80126D54 AC430004 */ sw $v1, 4($v0) -/* BD458 80126D58 24430010 */ addiu $v1, $v0, 0x10 -/* BD45C 80126D5C AC470000 */ sw $a3, ($v0) -/* BD460 80126D60 ACA30000 */ sw $v1, ($a1) -/* BD464 80126D64 24430018 */ addiu $v1, $v0, 0x18 -/* BD468 80126D68 AC48000C */ sw $t0, 0xc($v0) -/* BD46C 80126D6C 3C08E600 */ lui $t0, 0xe600 -/* BD470 80126D70 AC490008 */ sw $t1, 8($v0) -/* BD474 80126D74 ACA30000 */ sw $v1, ($a1) -/* BD478 80126D78 24430020 */ addiu $v1, $v0, 0x20 -/* BD47C 80126D7C 3C07F400 */ lui $a3, 0xf400 -/* BD480 80126D80 AC480010 */ sw $t0, 0x10($v0) -/* BD484 80126D84 AC400014 */ sw $zero, 0x14($v0) -/* BD488 80126D88 ACA30000 */ sw $v1, ($a1) -/* BD48C 80126D8C 24430028 */ addiu $v1, $v0, 0x28 -/* BD490 80126D90 3C06E700 */ lui $a2, 0xe700 -/* BD494 80126D94 AC470018 */ sw $a3, 0x18($v0) -/* BD498 80126D98 AC4A001C */ sw $t2, 0x1c($v0) -/* BD49C 80126D9C ACA30000 */ sw $v1, ($a1) -/* BD4A0 80126DA0 24430030 */ addiu $v1, $v0, 0x30 -/* BD4A4 80126DA4 AC460020 */ sw $a2, 0x20($v0) -/* BD4A8 80126DA8 AC400024 */ sw $zero, 0x24($v0) -/* BD4AC 80126DAC ACA30000 */ sw $v1, ($a1) -/* BD4B0 80126DB0 24430038 */ addiu $v1, $v0, 0x38 -/* BD4B4 80126DB4 3C04F200 */ lui $a0, 0xf200 -/* BD4B8 80126DB8 AC490028 */ sw $t1, 0x28($v0) -/* BD4BC 80126DBC AC4B002C */ sw $t3, 0x2c($v0) -/* BD4C0 80126DC0 ACA30000 */ sw $v1, ($a1) -/* BD4C4 80126DC4 24430040 */ addiu $v1, $v0, 0x40 -/* BD4C8 80126DC8 AC440030 */ sw $a0, 0x30($v0) -/* BD4CC 80126DCC AC4C0034 */ sw $t4, 0x34($v0) -/* BD4D0 80126DD0 ACA30000 */ sw $v1, ($a1) -/* BD4D4 80126DD4 3C03802F */ lui $v1, %hi(D_802ED8D0) -/* BD4D8 80126DD8 2463D8D0 */ addiu $v1, $v1, %lo(D_802ED8D0) -/* BD4DC 80126DDC AC43003C */ sw $v1, 0x3c($v0) -/* BD4E0 80126DE0 24430048 */ addiu $v1, $v0, 0x48 -/* BD4E4 80126DE4 AC4D0038 */ sw $t5, 0x38($v0) -/* BD4E8 80126DE8 ACA30000 */ sw $v1, ($a1) -/* BD4EC 80126DEC 24430050 */ addiu $v1, $v0, 0x50 -/* BD4F0 80126DF0 AC4F0040 */ sw $t7, 0x40($v0) -/* BD4F4 80126DF4 AC4E0044 */ sw $t6, 0x44($v0) -/* BD4F8 80126DF8 ACA30000 */ sw $v1, ($a1) -/* BD4FC 80126DFC 24430058 */ addiu $v1, $v0, 0x58 -/* BD500 80126E00 AC480048 */ sw $t0, 0x48($v0) -/* BD504 80126E04 AC40004C */ sw $zero, 0x4c($v0) -/* BD508 80126E08 ACA30000 */ sw $v1, ($a1) -/* BD50C 80126E0C 24430060 */ addiu $v1, $v0, 0x60 -/* BD510 80126E10 AC470050 */ sw $a3, 0x50($v0) -/* BD514 80126E14 AC530054 */ sw $s3, 0x54($v0) -/* BD518 80126E18 ACA30000 */ sw $v1, ($a1) -/* BD51C 80126E1C 24430068 */ addiu $v1, $v0, 0x68 -/* BD520 80126E20 AC460058 */ sw $a2, 0x58($v0) -/* BD524 80126E24 AC40005C */ sw $zero, 0x5c($v0) -/* BD528 80126E28 ACA30000 */ sw $v1, ($a1) -/* BD52C 80126E2C 24430070 */ addiu $v1, $v0, 0x70 -/* BD530 80126E30 AC550060 */ sw $s5, 0x60($v0) -/* BD534 80126E34 AC540064 */ sw $s4, 0x64($v0) -/* BD538 80126E38 ACA30000 */ sw $v1, ($a1) -/* BD53C 80126E3C 24430078 */ addiu $v1, $v0, 0x78 -/* BD540 80126E40 AC440068 */ sw $a0, 0x68($v0) -/* BD544 80126E44 AC56006C */ sw $s6, 0x6c($v0) -/* BD548 80126E48 ACA30000 */ sw $v1, ($a1) -/* BD54C 80126E4C 3C038015 */ lui $v1, %hi(D_8014C298) -/* BD550 80126E50 2463C298 */ addiu $v1, $v1, %lo(D_8014C298) -/* BD554 80126E54 AC430074 */ sw $v1, 0x74($v0) -/* BD558 80126E58 24430080 */ addiu $v1, $v0, 0x80 -/* BD55C 80126E5C AC570070 */ sw $s7, 0x70($v0) -/* BD560 80126E60 ACA30000 */ sw $v1, ($a1) -/* BD564 80126E64 AC590078 */ sw $t9, 0x78($v0) -/* BD568 80126E68 AC58007C */ sw $t8, 0x7c($v0) -/* BD56C 80126E6C 8FBF00B8 */ lw $ra, 0xb8($sp) -/* BD570 80126E70 8FB700B4 */ lw $s7, 0xb4($sp) -/* BD574 80126E74 8FB600B0 */ lw $s6, 0xb0($sp) -/* BD578 80126E78 8FB500AC */ lw $s5, 0xac($sp) -/* BD57C 80126E7C 8FB400A8 */ lw $s4, 0xa8($sp) -/* BD580 80126E80 8FB300A4 */ lw $s3, 0xa4($sp) -/* BD584 80126E84 8FB200A0 */ lw $s2, 0xa0($sp) -/* BD588 80126E88 8FB1009C */ lw $s1, 0x9c($sp) -/* BD58C 80126E8C 8FB00098 */ lw $s0, 0x98($sp) -/* BD590 80126E90 D7BC00E0 */ ldc1 $f28, 0xe0($sp) -/* BD594 80126E94 D7BA00D8 */ ldc1 $f26, 0xd8($sp) -/* BD598 80126E98 D7B800D0 */ ldc1 $f24, 0xd0($sp) -/* BD59C 80126E9C D7B600C8 */ ldc1 $f22, 0xc8($sp) -/* BD5A0 80126EA0 D7B400C0 */ ldc1 $f20, 0xc0($sp) -/* BD5A4 80126EA4 03E00008 */ jr $ra -/* BD5A8 80126EA8 27BD00E8 */ addiu $sp, $sp, 0xe8 diff --git a/ver/us/asm/nonmatchings/msg/set_message_msg.s b/ver/us/asm/nonmatchings/msg/set_message_msg.s deleted file mode 100644 index 68a81a813a..0000000000 --- a/ver/us/asm/nonmatchings/msg/set_message_msg.s +++ /dev/null @@ -1,51 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel set_message_msg -/* BC23C 80125B3C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BC240 80125B40 AFB00010 */ sw $s0, 0x10($sp) -/* BC244 80125B44 0080802D */ daddu $s0, $a0, $zero -/* BC248 80125B48 AFB20018 */ sw $s2, 0x18($sp) -/* BC24C 80125B4C 00A0902D */ daddu $s2, $a1, $zero -/* BC250 80125B50 AFB10014 */ sw $s1, 0x14($sp) -/* BC254 80125B54 0000882D */ daddu $s1, $zero, $zero -/* BC258 80125B58 06000008 */ bltz $s0, .L80125B7C -/* BC25C 80125B5C AFBF001C */ sw $ra, 0x1c($sp) -/* BC260 80125B60 0C00AB0A */ jal general_heap_malloc -/* BC264 80125B64 24040400 */ addiu $a0, $zero, 0x400 -/* BC268 80125B68 0040882D */ daddu $s1, $v0, $zero -/* BC26C 80125B6C 0200202D */ daddu $a0, $s0, $zero -/* BC270 80125B70 0C049601 */ jal dma_load_msg -/* BC274 80125B74 0220282D */ daddu $a1, $s1, $zero -/* BC278 80125B78 0220802D */ daddu $s0, $s1, $zero -.L80125B7C: -/* BC27C 80125B7C 0000282D */ daddu $a1, $zero, $zero -/* BC280 80125B80 240600FD */ addiu $a2, $zero, 0xfd -/* BC284 80125B84 3C038015 */ lui $v1, %hi(gMessageMsgVars) -/* BC288 80125B88 24635C38 */ addiu $v1, $v1, %lo(gMessageMsgVars) -/* BC28C 80125B8C 00121140 */ sll $v0, $s2, 5 -/* BC290 80125B90 00432021 */ addu $a0, $v0, $v1 -.L80125B94: -/* BC294 80125B94 02051021 */ addu $v0, $s0, $a1 -/* BC298 80125B98 90430000 */ lbu $v1, ($v0) -/* BC29C 80125B9C A0830000 */ sb $v1, ($a0) -/* BC2A0 80125BA0 90420000 */ lbu $v0, ($v0) -/* BC2A4 80125BA4 10460006 */ beq $v0, $a2, .L80125BC0 -/* BC2A8 80125BA8 00000000 */ nop -/* BC2AC 80125BAC 24A50001 */ addiu $a1, $a1, 1 -/* BC2B0 80125BB0 28A20020 */ slti $v0, $a1, 0x20 -/* BC2B4 80125BB4 1440FFF7 */ bnez $v0, .L80125B94 -/* BC2B8 80125BB8 24840001 */ addiu $a0, $a0, 1 -/* BC2BC 80125BBC A086FFFF */ sb $a2, -1($a0) -.L80125BC0: -/* BC2C0 80125BC0 12200003 */ beqz $s1, .L80125BD0 -/* BC2C4 80125BC4 00000000 */ nop -/* BC2C8 80125BC8 0C00AB1E */ jal general_heap_free -/* BC2CC 80125BCC 0220202D */ daddu $a0, $s1, $zero -.L80125BD0: -/* BC2D0 80125BD0 8FBF001C */ lw $ra, 0x1c($sp) -/* BC2D4 80125BD4 8FB20018 */ lw $s2, 0x18($sp) -/* BC2D8 80125BD8 8FB10014 */ lw $s1, 0x14($sp) -/* BC2DC 80125BDC 8FB00010 */ lw $s0, 0x10($sp) -/* BC2E0 80125BE0 03E00008 */ jr $ra -/* BC2E4 80125BE4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 80ae6df1a9..d84904125b 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -937,13 +937,91 @@ segments: - [0x10C780, .data, entity/BlueWarpPipe] - [0x10C830, .data, entity/Signpost] - [0x10C880] - - name: font_width - type: code + - type: code + name: font_width start: 0x10CC10 vram: 0x802EB3D0 - follows_vram: entity subsegments: - - [0x10CC10, data] # font width data + - [0x10CC10, c, msg_data] + - [0x10CC10, c, msg_data_2] + - [0x10CC10, .data, msg_data] + - start: 0x10CE00 + type: .data + name: msg_data_2 + subsegments: + - [0x10CE00] + - [0x10CEB0, ci4, ui/msg/bubble_left, 32, 64, ui/msg/bubble_left] + - [0x10D2B0, ci4, ui/msg/bubble_mid, 8, 64, ui/msg/bubble_left] + - [0x10D3B0, ci4, ui/msg/bubble_right, 32, 64, ui/msg/bubble_left] + - [0x10D7B0, ci4, ui/msg/arrow, 16, 16, ui/msg/bubble_left] + - [0x10D830, ci4, ui/msg/frame_part_0, 8, 8, ui/msg/bubble_left] + - [0x10D850, ci4, ui/msg/frame_part_1, 8, 8, ui/msg/bubble_left] + - [0x10D870, ci4, ui/msg/frame_part_2, 8, 8, ui/msg/bubble_left] + - [0x10D890, ci4, ui/msg/frame_part_3, 8, 8, ui/msg/bubble_left] + - [0x10D8B0, ci4, ui/msg/frame_part_4, 8, 8, ui/msg/bubble_left] + - [0x10D8D0, ci4, ui/msg/frame_part_5, 8, 8, ui/msg/bubble_left] + - [0x10D8F0, ci4, ui/msg/frame_part_6, 8, 8, ui/msg/bubble_left] + - [0x10D910, ci4, ui/msg/frame_part_7, 8, 8, ui/msg/bubble_left] + - [0x10D930, ci4, ui/msg/frame_part_8, 8, 8, ui/msg/bubble_left] + - [0x10D950, ci4, ui/msg/frame_part_9, 8, 8, ui/msg/bubble_left] + - [0x10D970, ci4, ui/msg/frame_part_A, 8, 8, ui/msg/bubble_left] + - [0x10D990, ci4, ui/msg/frame_part_B, 8, 8, ui/msg/bubble_left] + - [0x10D9B0, ci4, ui/msg/frame_part_C, 8, 8, ui/msg/bubble_left] + - [0x10D9D0, ci4, ui/msg/frame_part_D, 8, 8, ui/msg/bubble_left] + - [0x10D9F0, ci4, ui/msg/frame_part_E, 8, 8, ui/msg/bubble_left] + - [0x10DA10, ci4, ui/msg/frame_part_F, 8, 8, ui/msg/bubble_left] + - [0x10DA30, ci4, ui/msg/frame_part_10, 8, 8, ui/msg/bubble_left] + - [0x10DA50, ci4, ui/msg/frame_part_11, 8, 8, ui/msg/bubble_left] + - [0x10DA70, ci4, ui/msg/frame_part_12, 8, 8, ui/msg/bubble_left] + - [0x10DA90, ci4, ui/msg/frame_part_13, 8, 8, ui/msg/bubble_left] + - [0x10DAB0, ci4, ui/msg/frame_part_14, 8, 8, ui/msg/bubble_left] + - [0x10DAD0, ci4, ui/msg/frame_part_15, 8, 8, ui/msg/bubble_left] + - [0x10DAF0, ci4, ui/msg/frame_part_16, 8, 8, ui/msg/bubble_left] + - [0x10DB10, ci4, ui/msg/frame_part_17, 8, 8, ui/msg/bubble_left] + - [0x10DB30, ci4, ui/msg/frame_part_18, 8, 8, ui/msg/bubble_left] + - [0x10DB50, ci4, ui/msg/frame_part_19, 8, 8, ui/msg/bubble_left] + - [0x10DB70, ci4, ui/msg/frame_part_1A, 8, 8, ui/msg/bubble_left] + - [0x10DB90, ci4, ui/msg/frame_part_1B, 8, 8, ui/msg/bubble_left] + - [0x10DBB0, ci4, ui/msg/frame_part_1C, 8, 8, ui/msg/bubble_left] + - [0x10DBD0, ci4, ui/msg/frame_part_1D, 8, 8, ui/msg/bubble_left] + - [0x10DBF0, ci4, ui/msg/frame_part_1E, 8, 8, ui/msg/bubble_left] + - [0x10DC10, ci4, ui/msg/frame_part_1F, 8, 8, ui/msg/bubble_left] + # all 16 following palettes can be applied to all images above + - [0x10DC30, palette, ui/msg/bubble_left] + #- [0x10DC30, palette, ui/msg/palette_0] + #- [0x10DC50, palette, ui/msg/palette_1] + #- [0x10DC70, palette, ui/msg/palette_2] + #- [0x10DC90, palette, ui/msg/palette_3] + #- [0x10DCB0, palette, ui/msg/palette_4] + #- [0x10DCD0, palette, ui/msg/palette_5] + #- [0x10DCF0, palette, ui/msg/palette_6] + #- [0x10DD10, palette, ui/msg/palette_7] + #- [0x10DD30, palette, ui/msg/palette_8] + #- [0x10DD50, palette, ui/msg/palette_9] + #- [0x10DD70, palette, ui/msg/palette_A] + #- [0x10DD90, palette, ui/msg/palette_B] + #- [0x10DDB0, palette, ui/msg/palette_C] + #- [0x10DDD0, palette, ui/msg/palette_D] + #- [0x10DDF0, palette, ui/msg/palette_E] + #- [0x10DE10, palette, ui/msg/palette_F] + - [0x10DE30, ci4, ui/msg/sign_corner_topleft, 16, 16, ui/msg/sign_corner_topleft] + - [0x10DEB0, ci4, ui/msg/sign_corner_topright, 16, 16, ui/msg/sign_corner_topleft] + - [0x10DF30, ci4, ui/msg/sign_corner_bottomleft, 16, 16, ui/msg/sign_corner_topleft] + - [0x10DFB0, ci4, ui/msg/sign_corner_bottomright, 16, 16, ui/msg/sign_corner_topleft] + - [0x10E030, ci4, ui/msg/lamppost_corner_bottomright, 16, 16, ui/msg/lamppost_corner_bottomright] + - [0x10E0B0, ci4, ui/msg/sign_side_top, 32, 16, ui/msg/sign_corner_topleft] + - [0x10E1B0, ci4, ui/msg/sign_side_left, 16, 40, ui/msg/sign_corner_topleft] + - [0x10E2F0, ci4, ui/msg/sign_side_right, 16, 40, ui/msg/sign_corner_topleft] + - [0x10E430, ci4, ui/msg/sign_side_bottom, 32, 16, ui/msg/sign_corner_topleft] + - [0x10E530, ci4, ui/msg/sign_fill, 8, 8, ui/msg/sign_corner_topleft] + # these two palettes can be applied to all sign and lamppost frame images + - [0x10E550, palette, ui/msg/sign_corner_topleft] + - [0x10E570, palette, ui/msg/lamppost_corner_bottomright] + - [0x10E590, i4, ui/msg/background, 64, 64] + - [0x10ED90, ci4, ui/msg/rewind_arrow, 24, 24] + - [0x10EEB0, palette, ui/msg/rewind_arrow] + - [0x10EED0, rgba16, ui/msg/star, 16, 18] + - [0x10F110, i4, ui/msg/star_silhouette, 16, 20] - type: group dir: charset vram: 0 @@ -960,10 +1038,35 @@ segments: - [0x116498, linker_offset, credits_pal] - [0x116498, pm_charset_palettes, subtitle, 1] - [0x1164A8, pm_charset_palettes, title, 1] - - [0x1164B8, ci8, peach_letter, 150, 105] - - [0x11A23E, bin] # padding (needed atm, will fix when added to c file) - - [0x11A240, palette, peach_letter] - - [0x11A440, bin] + - [0x1164B8, ci8, peach_letter, 150, 105] + - [0x11A240, palette, peach_letter] + - [0x11A440, ci4, postcard, 150, 105] + - [0x11C308, palette, postcard] + - [0x11C328, ci8, letter_content_1, 70, 95] + - [0x11DD28, palette, letter_content_1] + - [0x11DF28, ci8, letter_content_2, 70, 95] + - [0x11F928, palette, letter_content_2] + - [0x11FB28, ci8, letter_content_3, 70, 95] + - [0x121528, palette, letter_content_3] + - [0x121728, ci8, letter_content_4, 70, 95] + - [0x123128, palette, letter_content_4] + - [0x123328, ci8, letter_content_5, 70, 95] + - [0x124D28, palette, letter_content_5] + - [0x124F28, ci8, letter_content_6, 70, 95] + - [0x126928, palette, letter_content_6] + - [0x126B28, ci8, letter_content_7, 70, 95] + - [0x128528, palette, letter_content_7] + - [0x128728, ci8, letter_content_8, 70, 95] + - [0x12A128, palette, letter_content_8] + - [0x12A328, ci8, letter_content_9, 70, 95] + - [0x12BD28, palette, letter_content_9] + - [0x12BF28, ci8, letter_content_10, 70, 95] + - [0x12D928, palette, letter_content_10] + - [0x12DB28, ci8, letter_content_11, 70, 95] + - [0x12F528, palette, letter_content_11] + - [0x12F728, ci8, letter_content_12, 70, 95] + - [0x131128, palette, letter_content_12] + - [0x131328, bin] # length 0x18, non zero - name: ui_images type: code start: 0x131340 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 404f271233..2dc3df7be9 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -4605,15 +4605,15 @@ D_8014C280 = 0x8014C280; // type:data rom:0xE2980 MessagePlural = 0x8014C290; // type:data rom:0xE2990 MessageSingular = 0x8014C294; // type:data rom:0xE2994 gNextMessageBuffer = 0x8014C296; // type:data rom:0xE2996 -D_8014C298 = 0x8014C298; // type:data rom:0xE2998 +gRewindArrowQuad = 0x8014C298; // type:data rom:0xE2998 D_8014C2D8 = 0x8014C2D8; // type:data rom:0xE29D8 gMsgNumbers = 0x8014C340; // type:data rom:0xE2A40 -D_8014C368 = 0x8014C368; // type:data rom:0xE2A68 +gMsgDlistInitDrawNumber = 0x8014C368; // type:data rom:0xE2A68 gMsgSpeechBoxLQuad = 0x8014C3C0; // type:data rom:0xE2AC0 gMsgSpeechBoxMQuad = 0x8014C400; // type:data rom:0xE2B00 gMsgSpeechBoxRQuad = 0x8014C440; // type:data rom:0xE2B40 -gMsgUnkArrowQuad = 0x8014C480; // type:data rom:0xE2B80 -gMsgUnkQuad = 0x8014C4C0; // type:data rom:0xE2BC0 +gMsgArrowQuad1 = 0x8014C480; // type:data rom:0xE2B80 +gMsgArrowQuad2 = 0x8014C4C0; // type:data rom:0xE2BC0 D_8014C500 = 0x8014C500; // type:data rom:0xE2C00 D_8014C580 = 0x8014C580; // type:data rom:0xE2C80 D_8014C588 = 0x8014C588; // type:data rom:0xE2C88 @@ -5932,6 +5932,60 @@ D_802EB350 = 0x802EB350; // type:data rom:0x10CBD0 D_802EB358 = 0x802EB358; // type:data rom:0x10CBD8 D_802EB360 = 0x802EB360; // type:data rom:0x10CBE0 D_802EB368 = 0x802EB368; // type:data rom:0x10CBE8 +ui_msg_bubble_left_png = 0x802EB670; +ui_msg_bubble_mid_png = 0x802EBA70; +ui_msg_bubble_right_png = 0x802EBB70; +ui_msg_arrow_png = 0x802EBF70; +ui_msg_frame_part_0_png = 0x802EBFF0; +ui_msg_frame_part_1_png = 0x802EC010; +ui_msg_frame_part_2_png = 0x802EC030; +ui_msg_frame_part_3_png = 0x802EC050; +ui_msg_frame_part_4_png = 0x802EC070; +ui_msg_frame_part_5_png = 0x802EC090; +ui_msg_frame_part_6_png = 0x802EC0B0; +ui_msg_frame_part_7_png = 0x802EC0D0; +ui_msg_frame_part_8_png = 0x802EC0F0; +ui_msg_frame_part_9_png = 0x802EC110; +ui_msg_frame_part_A_png = 0x802EC130; +ui_msg_frame_part_B_png = 0x802EC150; +ui_msg_frame_part_C_png = 0x802EC170; +ui_msg_frame_part_D_png = 0x802EC190; +ui_msg_frame_part_E_png = 0x802EC1B0; +ui_msg_frame_part_F_png = 0x802EC1D0; +ui_msg_frame_part_10_png = 0x802EC1F0; +ui_msg_frame_part_11_png = 0x802EC210; +ui_msg_frame_part_12_png = 0x802EC230; +ui_msg_frame_part_13_png = 0x802EC250; +ui_msg_frame_part_14_png = 0x802EC270; +ui_msg_frame_part_15_png = 0x802EC290; +ui_msg_frame_part_16_png = 0x802EC2B0; +ui_msg_frame_part_17_png = 0x802EC2D0; +ui_msg_frame_part_18_png = 0x802EC2F0; +ui_msg_frame_part_19_png = 0x802EC310; +ui_msg_frame_part_1A_png = 0x802EC330; +ui_msg_frame_part_1B_png = 0x802EC350; +ui_msg_frame_part_1C_png = 0x802EC370; +ui_msg_frame_part_1D_png = 0x802EC390; +ui_msg_frame_part_1E_png = 0x802EC3B0; +ui_msg_frame_part_1F_png = 0x802EC3D0; +ui_msg_palettes = 0x802EC3F0; +ui_msg_sign_corner_topleft_png = 0x802EC5F0; +ui_msg_sign_corner_topright_png = 0x802EC670; +ui_msg_sign_corner_bottomleft_png = 0x802EC6F0; +ui_msg_sign_corner_bottomright_png = 0x802EC770; +ui_msg_lamppost_corner_bottomright_png = 0x802EC7F0; +ui_msg_sign_side_top_png = 0x802EC870; +ui_msg_sign_side_left_png = 0x802EC970; +ui_msg_sign_side_right_png = 0x802ECAB0; +ui_msg_sign_side_bottom_png = 0x802ECBF0; +ui_msg_sign_fill_png = 0x802ECCF0; +ui_msg_sign_pal = 0x802ECD10; +ui_msg_lamppost_pal = 0x802ECD30; +ui_msg_background_png = 0x802ECD50; +ui_msg_rewind_arrow_png = 0x802ED550; +ui_msg_rewind_arrow_pal = 0x802ED670; +ui_msg_star_png = 0x802ED690; +ui_msg_star_silhouette_png = 0x802ED8D0; HES_UnusedBadge = 0x80241E00; // type:data rom:0x135140 HES_UnusedBadge_disabled = 0x80241E28; // type:data rom:0x135168 HES_UnusedCompass = 0x80241E50; // type:data rom:0x135190 @@ -27291,29 +27345,6 @@ D_802EB5C0 = 0x802EB5C0; // type:data D_802EB5F0 = 0x802EB5F0; // type:data D_802EB620 = 0x802EB620; // type:data D_802EB644 = 0x802EB644; // type:data -D_802EB670 = 0x802EB670; // type:data -D_802EBA70 = 0x802EBA70; // type:data -D_802EBB70 = 0x802EBB70; // type:data -D_802EBF70 = 0x802EBF70; // type:data -D_802EC3F0 = 0x802EC3F0; // type:data -D_802EC3F8 = 0x802EC3F8; // type:data -D_802EC5F0 = 0x802EC5F0; // type:data -D_802EC670 = 0x802EC670; // type:data -D_802EC6F0 = 0x802EC6F0; // type:data -D_802EC770 = 0x802EC770; // type:data -D_802EC7F0 = 0x802EC7F0; // type:data -D_802EC870 = 0x802EC870; // type:data -D_802EC970 = 0x802EC970; // type:data -D_802ECAB0 = 0x802ECAB0; // type:data -D_802ECBF0 = 0x802ECBF0; // type:data -D_802ECCF0 = 0x802ECCF0; // type:data -D_802ECD10 = 0x802ECD10; // type:data -D_802ECD30 = 0x802ECD30; // type:data -D_802ECD50 = 0x802ECD50; // type:data -D_802ED550 = 0x802ED550; // type:data -D_802ED670 = 0x802ED670; // type:data -D_802ED690 = 0x802ED690; // type:data -D_802ED8D0 = 0x802ED8D0; // type:data D_802ED970 = 0x802ED970; // type:data D_802EE8D0 = 0x802EE8D0; // type:data D_802EF0D0 = 0x802EF0D0; // type:data diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index c87c22df18..07f840c82f 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -734,11 +734,6 @@ D_802B6E90_E2A300 = 0x802B6E90; mdl_clearRenderTasks = 0x802B7E00; D_802C0000 = 0x802C0000; -D_802ED970 = 0x802ED970; -D_802EE8D0 = 0x802EE8D0; -D_802F39D0 = 0x802F39D0; -D_802F4560 = 0x802F4560; - D_80247BB8_pra_19 = 0x80247BB8; pra_01_80243178 = 0x80243178; D_802312E0_battle_area_omo2 = 0x802312E0;