summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_intro.c127
-rw-r--r--src/contest_painting.c3
-rw-r--r--src/dodrio_berry_picking.c477
-rw-r--r--src/link_rfu.c57
-rw-r--r--src/text.c2
5 files changed, 101 insertions, 565 deletions
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 043cf855a..6964428a3 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -205,7 +205,7 @@ static void BattleIntroSlide1(u8 taskId)
if (gBattle_WIN0V & 0xFF00)
gBattle_WIN0V -= 0x3FC;
-
+
if (gTasks[taskId].data[2])
gTasks[taskId].data[2] -= 2;
@@ -314,7 +314,7 @@ static void BattleIntroSlide2(u8 taskId)
if (gBattle_WIN0V & 0xFF00)
gBattle_WIN0V -= 0x3FC;
-
+
if (gTasks[taskId].data[2])
gTasks[taskId].data[2] -= 2;
@@ -402,7 +402,7 @@ static void BattleIntroSlide3(u8 taskId)
if (gBattle_WIN0V & 0xFF00)
gBattle_WIN0V -= 0x3FC;
-
+
if (gTasks[taskId].data[2])
gTasks[taskId].data[2] -= 2;
@@ -484,7 +484,7 @@ static void BattleIntroSlideLink(u8 taskId)
case 3:
if (gBattle_WIN0V & 0xFF00)
gBattle_WIN0V -= 0x3FC;
-
+
if (gTasks[taskId].data[2])
gTasks[taskId].data[2] -= 2;
@@ -537,7 +537,7 @@ static void BattleIntroSlidePartner(u8 taskId)
gBattle_WIN0V += 0x100;
if ((gBattle_WIN0V & 0xFF00) != 0x100)
gBattle_WIN0V--;
-
+
if ((gBattle_WIN0V & 0xFF00) == 0x2000)
{
gTasks[taskId].data[0]++;
@@ -600,129 +600,18 @@ void sub_8118FBC(int bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *ar
LoadBgTilemap(bgId, arg6, BG_SCREEN_SIZE, 0);
}
-#ifdef NONMATCHING
void unref_sub_8119094(u8 arg0, u8 arg1, u8 battlerPosition, u8 arg3, u8 arg4, u16 arg5, u8 arg6, u8 arg7)
{
- int i, j;
- int offset;
+ int i, j, offset;
+
DmaCopy16(3, gMonSpritesGfxPtr->sprites[battlerPosition] + BG_SCREEN_SIZE * arg3, (void *)BG_SCREEN_ADDR(0) + arg5, BG_SCREEN_SIZE);
offset = (arg5 >> 5) - (arg7 << 9);
for (i = arg1; i < arg1 + 8; i++)
{
for (j = arg0; j < arg0 + 8; j++)
{
- ((u16 *)BG_VRAM)[i * 32 + j + (arg6 * 0x400) + arg0] = offset | (arg4 << 12);
+ *((u16 *)(BG_VRAM) + (i * 32) + (j + (arg6 << 10))) = offset | (arg4 << 12);
offset++;
}
}
}
-#else
-NAKED
-void unref_sub_8119094(u8 arg0, u8 arg1, u8 battlerPosition, u8 arg3, u8 arg4, u16 arg5, u8 arg6, u8 arg7)
-{
- asm_unified("\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- ldr r4, [sp, 0x24]\n\
- ldr r5, [sp, 0x28]\n\
- mov r8, r5\n\
- ldr r5, [sp, 0x2C]\n\
- ldr r6, [sp, 0x30]\n\
- mov r9, r6\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r12, r0\n\
- lsls r1, 24\n\
- lsls r2, 24\n\
- lsls r3, 24\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- mov r10, r4\n\
- mov r7, r8\n\
- lsls r7, 16\n\
- lsrs r6, r7, 16\n\
- lsls r5, 24\n\
- lsrs r5, 24\n\
- mov r0, r9\n\
- lsls r0, 24\n\
- mov r9, r0\n\
- ldr r4, =0x040000d4\n\
- ldr r0, =gMonSpritesGfxPtr\n\
- ldr r0, [r0]\n\
- lsrs r2, 22\n\
- adds r0, 0x4\n\
- adds r0, r2\n\
- lsrs r3, 13\n\
- ldr r0, [r0]\n\
- adds r0, r3\n\
- str r0, [r4]\n\
- movs r0, 0xC0\n\
- lsls r0, 19\n\
- adds r6, r0\n\
- str r6, [r4, 0x4]\n\
- ldr r0, =0x80000400\n\
- str r0, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- adds r2, r7, 0\n\
- lsrs r2, 21\n\
- mov r6, r9\n\
- lsrs r6, 15\n\
- subs r4, r2, r6\n\
- lsrs r0, r1, 24\n\
- adds r1, r0, 0\n\
- adds r1, 0x8\n\
- cmp r0, r1\n\
- bge _08119148\n\
- mov r9, r1\n\
- mov r7, r12\n\
- lsls r7, 1\n\
- mov r8, r7\n\
- lsls r5, 11\n\
- str r5, [sp]\n\
-_08119110:\n\
- mov r2, r12\n\
- adds r3, r2, 0\n\
- adds r3, 0x8\n\
- adds r5, r0, 0x1\n\
- cmp r2, r3\n\
- bge _08119142\n\
- mov r1, r10\n\
- lsls r6, r1, 12\n\
- lsls r0, 6\n\
- movs r7, 0xC0\n\
- lsls r7, 19\n\
- adds r0, r7\n\
- ldr r1, [sp]\n\
- adds r0, r1, r0\n\
- mov r7, r8\n\
- adds r1, r7, r0\n\
- subs r2, r3, r2\n\
-_08119132:\n\
- adds r0, r4, 0\n\
- orrs r0, r6\n\
- strh r0, [r1]\n\
- adds r4, 0x1\n\
- adds r1, 0x2\n\
- subs r2, 0x1\n\
- cmp r2, 0\n\
- bne _08119132\n\
-_08119142:\n\
- adds r0, r5, 0\n\
- cmp r0, r9\n\
- blt _08119110\n\
-_08119148:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif
diff --git a/src/contest_painting.c b/src/contest_painting.c
index b43923c7b..257bde445 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -250,8 +250,7 @@ static void HoldContestPainting(void)
case 1:
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
{
- u8 two = 2; //needed to make the asm match
- gContestPaintingState = two;
+ gContestPaintingState++;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
}
diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c
index 966dccfcf..29bc1f1d5 100644
--- a/src/dodrio_berry_picking.c
+++ b/src/dodrio_berry_picking.c
@@ -1422,109 +1422,109 @@ void sub_8026324(void)
u8 sp8 = gUnknown_02022C98->unk_0024;
u8 r6;
u8 r10;
- u8 r2;
+ s32 r2;
u8 r5;
u8 r3;
s32 r2_2;
u8 r4;
u8 r7, r7_2;
- if (gUnknown_02022C98->unk_0040 < 10)
+ if (gUnknown_02022C98->unk_0040 >= 10)
+ return;
+
+ for (r6 = 0; r6 < sp8; r6++)
{
- for (r6 = 0; r6 < sp8; r6++)
+ if (gUnknown_02022C98->unk_31A0[r6].unk_2C != 0 && gUnknown_02022C98->unk_00A8[r6] == 1)
{
- if ( gUnknown_02022C98->unk_31A0[r6].unk_2C != 0
- && gUnknown_02022C98->unk_00A8[r6] == 1)
+ for (r10 = sp0; r10 < sp4; r10++)
{
- for (r10 = sp0; r10 < sp4; r10++)
+ r5 = gUnknown_082F449C[r10];
+ if (gUnknown_02022C98->unk_00F4[r5][0] == r6)
{
- r5 = gUnknown_082F449C[r10];
- if (gUnknown_02022C98->unk_00F4[r5][0] == r6)
- {
- break;
- }
- if (gUnknown_02022C98->unk_00F4[r5][1] == r6)
- {
- break;
- }
- if (sub_8026634(gUnknown_02022C98->unk_31A0[r6].unk_2C, r6, gUnknown_082F449C[r10]) == 1)
+ break;
+ }
+ if (gUnknown_02022C98->unk_00F4[r5][1] == r6)
+ {
+ break;
+ }
+ if (sub_8026634(gUnknown_02022C98->unk_31A0[r6].unk_2C, r6, gUnknown_082F449C[r10]) == 1)
+ {
+ for (r2 = 0; r2 < 2; r2++)
{
- for (r2 = 0; r2 < 2; r2++)
+ if (gUnknown_02022C98->unk_00F4[r5][r2] == 0xFF)
{
- if (gUnknown_02022C98->unk_00F4[r5][r2] == 0xFF)
- {
- gUnknown_02022C98->unk_00F4[r5][r2] = r6;
- gUnknown_02022C98->unk_00A8[r6] = 2;
- gUnknown_02022C98->unk_00C4[r5] = 1;
- break;
- }
+ gUnknown_02022C98->unk_00F4[r5][r2] = r6;
+ gUnknown_02022C98->unk_00A8[r6] = 2;
+ gUnknown_02022C98->unk_00C4[r5] = 1;
+ break;
}
- break;
- }
- if (gUnknown_02022C98->unk_31A0[r6].unk_34 == 1)
- {
- break;
}
+ break;
+ }
+ if (gUnknown_02022C98->unk_31A0[r6].unk_34 == 1)
+ {
+ break;
}
}
}
- for (r10 = sp0; r10 < sp4; r10++)
+ }
+
+ for (r10 = sp0; r10 < sp4; r10++)
+ {
+ r6 = 0xFF;
+ r5 = gUnknown_082F449C[r10];
+ if (gUnknown_02022C98->unk_00C4[r5] == 1)
{
- r6 = 0xFF;
- r5 = gUnknown_082F449C[r10];
- if (gUnknown_02022C98->unk_00C4[r5] == 1)
+ r3 = gUnknown_02022C98->unk_0090[sub_8026D8C(r5)] / 7;
+ if (r3 < 2)
{
- r3 = gUnknown_02022C98->unk_0090[sub_8026D8C(r5)] / 7;
- if (r3 < 2)
+ r3 = 2;
+ }
+ r2 = gUnknown_082F7A88[r3][gUnknown_02022C98->unk_31A0[0].unk_14.unk_0[r5]] - gUnknown_02022C98->unk_00D0[r5];
+ if (r2 < 6)
+ {
+ gUnknown_02022C98->unk_009C[r5] += r2;
+ }
+ if (++gUnknown_02022C98->unk_009C[r5] >= 6)
+ {
+ gUnknown_02022C98->unk_009C[r5] = 0;
+ if (gUnknown_02022C98->unk_00F4[r5][0] != 0xFF && gUnknown_02022C98->unk_00F4[r5][1] == 0xFF)
{
- r3 = 2;
+ r4 = gUnknown_02022C98->unk_00F4[r5][0];
}
- r2 = gUnknown_082F7A88[r3][gUnknown_02022C98->unk_31A0[0].unk_14.unk_0[r5]] - gUnknown_02022C98->unk_00D0[r5];
- if (r2 < 6)
+ else if (gUnknown_02022C98->unk_00F4[r5][0] == 0xFF && gUnknown_02022C98->unk_00F4[r5][1] == 0xFF)
{
- gUnknown_02022C98->unk_009C[r5] += r2;
+ continue;
}
- if (++gUnknown_02022C98->unk_009C[r5] < 6)
+ else
{
- gUnknown_02022C98->unk_009C[r5] = 0;
- if (gUnknown_02022C98->unk_00F4[r5][0] != 0xFF && gUnknown_02022C98->unk_00F4[r5][1] == 0xFF)
+ r7 = gUnknown_02022C98->unk_00F4[r5][0];
+ r7_2 = gUnknown_02022C98->unk_00F4[r5][1];
+ if ((Random() & 1))
{
- r4 = gUnknown_02022C98->unk_00F4[r5][0];
- }
- else if (gUnknown_02022C98->unk_00F4[r5][0] == 0xFF && gUnknown_02022C98->unk_00F4[r5][1] == 0xFF)
- {
- continue;
+ r4 = r7_2;
+ r6 = r7;
}
else
{
- r7 = gUnknown_02022C98->unk_00F4[r5][0];
- r7_2 = gUnknown_02022C98->unk_00F4[r5][1];
- if ((Random() & 1))
- {
- r4 = r7_2;
- r6 = r7;
- }
- else
- {
- r4 = r7;
- r6 = r7_2;
- }
+ r4 = r7;
+ r6 = r7_2;
}
- gUnknown_02022C98->unk_32CC.unk_1F[r5] = 7;
- gUnknown_02022C98->unk_00C4[r5] = 2;
- gUnknown_02022C98->unk_00A8[r4] = 3;
- gUnknown_02022C98->unk_00B8[r5] = r4;
- gUnknown_02022C98->unk_31A0[r4].unk_30 = 1;
- gUnknown_02022C98->unk_31A0[r6].unk_34 = 1;
- gUnknown_02022C98->unk_0086[r4]++;
- sub_8026F1C(0, r5, r4);
- sub_8027234(1);
- sub_8026D1C(r4);
- gUnknown_02022C98->unk_00E8[r5] = gUnknown_02022C98->unk_32CC.unk_14.unk_0[r5];
- gUnknown_02022C98->unk_32CC.unk_14.unk_0[r5] = 3;
- gUnknown_02022C98->unk_00F4[r5][0] = 0xFF;
- gUnknown_02022C98->unk_00F4[r5][1] = 0xFF;
}
+ gUnknown_02022C98->unk_32CC.unk_14.unk_B[r5] = 7;
+ gUnknown_02022C98->unk_00C4[r5] = 2;
+ gUnknown_02022C98->unk_00A8[r4] = 3;
+ gUnknown_02022C98->unk_00B8[r5] = r4;
+ gUnknown_02022C98->unk_31A0[r4].unk_30 = 1;
+ gUnknown_02022C98->unk_31A0[r6].unk_34 = 1;
+ gUnknown_02022C98->unk_0086[r4]++;
+ sub_8026F1C(0, r5, r4);
+ sub_8027234(1);
+ sub_8026D1C(r4);
+ gUnknown_02022C98->unk_00E8[r5] = gUnknown_02022C98->unk_32CC.unk_14.unk_0[r5];
+ gUnknown_02022C98->unk_32CC.unk_14.unk_0[r5] = 3;
+ gUnknown_02022C98->unk_00F4[r5][0] = 0xFF;
+ gUnknown_02022C98->unk_00F4[r5][1] = 0xFF;
}
}
}
@@ -1964,34 +1964,33 @@ u32 sub_8026634(u8 a0, u8 a1, u8 a2)
return FALSE;
}
-#ifdef NONMATCHING
void sub_802671C(void)
{
u8 r1 = gUnknown_02022C98->unk_0044;
u8 r9 = gUnknown_02022C98->unk_0048;
+ u8 r3 = 0;
u8 r10 = 0;
u8 i;
- u8 r3;
u8 r2;
- struct DodrioBerryPickingSubstruct_31A0_14 * ptr;
+ struct DodrioBerryPickingStruct *ptr;
gUnknown_02022C98->unk_0120 = 0;
for (i = r1; i < r9 - 1; i++)
{
- ptr = &gUnknown_02022C98->unk_32CC.unk_14;
+ ptr = gUnknown_02022C98;
if (gUnknown_02022C98->unk_00C4[i] == 0 || gUnknown_02022C98->unk_00C4[i] == 1)
{
gUnknown_02022C98->unk_0120 = 1;
- if (ptr->unk_B[i] >= 10)
+ if (ptr->unk_32CC.unk_14.unk_B[i] >= 10)
{
- ptr->unk_B[i] = 10;
+ ptr->unk_32CC.unk_14.unk_B[i] = 10;
gUnknown_02022C98->unk_00C4[i] = 3;
if (gUnknown_02022C98->unk_0148[i] == 0)
{
gUnknown_02022C98->unk_0148[i] = 1;
- PlaySE(SE_FUUSEN1 + ptr->unk_0[i]);
+ PlaySE(SE_FUUSEN1 + ptr->unk_32CC.unk_14.unk_0[i]);
}
if (gUnknown_02022C98->unk_0040 < 10 || r10 == 1)
{
@@ -2008,14 +2007,14 @@ void sub_802671C(void)
else
{
r3 = gUnknown_02022C98->unk_0090[sub_8026D8C(i)] / 7;
- if (r3 < 2)
+ if (r3 >= 2)
{
r3 = 2;
}
- r2 = gUnknown_082F7A88[r3][ptr->unk_0[i]];
+ r2 = gUnknown_082F7A88[r3][ptr->unk_32CC.unk_14.unk_0[i]];
if (++gUnknown_02022C98->unk_00D0[i] >= r2)
{
- ptr->unk_B[i]++;
+ ptr->unk_32CC.unk_14.unk_B[i]++;
gUnknown_02022C98->unk_00D0[i] = 0;
}
sub_8026324();
@@ -2030,8 +2029,8 @@ void sub_802671C(void)
gUnknown_02022C98->unk_00DC[i] = 0;
gUnknown_02022C98->unk_00D0[i] = 0;
gUnknown_02022C98->unk_00C4[i] = 0;
- ptr->unk_B[i] = 1;
- ptr->unk_0[i] = sub_8026DB0(sub_8026D8C(i), i);
+ ptr->unk_32CC.unk_14.unk_B[i] = 1;
+ ptr->unk_32CC.unk_14.unk_0[i] = sub_8026DB0(sub_8026D8C(i), i);
}
}
else if (gUnknown_02022C98->unk_00C4[i] == 3)
@@ -2043,313 +2042,11 @@ void sub_802671C(void)
gUnknown_02022C98->unk_00DC[i] = 0;
gUnknown_02022C98->unk_00D0[i] = 0;
gUnknown_02022C98->unk_00C4[i] = 0;
- ptr->unk_B[i] = 1;
- gUnknown_02022C98->unk_00E8[i] = ptr->unk_0[i];
- ptr->unk_0[i] = sub_8026DB0(sub_8026D8C(i), i);
+ ptr->unk_32CC.unk_14.unk_B[i] = 1;
+ gUnknown_02022C98->unk_00E8[i] = ptr->unk_32CC.unk_14.unk_0[i];
+ ptr->unk_32CC.unk_14.unk_0[i] = sub_8026DB0(sub_8026D8C(i), i);
}
}
}
}
}
-#else
-NAKED
-void sub_802671C(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tldr r2, =gUnknown_02022C98\n"
- "\tldr r4, [r2]\n"
- "\tadds r0, r4, 0\n"
- "\tadds r0, 0x44\n"
- "\tldrb r1, [r0]\n"
- "\tadds r0, 0x4\n"
- "\tldrb r0, [r0]\n"
- "\tmov r9, r0\n"
- "\tmovs r3, 0\n"
- "\tmov r10, r3\n"
- "\tmovs r5, 0x90\n"
- "\tlsls r5, 1\n"
- "\tadds r0, r4, r5\n"
- "\tstr r3, [r0]\n"
- "\tadds r5, r1, 0\n"
- "\tmov r0, r9\n"
- "\tsubs r0, 0x1\n"
- "\tcmp r5, r0\n"
- "\tblt _0802674E\n"
- "\tb _08026974\n"
- "_0802674E:\n"
- "\tmov r8, r2\n"
- "_08026750:\n"
- "\tmov r0, r8\n"
- "\tldr r4, [r0]\n"
- "\tadds r0, r4, 0\n"
- "\tadds r0, 0xC4\n"
- "\tadds r0, r5\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbls _08026762\n"
- "\tb _0802686C\n"
- "_08026762:\n"
- "\tmovs r1, 0x90\n"
- "\tlsls r1, 1\n"
- "\tadds r0, r4, r1\n"
- "\tmovs r2, 0x1\n"
- "\tstr r2, [r0]\n"
- "\tldr r1, =0x000032eb\n"
- "\tadds r0, r4, r1\n"
- "\tadds r6, r0, r5\n"
- "\tldrb r0, [r6]\n"
- "\tcmp r0, 0x9\n"
- "\tbls _080267FC\n"
- "\tmovs r7, 0\n"
- "\tmovs r0, 0xA\n"
- "\tstrb r0, [r6]\n"
- "\tmov r1, r8\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0xC4\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0x3\n"
- "\tstrb r1, [r0]\n"
- "\tmov r1, r8\n"
- "\tldr r0, [r1]\n"
- "\tmovs r6, 0xA4\n"
- "\tlsls r6, 1\n"
- "\tadds r0, r6\n"
- "\tadds r1, r0, r5\n"
- "\tldrb r0, [r1]\n"
- "\tcmp r0, 0\n"
- "\tbne _080267AC\n"
- "\tstrb r2, [r1]\n"
- "\tldr r2, =0x000032e0\n"
- "\tadds r0, r4, r2\n"
- "\tadds r0, r5\n"
- "\tldrb r0, [r0]\n"
- "\tadds r0, 0x4A\n"
- "\tbl PlaySE\n"
- "_080267AC:\n"
- "\tmov r0, r8\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x40\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x9\n"
- "\tbls _080267C2\n"
- "\tmov r2, r10\n"
- "\tcmp r2, 0x1\n"
- "\tbeq _080267C2\n"
- "\tb _08026964\n"
- "_080267C2:\n"
- "\tmovs r0, 0x1\n"
- "\tmov r10, r0\n"
- "\tadds r0, r1, r6\n"
- "\tadds r0, r5\n"
- "\tstrb r7, [r0]\n"
- "\tmov r1, r8\n"
- "\tldr r0, [r1]\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0x40\n"
- "\tldrb r0, [r1]\n"
- "\tcmp r0, 0x9\n"
- "\tbhi _080267DE\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "_080267DE:\n"
- "\tmovs r0, 0x3\n"
- "\tadds r1, r5, 0\n"
- "\tmovs r2, 0\n"
- "\tbl sub_8026F1C\n"
- "\tmovs r0, 0\n"
- "\tbl sub_8027234\n"
- "\tb _08026964\n"
- "\t.pool\n"
- "_080267FC:\n"
- "\tadds r0, r5, 0\n"
- "\tbl sub_8026D8C\n"
- "\tmov r2, r8\n"
- "\tldr r7, [r2]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tadds r1, r7, 0\n"
- "\tadds r1, 0x90\n"
- "\tadds r1, r0\n"
- "\tldrb r0, [r1]\n"
- "\tmovs r1, 0x7\n"
- "\tbl __udivsi3\n"
- "\tlsls r0, 24\n"
- "\tlsrs r3, r0, 24\n"
- "\tcmp r3, 0x1\n"
- "\tbls _08026822\n"
- "\tmovs r3, 0x2\n"
- "_08026822:\n"
- "\tldr r2, =gUnknown_082F7A88\n"
- "\tldr r0, =0x000032e0\n"
- "\tadds r1, r4, r0\n"
- "\tadds r1, r5\n"
- "\tlsls r0, r3, 1\n"
- "\tadds r0, r3\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, r1\n"
- "\tadds r0, r2\n"
- "\tldrb r2, [r0]\n"
- "\tadds r1, r7, 0\n"
- "\tadds r1, 0xD0\n"
- "\tadds r1, r5\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r3, 0\n"
- "\tstrb r0, [r1]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r0, r2\n"
- "\tbcc _0802685C\n"
- "\tldrb r0, [r6]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r6]\n"
- "\tmov r1, r8\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0xD0\n"
- "\tadds r0, r5\n"
- "\tstrb r3, [r0]\n"
- "_0802685C:\n"
- "\tbl sub_8026324\n"
- "\tb _08026964\n"
- "\t.pool\n"
- "_0802686C:\n"
- "\tcmp r0, 0x2\n"
- "\tbne _080268F4\n"
- "\tmovs r2, 0x90\n"
- "\tlsls r2, 1\n"
- "\tadds r0, r4, r2\n"
- "\tmovs r6, 0x1\n"
- "\tstr r6, [r0]\n"
- "\tadds r1, r4, 0\n"
- "\tadds r1, 0xDC\n"
- "\tadds r1, r5\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r3, 0\n"
- "\tstrb r0, [r1]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r0, 0x13\n"
- "\tbls _08026964\n"
- "\tmov r0, r8\n"
- "\tldr r2, [r0]\n"
- "\tadds r0, r2, 0\n"
- "\tadds r0, 0xB8\n"
- "\tadds r0, r5\n"
- "\tldrb r1, [r0]\n"
- "\tlsls r0, r1, 4\n"
- "\tsubs r0, r1\n"
- "\tlsls r0, 2\n"
- "\tadds r2, r0\n"
- "\tldr r1, =0x000031d0\n"
- "\tadds r2, r1\n"
- "\tstrb r3, [r2]\n"
- "\tmov r2, r8\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0xDC\n"
- "\tadds r0, r5\n"
- "\tstrb r3, [r0]\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0xD0\n"
- "\tadds r0, r5\n"
- "\tstrb r3, [r0]\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0xC4\n"
- "\tadds r0, r5\n"
- "\tstrb r3, [r0]\n"
- "\tldr r1, =0x000032eb\n"
- "\tadds r0, r4, r1\n"
- "\tadds r0, r5\n"
- "\tstrb r6, [r0]\n"
- "\tadds r0, r5, 0\n"
- "\tbl sub_8026D8C\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tadds r1, r5, 0\n"
- "\tbl sub_8026DB0\n"
- "\tldr r2, =0x000032e0\n"
- "\tadds r1, r4, r2\n"
- "\tadds r1, r5\n"
- "\tstrb r0, [r1]\n"
- "\tb _08026964\n"
- "\t.pool\n"
- "_080268F4:\n"
- "\tcmp r0, 0x3\n"
- "\tbne _08026964\n"
- "\tadds r1, r4, 0\n"
- "\tadds r1, 0xDC\n"
- "\tadds r1, r5\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tstrb r0, [r1]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r0, 0x13\n"
- "\tbls _08026964\n"
- "\tmov r0, r8\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x40\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x9\n"
- "\tbhi _08026964\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0xDC\n"
- "\tadds r0, r5\n"
- "\tstrb r2, [r0]\n"
- "\tmov r1, r8\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0xD0\n"
- "\tadds r0, r5\n"
- "\tstrb r2, [r0]\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0xC4\n"
- "\tadds r0, r5\n"
- "\tstrb r2, [r0]\n"
- "\tldr r2, =0x000032eb\n"
- "\tadds r0, r4, r2\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0x1\n"
- "\tstrb r1, [r0]\n"
- "\tmov r0, r8\n"
- "\tldr r1, [r0]\n"
- "\tadds r1, 0xE8\n"
- "\tadds r1, r5\n"
- "\tsubs r2, 0xB\n"
- "\tadds r4, r2\n"
- "\tadds r4, r5\n"
- "\tldrb r0, [r4]\n"
- "\tstrb r0, [r1]\n"
- "\tadds r0, r5, 0\n"
- "\tbl sub_8026D8C\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tadds r1, r5, 0\n"
- "\tbl sub_8026DB0\n"
- "\tstrb r0, [r4]\n"
- "_08026964:\n"
- "\tadds r0, r5, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tmov r0, r9\n"
- "\tsubs r0, 0x1\n"
- "\tcmp r5, r0\n"
- "\tbge _08026974\n"
- "\tb _08026750\n"
- "_08026974:\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif // NONMATCHING
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 9732e9889..3728b1219 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -2914,70 +2914,21 @@ void sub_800EF88(u8 a0)
}
}
-#ifdef NONMATCHING
-// FIXME: gUnknown_03005000.unk_c87 should be in r5
-// FIXME: gRecvCmds should be in r6 and r7
void sub_800EFB0(void)
{
s32 i, j;
+
for (i = 0; i < 5; i++)
{
+ struct UnkRfuStruct_2 *ptr = &gUnknown_03005000;
for (j = 0; j < 7; j++)
{
- gUnknown_03005000.unk_c87[i][j][1] = gRecvCmds[i][j] >> 8;
- gUnknown_03005000.unk_c87[i][j][0] = gRecvCmds[i][j];
+ ptr->unk_c87[i][j][1] = gRecvCmds[i][j] >> 8;
+ ptr->unk_c87[i][j][0] = gRecvCmds[i][j];
}
}
CpuFill16(0, gRecvCmds, sizeof gRecvCmds);
}
-#else
-NAKED void sub_800EFB0(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tsub sp, 0x4\n"
- "\tmovs r2, 0\n"
- "\tldr r7, =gRecvCmds\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r6, r7, 0\n"
- "\tldr r1, =0x00000c87\n"
- "\tadds r5, r0, r1\n"
- "_0800EFC0:\n"
- "\tmovs r3, 0\n"
- "\tlsls r0, r2, 3\n"
- "\tlsls r1, r2, 4\n"
- "\tadds r4, r2, 0x1\n"
- "\tsubs r0, r2\n"
- "\tlsls r0, 1\n"
- "\tadds r2, r0, r5\n"
- "\tadds r1, r6\n"
- "_0800EFD0:\n"
- "\tldrh r0, [r1]\n"
- "\tlsrs r0, 8\n"
- "\tstrb r0, [r2, 0x1]\n"
- "\tldrh r0, [r1]\n"
- "\tstrb r0, [r2]\n"
- "\tadds r2, 0x2\n"
- "\tadds r1, 0x2\n"
- "\tadds r3, 0x1\n"
- "\tcmp r3, 0x6\n"
- "\tble _0800EFD0\n"
- "\tadds r2, r4, 0\n"
- "\tcmp r2, 0x4\n"
- "\tble _0800EFC0\n"
- "\tmovs r0, 0\n"
- "\tmov r1, sp\n"
- "\tstrh r0, [r1]\n"
- "\tldr r2, =0x01000028\n"
- "\tmov r0, sp\n"
- "\tadds r1, r7, 0\n"
- "\tbl CpuSet\n"
- "\tadd sp, 0x4\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
void sub_800F014(void)
{
diff --git a/src/text.c b/src/text.c
index 43834eab4..91a82b19f 100644
--- a/src/text.c
+++ b/src/text.c
@@ -197,7 +197,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi
gTempTextPrinter.textSpeed = 0;
for (j = 0; j < 0x400; ++j)
{
- if ((u32)RenderFont(&gTempTextPrinter) == 1)
+ if (RenderFont(&gTempTextPrinter) == 1)
break;
}