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
|
.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8137138
sub_8137138: @ 8137138
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown
bl LoadSpriteSheet
ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown
bl LoadSpritePalette
ldr r2, _081371C8 @ =gUnknown_02039304
ldr r0, [r2]
adds r0, 0x54
movs r1, 0
strb r1, [r0]
movs r4, 0
adds r5, r2, 0
ldr r6, _081371CC @ =gUnknown_08406158
adds r0, r6, 0x2
mov r8, r0
ldr r7, _081371D0 @ =gSprites + 0x1C
_08137160:
ldr r0, [r5]
adds r0, 0x61
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
beq _081371AC
lsls r2, r4, 2
adds r0, r2, r6
movs r3, 0
ldrsh r1, [r0, r3]
add r2, r8
movs r0, 0
ldrsh r2, [r2, r0]
ldr r0, _081371D4 @ =gSpriteTemplate_840618C
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x40
beq _081371AC
ldr r0, [r5]
adds r0, 0x61
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
beq _081371A2
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r7
ldr r1, _081371D8 @ =sub_81371DC
str r1, [r0]
_081371A2:
ldr r1, [r5]
adds r1, 0x54
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_081371AC:
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x4
bls _08137160
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081371C0: .4byte gSpriteSheet_ConditionUpDown
_081371C4: .4byte gSpritePalette_ConditionUpDown
_081371C8: .4byte gUnknown_02039304
_081371CC: .4byte gUnknown_08406158
_081371D0: .4byte gSprites + 0x1C
_081371D4: .4byte gSpriteTemplate_840618C
_081371D8: .4byte sub_81371DC
thumb_func_end sub_8137138
thumb_func_start sub_81371DC
sub_81371DC: @ 81371DC
push {lr}
adds r1, r0, 0
movs r2, 0x2E
ldrsh r0, [r1, r2]
cmp r0, 0x5
bgt _081371EE
ldrh r0, [r1, 0x26]
subs r0, 0x2
b _081371F6
_081371EE:
cmp r0, 0xB
bgt _081371F8
ldrh r0, [r1, 0x26]
adds r0, 0x2
_081371F6:
strh r0, [r1, 0x26]
_081371F8:
ldrh r0, [r1, 0x2E]
adds r0, 0x1
strh r0, [r1, 0x2E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x3C
ble _08137218
adds r0, r1, 0
bl DestroySprite
ldr r0, _0813721C @ =gUnknown_02039304
ldr r1, [r0]
adds r1, 0x54
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
_08137218:
pop {r0}
bx r0
.align 2, 0
_0813721C: .4byte gUnknown_02039304
thumb_func_end sub_81371DC
.align 2, 0 @ Don't pad with nop.
|