1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
.include "constants/gba_constants.s"
.include "constants/species_constants.s"
.include "asm/macros.s"
.syntax unified
.text
thumb_func_start GetLandmarkName
GetLandmarkName: @ 811A8CC
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r5, r2, 24
bl GetLandmarkList
adds r4, r0, 0
cmp r4, 0
bne _0811A8E8
_0811A8E4:
movs r0, 0
b _0811A91A
_0811A8E8:
ldr r6, _0811A8EC @ =0x0000ffff
b _0811A8FE
.align 2, 0
_0811A8EC: .4byte 0x0000ffff
_0811A8F0:
subs r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_0811A8F6:
adds r4, 0x4
ldr r0, [r4]
cmp r0, 0
beq _0811A8E4
_0811A8FE:
ldr r1, [r4]
ldrh r0, [r1, 0x4]
cmp r0, r6
beq _0811A912
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0811A8F6
_0811A912:
cmp r5, 0
bne _0811A8F0
ldr r0, [r4]
ldr r0, [r0]
_0811A91A:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end GetLandmarkName
thumb_func_start GetLandmarkList
GetLandmarkList: @ 811A920
push {r4-r6,lr}
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 24
lsrs r6, r1, 24
movs r2, 0
ldr r0, _0811A964 @ =gLandmarkLists
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0x58
beq _0811A990
adds r1, r4, 0
_0811A938:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, r3
bhi _0811A990
cmp r0, r3
beq _0811A956
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x58
bne _0811A938
_0811A956:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x58
bne _0811A970
b _0811A990
.align 2, 0
_0811A964: .4byte gLandmarkLists
_0811A968:
adds r0, r4, 0x4
adds r0, r1, r0
ldr r0, [r0]
b _0811A992
_0811A970:
cmp r0, r3
bne _0811A990
ldr r5, _0811A998 @ =gLandmarkLists
_0811A976:
lsls r1, r2, 3
adds r0, r1, r5
ldrb r0, [r0, 0x1]
cmp r0, r6
beq _0811A968
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r4
ldrb r0, [r0]
cmp r0, r3
beq _0811A976
_0811A990:
movs r0, 0
_0811A992:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0811A998: .4byte gLandmarkLists
thumb_func_end GetLandmarkList
.align 2, 0 @ Don't pad with nop.
|