summaryrefslogtreecommitdiff
path: root/asm/buy_menu_helpers.s
blob: 1f84ec68492de6171713da3d796f5fe9deb0c692 (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start sub_813F66C
sub_813F66C: @ 813F66C
	push {r4,lr}
	adds r4, r0, 0
	cmp r4, 0x1
	beq _0813F680
	ldr r0, _0813F67C @ =gUnknown_8464804
	bl InitWindows
	b _0813F686
	.align 2, 0
_0813F67C: .4byte gUnknown_8464804
_0813F680:
	ldr r0, _0813F6CC @ =gUnknown_846483C
	bl InitWindows
_0813F686:
	bl DeactivateAllTextPrinters
	movs r0, 0
	movs r1, 0x1
	movs r2, 0xD0
	bl sub_815001C
	movs r0, 0
	movs r1, 0x13
	movs r2, 0xE0
	bl sub_814FEAC
	movs r0, 0
	movs r1, 0xA
	movs r2, 0xF0
	bl sub_814FF2C
	movs r0, 0
	bl PutWindowTilemap
	movs r0, 0x4
	bl PutWindowTilemap
	movs r0, 0x5
	bl PutWindowTilemap
	cmp r4, 0x1
	bne _0813F6C4
	movs r0, 0x6
	bl PutWindowTilemap
_0813F6C4:
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_0813F6CC: .4byte gUnknown_846483C
	thumb_func_end sub_813F66C

	thumb_func_start sub_813F6D0
sub_813F6D0: @ 813F6D0
	push {lr}
	ldr r0, _0813F6F0 @ =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0xA4
	lsls r1, 2
	adds r0, r1
	bl sub_809FD58
	adds r3, r0, 0
	movs r0, 0
	movs r1, 0xA
	movs r2, 0xF
	bl sub_809FF48
	pop {r0}
	bx r0
	.align 2, 0
_0813F6F0: .4byte gSaveBlock1Ptr
	thumb_func_end sub_813F6D0

	thumb_func_start sub_813F6F4
sub_813F6F4: @ 813F6F4
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x14
	mov r9, r3
	ldr r3, [sp, 0x30]
	ldr r4, [sp, 0x34]
	ldr r6, [sp, 0x38]
	ldr r5, [sp, 0x3C]
	mov r8, r5
	ldr r5, [sp, 0x40]
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	mov r7, r9
	lsls r7, 24
	lsrs r7, 24
	mov r9, r7
	lsls r3, 24
	lsrs r3, 24
	lsls r4, 24
	lsrs r4, 24
	lsls r6, 24
	lsrs r6, 24
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r6, [sp, 0x4]
	lsls r4, r5, 1
	adds r4, r5
	ldr r5, _0813F758 @ =gUnknown_8464884
	adds r4, r5
	str r4, [sp, 0x8]
	mov r4, r8
	lsls r4, 24
	asrs r4, 24
	str r4, [sp, 0xC]
	str r2, [sp, 0x10]
	mov r2, r9
	bl AddTextPrinterParametrized2
	add sp, 0x14
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	.align 2, 0
_0813F758: .4byte gUnknown_8464884
	thumb_func_end sub_813F6F4

	thumb_func_start sub_813F75C
sub_813F75C: @ 813F75C
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x10
	adds r5, r0, 0
	adds r6, r1, 0
	mov r8, r2
	lsls r5, 24
	lsrs r5, 24
	bl sub_809B56C
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_80F78A8
	lsls r0, 24
	lsrs r0, 24
	str r4, [sp]
	str r0, [sp, 0x4]
	str r6, [sp, 0x8]
	mov r0, r8
	str r0, [sp, 0xC]
	adds r0, r5, 0
	movs r1, 0x2
	movs r2, 0x13
	movs r3, 0xE
	bl DisplayMessageAndContinueTask
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	add sp, 0x10
	pop {r3}
	mov r8, r3
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_813F75C

	thumb_func_start sub_813F7A8
sub_813F7A8: @ 813F7A8
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	movs r2, 0x1
	movs r3, 0xD
	bl SetWindowBorderStyle
	pop {r0}
	bx r0
	thumb_func_end sub_813F7A8

	thumb_func_start sub_813F7C0
sub_813F7C0: @ 813F7C0
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	movs r2, 0xA
	movs r3, 0xF
	bl SetWindowBorderStyle
	pop {r0}
	bx r0
	thumb_func_end sub_813F7C0

	thumb_func_start sub_813F7D8
sub_813F7D8: @ 813F7D8
	push {lr}
	sub sp, 0x10
	adds r3, r1, 0
	lsls r0, 24
	lsrs r0, 24
	ldr r1, _0813F800 @ =gUnknown_846487C
	movs r2, 0x2
	str r2, [sp]
	movs r2, 0x1
	str r2, [sp, 0x4]
	movs r2, 0xD
	str r2, [sp, 0x8]
	str r3, [sp, 0xC]
	movs r2, 0x2
	movs r3, 0
	bl sub_80BF5D0
	add sp, 0x10
	pop {r0}
	bx r0
	.align 2, 0
_0813F800: .4byte gUnknown_846487C
	thumb_func_end sub_813F7D8

	.align 2, 0 @ Don't pad with nop.