summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-23 22:15:31 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-23 22:15:31 -0400
commite43d716b3edc723d882af3e18f8e50b0b5a3f61c (patch)
tree7b91ee993bc5e950f97413bf89292c5d382873b9
parent8ae002b3607fa2fbfe2aa7c6123bb2f9627c0c05 (diff)
Nonmatching BuildAreaGlowTilemap
-rw-r--r--asm/pokedex_area_screen.s571
-rw-r--r--include/region_map.h1
-rw-r--r--src/pokedex_area_screen.c714
3 files changed, 707 insertions, 579 deletions
diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s
index f6b6f4e7e..2c1e83def 100644
--- a/asm/pokedex_area_screen.s
+++ b/asm/pokedex_area_screen.s
@@ -5,577 +5,6 @@
.text
- thumb_func_start BuildAreaGlowTilemap
-BuildAreaGlowTilemap: @ 8110C34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r1, _08110E5C @ =gUnknown_02039260
- movs r0, 0
- strh r0, [r1]
- mov r9, r1
- ldr r0, _08110E60 @ =gSharedMem
- mov r8, r0
- ldr r1, _08110E64 @ =gUnknown_02039262
- mov r12, r1
- mov r1, r9
- movs r4, 0x8B
- lsls r4, 1
- add r4, r8
- ldr r3, _08110E68 @ =0x0000027f
- movs r2, 0
-_08110C5C:
- ldrh r0, [r1]
- lsls r0, 1
- adds r0, r4
- strh r2, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r3
- bls _08110C5C
- movs r0, 0
- mov r3, r9
- strh r0, [r3]
- movs r1, 0x88
- lsls r1, 1
- add r1, r8
- ldrh r0, [r1]
- cmp r0, 0
- beq _08110D04
- ldr r4, _08110E6C @ =gUnknown_02039266
- movs r2, 0
- ldr r5, _08110E64 @ =gUnknown_02039262
- mov r0, r8
- str r0, [sp, 0x8]
- movs r1, 0x8B
- lsls r1, 1
- add r1, r8
- mov r10, r1
- ldr r6, _08110E70 @ =gUnknown_02039264
- mov r7, r9
-_08110C9A:
- strh r2, [r4]
- ldr r3, _08110E70 @ =gUnknown_02039264
- strh r2, [r3]
-_08110CA0:
- mov r0, r12
- strh r2, [r0]
-_08110CA4:
- ldrh r0, [r5]
- ldrh r1, [r6]
- str r2, [sp]
- bl GetRegionMapSectionAt_
- ldrh r1, [r7]
- lsls r1, 2
- ldr r3, [sp, 0x8]
- adds r1, r3
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp]
- ldrh r1, [r1, 0x12]
- cmp r0, r1
- bne _08110CCC
- ldrh r0, [r4]
- lsls r0, 1
- add r0, r10
- ldr r1, _08110E74 @ =0x0000ffff
- strh r1, [r0]
-_08110CCC:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bls _08110CA4
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08110E64 @ =gUnknown_02039262
- mov r12, r1
- cmp r0, 0x13
- bls _08110CA0
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _08110E78 @ =gSharedMem + 0x110
- ldrh r3, [r3]
- cmp r0, r3
- bcc _08110C9A
-_08110D04:
- movs r0, 0
- ldr r1, _08110E6C @ =gUnknown_02039266
- strh r0, [r1]
- ldr r3, _08110E70 @ =gUnknown_02039264
- strh r0, [r3]
- ldr r6, _08110E64 @ =gUnknown_02039262
- mov r10, r0
- adds r3, r1, 0
- ldr r5, _08110E7C @ =gSharedMem + 0x116
- ldr r4, _08110E74 @ =0x0000ffff
- ldr r7, _08110E70 @ =gUnknown_02039264
-_08110D1A:
- mov r0, r10
- strh r0, [r6]
-_08110D1E:
- ldrh r1, [r3]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r4
- bne _08110E10
- ldrh r0, [r6]
- cmp r0, 0
- beq _08110D42
- subs r0, r1, 0x1
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110D42
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
-_08110D42:
- ldrh r0, [r6]
- cmp r0, 0x1F
- beq _08110D5C
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110D5C
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r2]
-_08110D5C:
- ldrh r0, [r7]
- cmp r0, 0
- beq _08110D76
- ldrh r0, [r3]
- subs r0, 0x20
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110D76
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2]
-_08110D76:
- ldrh r0, [r7]
- cmp r0, 0x13
- beq _08110D90
- ldrh r0, [r3]
- adds r0, 0x20
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110D90
- movs r0, 0x4
- orrs r0, r1
- strh r0, [r2]
-_08110D90:
- ldrh r0, [r6]
- cmp r0, 0
- beq _08110DB0
- ldrh r0, [r7]
- cmp r0, 0
- beq _08110DB0
- ldrh r0, [r3]
- subs r0, 0x21
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110DB0
- movs r0, 0x10
- orrs r0, r1
- strh r0, [r2]
-_08110DB0:
- ldrh r0, [r6]
- cmp r0, 0x1F
- beq _08110DD0
- ldrh r0, [r7]
- cmp r0, 0
- beq _08110DD0
- ldrh r0, [r3]
- subs r0, 0x1F
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110DD0
- movs r0, 0x40
- orrs r0, r1
- strh r0, [r2]
-_08110DD0:
- ldrh r0, [r6]
- cmp r0, 0
- beq _08110DF0
- ldrh r0, [r7]
- cmp r0, 0x13
- beq _08110DF0
- ldrh r0, [r3]
- adds r0, 0x1F
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110DF0
- movs r0, 0x20
- orrs r0, r1
- strh r0, [r2]
-_08110DF0:
- ldrh r0, [r6]
- cmp r0, 0x1F
- beq _08110E10
- ldrh r0, [r7]
- cmp r0, 0x13
- beq _08110E10
- ldrh r0, [r3]
- adds r0, 0x21
- lsls r0, 1
- adds r2, r0, r5
- ldrh r1, [r2]
- cmp r1, r4
- beq _08110E10
- movs r0, 0x80
- orrs r0, r1
- strh r0, [r2]
-_08110E10:
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bhi _08110E26
- b _08110D1E
-_08110E26:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _08110E36
- b _08110D1A
-_08110E36:
- movs r0, 0
- mov r1, r9
- strh r0, [r1]
-_08110E3C:
- mov r3, r9
- ldrh r0, [r3]
- lsls r0, 1
- movs r4, 0x8B
- lsls r4, 1
- add r4, r8
- adds r3, r0, r4
- ldrh r2, [r3]
- adds r1, r2, 0
- ldr r0, _08110E74 @ =0x0000ffff
- cmp r1, r0
- bne _08110E80
- movs r0, 0x10
- strh r0, [r3]
- b _0811105E
- .align 2, 0
-_08110E5C: .4byte gUnknown_02039260
-_08110E60: .4byte gSharedMem
-_08110E64: .4byte gUnknown_02039262
-_08110E68: .4byte 0x0000027f
-_08110E6C: .4byte gUnknown_02039266
-_08110E70: .4byte gUnknown_02039264
-_08110E74: .4byte 0x0000ffff
-_08110E78: .4byte gSharedMem + 0x110
-_08110E7C: .4byte gSharedMem + 0x116
-_08110E80:
- cmp r1, 0
- bne _08110E86
- b _0811105E
-_08110E86:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08110E94
- ldr r0, _08110F28 @ =0x0000ffcf
- ands r0, r2
- strh r0, [r3]
-_08110E94:
- mov r1, r9
- ldrh r0, [r1]
- lsls r0, 1
- adds r2, r0, r4
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08110EAC
- ldr r0, _08110F2C @ =0x0000ff3f
- ands r0, r1
- strh r0, [r2]
-_08110EAC:
- mov r3, r9
- ldrh r0, [r3]
- lsls r0, 1
- adds r2, r0, r4
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08110EC4
- ldr r0, _08110F30 @ =0x0000ffaf
- ands r0, r1
- strh r0, [r2]
-_08110EC4:
- mov r1, r9
- ldrh r0, [r1]
- lsls r0, 1
- adds r2, r0, r4
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08110EDC
- ldr r0, _08110F34 @ =0x0000ff5f
- ands r0, r1
- strh r0, [r2]
-_08110EDC:
- ldr r6, _08110F38 @ =gUnknown_02039268
- mov r3, r9
- ldrh r0, [r3]
- lsls r0, 1
- adds r0, r4
- ldrh r1, [r0]
- movs r5, 0xF
- adds r0, r5, 0
- ands r0, r1
- strh r0, [r6]
- ldr r2, _08110F3C @ =gUnknown_0203926A
- ldrh r0, [r3]
- lsls r0, 1
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- strh r0, [r2]
- ldrh r1, [r3]
- adds r3, r2, 0
- cmp r0, 0
- bne _08110F0A
- b _0811105E
-_08110F0A:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r2, [r0]
- adds r1, r5, 0
- ands r1, r2
- strh r1, [r0]
- ldrh r0, [r6]
- cmp r0, 0xA
- bls _08110F1E
- b _0811105E
-_08110F1E:
- lsls r0, 2
- ldr r1, _08110F40 @ =_08110F44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08110F28: .4byte 0x0000ffcf
-_08110F2C: .4byte 0x0000ff3f
-_08110F30: .4byte 0x0000ffaf
-_08110F34: .4byte 0x0000ff5f
-_08110F38: .4byte gUnknown_02039268
-_08110F3C: .4byte gUnknown_0203926A
-_08110F40: .4byte _08110F44
- .align 2, 0
-_08110F44:
- .4byte _08110F70
- .4byte _08110FAC
- .4byte _08110F8E
- .4byte _0811105E
- .4byte _08111002
- .4byte _08111036
- .4byte _08111036
- .4byte _0811105E
- .4byte _08110FCE
- .4byte _0811104A
- .4byte _0811104A
-_08110F70:
- ldrh r0, [r3]
- lsls r1, r0, 16
- cmp r1, 0
- beq _0811105E
- mov r0, r9
- ldrh r2, [r0]
- lsls r2, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x10
- lsrs r1, 20
- b _08110FC8
-_08110F8E:
- ldrh r0, [r3]
- lsls r1, r0, 16
- cmp r1, 0
- beq _0811105E
- mov r3, r9
- ldrh r2, [r3]
- lsls r2, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1E
- lsrs r1, 20
- b _08110FC8
-_08110FAC:
- ldrh r0, [r3]
- lsls r1, r0, 16
- cmp r1, 0
- beq _0811105E
- mov r0, r9
- ldrh r2, [r0]
- lsls r2, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x20
- lsrs r1, 22
-_08110FC8:
- adds r0, r1
- strh r0, [r2]
- b _0811105E
-_08110FCE:
- ldrh r2, [r3]
- cmp r2, 0
- beq _0811105E
- movs r0, 0x80
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r3, r0, 31
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08110FEC
- movs r0, 0x2
- orrs r3, r0
-_08110FEC:
- mov r0, r9
- ldrh r1, [r0]
- lsls r1, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x20
- adds r0, r3
- b _0811105C
-_08111002:
- ldrh r2, [r3]
- cmp r2, 0
- beq _0811105E
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r3, r0, 31
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08111020
- movs r0, 0x2
- orrs r3, r0
-_08111020:
- mov r0, r9
- ldrh r1, [r0]
- lsls r1, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x21
- adds r0, r3
- b _0811105C
-_08111036:
- mov r3, r9
- ldrh r1, [r3]
- lsls r1, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x27
- b _0811105C
-_0811104A:
- mov r0, r9
- ldrh r1, [r0]
- lsls r1, 1
- movs r0, 0x8B
- lsls r0, 1
- add r0, r8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x25
-_0811105C:
- strh r0, [r1]
-_0811105E:
- mov r3, r9
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- ldr r1, _08111080 @ =0x027f0000
- cmp r0, r1
- bhi _08111070
- b _08110E3C
-_08111070:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08111080: .4byte 0x027f0000
- thumb_func_end BuildAreaGlowTilemap
-
thumb_func_start sub_8111084
sub_8111084: @ 8111084
push {lr}
diff --git a/include/region_map.h b/include/region_map.h
index 3fe7de460..c84de209b 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -70,5 +70,6 @@ const u8 *CopyMapName(u8 *dest, u16 b);
const u8 *CopyLocationName(u8 *dest, u16 b);
void CB2_InitFlyRegionMap(void);
void debug_sub_8110F28(void);
+u16 GetRegionMapSectionAt_(u16 x, u16 y);
#endif // GUARD_REGION_MAP_H
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
index 8a57ea99b..1e910b76c 100644
--- a/src/pokedex_area_screen.c
+++ b/src/pokedex_area_screen.c
@@ -37,7 +37,7 @@ struct PokedexAreaScreenEwramStruct
u16 unk0110;
u16 unk0112;
u16 unk0114;
- u8 unk0116[0x500];
+ u16 unk0116[0x280];
u8 filler_0616[0x0A];
u16 unk0620[0x20];
u8 filler_0660[0x88];
@@ -49,13 +49,6 @@ struct PokedexAreaScreenEwramStruct
// Static RAM declarations
-EWRAM_DATA u16 gUnknown_02039260 = 0;
-EWRAM_DATA u16 gUnknown_02039262 = 0;
-EWRAM_DATA u16 gUnknown_02039264 = 0;
-EWRAM_DATA u16 gUnknown_02039266 = 0;
-EWRAM_DATA u16 gUnknown_02039268 = 0;
-EWRAM_DATA u16 gUnknown_0203926A = 0;
-
// Static ROM declarations
void CB2_UnusedPokedexAreaScreen(void);
@@ -328,3 +321,708 @@ bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size)
}
return FALSE;
}
+
+#ifdef NONMATCHING
+void BuildAreaGlowTilemap(void)
+{
+ static EWRAM_DATA u16 gUnknown_02039260 = 0;
+ static EWRAM_DATA u16 gUnknown_02039262 = 0;
+ static EWRAM_DATA u16 gUnknown_02039264 = 0;
+ static EWRAM_DATA u16 gUnknown_02039266 = 0;
+ static EWRAM_DATA u16 gUnknown_02039268 = 0;
+ static EWRAM_DATA u16 gUnknown_0203926A = 0;
+ u32 r3;
+
+ for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0;
+
+ for (gUnknown_02039260 = 0; gUnknown_02039260 < ePokedexAreaScreen.unk0110; gUnknown_02039260++)
+ {
+ gUnknown_02039266 = 0;
+ for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++)
+ {
+ for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++)
+ {
+ if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == ePokedexAreaScreen.unk0010[gUnknown_02039260].regionMapSectionId)
+ {
+ ePokedexAreaScreen.unk0116[gUnknown_02039266] = 0xFFFF;
+ }
+ gUnknown_02039266++;
+ }
+ }
+ }
+
+ gUnknown_02039266 = 0;
+ for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++)
+ {
+ for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++)
+ {
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039266] == 0xFFFF)
+ {
+ if (gUnknown_02039262 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] |= 0x02;
+ if (gUnknown_02039262 != 31 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] |= 0x01;
+ if (gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] |= 0x08;
+ if (gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] |= 0x04;
+ if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] |= 0x10;
+ if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] |= 0x40;
+ if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] |= 0x20;
+ if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] != 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] |= 0x80;
+ }
+ gUnknown_02039266++;
+ }
+ }
+
+ for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) // Register difference on induction: expected r3, got r1
+ {
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039260] == 0xFFFF)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0x10;
+ else if (ePokedexAreaScreen.unk0116[gUnknown_02039260] != 0)
+ {
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x02)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFCF;
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x01)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF3F;
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x08)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFAF;
+ if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x04)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF5F;
+ gUnknown_02039268 = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x0F;
+ gUnknown_0203926A = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0xF0;
+ if (gUnknown_0203926A)
+ {
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0x0F;
+ switch (gUnknown_02039268)
+ {
+ case 0:
+ if (gUnknown_0203926A != 0)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10;
+ break;
+ case 2:
+ if (gUnknown_0203926A != 0)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E;
+ break;
+ case 1:
+ if (gUnknown_0203926A != 0)
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20;
+ break;
+ case 8:
+ if (gUnknown_0203926A != 0)
+ {
+ r3 = 0;
+ if (gUnknown_0203926A & 0x80)
+ r3 |= 1;
+ if (gUnknown_0203926A & 0x20)
+ r3 |= 2;
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x20;
+ }
+ break;
+ case 4:
+ if (gUnknown_0203926A != 0)
+ {
+ r3 = 0;
+ if (gUnknown_0203926A & 0x40)
+ r3 |= 1;
+ if (gUnknown_0203926A & 0x10)
+ r3 |= 2;
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x21;
+ }
+ break;
+ case 5:
+ case 6:
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x27;
+ break;
+ case 9:
+ case 10:
+ ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x25;
+ break;
+ }
+ }
+ }
+ }
+}
+# else
+EWRAM_DATA u16 gUnknown_02039260 = 0;
+EWRAM_DATA u16 gUnknown_02039262 = 0;
+EWRAM_DATA u16 gUnknown_02039264 = 0;
+EWRAM_DATA u16 gUnknown_02039266 = 0;
+EWRAM_DATA u16 gUnknown_02039268 = 0;
+EWRAM_DATA u16 gUnknown_0203926A = 0;
+NAKED void BuildAreaGlowTilemap(void)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0xC\n"
+ "\tldr r1, _08110E5C @ =gUnknown_02039260\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tmov r9, r1\n"
+ "\tldr r0, _08110E60 @ =gSharedMem\n"
+ "\tmov r8, r0\n"
+ "\tldr r1, _08110E64 @ =gUnknown_02039262\n"
+ "\tmov r12, r1\n"
+ "\tmov r1, r9\n"
+ "\tmovs r4, 0x8B\n"
+ "\tlsls r4, 1\n"
+ "\tadd r4, r8\n"
+ "\tldr r3, _08110E68 @ =0x0000027f\n"
+ "\tmovs r2, 0\n"
+ "_08110C5C:\n"
+ "\tldrh r0, [r1]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r4\n"
+ "\tstrh r2, [r0]\n"
+ "\tldrh r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r1]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, r3\n"
+ "\tbls _08110C5C\n"
+ "\tmovs r0, 0\n"
+ "\tmov r3, r9\n"
+ "\tstrh r0, [r3]\n"
+ "\tmovs r1, 0x88\n"
+ "\tlsls r1, 1\n"
+ "\tadd r1, r8\n"
+ "\tldrh r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110D04\n"
+ "\tldr r4, _08110E6C @ =gUnknown_02039266\n"
+ "\tmovs r2, 0\n"
+ "\tldr r5, _08110E64 @ =gUnknown_02039262\n"
+ "\tmov r0, r8\n"
+ "\tstr r0, [sp, 0x8]\n"
+ "\tmovs r1, 0x8B\n"
+ "\tlsls r1, 1\n"
+ "\tadd r1, r8\n"
+ "\tmov r10, r1\n"
+ "\tldr r6, _08110E70 @ =gUnknown_02039264\n"
+ "\tmov r7, r9\n"
+ "_08110C9A:\n"
+ "\tstrh r2, [r4]\n"
+ "\tldr r3, _08110E70 @ =gUnknown_02039264\n"
+ "\tstrh r2, [r3]\n"
+ "_08110CA0:\n"
+ "\tmov r0, r12\n"
+ "\tstrh r2, [r0]\n"
+ "_08110CA4:\n"
+ "\tldrh r0, [r5]\n"
+ "\tldrh r1, [r6]\n"
+ "\tstr r2, [sp]\n"
+ "\tbl GetRegionMapSectionAt_\n"
+ "\tldrh r1, [r7]\n"
+ "\tlsls r1, 2\n"
+ "\tldr r3, [sp, 0x8]\n"
+ "\tadds r1, r3\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r2, [sp]\n"
+ "\tldrh r1, [r1, 0x12]\n"
+ "\tcmp r0, r1\n"
+ "\tbne _08110CCC\n"
+ "\tldrh r0, [r4]\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r10\n"
+ "\tldr r1, _08110E74 @ =0x0000ffff\n"
+ "\tstrh r1, [r0]\n"
+ "_08110CCC:\n"
+ "\tldrh r0, [r4]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r4]\n"
+ "\tldrh r0, [r5]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r5]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, 0x1F\n"
+ "\tbls _08110CA4\n"
+ "\tldrh r0, [r6]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r6]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r1, _08110E64 @ =gUnknown_02039262\n"
+ "\tmov r12, r1\n"
+ "\tcmp r0, 0x13\n"
+ "\tbls _08110CA0\n"
+ "\tldrh r0, [r7]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r7]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r3, _08110E78 @ =gSharedMem + 0x110\n"
+ "\tldrh r3, [r3]\n"
+ "\tcmp r0, r3\n"
+ "\tbcc _08110C9A\n"
+ "_08110D04:\n"
+ "\tmovs r0, 0\n"
+ "\tldr r1, _08110E6C @ =gUnknown_02039266\n"
+ "\tstrh r0, [r1]\n"
+ "\tldr r3, _08110E70 @ =gUnknown_02039264\n"
+ "\tstrh r0, [r3]\n"
+ "\tldr r6, _08110E64 @ =gUnknown_02039262\n"
+ "\tmov r10, r0\n"
+ "\tadds r3, r1, 0\n"
+ "\tldr r5, _08110E7C @ =gSharedMem + 0x116\n"
+ "\tldr r4, _08110E74 @ =0x0000ffff\n"
+ "\tldr r7, _08110E70 @ =gUnknown_02039264\n"
+ "_08110D1A:\n"
+ "\tmov r0, r10\n"
+ "\tstrh r0, [r6]\n"
+ "_08110D1E:\n"
+ "\tldrh r1, [r3]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r5\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, r4\n"
+ "\tbne _08110E10\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110D42\n"
+ "\tsubs r0, r1, 0x1\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110D42\n"
+ "\tmovs r0, 0x2\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110D42:\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0x1F\n"
+ "\tbeq _08110D5C\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x1\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110D5C\n"
+ "\tmovs r0, 0x1\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110D5C:\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110D76\n"
+ "\tldrh r0, [r3]\n"
+ "\tsubs r0, 0x20\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110D76\n"
+ "\tmovs r0, 0x8\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110D76:\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0x13\n"
+ "\tbeq _08110D90\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x20\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110D90\n"
+ "\tmovs r0, 0x4\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110D90:\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110DB0\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110DB0\n"
+ "\tldrh r0, [r3]\n"
+ "\tsubs r0, 0x21\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110DB0\n"
+ "\tmovs r0, 0x10\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110DB0:\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0x1F\n"
+ "\tbeq _08110DD0\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110DD0\n"
+ "\tldrh r0, [r3]\n"
+ "\tsubs r0, 0x1F\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110DD0\n"
+ "\tmovs r0, 0x40\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110DD0:\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110DF0\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0x13\n"
+ "\tbeq _08110DF0\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x1F\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110DF0\n"
+ "\tmovs r0, 0x20\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110DF0:\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0x1F\n"
+ "\tbeq _08110E10\n"
+ "\tldrh r0, [r7]\n"
+ "\tcmp r0, 0x13\n"
+ "\tbeq _08110E10\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x21\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r5\n"
+ "\tldrh r1, [r2]\n"
+ "\tcmp r1, r4\n"
+ "\tbeq _08110E10\n"
+ "\tmovs r0, 0x80\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110E10:\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r3]\n"
+ "\tldrh r0, [r6]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r6]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, 0x1F\n"
+ "\tbhi _08110E26\n"
+ "\tb _08110D1E\n"
+ "_08110E26:\n"
+ "\tldrh r0, [r7]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r7]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, 0x13\n"
+ "\tbhi _08110E36\n"
+ "\tb _08110D1A\n"
+ "_08110E36:\n"
+ "\tmovs r0, 0\n"
+ "\tmov r1, r9\n"
+ "\tstrh r0, [r1]\n"
+ "_08110E3C:\n"
+ "\tmov r3, r9\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r0, 1\n"
+ "\tmovs r4, 0x8B\n"
+ "\tlsls r4, 1\n"
+ "\tadd r4, r8\n"
+ "\tadds r3, r0, r4\n"
+ "\tldrh r2, [r3]\n"
+ "\tadds r1, r2, 0\n"
+ "\tldr r0, _08110E74 @ =0x0000ffff\n"
+ "\tcmp r1, r0\n"
+ "\tbne _08110E80\n"
+ "\tmovs r0, 0x10\n"
+ "\tstrh r0, [r3]\n"
+ "\tb _0811105E\n"
+ "\t.align 2, 0\n"
+ "_08110E5C: .4byte gUnknown_02039260\n"
+ "_08110E60: .4byte gSharedMem\n"
+ "_08110E64: .4byte gUnknown_02039262\n"
+ "_08110E68: .4byte 0x0000027f\n"
+ "_08110E6C: .4byte gUnknown_02039266\n"
+ "_08110E70: .4byte gUnknown_02039264\n"
+ "_08110E74: .4byte 0x0000ffff\n"
+ "_08110E78: .4byte gSharedMem + 0x110\n"
+ "_08110E7C: .4byte gSharedMem + 0x116\n"
+ "_08110E80:\n"
+ "\tcmp r1, 0\n"
+ "\tbne _08110E86\n"
+ "\tb _0811105E\n"
+ "_08110E86:\n"
+ "\tmovs r0, 0x2\n"
+ "\tands r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110E94\n"
+ "\tldr r0, _08110F28 @ =0x0000ffcf\n"
+ "\tands r0, r2\n"
+ "\tstrh r0, [r3]\n"
+ "_08110E94:\n"
+ "\tmov r1, r9\n"
+ "\tldrh r0, [r1]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r4\n"
+ "\tldrh r1, [r2]\n"
+ "\tmovs r0, 0x1\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110EAC\n"
+ "\tldr r0, _08110F2C @ =0x0000ff3f\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110EAC:\n"
+ "\tmov r3, r9\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r4\n"
+ "\tldrh r1, [r2]\n"
+ "\tmovs r0, 0x8\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110EC4\n"
+ "\tldr r0, _08110F30 @ =0x0000ffaf\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110EC4:\n"
+ "\tmov r1, r9\n"
+ "\tldrh r0, [r1]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r2, r0, r4\n"
+ "\tldrh r1, [r2]\n"
+ "\tmovs r0, 0x4\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110EDC\n"
+ "\tldr r0, _08110F34 @ =0x0000ff5f\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "_08110EDC:\n"
+ "\tldr r6, _08110F38 @ =gUnknown_02039268\n"
+ "\tmov r3, r9\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r4\n"
+ "\tldrh r1, [r0]\n"
+ "\tmovs r5, 0xF\n"
+ "\tadds r0, r5, 0\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r6]\n"
+ "\tldr r2, _08110F3C @ =gUnknown_0203926A\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r4\n"
+ "\tldrh r1, [r0]\n"
+ "\tmovs r0, 0xF0\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "\tldrh r1, [r3]\n"
+ "\tadds r3, r2, 0\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08110F0A\n"
+ "\tb _0811105E\n"
+ "_08110F0A:\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r4\n"
+ "\tldrh r2, [r0]\n"
+ "\tadds r1, r5, 0\n"
+ "\tands r1, r2\n"
+ "\tstrh r1, [r0]\n"
+ "\tldrh r0, [r6]\n"
+ "\tcmp r0, 0xA\n"
+ "\tbls _08110F1E\n"
+ "\tb _0811105E\n"
+ "_08110F1E:\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _08110F40 @ =_08110F44\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tmov pc, r0\n"
+ "\t.align 2, 0\n"
+ "_08110F28: .4byte 0x0000ffcf\n"
+ "_08110F2C: .4byte 0x0000ff3f\n"
+ "_08110F30: .4byte 0x0000ffaf\n"
+ "_08110F34: .4byte 0x0000ff5f\n"
+ "_08110F38: .4byte gUnknown_02039268\n"
+ "_08110F3C: .4byte gUnknown_0203926A\n"
+ "_08110F40: .4byte _08110F44\n"
+ "\t.align 2, 0\n"
+ "_08110F44:\n"
+ "\t.4byte _08110F70\n"
+ "\t.4byte _08110FAC\n"
+ "\t.4byte _08110F8E\n"
+ "\t.4byte _0811105E\n"
+ "\t.4byte _08111002\n"
+ "\t.4byte _08111036\n"
+ "\t.4byte _08111036\n"
+ "\t.4byte _0811105E\n"
+ "\t.4byte _08110FCE\n"
+ "\t.4byte _0811104A\n"
+ "\t.4byte _0811104A\n"
+ "_08110F70:\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r1, r0, 16\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _0811105E\n"
+ "\tmov r0, r9\n"
+ "\tldrh r2, [r0]\n"
+ "\tlsls r2, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r2, r0\n"
+ "\tldrh r0, [r2]\n"
+ "\tadds r0, 0x10\n"
+ "\tlsrs r1, 20\n"
+ "\tb _08110FC8\n"
+ "_08110F8E:\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r1, r0, 16\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _0811105E\n"
+ "\tmov r3, r9\n"
+ "\tldrh r2, [r3]\n"
+ "\tlsls r2, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r2, r0\n"
+ "\tldrh r0, [r2]\n"
+ "\tadds r0, 0x1E\n"
+ "\tlsrs r1, 20\n"
+ "\tb _08110FC8\n"
+ "_08110FAC:\n"
+ "\tldrh r0, [r3]\n"
+ "\tlsls r1, r0, 16\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _0811105E\n"
+ "\tmov r0, r9\n"
+ "\tldrh r2, [r0]\n"
+ "\tlsls r2, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r2, r0\n"
+ "\tldrh r0, [r2]\n"
+ "\tadds r0, 0x20\n"
+ "\tlsrs r1, 22\n"
+ "_08110FC8:\n"
+ "\tadds r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "\tb _0811105E\n"
+ "_08110FCE:\n"
+ "\tldrh r2, [r3]\n"
+ "\tcmp r2, 0\n"
+ "\tbeq _0811105E\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r2\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tnegs r0, r0\n"
+ "\tlsrs r3, r0, 31\n"
+ "\tmovs r0, 0x20\n"
+ "\tands r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08110FEC\n"
+ "\tmovs r0, 0x2\n"
+ "\torrs r3, r0\n"
+ "_08110FEC:\n"
+ "\tmov r0, r9\n"
+ "\tldrh r1, [r0]\n"
+ "\tlsls r1, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r1]\n"
+ "\tadds r0, 0x20\n"
+ "\tadds r0, r3\n"
+ "\tb _0811105C\n"
+ "_08111002:\n"
+ "\tldrh r2, [r3]\n"
+ "\tcmp r2, 0\n"
+ "\tbeq _0811105E\n"
+ "\tmovs r0, 0x40\n"
+ "\tands r0, r2\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tnegs r0, r0\n"
+ "\tlsrs r3, r0, 31\n"
+ "\tmovs r0, 0x10\n"
+ "\tands r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08111020\n"
+ "\tmovs r0, 0x2\n"
+ "\torrs r3, r0\n"
+ "_08111020:\n"
+ "\tmov r0, r9\n"
+ "\tldrh r1, [r0]\n"
+ "\tlsls r1, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r1]\n"
+ "\tadds r0, 0x21\n"
+ "\tadds r0, r3\n"
+ "\tb _0811105C\n"
+ "_08111036:\n"
+ "\tmov r3, r9\n"
+ "\tldrh r1, [r3]\n"
+ "\tlsls r1, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r1]\n"
+ "\tadds r0, 0x27\n"
+ "\tb _0811105C\n"
+ "_0811104A:\n"
+ "\tmov r0, r9\n"
+ "\tldrh r1, [r0]\n"
+ "\tlsls r1, 1\n"
+ "\tmovs r0, 0x8B\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r1]\n"
+ "\tadds r0, 0x25\n"
+ "_0811105C:\n"
+ "\tstrh r0, [r1]\n"
+ "_0811105E:\n"
+ "\tmov r3, r9\n"
+ "\tldrh r0, [r3]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r3]\n"
+ "\tlsls r0, 16\n"
+ "\tldr r1, _08111080 @ =0x027f0000\n"
+ "\tcmp r0, r1\n"
+ "\tbhi _08111070\n"
+ "\tb _08110E3C\n"
+ "_08111070:\n"
+ "\tadd sp, 0xC\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.align 2, 0\n"
+ "_08111080: .4byte 0x027f0000");
+}
+#endif // NONMATCHING