diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-04-07 13:10:53 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-04-08 17:33:35 -0500 |
commit | e401945520328117f67bad844a342bb87bec4a2c (patch) | |
tree | a90d5133c12f32ad166470d79cb2c3eef89a6434 | |
parent | 66616b8b05bf12adc03ab2077bf459f16c431f3c (diff) |
Match two functions in contest_link_80C2020
-rw-r--r-- | src/battle/contest_link_80C2020.c | 147 |
1 files changed, 8 insertions, 139 deletions
diff --git a/src/battle/contest_link_80C2020.c b/src/battle/contest_link_80C2020.c index 10702b142..142e603f1 100644 --- a/src/battle/contest_link_80C2020.c +++ b/src/battle/contest_link_80C2020.c @@ -765,27 +765,27 @@ static void sub_80C2F64(u8 taskId) eContestLink80C2020Struct2018000.unk_0a = 1; } -#ifdef NONMATCHING void sub_80C3024(u16 species, u8 destOffset, u8 srcOffset, bool8 useDmaNow, u32 personality) { int i; int j; u16 tile; u16 offset; - int vOffset; + u16 var0; + u16 var1; if (useDmaNow) { DmaCopy32Defvars(3, GetMonIconPtr(species, personality) + (srcOffset << 9) + 0x80, BG_CHAR_ADDR(1) + (destOffset << 9), 0x180); - tile = ((destOffset + 10) << 12); - tile |= (destOffset * 16 + 0x200); + var0 = ((destOffset + 10) << 12); + var1 = (destOffset * 16 + 0x200); + tile = var1 | var0; offset = destOffset * 0x60 + 0x83; for (i = 0; i < 3; i++) { - vOffset = (i << 5) + offset; for (j = 0; j < 4; j++) { - ((u16 *)BG_CHAR_ADDR(3))[vOffset + j] = tile; + ((u16 *)BG_CHAR_ADDR(3))[(i << 5) + j + offset] = tile; tile++; } } @@ -795,97 +795,6 @@ void sub_80C3024(u16 species, u8 destOffset, u8 srcOffset, bool8 useDmaNow, u32 RequestSpriteCopy(GetMonIconPtr(species, personality) + (srcOffset << 9) + 0x80, BG_CHAR_ADDR(1) + (destOffset << 9), 0x180); } } -#else -__attribute__((naked)) void sub_80C3024(u16 species, u8 destOffset, u8 srcOffset, bool8 useDmaNow, u32 personality) -{ - asm_unified("\tpush {r4-r6,lr}\n" - "\tldr r6, [sp, 0x10]\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tlsls r1, 24\n" - "\tlsrs r4, r1, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r5, r2, 24\n" - "\tlsls r3, 24\n" - "\tcmp r3, 0\n" - "\tbeq _080C30B0\n" - "\tadds r1, r6, 0\n" - "\tbl GetMonIconPtr\n" - "\tlsls r1, r5, 9\n" - "\tadds r0, r1\n" - "\tadds r0, 0x80\n" - "\tlsls r1, r4, 9\n" - "\tldr r2, _080C30A0 @ =0x06004000\n" - "\tadds r1, r2\n" - "\tldr r2, _080C30A4 @ =0x040000d4\n" - "\tstr r0, [r2]\n" - "\tstr r1, [r2, 0x4]\n" - "\tldr r0, _080C30A8 @ =0x84000060\n" - "\tstr r0, [r2, 0x8]\n" - "\tldr r0, [r2, 0x8]\n" - "\tadds r1, r4, 0\n" - "\tadds r1, 0xA\n" - "\tlsls r1, 28\n" - "\tlsls r0, r4, 20\n" - "\tmovs r2, 0x80\n" - "\tlsls r2, 18\n" - "\tadds r0, r2\n" - "\torrs r0, r1\n" - "\tlsrs r1, r0, 16\n" - "\tlsls r0, r4, 1\n" - "\tadds r0, r4\n" - "\tlsls r0, 21\n" - "\tmovs r2, 0x83\n" - "\tlsls r2, 16\n" - "\tadds r0, r2\n" - "\tlsrs r5, r0, 16\n" - "\tmovs r2, 0\n" - "\tldr r6, _080C30AC @ =0x0600c000\n" - "_080C307C:\n" - "\tlsls r0, r2, 5\n" - "\tadds r4, r2, 0x1\n" - "\tadds r0, r5\n" - "\tmovs r3, 0x3\n" - "\tlsls r0, 1\n" - "\tadds r2, r0, r6\n" - "_080C3088:\n" - "\tstrh r1, [r2]\n" - "\tadds r0, r1, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r1, r0, 16\n" - "\tadds r2, 0x2\n" - "\tsubs r3, 0x1\n" - "\tcmp r3, 0\n" - "\tbge _080C3088\n" - "\tadds r2, r4, 0\n" - "\tcmp r2, 0x2\n" - "\tble _080C307C\n" - "\tb _080C30CA\n" - "\t.align 2, 0\n" - "_080C30A0: .4byte 0x06004000\n" - "_080C30A4: .4byte 0x040000d4\n" - "_080C30A8: .4byte 0x84000060\n" - "_080C30AC: .4byte 0x0600c000\n" - "_080C30B0:\n" - "\tadds r1, r6, 0\n" - "\tbl GetMonIconPtr\n" - "\tlsls r1, r5, 9\n" - "\tadds r0, r1\n" - "\tadds r0, 0x80\n" - "\tlsls r1, r4, 9\n" - "\tldr r2, _080C30D0 @ =0x06004000\n" - "\tadds r1, r2\n" - "\tmovs r2, 0xC0\n" - "\tlsls r2, 1\n" - "\tbl RequestSpriteCopy\n" - "_080C30CA:\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_080C30D0: .4byte 0x06004000"); -} -#endif static void LoadAllContestMonIcons(u8 srcOffset, bool8 useDmaNow) { @@ -897,57 +806,17 @@ static void LoadAllContestMonIcons(u8 srcOffset, bool8 useDmaNow) } } -#ifdef NONMATCHING void sub_80C310C(void) { int i; + register u16 species asm("r0"); for (i = 0; i < 4; i++) { - u16 species = mon_icon_convert_unown_species_id(gContestMons[i].species, 0); + species = mon_icon_convert_unown_species_id(gContestMons[i].species, 0); LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[species]], 0xa0 + 0x10 * i, 0x20); } } -#else -__attribute__((naked)) void sub_80C310C(void) -{ - asm_unified("\tpush {r4-r6,lr}\n" - "\tmovs r4, 0\n" - "\tldr r6, _080C314C @ =gMonIconPaletteIndices\n" - "\tmovs r5, 0xA0\n" - "\tlsls r5, 16\n" - "_080C3116:\n" - "\tldr r1, _080C3150 @ =gContestMons\n" - "\tlsls r0, r4, 6\n" - "\tadds r0, r1\n" - "\tldrh r0, [r0]\n" - "\tmovs r1, 0\n" - "\tbl mon_icon_convert_unown_species_id\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tadds r0, r6\n" - "\tldrb r0, [r0]\n" - "\tlsls r0, 5\n" - "\tldr r1, _080C3154 @ =gMonIconPalettes\n" - "\tadds r0, r1\n" - "\tlsrs r1, r5, 16\n" - "\tmovs r2, 0x20\n" - "\tbl LoadPalette\n" - "\tmovs r0, 0x80\n" - "\tlsls r0, 13\n" - "\tadds r5, r0\n" - "\tadds r4, 0x1\n" - "\tcmp r4, 0x3\n" - "\tble _080C3116\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_080C314C: .4byte gMonIconPaletteIndices\n" - "_080C3150: .4byte gContestMons\n" - "_080C3154: .4byte gMonIconPalettes"); -} -#endif // void sub_80C3158(const u8 *string, u8 spriteId) // { |