diff options
-rw-r--r-- | include/link.h | 1 | ||||
-rw-r--r-- | src/scene/berry_blender.c | 493 |
2 files changed, 6 insertions, 488 deletions
diff --git a/include/link.h b/include/link.h index ecebb586a..f3e918bc6 100644 --- a/include/link.h +++ b/include/link.h @@ -196,5 +196,6 @@ void Timer3Intr(void); void SerialCB(void); void LinkTestScreen(void); void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0); +u32 sub_8007E40(void); #endif // GUARD_LINK_H diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 0799531cd..c636e245c 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -3276,493 +3276,6 @@ static void sub_8051C04(struct Sprite* sprite) gSaveBlock1.berryBlenderRecords[gBerryBlenderData->playersNo - 2] = gBerryBlenderData->max_RPM; } -#if DEBUG -__attribute__((naked)) -bool8 Blender_PrintBlendingResults(void) -{ - asm(".syntax unified\n\ -loc_8056178:\n\ - PUSH {R4-R7,LR}\n\ - MOV R7, R10\n\ - MOV R6, R9\n\ - MOV R5, R8\n\ - PUSH {R5-R7}\n\ - SUB SP, SP, #0x34\n\ - LDR R1, off_805619C\n\ - LDR R0, [R1]\n\ - LDRB R0, [R0]\n\ - ADDS R2, R1, #0\n\ - CMP R0, #6 @ switch 7 cases\n\ - BLS loc_8056192\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056192:\n\ - LSLS R0, R0, #2\n\ - LDR R1, off_80561A0\n\ - ADDS R0, R0, R1\n\ - LDR R0, [R0]\n\ - MOV PC, R0 @ switch jump\n\ -@ ---------------------------------------------------------------------------\n\ -off_805619C: .4byte gBerryBlenderData\n\ -off_80561A0: .4byte jpt_805619A\n\ -jpt_805619A: .4byte loc_80561C0 @ jump table for switch statement\n\ - .4byte loc_80561D6 @ jumptable 0805619A case 1\n\ - .4byte loc_80561F0 @ jumptable 0805619A case 2\n\ - .4byte loc_8056240 @ jumptable 0805619A case 3\n\ - .4byte loc_805645C @ jumptable 0805619A case 4\n\ - .4byte loc_8056470 @ jumptable 0805619A case 5\n\ - .4byte loc_8056538 @ jumptable 0805619A case 6\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561C0: @ jumptable 0805619A case 0\n\ - LDR R1, [R2]\n\ - LDRB R0, [R1]\n\ - ADDS R0, #1\n\ - STRB R0, [R1]\n\ - LDR R0, [R2]\n\ - MOVS R1, #0x98\n\ - LSLS R1, R1, #1\n\ - ADDS R0, R0, R1\n\ - MOVS R1, #0x11\n\ - STR R1, [R0]\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561D6: @ jumptable 0805619A case 1\n\ - LDR R1, [R2]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - LDR R0, [R2]\n\ - SUBS R0, #0xA\n\ - STR R0, [R2]\n\ - CMP R0, #0\n\ - BLT loc_80561EA\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561EA:\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561F0: @ jumptable 0805619A case 2\n\ - LDR R1, [R2]\n\ - MOVS R2, #0x98\n\ - LSLS R2, R2, #1\n\ - ADDS R1, R1, R2\n\ - LDR R0, [R1]\n\ - ADDS R0, #1\n\ - STR R0, [R1]\n\ - CMP R0, #0x14\n\ - BGT loc_8056204\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056204:\n\ - MOVS R6, #0\n\ -\n\ -loc_8056206:\n\ - LDR R4, off_8056238\n\ - LDR R0, [R4]\n\ - ADDS R0, #0x50\n\ - ADDS R0, R0, R6\n\ - LDRB R1, [R0]\n\ - LSLS R0, R1, #4\n\ - ADDS R0, R0, R1\n\ - LSLS R0, R0, #2\n\ - LDR R1, off_805623C\n\ - ADDS R0, R0, R1\n\ - BL DestroySprite\n\ - ADDS R0, R6, #1\n\ - LSLS R0, R0, #0x10\n\ - LSRS R6, R0, #0x10\n\ - CMP R6, #2\n\ - BLS loc_8056206\n\ - LDR R1, [R4]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ - .align 2, 0\n\ -off_8056238: .4byte gBerryBlenderData\n\ -off_805623C: .4byte gSprites\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056240: @ jumptable 0805619A case 3\n\ - MOVS R0, #4\n\ - MOVS R1, #2\n\ - MOVS R2, #0x19\n\ - MOVS R3, #0x11\n\ - BL Menu_DrawStdWindowFrame\n\ - LDR R0, dword_805642C\n\ - MOVS R1, #5\n\ - MOVS R2, #3\n\ - MOVS R3, #0xA0\n\ - BL sub_8072BD8\n\ - MOVS R6, #0\n\ - LDR R1, off_8056430\n\ - LDR R0, [R1]\n\ - ADDS R0, #0x88\n\ - ADD R2, SP, #0xC\n\ - MOV R8, R2\n\ - MOV R2, SP\n\ - ADDS R2, #0x16\n\ - STR R2, [SP,#0x30]\n\ - LDRB R0, [R0]\n\ - CMP R6, R0\n\ - BCS loc_8056322\n\ - MOV R9, R1\n\ - LDR R0, off_8056434\n\ - MOV R10, R0\n\ -\n\ -loc_8056276:\n\ - MOV R1, R9\n\ - LDR R2, [R1]\n\ - MOVS R1, #0xB2\n\ - LSLS R1, R1, #1\n\ - ADDS R0, R2, R1\n\ - ADDS R0, R0, R6\n\ - LDRB R4, [R0]\n\ - LSLS R1, R4, #4\n\ - ADDS R1, R1, R2\n\ - MOVS R2, #0xBF\n\ - LSLS R2, R2, #1\n\ - ADDS R1, R1, R2\n\ - MOV R0, R8\n\ - BL StringCopy\n\ - LSLS R5, R4, #3\n\ - SUBS R5, R5, R4\n\ - LSLS R5, R5, #2\n\ - MOV R1, R10\n\ - ADDS R0, R5, R1\n\ - LDRB R1, [R0,#0x1A]\n\ - MOV R0, R8\n\ - BL ConvertInternationalString\n\ - MOV R0, R8\n\ - LDR R1, dword_8056438\n\ - BL de_sub_8073174\n\ - MOV R2, R9\n\ - LDR R0, [R2]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - ADDS R4, R6, #1\n\ - ADDS R0, R7, #0\n\ - ADDS R1, R4, #0\n\ - BL ConvertIntToDecimalString\n\ - ADDS R7, R0, #0\n\ - MOVS R1, #0\n\ - STRB R1, [R7]\n\ - MOVS R0, #0xAD\n\ - STRB R0, [R7,#1]\n\ - STRB R1, [R7,#2]\n\ - ADDS R7, #3\n\ - LDR R0, off_805643C\n\ - ADDS R5, R5, R0\n\ - ADDS R0, R7, #0\n\ - ADDS R1, R5, #0\n\ - MOVS R2, #0x58\n\ - MOVS R3, #0\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - ADD R1, SP, #0xC\n\ - MOVS R2, #0x9D\n\ - MOVS R3, #0\n\ - BL sub_8072C74\n\ - MOV R2, R9\n\ - LDR R1, [R2]\n\ - ADDS R0, R1, #0\n\ - ADDS R0, #0xAB\n\ - LDR R3, dword_8056440\n\ - ADDS R1, #0x88\n\ - LDRB R2, [R1]\n\ - ADDS R3, R2, R3\n\ - LDR R1, dword_8056444\n\ - ADDS R2, R2, R1\n\ - LDRB R1, [R2]\n\ - ADDS R2, R6, #0\n\ - MULS R2, R1\n\ - LDRB R3, [R3]\n\ - ADDS R2, R2, R3\n\ - LSLS R2, R2, #0x18\n\ - LSRS R2, R2, #0x18\n\ - MOVS R1, #5\n\ - BL Menu_PrintText\n\ - LSLS R4, R4, #0x10\n\ - LSRS R6, R4, #0x10\n\ - MOV R1, R9\n\ - LDR R0, [R1]\n\ - ADDS R0, #0x88\n\ - LDRB R0, [R0]\n\ - CMP R6, R0\n\ - BCC loc_8056276\n\ -\n\ -loc_8056322:\n\ - LDR R6, off_8056430\n\ - LDR R0, [R6]\n\ - ADDS R0, #0x5A\n\ - LDRH R0, [R0]\n\ - MOVS R1, #0x64\n\ - BL __umodsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - MOV R0, R8\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [R6]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - LDR R1, dword_8056448\n\ - ADDS R0, R7, #0\n\ - BL StringCopy\n\ - ADDS R7, R0, #0\n\ - LDR R0, [R6]\n\ - ADDS R0, #0x5A\n\ - LDRH R0, [R0]\n\ - MOVS R1, #0x64\n\ - BL __udivsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - ADDS R0, R7, #0\n\ - MOVS R2, #0x79\n\ - MOVS R3, #1\n\ - BL sub_8072C14\n\ - ADDS R7, R0, #0\n\ - MOVS R0, #0xB8\n\ - STRB R0, [R7]\n\ - ADDS R7, #1\n\ - ADDS R0, R7, #0\n\ - MOV R1, R8\n\ - MOVS R2, #0x88\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, off_805644C\n\ - BL StringCopy\n\ - LDR R0, [R6]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #5\n\ - MOVS R2, #0xD\n\ - BL Menu_PrintText\n\ - LDR R0, [R6]\n\ - MOVS R2, #0x96\n\ - LSLS R2, R2, #1\n\ - ADDS R0, R0, R2\n\ - LDR R0, [R0]\n\ - MOVS R1, #0x3C\n\ - BL __udivsi3\n\ - ADDS R4, R0, #0\n\ - LSLS R4, R4, #0x10\n\ - LSRS R4, R4, #0x10\n\ - ADDS R0, R4, #0\n\ - MOVS R1, #0x3C\n\ - BL __umodsi3\n\ - ADDS R5, R0, #0\n\ - LSLS R5, R5, #0x10\n\ - LSRS R5, R5, #0x10\n\ - ADDS R0, R4, #0\n\ - MOVS R1, #0x3C\n\ - BL __udivsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - MOV R0, R8\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [SP,#0x30]\n\ - ADDS R1, R5, #0\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [R6]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - LDR R1, dword_8056450\n\ - ADDS R0, R7, #0\n\ - BL StringCopy\n\ - ADDS R7, R0, #0\n\ - MOV R1, R8\n\ - MOVS R2, #0x63\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, dword_8056454\n\ - BL StringAppend\n\ - ADDS R7, R0, #0\n\ - LDR R1, [SP,#0x30]\n\ - MOVS R2, #0x88\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, dword_8056458\n\ - BL StringCopy\n\ - LDR R0, [R6]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #5\n\ - MOVS R2, #0xF\n\ - BL Menu_PrintText\n\ - LDR R1, [R6]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -dword_805642C: .4byte gOtherText_ResultsOfBlending\n\ -off_8056430: .4byte gBerryBlenderData\n\ -off_8056434: .4byte gLinkPlayers\n\ -dword_8056438: .4byte gOtherText_Berry\n\ -off_805643C: .4byte gLinkPlayers+0x8\n\ -dword_8056440: .4byte gUnknown_082165E9\n\ -dword_8056444: .4byte gUnknown_082165EE\n\ -dword_8056448: .4byte gOtherText_MaxSpeed\n\ -off_805644C: .4byte gOtherText_RPM\n\ -dword_8056450: .4byte gOtherText_RequiredTime\n\ -dword_8056454: .4byte gOtherText_Min\n\ -dword_8056458: .4byte gOtherText_Sec\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_805645C: @ jumptable 0805619A case 4\n\ - LDR R0, off_805646C\n\ - LDRH R1, [R0,#0x2E]\n\ - MOVS R0, #1\n\ - ANDS R0, R1\n\ - CMP R0, #0\n\ - BEQ def_805619A @ jumptable 0805619A default case\n\ - LDR R1, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -off_805646C: .4byte gMain\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056470: @ jumptable 0805619A case 5\n\ - BL Menu_EraseScreen\n\ - MOVS R0, #0\n\ - MOVS R1, #0xE\n\ - MOVS R2, #0x1D\n\ - MOVS R3, #0x13\n\ - BL Menu_DrawStdWindowFrame\n\ - MOVS R6, #0\n\ - ADD R1, SP, #0xC\n\ - MOV R8, R1\n\ - ADD R5, SP, #0x28\n\ - LDR R0, off_8056528\n\ - LDR R0, [R0]\n\ - ADDS R3, R0, #0\n\ - ADDS R3, #0x80\n\ - ADD R2, SP, #0x20\n\ -\n\ -loc_8056492:\n\ - LSLS R1, R6, #1\n\ - ADDS R0, R3, R1\n\ - LDRH R0, [R0]\n\ - CMP R0, #0\n\ - BEQ loc_80564A2\n\ - ADDS R1, R2, R1\n\ - SUBS R0, #0x85\n\ - STRH R0, [R1]\n\ -\n\ -loc_80564A2:\n\ - ADDS R0, R6, #1\n\ - LSLS R0, R0, #0x10\n\ - LSRS R6, R0, #0x10\n\ - CMP R6, #3\n\ - BLS loc_8056492\n\ - BL sub_8050760\n\ - LDR R4, off_8056528\n\ - LDR R3, [R4]\n\ - MOVS R2, #0xBE\n\ - LSLS R2, R2, #1\n\ - ADDS R0, R3, R2\n\ - ADDS R1, R3, #0\n\ - ADDS R1, #0x88\n\ - LDRB R2, [R1]\n\ - SUBS R1, #0x2E\n\ - LDRH R1, [R1]\n\ - STR R1, [SP]\n\ - ADDS R1, R5, #0\n\ - ADD R3, SP, #4\n\ - BL Blender_CalculatePokeblock\n\ - LDR R1, [R4]\n\ - ADDS R1, #0xAB\n\ - ADDS R0, R5, #0\n\ - BL Blender_PrintMadePokeblockString\n\ - LDR R0, off_805652C\n\ - MOVS R1, #6\n\ - BL CreateTask\n\ - BL sub_8007E40\n\ - ADDS R1, R0, #0\n\ - MOV R0, R8\n\ - MOVS R2, #0\n\ - MOVS R3, #4\n\ - BL ConvertIntToHexStringN\n\ - LDR R1, dword_8056530\n\ - MOV R0, R8\n\ - BL StringAppend\n\ - LDR R0, [R4]\n\ - ADDS R0, #0xAB\n\ - MOV R1, R8\n\ - BL StringAppend\n\ - LDR R0, [R4]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #1\n\ - MOVS R2, #0xF\n\ - BL MenuPrintMessage\n\ - LDR R0, off_8056534\n\ - LDRH R0, [R0]\n\ - MOVS R1, #1\n\ - BL RemoveBagItem\n\ - ADDS R0, R5, #0\n\ - BL sub_810CA34\n\ - LDR R1, [R4]\n\ -\n\ -loc_8056520:\n\ - LDRB R0, [R1]\n\ - ADDS R0, #1\n\ - STRB R0, [R1]\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -off_8056528: .4byte gBerryBlenderData\n\ -off_805652C: .4byte sub_8052BD0+1\n\ -dword_8056530: .4byte gUnknown_08216249\n\ -off_8056534: .4byte gSpecialVar_ItemId\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056538: @ jumptable 0805619A case 6\n\ - BL Menu_UpdateWindowText\n\ - LSLS R0, R0, #0x18\n\ - CMP R0, #0\n\ - BEQ def_805619A @ jumptable 0805619A default case\n\ - BL Blender_TrySettingRecord\n\ - MOVS R0, #1\n\ - B loc_805654C\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -def_805619A: @ jumptable 0805619A default case\n\ - MOVS R0, #0\n\ -\n\ -loc_805654C:\n\ - ADD SP, SP, #0x34\n\ - POP {R3-R5}\n\ - MOV R8, R3\n\ - MOV R9, R4\n\ - MOV R10, R5\n\ - POP {R4-R7}\n\ - POP {R1}\n\ - BX R1\n\ - .syntax divided\n"); -} -#else bool8 Blender_PrintBlendingResults(void) { u16 i; @@ -3882,6 +3395,11 @@ bool8 Blender_PrintBlendingResults(void) Blender_CalculatePokeblock(gBerryBlenderData->blendedBerries, &pokeblock, gBerryBlenderData->playersNo, flavours, gBerryBlenderData->max_RPM); Blender_PrintMadePokeblockString(&pokeblock, gBerryBlenderData->stringVar); CreateTask(sub_8052BD0, 6); +#if DEBUG + ConvertIntToHexStringN(text[0], sub_8007E40(), 0, 4); + StringAppend(text[0], gUnknown_08216249); + StringAppend(gBerryBlenderData->stringVar, text[0]); +#endif MenuPrintMessage(gBerryBlenderData->stringVar, 1, 15); RemoveBagItem(gSpecialVar_ItemId, 1); sub_810CA34(&pokeblock); @@ -3897,7 +3415,6 @@ bool8 Blender_PrintBlendingResults(void) } return FALSE; } -#endif /*static*/ void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst) { |