forked from zeldaret/tmc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
code_080AD90C.s
157 lines (150 loc) · 2.89 KB
/
code_080AD90C.s
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
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start FlushSprites
FlushSprites: @ 0x080AD90C
ldr r1, _080AD914 @ =gUnk_03000000
movs r0, #0
strb r0, [r1, #3]
bx lr
.align 2, 0
_080AD914: .4byte gUnk_03000000
thumb_func_start sub_080AD918
sub_080AD918: @ 0x080AD918
push {r4, lr}
ldr r1, _080AD948 @ =gMain
ldrb r0, [r1, #0xb]
adds r2, r0, #0
cmp r2, #0
bne _080AD958
ldr r1, _080AD94C @ =gUnk_03000000
movs r3, #0xa4
lsls r3, r3, #3
adds r0, r1, r3
strb r2, [r0]
ldr r3, _080AD950 @ =0x00000664
adds r0, r1, r3
strb r2, [r0]
movs r3, #0xf5
lsls r3, r3, #3
adds r0, r1, r3
strb r2, [r0]
ldr r3, _080AD954 @ =0x000008EC
adds r0, r1, r3
strb r2, [r0]
adds r4, r1, #0
b _080AD95E
.align 2, 0
_080AD948: .4byte gMain
_080AD94C: .4byte gUnk_03000000
_080AD950: .4byte 0x00000664
_080AD954: .4byte 0x000008EC
_080AD958:
subs r0, #1
strb r0, [r1, #0xb]
ldr r4, _080AD9A8 @ =gUnk_03000000
_080AD95E:
ldrb r1, [r4, #3]
movs r0, #0x80
subs r2, r0, r1
cmp r2, #0
ble _080AD980
lsls r1, r1, #3
adds r0, r4, #0
adds r0, #0x20
adds r1, r1, r0
movs r3, #0xa8
lsls r3, r3, #2
adds r0, r3, #0
_080AD976:
strh r0, [r1]
adds r1, #8
subs r2, #1
cmp r2, #0
bne _080AD976
_080AD980:
adds r1, r4, #0
ldr r0, _080AD9AC @ =0x00000427
adds r2, r1, r0
ldrb r0, [r2]
cmp r0, #0
beq _080AD9A0
movs r0, #0
strb r0, [r2]
movs r2, #0x84
lsls r2, r2, #3
adds r0, r1, r2
adds r1, #0x26
movs r2, #0x20
movs r3, #8
bl ObjAffineSet
_080AD9A0:
movs r0, #1
strb r0, [r4]
pop {r4, pc}
.align 2, 0
_080AD9A8: .4byte gUnk_03000000
_080AD9AC: .4byte 0x00000427
thumb_func_start sub_080AD9B0
sub_080AD9B0: @ 0x080AD9B0
push {lr}
ldr r2, _080AD9F4 @ =gUnk_03000000
ldr r0, _080AD9F8 @ =gScreenTransition
adds r0, #0x2f
ldrb r0, [r0]
movs r1, #0
cmp r0, #0
beq _080AD9C2
movs r1, #0xf
_080AD9C2:
strb r1, [r2, #0xe]
ldr r1, _080AD9FC @ =gRoomControls
adds r0, r1, #0
adds r0, #0x24
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #4]
adds r0, r1, #0
adds r0, #0x25
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #6]
ldrb r0, [r2, #1]
adds r0, #1
strb r0, [r2, #1]
ldr r0, _080ADA00 @ =gUnk_03006164
bl _call_via_r0
pop {pc}
.align 2, 0
_080AD9F4: .4byte gUnk_03000000
_080AD9F8: .4byte gScreenTransition
_080AD9FC: .4byte gRoomControls
_080ADA00: .4byte gUnk_03006164
thumb_func_start sub_080ADA04
sub_080ADA04: @ 0x080ADA04
push {lr}
ldr r2, _080ADA10 @ =gUnk_0300659C
bl _call_via_r2
pop {pc}
.align 2, 0
_080ADA10: .4byte gUnk_0300659C
thumb_func_start sub_080ADA14
sub_080ADA14: @ 0x080ADA14
push {r4, lr}
adds r3, r0, #0
adds r2, r1, #0
ldr r4, _080ADA28 @ =gUnk_03006580
ldr r0, _080ADA2C @ =gOamCmd
adds r1, r3, #0
bl _call_via_r4
pop {r4, pc}
.align 2, 0
_080ADA28: .4byte gUnk_03006580
_080ADA2C: .4byte gOamCmd