summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/battle_tent.c9
-rwxr-xr-xsrc/berry_crush.c17
2 files changed, 8 insertions, 18 deletions
diff --git a/src/battle_tent.c b/src/battle_tent.c
index 0a03fc167..250e2d8ee 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -355,11 +355,7 @@ static void GenerateOpponentMons(void)
{
u16 trainerId;
s32 i, j, k;
- #ifndef NONMATCHING
- register const u16 *monSet asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
- #else
- const u16 *monSet;
- #endif
+ const u16 *monSet;
u16 species[FRONTIER_PARTY_SIZE];
u16 heldItems[FRONTIER_PARTY_SIZE];
s32 monId = 0;
@@ -380,7 +376,8 @@ static void GenerateOpponentMons(void)
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
- while (gFacilityTrainers[gTrainerBattleOpponent_A].monSet[monId] != 0xFFFF)
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
+ while (monSet[monId] != 0xFFFF)
monId++;
if (monId > 8)
break;
diff --git a/src/berry_crush.c b/src/berry_crush.c
index 2175d2abb..bc972fec7 100755
--- a/src/berry_crush.c
+++ b/src/berry_crush.c
@@ -1779,22 +1779,15 @@ void sub_8022600(struct BerryCrushGame *r6)
void sub_80226D0(struct BerryCrushGame *r6)
{
u8 r5 = 0;
- const u32 *r0 = gUnknown_08DE3FD4;
-#ifndef NONMATCHING // r4, r5, r6 register roulette
- register u8 *r4 asm("r4") = gDecompressionBuffer;
- register u32 r0_ asm("r0");
-#else
- u8 *r4 = gDecompressionBuffer;
- u32 r0_;
-#endif
+ u8 * r4;
+
+ LZ77UnCompWram(gUnknown_08DE3FD4, gDecompressionBuffer); // required for matching
- LZ77UnCompWram(r0, r4);
- for (; r5 < r6->unk9; ++r5)
+ for (r4 = gDecompressionBuffer; r5 < r6->unk9; ++r5)
{
- r0_ = r6->unk138.unkC[r5]->unk0;
CopyToBgTilemapBufferRect(
3,
- &r4[r0_ * 40],
+ &r4[r6->unk138.unkC[r5]->unk0 * 40],
r6->unk138.unkC[r5]->unk1,
r6->unk138.unkC[r5]->unk2,
10,