summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-03-16 20:12:37 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2020-03-16 20:12:37 -0400
commit6e00e822101c4c3f68bce0789ba56133b24b586b (patch)
treea9130de6de36a81db21c87a3522bcc79728a1f49 /asm
parentf8915246a77a4453135ac3a4e6a61c098d557451 (diff)
Port field_weather from Emerald
Diffstat (limited to 'asm')
-rw-r--r--asm/field_weather.s3016
-rw-r--r--asm/field_weather_effects.s452
-rw-r--r--asm/field_weather_util.s295
-rw-r--r--asm/overworld.s8
4 files changed, 525 insertions, 3246 deletions
diff --git a/asm/field_weather.s b/asm/field_weather.s
index c5204def2..2428f2984 100644
--- a/asm/field_weather.s
+++ b/asm/field_weather.s
@@ -5,3020 +5,4 @@
.text
- thumb_func_start sub_8079C08
-sub_8079C08: @ 8079C08
- push {r4-r6,lr}
- ldr r0, _08079CCC @ =Task_WeatherMain
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08079CC4
- movs r0, 0x90
- lsls r0, 5
- bl AllocSpritePalette
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08079CD0 @ =gUnknown_83C2CE0
- lsls r1, r5, 5
- ldr r2, _08079CD4 @ =gPlttBufferUnfaded + 0x200
- adds r1, r2
- ldr r2, _08079CD8 @ =0x04000008
- bl CpuSet
- adds r0, r5, 0
- bl sub_8083598
- bl sub_8079EE8
- ldr r4, _08079CDC @ =gUnknown_2037F34
- ldr r1, _08079CE0 @ =0x000006d5
- adds r0, r4, r1
- strb r5, [r0]
- subs r1, 0x1
- adds r0, r4, r1
- strb r5, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x2
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x1C
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x5
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x29
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0xE
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x1
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x17
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x34
- adds r0, r4, r1
- strb r6, [r0]
- movs r0, 0x10
- movs r1, 0
- bl Weather_SetBlendCoeffs
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r4, r1
- strb r6, [r0]
- ldr r0, _08079CE4 @ =0x000006c6
- adds r1, r4, r0
- movs r0, 0x3
- strb r0, [r1]
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r4, r1
- strb r6, [r0]
- ldr r0, _08079CE8 @ =0x000006d3
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _08079CEC @ =Task_WeatherInit
- movs r1, 0x50
- bl CreateTask
- ldr r1, _08079CF0 @ =0x000006c9
- adds r4, r1
- strb r0, [r4]
-_08079CC4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079CCC: .4byte Task_WeatherMain
-_08079CD0: .4byte gUnknown_83C2CE0
-_08079CD4: .4byte gPlttBufferUnfaded + 0x200
-_08079CD8: .4byte 0x04000008
-_08079CDC: .4byte gUnknown_2037F34
-_08079CE0: .4byte 0x000006d5
-_08079CE4: .4byte 0x000006c6
-_08079CE8: .4byte 0x000006d3
-_08079CEC: .4byte Task_WeatherInit
-_08079CF0: .4byte 0x000006c9
- thumb_func_end sub_8079C08
-
- thumb_func_start weather_set
-weather_set: @ 8079CF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- beq _08079D0A
- cmp r4, 0x5
- beq _08079D0A
- cmp r4, 0xD
- beq _08079D0A
- bl PlayRainStoppingSoundEffect
-_08079D0A:
- ldr r1, _08079D4C @ =gUnknown_2037F34
- ldr r2, _08079D50 @ =0x000006d1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r4
- beq _08079D2E
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r4
- bne _08079D2E
- ldr r0, _08079D54 @ =gUnknown_83C2BC0
- lsls r1, r4, 4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_08079D2E:
- ldr r1, _08079D4C @ =gUnknown_2037F34
- ldr r2, _08079D58 @ =0x000006d3
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08079D50 @ =0x000006d1
- adds r0, r1, r3
- strb r4, [r0]
- ldr r0, _08079D5C @ =0x000006ce
- adds r1, r0
- strh r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079D4C: .4byte gUnknown_2037F34
-_08079D50: .4byte 0x000006d1
-_08079D54: .4byte gUnknown_83C2BC0
-_08079D58: .4byte 0x000006d3
-_08079D5C: .4byte 0x000006ce
- thumb_func_end weather_set
-
- thumb_func_start sub_8079D60
-sub_8079D60: @ 8079D60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl PlayRainStoppingSoundEffect
- ldr r0, _08079D84 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r1, r0, r2
- strb r4, [r1]
- ldr r1, _08079D88 @ =0x000006d1
- adds r0, r1
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079D84: .4byte gUnknown_2037F34
-_08079D88: .4byte 0x000006d1
- thumb_func_end sub_8079D60
-
- thumb_func_start sub_8079D8C
-sub_8079D8C: @ 8079D8C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl PlayRainStoppingSoundEffect
- ldr r1, _08079DB8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r1, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0xD9
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079DB8: .4byte gUnknown_2037F34
- thumb_func_end sub_8079D8C
-
- thumb_func_start Task_WeatherInit
-Task_WeatherInit: @ 8079DBC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _08079DFC @ =gUnknown_2037F34
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08079DF4
- ldr r1, _08079E00 @ =gUnknown_83C2BC0
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08079E04 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08079E08 @ =Task_WeatherMain
- str r1, [r0]
-_08079DF4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079DFC: .4byte gUnknown_2037F34
-_08079E00: .4byte gUnknown_83C2BC0
-_08079E04: .4byte gTasks
-_08079E08: .4byte Task_WeatherMain
- thumb_func_end Task_WeatherInit
-
- thumb_func_start Task_WeatherMain
-Task_WeatherMain: @ 8079E0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08079E68 @ =gUnknown_2037F34
- movs r0, 0xDA
- lsls r0, 3
- adds r6, r5, r0
- ldr r1, _08079E6C @ =0x000006d1
- adds r7, r5, r1
- ldrb r0, [r6]
- ldrb r2, [r7]
- cmp r0, r2
- beq _08079E80
- ldr r0, _08079E70 @ =gUnknown_83C2BC0
- mov r8, r0
- ldrb r0, [r6]
- lsls r0, 4
- mov r1, r8
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08079E90
- ldrb r0, [r7]
- lsls r0, 4
- add r0, r8
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08079E74 @ =0x000006c3
- adds r0, r5, r1
- strb r4, [r0]
- ldr r2, _08079E78 @ =0x000006c6
- adds r0, r5, r2
- strb r4, [r0]
- ldrb r0, [r7]
- strb r0, [r6]
- ldr r0, _08079E7C @ =0x000006d3
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- b _08079E90
- .align 2, 0
-_08079E68: .4byte gUnknown_2037F34
-_08079E6C: .4byte 0x000006d1
-_08079E70: .4byte gUnknown_83C2BC0
-_08079E74: .4byte 0x000006c3
-_08079E78: .4byte 0x000006c6
-_08079E7C: .4byte 0x000006d3
-_08079E80:
- ldr r0, _08079EB0 @ =gUnknown_83C2BC0
- ldrb r1, [r6]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_08079E90:
- ldr r1, _08079EB4 @ =gUnknown_83C2CB0
- ldr r0, _08079EB8 @ =gUnknown_2037F34
- ldr r2, _08079EBC @ =0x000006c6
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079EB0: .4byte gUnknown_83C2BC0
-_08079EB4: .4byte gUnknown_83C2CB0
-_08079EB8: .4byte gUnknown_2037F34
-_08079EBC: .4byte 0x000006c6
- thumb_func_end Task_WeatherMain
-
- thumb_func_start sub_8079EC0
-sub_8079EC0: @ 8079EC0
- ldr r0, _08079ED4 @ =gUnknown_2037F34
- ldr r2, _08079ED8 @ =0x000006c1
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _08079EDC @ =0x000006c2
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_08079ED4: .4byte gUnknown_2037F34
-_08079ED8: .4byte 0x000006c1
-_08079EDC: .4byte 0x000006c2
- thumb_func_end sub_8079EC0
-
- thumb_func_start nullsub_45
-nullsub_45: @ 8079EE0
- bx lr
- thumb_func_end nullsub_45
-
- thumb_func_start sub_8079EE4
-sub_8079EE4: @ 8079EE4
- movs r0, 0
- bx lr
- thumb_func_end sub_8079EE4
-
- thumb_func_start sub_8079EE8
-sub_8079EE8: @ 8079EE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _08079F28 @ =gUnknown_20386A4
- ldr r0, _08079F2C @ =gUnknown_83C2CC0
- str r0, [r1]
- movs r0, 0
- mov r12, r0
- ldr r1, _08079F30 @ =gUnknown_2038394
- mov r10, r1
-_08079F00:
- mov r7, r10
- mov r0, r12
- cmp r0, 0
- bne _08079F0C
- ldr r1, _08079F34 @ =0xfffffda0
- adds r7, r1
-_08079F0C:
- movs r5, 0
- movs r0, 0x1
- add r0, r12
- mov r9, r0
-_08079F14:
- lsls r1, r5, 8
- lsls r0, r5, 24
- lsrs r2, r0, 16
- mov r0, r12
- cmp r0, 0
- bne _08079F38
- adds r0, r1, 0
- lsls r0, 12
- lsrs r4, r0, 16
- b _08079F3A
- .align 2, 0
-_08079F28: .4byte gUnknown_20386A4
-_08079F2C: .4byte gUnknown_83C2CC0
-_08079F30: .4byte gUnknown_2038394
-_08079F34: .4byte 0xfffffda0
-_08079F38:
- movs r4, 0
-_08079F3A:
- movs r3, 0
- adds r1, r5, 0x1
- mov r8, r1
-_08079F40:
- subs r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _08079F40
- adds r6, r2, 0
- movs r0, 0xF8
- lsls r0, 5
- subs r0, r2
- cmp r0, 0
- bge _08079F68
- adds r0, 0xF
-_08079F68:
- lsls r0, 12
- lsrs r4, r0, 16
- cmp r5, 0xB
- bhi _08079FB2
- cmp r3, 0x12
- bhi _08079FD8
-_08079F74:
- adds r0, r2, r4
- lsls r0, 16
- lsrs r2, r0, 16
- subs r0, r2, r6
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- ble _08079F90
- lsrs r0, 31
- adds r0, r1, r0
- asrs r0, 1
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
-_08079F90:
- lsls r0, r3, 5
- adds r0, r7
- adds r1, r0, r5
- lsrs r0, r2, 8
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08079FA6
- movs r0, 0x1F
- strb r0, [r1]
-_08079FA6:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _08079F74
- b _08079FD8
-_08079FB2:
- cmp r3, 0x12
- bhi _08079FD8
- movs r6, 0x1F
-_08079FB8:
- adds r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- cmp r1, 0x1F
- bls _08079FCE
- strb r6, [r0]
-_08079FCE:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _08079FB8
-_08079FD8:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _08079F14
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x1
- bls _08079F00
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8079EE8
-
- thumb_func_start sub_8079FFC
-sub_8079FFC: @ 8079FFC
- push {r4-r7,lr}
- ldr r0, _0807A028 @ =gUnknown_2037F34
- movs r1, 0xD8
- lsls r1, 3
- adds r4, r0, r1
- ldr r2, _0807A02C @ =0x000006c1
- adds r1, r0, r2
- ldrb r7, [r4]
- mov r12, r7
- movs r6, 0
- ldrsb r6, [r4, r6]
- movs r5, 0
- ldrsb r5, [r1, r5]
- adds r3, r0, 0
- cmp r6, r5
- bne _0807A034
- ldr r0, _0807A030 @ =0x000006c6
- adds r1, r3, r0
- movs r0, 0x3
- strb r0, [r1]
- b _0807A07C
- .align 2, 0
-_0807A028: .4byte gUnknown_2037F34
-_0807A02C: .4byte 0x000006c1
-_0807A030: .4byte 0x000006c6
-_0807A034:
- ldr r1, _0807A05C @ =0x000006c3
- adds r2, r3, r1
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r7, _0807A060 @ =0x000006c2
- adds r1, r3, r7
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0807A07C
- movs r0, 0
- strb r0, [r2]
- mov r0, r12
- cmp r6, r5
- bge _0807A064
- adds r0, 0x1
- b _0807A068
- .align 2, 0
-_0807A05C: .4byte 0x000006c3
-_0807A060: .4byte 0x000006c2
-_0807A064:
- mov r0, r12
- subs r0, 0x1
-_0807A068:
- strb r0, [r4]
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
-_0807A07C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8079FFC
-
- thumb_func_start sub_807A084
-sub_807A084: @ 807A084
- push {lr}
- ldr r2, _0807A0BC @ =gUnknown_2037F34
- ldr r0, _0807A0C0 @ =0x000006cb
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0807A0A2
- ldr r3, _0807A0C4 @ =0x000006ca
- adds r1, r2, r3
- movs r0, 0
- strb r0, [r1]
-_0807A0A2:
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x3
- cmp r0, 0xA
- bhi _0807A16C
- lsls r0, 2
- ldr r1, _0807A0C8 @ =_0807A0CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A0BC: .4byte gUnknown_2037F34
-_0807A0C0: .4byte 0x000006cb
-_0807A0C4: .4byte 0x000006ca
-_0807A0C8: .4byte _0807A0CC
- .align 2, 0
-_0807A0CC:
- .4byte _0807A0F8
- .4byte _0807A0F8
- .4byte _0807A0F8
- .4byte _0807A144
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A0F8
- .4byte _0807A120
- .4byte _0807A0F8
-_0807A0F8:
- bl sub_807A19C
- lsls r0, 24
- cmp r0, 0
- bne _0807A18C
- ldr r0, _0807A118 @ =gUnknown_2037F34
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0x3
- strb r2, [r1]
- ldr r3, _0807A11C @ =0x000006c6
- adds r0, r3
- strb r2, [r0]
- b _0807A18C
- .align 2, 0
-_0807A118: .4byte gUnknown_2037F34
-_0807A11C: .4byte 0x000006c6
-_0807A120:
- bl sub_807A1FC
- lsls r0, 24
- cmp r0, 0
- bne _0807A18C
- ldr r1, _0807A13C @ =gUnknown_2037F34
- movs r0, 0xD8
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0xFA
- strb r0, [r2]
- ldr r2, _0807A140 @ =0x000006c6
- adds r1, r2
- b _0807A188
- .align 2, 0
-_0807A13C: .4byte gUnknown_2037F34
-_0807A140: .4byte 0x000006c6
-_0807A144:
- bl sub_807A254
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0807A18C
- ldr r0, _0807A164 @ =gUnknown_2037F34
- movs r3, 0xD8
- lsls r3, 3
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _0807A168 @ =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- b _0807A18C
- .align 2, 0
-_0807A164: .4byte gUnknown_2037F34
-_0807A168: .4byte 0x000006c6
-_0807A16C:
- ldr r0, _0807A190 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807A18C
- ldr r3, _0807A194 @ =0x000006c1
- adds r0, r2, r3
- ldrb r1, [r0]
- subs r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0807A198 @ =0x000006c6
- adds r1, r2, r0
-_0807A188:
- movs r0, 0x3
- strb r0, [r1]
-_0807A18C:
- pop {r0}
- bx r0
- .align 2, 0
-_0807A190: .4byte gPaletteFade
-_0807A194: .4byte 0x000006c1
-_0807A198: .4byte 0x000006c6
- thumb_func_end sub_807A084
-
- thumb_func_start sub_807A19C
-sub_807A19C: @ 807A19C
- push {r4,lr}
- sub sp, 0x4
- ldr r2, _0807A1D8 @ =gUnknown_2037F34
- ldr r0, _0807A1DC @ =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _0807A1F2
- adds r1, r0, 0x1
- strb r1, [r4]
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _0807A1E4
- movs r3, 0x10
- subs r3, r1
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _0807A1E0 @ =0x000006c4
- adds r0, r2, r1
- ldrh r0, [r0]
- str r0, [sp]
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl sub_807A3D0
- movs r0, 0x1
- b _0807A1F4
- .align 2, 0
-_0807A1D8: .4byte gUnknown_2037F34
-_0807A1DC: .4byte 0x000006c7
-_0807A1E0: .4byte 0x000006c4
-_0807A1E4:
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl sub_807A294
- movs r0, 0x10
- strb r0, [r4]
-_0807A1F2:
- movs r0, 0
-_0807A1F4:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A19C
-
- thumb_func_start sub_807A1FC
-sub_807A1FC: @ 807A1FC
- push {r4,lr}
- ldr r2, _0807A230 @ =gUnknown_2037F34
- ldr r0, _0807A234 @ =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _0807A24C
- adds r3, r0, 0x1
- strb r3, [r4]
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _0807A23C
- movs r0, 0x6
- negs r0, r0
- movs r1, 0x10
- subs r1, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807A238 @ =0x000006c4
- adds r2, r3
- ldrh r2, [r2]
- bl sub_807A518
- movs r0, 0x1
- b _0807A24E
- .align 2, 0
-_0807A230: .4byte gUnknown_2037F34
-_0807A234: .4byte 0x000006c7
-_0807A238: .4byte 0x000006c4
-_0807A23C:
- movs r2, 0x6
- negs r2, r2
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
- movs r0, 0x10
- strb r0, [r4]
-_0807A24C:
- movs r0, 0
-_0807A24E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A1FC
-
- thumb_func_start sub_807A254
-sub_807A254: @ 807A254
- push {lr}
- ldr r2, _0807A27C @ =gUnknown_2037F34
- ldr r1, _0807A280 @ =0x000006c7
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0x10
- beq _0807A288
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0807A284 @ =0x000006c4
- adds r1, r2, r3
- ldrh r1, [r1]
- bl sub_807A5F8
- movs r0, 0x1
- b _0807A28A
- .align 2, 0
-_0807A27C: .4byte gUnknown_2037F34
-_0807A280: .4byte 0x000006c7
-_0807A284: .4byte 0x000006c4
-_0807A288:
- movs r0, 0
-_0807A28A:
- pop {r1}
- bx r1
- thumb_func_end sub_807A254
-
- thumb_func_start nullsub_46
-nullsub_46: @ 807A290
- bx lr
- thumb_func_end nullsub_46
-
- thumb_func_start sub_807A294
-sub_807A294: @ 807A294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- asrs r0, r2, 24
- cmp r0, 0
- ble _0807A3A0
- subs r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r6, r3, 4
- adds r0, r1, r3
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r4, r9
- bcs _0807A3B6
- lsls r0, r2, 24
- asrs r0, 19
- str r0, [sp]
-_0807A2CE:
- ldr r0, _0807A300 @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A30C
- lsls r1, r6, 1
- ldr r0, _0807A304 @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _0807A308 @ =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r9
- lsls r0, 16
- mov r8, r0
- adds r4, 0x1
- mov r12, r4
- b _0807A38A
- .align 2, 0
-_0807A300: .4byte gUnknown_20386A4
-_0807A304: .4byte gPlttBufferUnfaded
-_0807A308: .4byte gPlttBufferFaded
-_0807A30C:
- cmp r0, 0x2
- beq _0807A320
- adds r1, r4, 0
- subs r1, 0x10
- ldr r2, _0807A324 @ =gUnknown_2037F34
- ldr r3, _0807A328 @ =0x000006d5
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _0807A330
-_0807A320:
- ldr r0, _0807A32C @ =gUnknown_2038394
- b _0807A336
- .align 2, 0
-_0807A324: .4byte gUnknown_2037F34
-_0807A328: .4byte 0x000006d5
-_0807A32C: .4byte gUnknown_2038394
-_0807A330:
- movs r3, 0x80
- lsls r3, 2
- adds r0, r2, r3
-_0807A336:
- ldr r1, [sp]
- adds r5, r1, r0
- movs r7, 0
- mov r3, r9
- lsls r3, 16
- mov r8, r3
- adds r4, 0x1
- mov r12, r4
- ldr r0, _0807A398 @ =gPlttBufferFaded
- mov r10, r0
-_0807A34A:
- adds r2, r6, 0
- lsls r0, r2, 1
- ldr r1, _0807A39C @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r4, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 1
- add r2, r10
- lsls r1, 10
- lsls r3, 5
- orrs r1, r3
- orrs r1, r4
- strh r1, [r2]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A34A
-_0807A38A:
- mov r3, r12
- lsls r0, r3, 16
- lsrs r4, r0, 16
- cmp r0, r8
- bcc _0807A2CE
- b _0807A3B6
- .align 2, 0
-_0807A398: .4byte gPlttBufferFaded
-_0807A39C: .4byte gPlttBufferUnfaded
-_0807A3A0:
- cmp r0, 0
- blt _0807A3B6
- lsls r1, r4, 5
- ldr r0, _0807A3C8 @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _0807A3CC @ =gPlttBufferFaded
- adds r1, r2
- mov r3, r9
- lsls r2, r3, 3
- bl CpuFastSet
-_0807A3B6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A3C8: .4byte gPlttBufferUnfaded
-_0807A3CC: .4byte gPlttBufferFaded
- thumb_func_end sub_807A294
-
- thumb_func_start sub_807A3D0
-sub_807A3D0: @ 807A3D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- mov r1, sp
- strh r4, [r1]
- ldr r1, [sp]
- lsls r3, r1, 27
- lsrs r3, 27
- str r3, [sp, 0x4]
- lsls r3, r1, 22
- lsrs r3, 27
- str r3, [sp, 0x8]
- lsls r1, 17
- lsrs r1, 27
- str r1, [sp, 0xC]
- lsls r6, r0, 4
- mov r3, r10
- adds r1, r3, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r2, r1
- lsrs r2, 24
- adds r4, r0, 0
- cmp r4, r10
- bcs _0807A4FC
- lsls r0, r2, 24
- asrs r0, 19
- str r0, [sp, 0x10]
-_0807A428:
- ldr r0, _0807A458 @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A45C
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- mov r2, r8
- bl BlendPalette
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r3, r10
- lsls r3, 16
- mov r9, r3
- adds r4, 0x1
- mov r12, r4
- b _0807A4F2
- .align 2, 0
-_0807A458: .4byte gUnknown_20386A4
-_0807A45C:
- cmp r0, 0x1
- bne _0807A46C
- ldr r0, _0807A468 @ =gUnknown_2038134
- ldr r1, [sp, 0x10]
- adds r5, r1, r0
- b _0807A472
- .align 2, 0
-_0807A468: .4byte gUnknown_2038134
-_0807A46C:
- ldr r0, _0807A50C @ =gUnknown_2038394
- ldr r3, [sp, 0x10]
- adds r5, r3, r0
-_0807A472:
- movs r7, 0
- mov r0, r10
- lsls r0, 16
- mov r9, r0
- adds r4, 0x1
- mov r12, r4
-_0807A47E:
- adds r4, r6, 0
- lsls r0, r4, 1
- ldr r1, _0807A510 @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r2, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- ldr r6, [sp, 0x4]
- subs r0, r6, r3
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r6, [sp, 0x8]
- subs r0, r6, r2
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r6, [sp, 0xC]
- subs r0, r6, r1
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r4, 1
- ldr r0, _0807A514 @ =gPlttBufferFaded
- adds r4, r0
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A47E
-_0807A4F2:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r0, r9
- bcc _0807A428
-_0807A4FC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A50C: .4byte gUnknown_2038394
-_0807A510: .4byte gPlttBufferUnfaded
-_0807A514: .4byte gPlttBufferFaded
- thumb_func_end sub_807A3D0
-
- thumb_func_start sub_807A518
-sub_807A518: @ 807A518
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r1, 24
- lsrs r6, r1, 24
- mov r0, sp
- strh r2, [r0]
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x4]
- lsls r1, r0, 22
- lsrs r1, 27
- mov r10, r1
- lsls r0, 17
- lsrs r0, 27
- mov r8, r0
- movs r5, 0
- movs r4, 0
-_0807A544:
- ldr r0, _0807A56C @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A570
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r5, 0
- movs r1, 0x10
- adds r2, r6, 0
- bl BlendPalette
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- mov r12, r4
- b _0807A5D4
- .align 2, 0
-_0807A56C: .4byte gUnknown_20386A4
-_0807A570:
- movs r7, 0
- adds r4, 0x1
- mov r12, r4
- ldr r0, _0807A5F0 @ =gPlttBufferFaded
- mov r9, r0
-_0807A57A:
- adds r4, r5, 0
- lsls r0, r4, 1
- ldr r1, _0807A5F4 @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r3, r1, 27
- lsrs r3, 27
- lsls r2, r1, 22
- lsrs r2, 27
- lsls r1, 17
- lsrs r1, 27
- ldr r5, [sp, 0x4]
- subs r0, r5, r3
- muls r0, r6
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- mov r5, r10
- subs r0, r5, r2
- muls r0, r6
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- mov r5, r8
- subs r0, r5, r1
- muls r0, r6
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 1
- add r4, r9
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A57A
-_0807A5D4:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _0807A544
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A5F0: .4byte gPlttBufferFaded
-_0807A5F4: .4byte gPlttBufferUnfaded
- thumb_func_end sub_807A518
-
- thumb_func_start sub_807A5F8
-sub_807A5F8: @ 807A5F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r3, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, 16
- lsrs r3, 16
- mov r0, sp
- strh r3, [r0]
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- adds r2, r7, 0
- bl BlendPalette
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x4]
- lsls r1, r0, 22
- lsrs r1, 27
- str r1, [sp, 0x8]
- lsls r0, 17
- lsrs r0, 27
- mov r10, r0
- movs r4, 0x10
-_0807A634:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_807A748
- lsls r0, 24
- cmp r0, 0
- beq _0807A6E4
- adds r0, r4, 0x1
- lsls r1, r0, 20
- lsrs r1, 16
- mov r12, r1
- lsls r1, r4, 20
- lsrs r6, r1, 16
- mov r9, r0
- cmp r6, r12
- bcs _0807A6F8
- movs r0, 0x1C
- mov r8, r0
-_0807A658:
- lsls r5, r6, 1
- ldr r0, _0807A6DC @ =gPlttBufferUnfaded
- adds r0, r5, r0
- ldr r2, [r0]
- lsls r4, r2, 27
- lsrs r4, 27
- lsls r3, r2, 22
- lsrs r3, 27
- lsls r2, 17
- lsrs r2, 27
- mov r0, r8
- subs r1, r0, r4
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1F
- subs r1, r3
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- subs r1, r0, r2
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x4]
- subs r0, r1, r4
- muls r0, r7
- asrs r0, 4
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [sp, 0x8]
- subs r0, r1, r3
- muls r0, r7
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- mov r1, r10
- subs r0, r1, r2
- muls r0, r7
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r0, _0807A6E0 @ =gPlttBufferFaded
- adds r5, r0
- lsrs r2, 14
- lsrs r3, 19
- orrs r2, r3
- orrs r2, r4
- strh r2, [r5]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r12
- bcc _0807A658
- b _0807A6F8
- .align 2, 0
-_0807A6DC: .4byte gPlttBufferUnfaded
-_0807A6E0: .4byte gPlttBufferFaded
-_0807A6E4:
- lsls r0, r4, 20
- lsrs r0, 16
- mov r1, sp
- ldrh r3, [r1]
- movs r1, 0x10
- adds r2, r7, 0
- bl BlendPalette
- adds r4, 0x1
- mov r9, r4
-_0807A6F8:
- mov r1, r9
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _0807A634
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807A5F8
-
- thumb_func_start sub_807A714
-sub_807A714: @ 807A714
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _0807A73C @ =gUnknown_2037F34
- ldr r0, _0807A740 @ =0x000006fa
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _0807A736
- ldr r4, _0807A744 @ =0x000006f4
- adds r0, r3, r4
- ldrb r3, [r1]
- adds r0, r3
- strb r2, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0807A736:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A73C: .4byte gUnknown_2037F34
-_0807A740: .4byte 0x000006fa
-_0807A744: .4byte 0x000006f4
- thumb_func_end sub_807A714
-
- thumb_func_start sub_807A748
-sub_807A748: @ 807A748
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r2, _0807A770 @ =gUnknown_2037F34
- ldr r4, _0807A774 @ =0x000006fa
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0807A786
- ldr r5, _0807A778 @ =0x000006f4
- adds r4, r2, r5
- adds r2, r0, 0
-_0807A762:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _0807A77C
- movs r0, 0x1
- b _0807A788
- .align 2, 0
-_0807A770: .4byte gUnknown_2037F34
-_0807A774: .4byte 0x000006fa
-_0807A778: .4byte 0x000006f4
-_0807A77C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _0807A762
-_0807A786:
- movs r0, 0
-_0807A788:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807A748
-
- thumb_func_start sub_807A790
-sub_807A790: @ 807A790
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _0807A7BC @ =gUnknown_2037F34
- ldr r1, _0807A7C0 @ =0x000006c6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0807A7B6
- lsls r2, r4, 24
- asrs r2, 24
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r5, r1
- strb r4, [r0]
-_0807A7B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A7BC: .4byte gUnknown_2037F34
-_0807A7C0: .4byte 0x000006c6
- thumb_func_end sub_807A790
-
- thumb_func_start sub_807A7C4
-sub_807A7C4: @ 807A7C4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r3, _0807A80C @ =gUnknown_2037F34
- ldr r0, _0807A810 @ =0x000006c6
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _0807A804
- movs r1, 0
- strb r1, [r2]
- movs r2, 0xD8
- lsls r2, 3
- adds r0, r3, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r3, r2
- strb r5, [r0]
- adds r2, 0x2
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, _0807A814 @ =0x000006c2
- adds r0, r3, r1
- strb r6, [r0]
- lsls r0, r4, 24
- asrs r0, 24
- bl sub_807A790
-_0807A804:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A80C: .4byte gUnknown_2037F34
-_0807A810: .4byte 0x000006c6
-_0807A814: .4byte 0x000006c2
- thumb_func_end sub_807A7C4
-
- thumb_func_start FadeScreen
-FadeScreen: @ 807A818
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x1
- beq _0807A850
- cmp r0, 0x1
- bgt _0807A834
- cmp r0, 0
- beq _0807A83E
- b _0807A92C
-_0807A834:
- cmp r2, 0x2
- beq _0807A844
- cmp r2, 0x3
- beq _0807A854
- b _0807A92C
-_0807A83E:
- movs r4, 0
- movs r1, 0
- b _0807A858
-_0807A844:
- ldr r4, _0807A84C @ =0x0000ffff
- movs r1, 0
- b _0807A858
- .align 2, 0
-_0807A84C: .4byte 0x0000ffff
-_0807A850:
- movs r4, 0
- b _0807A856
-_0807A854:
- ldr r4, _0807A878 @ =0x0000ffff
-_0807A856:
- movs r1, 0x1
-_0807A858:
- ldr r0, _0807A87C @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- blt _0807A880
- cmp r0, 0x6
- ble _0807A872
- cmp r0, 0xD
- bgt _0807A880
- cmp r0, 0xB
- blt _0807A880
-_0807A872:
- movs r2, 0x1
- b _0807A882
- .align 2, 0
-_0807A878: .4byte 0x0000ffff
-_0807A87C: .4byte gUnknown_2037F34
-_0807A880:
- movs r2, 0
-_0807A882:
- cmp r1, 0
- beq _0807A8C4
- cmp r2, 0
- beq _0807A896
- ldr r0, _0807A8B4 @ =gPlttBufferFaded
- ldr r1, _0807A8B8 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
-_0807A896:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807A8BC @ =gUnknown_2037F34
- ldr r3, _0807A8C0 @ =0x000006c6
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- b _0807A92C
- .align 2, 0
-_0807A8B4: .4byte gPlttBufferFaded
-_0807A8B8: .4byte gPlttBufferUnfaded
-_0807A8BC: .4byte gUnknown_2037F34
-_0807A8C0: .4byte 0x000006c6
-_0807A8C4:
- ldr r1, _0807A8DC @ =gUnknown_2037F34
- ldr r3, _0807A8E0 @ =0x000006c4
- adds r0, r1, r3
- strh r4, [r0]
- cmp r2, 0
- beq _0807A8E8
- ldr r0, _0807A8E4 @ =0x000006c7
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _0807A8FA
- .align 2, 0
-_0807A8DC: .4byte gUnknown_2037F34
-_0807A8E0: .4byte 0x000006c4
-_0807A8E4: .4byte 0x000006c7
-_0807A8E8:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0807A8FA:
- ldr r4, _0807A934 @ =gUnknown_2037F34
- ldr r1, _0807A938 @ =0x000006c6
- adds r0, r4, r1
- movs r1, 0
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, _0807A93C @ =0x000006ca
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _0807A940 @ =0x000006cb
- adds r0, r4, r3
- strb r1, [r0]
- movs r1, 0xE6
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, 0x68
- adds r1, r4, r2
- ldrb r1, [r1]
- bl Weather_SetBlendCoeffs
- movs r3, 0xD9
- lsls r3, 3
- adds r4, r3
- strb r5, [r4]
-_0807A92C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A934: .4byte gUnknown_2037F34
-_0807A938: .4byte 0x000006c6
-_0807A93C: .4byte 0x000006ca
-_0807A940: .4byte 0x000006cb
- thumb_func_end FadeScreen
-
- thumb_func_start FieldWeather_StartFadingOutCreditsMap
-FieldWeather_StartFadingOutCreditsMap: @ 807A944
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x1
- beq _0807A97C
- cmp r0, 0x1
- bgt _0807A962
- cmp r0, 0
- beq _0807A96C
- b _0807AA56
-_0807A962:
- cmp r2, 0x2
- beq _0807A972
- cmp r2, 0x3
- beq _0807A980
- b _0807AA56
-_0807A96C:
- movs r4, 0
- movs r1, 0
- b _0807A984
-_0807A972:
- ldr r4, _0807A978 @ =0x0000ffff
- movs r1, 0
- b _0807A984
- .align 2, 0
-_0807A978: .4byte 0x0000ffff
-_0807A97C:
- movs r4, 0
- b _0807A982
-_0807A980:
- ldr r4, _0807A9A4 @ =0x0000ffff
-_0807A982:
- movs r1, 0x1
-_0807A984:
- ldr r0, _0807A9A8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- blt _0807A9AC
- cmp r0, 0x6
- ble _0807A99E
- cmp r0, 0xD
- bgt _0807A9AC
- cmp r0, 0xB
- blt _0807A9AC
-_0807A99E:
- movs r2, 0x1
- b _0807A9AE
- .align 2, 0
-_0807A9A4: .4byte 0x0000ffff
-_0807A9A8: .4byte gUnknown_2037F34
-_0807A9AC:
- movs r2, 0
-_0807A9AE:
- cmp r1, 0
- beq _0807A9F0
- cmp r2, 0
- beq _0807A9C2
- ldr r0, _0807A9E0 @ =gPlttBufferFaded
- ldr r1, _0807A9E4 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
-_0807A9C2:
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807A9E8 @ =gUnknown_2037F34
- ldr r3, _0807A9EC @ =0x000006c6
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- b _0807AA56
- .align 2, 0
-_0807A9E0: .4byte gPlttBufferFaded
-_0807A9E4: .4byte gPlttBufferUnfaded
-_0807A9E8: .4byte gUnknown_2037F34
-_0807A9EC: .4byte 0x000006c6
-_0807A9F0:
- ldr r1, _0807AA08 @ =gUnknown_2037F34
- ldr r3, _0807AA0C @ =0x000006c4
- adds r0, r1, r3
- strh r4, [r0]
- cmp r2, 0
- beq _0807AA14
- ldr r0, _0807AA10 @ =0x000006c7
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _0807AA24
- .align 2, 0
-_0807AA08: .4byte gUnknown_2037F34
-_0807AA0C: .4byte 0x000006c4
-_0807AA10: .4byte 0x000006c7
-_0807AA14:
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- adds r0, r6, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0807AA24:
- ldr r4, _0807AA60 @ =gUnknown_2037F34
- ldr r1, _0807AA64 @ =0x000006c6
- adds r0, r4, r1
- movs r1, 0
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, _0807AA68 @ =0x000006ca
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _0807AA6C @ =0x000006cb
- adds r0, r4, r3
- strb r1, [r0]
- movs r1, 0xE6
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, 0x68
- adds r1, r4, r2
- ldrb r1, [r1]
- bl Weather_SetBlendCoeffs
- movs r3, 0xD9
- lsls r3, 3
- adds r4, r3
- strb r5, [r4]
-_0807AA56:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AA60: .4byte gUnknown_2037F34
-_0807AA64: .4byte 0x000006c6
-_0807AA68: .4byte 0x000006ca
-_0807AA6C: .4byte 0x000006cb
- thumb_func_end FieldWeather_StartFadingOutCreditsMap
-
- thumb_func_start IsWeatherNotFadingIn
-IsWeatherNotFadingIn: @ 807AA70
- ldr r0, _0807AA84 @ =gUnknown_2037F34
- ldr r1, _0807AA88 @ =0x000006c6
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .align 2, 0
-_0807AA84: .4byte gUnknown_2037F34
-_0807AA88: .4byte 0x000006c6
- thumb_func_end IsWeatherNotFadingIn
-
- thumb_func_start UpdateSpritePaletteWithWeather
-UpdateSpritePaletteWithWeather: @ 807AA8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- ldr r5, _0807AACC @ =gUnknown_2037F34
- ldr r2, _0807AAD0 @ =0x000006c6
- adds r0, r5, r2
- ldrb r0, [r0]
- adds r1, r5, 0
- cmp r0, 0x1
- beq _0807AAD4
- cmp r0, 0x2
- beq _0807AB20
- adds r2, 0xA
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _0807AB58
- lsls r0, r4, 24
- lsrs r0, 24
- subs r2, 0x10
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl sub_807A294
- b _0807AB68
- .align 2, 0
-_0807AACC: .4byte gUnknown_2037F34
-_0807AAD0: .4byte 0x000006c6
-_0807AAD4:
- ldr r2, _0807AB14 @ =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807AB68
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0807AAF0
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_807A714
-_0807AAF0:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- movs r2, 0
- ldr r6, _0807AB18 @ =gPlttBufferFaded
- ldr r0, _0807AB1C @ =0x000006c4
- adds r3, r5, r0
-_0807AAFC:
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r3]
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0807AAFC
- b _0807AB68
- .align 2, 0
-_0807AB14: .4byte 0x000006ca
-_0807AB18: .4byte gPlttBufferFaded
-_0807AB1C: .4byte 0x000006c4
-_0807AB20:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- lsls r1, r4, 1
- ldr r0, _0807AB4C @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _0807AB50 @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- ldr r0, _0807AB54 @ =gPaletteFade
- ldrh r2, [r0, 0x4]
- lsls r2, 21
- lsrs r2, 27
- ldrh r3, [r0, 0x6]
- lsls r3, 17
- lsrs r3, 17
- adds r0, r4, 0
- movs r1, 0x10
- bl BlendPalette
- b _0807AB68
- .align 2, 0
-_0807AB4C: .4byte gPlttBufferFaded
-_0807AB50: .4byte gPlttBufferUnfaded
-_0807AB54: .4byte gPaletteFade
-_0807AB58:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- ldr r3, _0807AB70 @ =0x000073fc
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0xC
- bl BlendPalette
-_0807AB68:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AB70: .4byte 0x000073fc
- thumb_func_end UpdateSpritePaletteWithWeather
-
- thumb_func_start sub_807AB74
-sub_807AB74: @ 807AB74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0807AB90 @ =gUnknown_2037F34
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl sub_807A294
- pop {r0}
- bx r0
- .align 2, 0
-_0807AB90: .4byte gUnknown_2037F34
- thumb_func_end sub_807AB74
-
- thumb_func_start sub_807AB94
-sub_807AB94: @ 807AB94
- push {lr}
- ldr r1, _0807ABA8 @ =gUnknown_2037F34
- ldr r2, _0807ABAC @ =0x000006c6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807ABB0
- movs r0, 0
- b _0807ABB6
- .align 2, 0
-_0807ABA8: .4byte gUnknown_2037F34
-_0807ABAC: .4byte 0x000006c6
-_0807ABB0:
- ldr r2, _0807ABBC @ =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
-_0807ABB6:
- pop {r1}
- bx r1
- .align 2, 0
-_0807ABBC: .4byte 0x000006ca
- thumb_func_end sub_807AB94
-
- thumb_func_start sub_807ABC0
-sub_807ABC0: @ 807ABC0
- push {r4,lr}
- ldr r4, _0807ABE8 @ =gUnknown_2037F34
- ldr r1, _0807ABEC @ =0x000006d4
- adds r4, r1
- ldrb r1, [r4]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- ldrb r0, [r4]
- bl UpdateSpritePaletteWithWeather
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ABE8: .4byte gUnknown_2037F34
-_0807ABEC: .4byte 0x000006d4
- thumb_func_end sub_807ABC0
-
- thumb_func_start nullsub_47
-nullsub_47: @ 807ABF0
- bx lr
- thumb_func_end nullsub_47
-
- thumb_func_start sub_807ABF4
-sub_807ABF4: @ 807ABF4
- ldr r0, _0807AC08 @ =gUnknown_2037F34
- ldr r2, _0807AC0C @ =0x0000074d
- adds r1, r0, r2
- movs r2, 0x1
- strb r2, [r1]
- ldr r1, _0807AC10 @ =0x0000074e
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0807AC08: .4byte gUnknown_2037F34
-_0807AC0C: .4byte 0x0000074d
-_0807AC10: .4byte 0x0000074e
- thumb_func_end sub_807ABF4
-
- thumb_func_start sub_807AC14
-sub_807AC14: @ 807AC14
- push {r4,lr}
- ldr r1, _0807AC3C @ =gUnknown_2037F34
- ldr r0, _0807AC40 @ =0x0000074d
- adds r4, r1, r0
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _0807AC48
- ldr r0, _0807AC44 @ =0x0000074e
- adds r1, r0
- adds r0, r4, 0
- bl nullsub_47
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _0807AC48
- movs r0, 0x1
- b _0807AC4A
- .align 2, 0
-_0807AC3C: .4byte gUnknown_2037F34
-_0807AC40: .4byte 0x0000074d
-_0807AC44: .4byte 0x0000074e
-_0807AC48:
- movs r0, 0
-_0807AC4A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807AC14
-
- thumb_func_start sub_807AC50
-sub_807AC50: @ 807AC50
- push {lr}
- lsls r0, 24
- asrs r0, 24
- mvns r0, r0
- bl sub_807A790
- pop {r0}
- bx r0
- thumb_func_end sub_807AC50
-
- thumb_func_start sub_807AC60
-sub_807AC60: @ 807AC60
- ldr r1, _0807AC88 @ =gUnknown_2037F34
- ldr r2, _0807AC8C @ =0x0000073c
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- movs r3, 0xE8
- lsls r3, 3
- adds r0, r1, r3
- strh r2, [r0]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _0807AC90 @ =0x0000073e
- adds r1, r0
- strh r2, [r1]
- ldr r1, _0807AC94 @ =gUnknown_20386A8
- movs r0, 0x5
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0807AC88: .4byte gUnknown_2037F34
-_0807AC8C: .4byte 0x0000073c
-_0807AC90: .4byte 0x0000073e
-_0807AC94: .4byte gUnknown_20386A8
- thumb_func_end sub_807AC60
-
- thumb_func_start sub_807AC98
-sub_807AC98: @ 807AC98
- push {r4-r7,lr}
- ldr r5, _0807ACB4 @ =gUnknown_2037F34
- ldr r0, _0807ACB8 @ =0x00000742
- adds r7, r5, r0
- movs r1, 0
- ldrsh r2, [r7, r1]
- cmp r2, 0x1
- beq _0807AD14
- cmp r2, 0x1
- bgt _0807ACBC
- cmp r2, 0
- beq _0807ACC2
- b _0807ADA0
- .align 2, 0
-_0807ACB4: .4byte gUnknown_2037F34
-_0807ACB8: .4byte 0x00000742
-_0807ACBC:
- cmp r2, 0x2
- beq _0807AD68
- b _0807ADA0
-_0807ACC2:
- movs r3, 0xE8
- lsls r3, 3
- adds r6, r5, r3
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0807AD08 @ =gUnknown_20386A8
- ldrh r1, [r1]
- cmp r0, r1
- ble _0807ADA0
- strh r2, [r6]
- ldr r0, _0807AD0C @ =0x0000073c
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r1, r0, 0x1
- strh r1, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_807AC50
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- ble _0807ADA0
- ldr r3, _0807AD10 @ =0x0000073e
- adds r0, r5, r3
- strh r1, [r0]
- movs r0, 0x1
- strh r0, [r7]
- movs r0, 0x3C
- strh r0, [r6]
- b _0807ADA0
- .align 2, 0
-_0807AD08: .4byte gUnknown_20386A8
-_0807AD0C: .4byte 0x0000073c
-_0807AD10: .4byte 0x0000073e
-_0807AD14:
- movs r0, 0xE8
- lsls r0, 3
- adds r2, r5, r0
- ldrh r0, [r2]
- adds r0, 0x3
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r2]
- ldr r1, _0807AD5C @ =gSineTable
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r0, 0x1
- asrs r0, 6
- adds r0, 0x2
- ldr r2, _0807AD60 @ =0x0000073c
- adds r6, r5, r2
- adds r2, r0, 0
- strh r0, [r6]
- ldr r3, _0807AD64 @ =0x0000073e
- adds r4, r5, r3
- movs r3, 0
- ldrsh r1, [r4, r3]
- cmp r0, r1
- beq _0807AD54
- lsls r0, r2, 24
- asrs r0, 24
- bl sub_807AC50
-_0807AD54:
- ldrh r0, [r6]
- strh r0, [r4]
- b _0807ADA0
- .align 2, 0
-_0807AD5C: .4byte gSineTable
-_0807AD60: .4byte 0x0000073c
-_0807AD64: .4byte 0x0000073e
-_0807AD68:
- movs r0, 0xE8
- lsls r0, 3
- adds r2, r5, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0807ADA8 @ =gUnknown_20386A8
- ldrh r1, [r1]
- cmp r0, r1
- ble _0807ADA0
- strh r6, [r2]
- ldr r1, _0807ADAC @ =0x0000073c
- adds r4, r5, r1
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_807AC50
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bne _0807ADA0
- strh r6, [r7]
-_0807ADA0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ADA8: .4byte gUnknown_20386A8
-_0807ADAC: .4byte 0x0000073c
- thumb_func_end sub_807AC98
-
- thumb_func_start Weather_SetBlendCoeffs
-Weather_SetBlendCoeffs: @ 807ADB0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807ADE8 @ =gUnknown_2037F34
- movs r4, 0xE6
- lsls r4, 3
- adds r2, r3, r4
- strh r0, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r1, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r0, [r2]
- ldr r2, _0807ADEC @ =0x00000736
- adds r3, r2
- strh r1, [r3]
- lsls r1, 8
- orrs r1, r0
- movs r0, 0x52
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ADE8: .4byte gUnknown_2037F34
-_0807ADEC: .4byte 0x00000736
- thumb_func_end Weather_SetBlendCoeffs
-
- thumb_func_start Weather_SetTargetBlendCoeffs
-Weather_SetTargetBlendCoeffs: @ 807ADF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807AE24 @ =gUnknown_2037F34
- ldr r5, _0807AE28 @ =0x00000734
- adds r4, r3, r5
- movs r5, 0
- strh r0, [r4]
- ldr r4, _0807AE2C @ =0x00000736
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _0807AE30 @ =0x0000073a
- adds r0, r3, r1
- strb r2, [r0]
- adds r4, 0x3
- adds r0, r3, r4
- strb r5, [r0]
- movs r0, 0xE7
- lsls r0, 3
- adds r3, r0
- strb r5, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AE24: .4byte gUnknown_2037F34
-_0807AE28: .4byte 0x00000734
-_0807AE2C: .4byte 0x00000736
-_0807AE30: .4byte 0x0000073a
- thumb_func_end Weather_SetTargetBlendCoeffs
-
- thumb_func_start Weather_UpdateBlend
-Weather_UpdateBlend: @ 807AE34
- push {r4-r6,lr}
- ldr r0, _0807AE8C @ =gUnknown_2037F34
- movs r1, 0xE6
- lsls r1, 3
- adds r3, r0, r1
- ldr r2, [r3]
- ldr r6, _0807AE90 @ =0x00000734
- adds r4, r0, r6
- ldr r1, [r4]
- adds r5, r0, 0
- cmp r2, r1
- beq _0807AEF8
- ldr r0, _0807AE94 @ =0x00000739
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r6, _0807AE98 @ =0x0000073a
- adds r1, r5, r6
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bls _0807AEC4
- movs r0, 0
- strb r0, [r2]
- movs r0, 0xE7
- lsls r0, 3
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807AE9C
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r4]
- cmp r2, r0
- bcs _0807AEBC
- adds r0, r1, 0x1
- b _0807AEC2
- .align 2, 0
-_0807AE8C: .4byte gUnknown_2037F34
-_0807AE90: .4byte 0x00000734
-_0807AE94: .4byte 0x00000739
-_0807AE98: .4byte 0x0000073a
-_0807AE9C:
- ldr r1, _0807AEB4 @ =0x00000732
- adds r3, r5, r1
- ldr r2, _0807AEB8 @ =0x00000736
- adds r0, r5, r2
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r0]
- cmp r2, r0
- bcs _0807AEBC
- adds r0, r1, 0x1
- b _0807AEC2
- .align 2, 0
-_0807AEB4: .4byte 0x00000732
-_0807AEB8: .4byte 0x00000736
-_0807AEBC:
- cmp r2, r0
- bls _0807AEC4
- subs r0, r1, 0x1
-_0807AEC2:
- strh r0, [r3]
-_0807AEC4:
- ldr r6, _0807AEF0 @ =0x00000732
- adds r0, r5, r6
- ldrh r1, [r0]
- lsls r1, 8
- movs r0, 0xE6
- lsls r0, 3
- adds r4, r5, r0
- ldrh r0, [r4]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4]
- ldr r2, _0807AEF4 @ =0x00000734
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _0807AEF8
- movs r0, 0
- b _0807AEFA
- .align 2, 0
-_0807AEF0: .4byte 0x00000732
-_0807AEF4: .4byte 0x00000734
-_0807AEF8:
- movs r0, 0x1
-_0807AEFA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end Weather_UpdateBlend
-
- thumb_func_start sub_807AF00
-sub_807AF00: @ 807AF00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x9
- bhi _0807AF92
- lsls r0, 2
- ldr r1, _0807AF18 @ =_0807AF1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807AF18: .4byte _0807AF1C
- .align 2, 0
-_0807AF1C:
- .4byte _0807AF44
- .4byte _0807AF4C
- .4byte _0807AF54
- .4byte _0807AF5C
- .4byte _0807AF64
- .4byte _0807AF6C
- .4byte _0807AF74
- .4byte _0807AF7C
- .4byte _0807AF84
- .4byte _0807AF8C
-_0807AF44:
- movs r0, 0x1
- bl SetWeather
- b _0807AF92
-_0807AF4C:
- movs r0, 0x2
- bl SetWeather
- b _0807AF92
-_0807AF54:
- movs r0, 0x3
- bl SetWeather
- b _0807AF92
-_0807AF5C:
- movs r0, 0x4
- bl SetWeather
- b _0807AF92
-_0807AF64:
- movs r0, 0x5
- bl SetWeather
- b _0807AF92
-_0807AF6C:
- movs r0, 0x6
- bl SetWeather
- b _0807AF92
-_0807AF74:
- movs r0, 0x9
- bl SetWeather
- b _0807AF92
-_0807AF7C:
- movs r0, 0x7
- bl SetWeather
- b _0807AF92
-_0807AF84:
- movs r0, 0x8
- bl SetWeather
- b _0807AF92
-_0807AF8C:
- movs r0, 0xB
- bl SetWeather
-_0807AF92:
- pop {r0}
- bx r0
- thumb_func_end sub_807AF00
-
- thumb_func_start GetCurrentWeather
-GetCurrentWeather: @ 807AF98
- ldr r0, _0807AFA4 @ =gUnknown_2037F34
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807AFA4: .4byte gUnknown_2037F34
- thumb_func_end GetCurrentWeather
-
- thumb_func_start SetRainStrengthFromSoundEffect
-SetRainStrengthFromSoundEffect: @ 807AFA8
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _0807AFC8 @ =gUnknown_2037F34
- ldr r3, _0807AFCC @ =0x000006c6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0807AFFA
- cmp r2, 0x4C
- beq _0807AFE0
- cmp r2, 0x4C
- bgt _0807AFD0
- cmp r2, 0x4A
- beq _0807AFEC
- b _0807AFFA
- .align 2, 0
-_0807AFC8: .4byte gUnknown_2037F34
-_0807AFCC: .4byte 0x000006c6
-_0807AFD0:
- cmp r2, 0x4E
- bne _0807AFFA
- ldr r0, _0807AFDC @ =0x000006dd
- adds r1, r0
- movs r0, 0
- b _0807AFF2
- .align 2, 0
-_0807AFDC: .4byte 0x000006dd
-_0807AFE0:
- ldr r3, _0807AFE8 @ =0x000006dd
- adds r1, r3
- movs r0, 0x1
- b _0807AFF2
- .align 2, 0
-_0807AFE8: .4byte 0x000006dd
-_0807AFEC:
- ldr r0, _0807B000 @ =0x000006dd
- adds r1, r0
- movs r0, 0x2
-_0807AFF2:
- strb r0, [r1]
- adds r0, r2, 0
- bl PlaySE
-_0807AFFA:
- pop {r0}
- bx r0
- .align 2, 0
-_0807B000: .4byte 0x000006dd
- thumb_func_end SetRainStrengthFromSoundEffect
-
- thumb_func_start PlayRainStoppingSoundEffect
-PlayRainStoppingSoundEffect: @ 807B004
- push {lr}
- bl IsSpecialSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0807B042
- ldr r0, _0807B02C @ =gUnknown_2037F34
- ldr r1, _0807B030 @ =0x000006dd
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B034
- cmp r0, 0x1
- bgt _0807B03C
- cmp r0, 0
- bne _0807B03C
- movs r0, 0x4F
- bl PlaySE
- b _0807B042
- .align 2, 0
-_0807B02C: .4byte gUnknown_2037F34
-_0807B030: .4byte 0x000006dd
-_0807B034:
- movs r0, 0x4D
- bl PlaySE
- b _0807B042
-_0807B03C:
- movs r0, 0x4B
- bl PlaySE
-_0807B042:
- pop {r0}
- bx r0
- thumb_func_end PlayRainStoppingSoundEffect
-
- thumb_func_start sub_807B048
-sub_807B048: @ 807B048
- ldr r0, _0807B054 @ =gUnknown_2037F34
- ldr r1, _0807B058 @ =0x000006d3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807B054: .4byte gUnknown_2037F34
-_0807B058: .4byte 0x000006d3
- thumb_func_end sub_807B048
-
- thumb_func_start SetWeatherScreenFadeOut
-SetWeatherScreenFadeOut: @ 807B05C
- ldr r0, _0807B068 @ =gUnknown_2037F34
- ldr r1, _0807B06C @ =0x000006c6
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0807B068: .4byte gUnknown_2037F34
-_0807B06C: .4byte 0x000006c6
- thumb_func_end SetWeatherScreenFadeOut
-
- thumb_func_start sub_807B070
-sub_807B070: @ 807B070
- ldr r0, _0807B07C @ =gUnknown_2037F34
- ldr r1, _0807B080 @ =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0807B07C: .4byte gUnknown_2037F34
-_0807B080: .4byte 0x000006c6
- thumb_func_end sub_807B070
-
- thumb_func_start PreservePaletteInWeather
-PreservePaletteInWeather: @ 807B084
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0807B0A8 @ =gUnknown_83C2CC0
- ldr r5, _0807B0AC @ =gUnknown_2038684
- adds r1, r5, 0
- movs r2, 0x10
- bl CpuSet
- adds r4, r5
- movs r0, 0
- strb r0, [r4]
- ldr r0, _0807B0B0 @ =gUnknown_20386A4
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B0A8: .4byte gUnknown_83C2CC0
-_0807B0AC: .4byte gUnknown_2038684
-_0807B0B0: .4byte gUnknown_20386A4
- thumb_func_end PreservePaletteInWeather
-
- thumb_func_start ResetPreservedPalettesInWeather
-ResetPreservedPalettesInWeather: @ 807B0B4
- ldr r1, _0807B0BC @ =gUnknown_20386A4
- ldr r0, _0807B0C0 @ =gUnknown_83C2CC0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0807B0BC: .4byte gUnknown_20386A4
-_0807B0C0: .4byte gUnknown_83C2CC0
- thumb_func_end ResetPreservedPalettesInWeather
-
- thumb_func_start sub_807B0C4
-sub_807B0C4: @ 807B0C4
- push {lr}
- adds r1, r0, 0
- adds r3, r2, 0
- ldr r0, _0807B0E8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _0807B0F0
- cmp r0, 0xB
- bgt _0807B0EC
- cmp r0, 0x5
- bgt _0807B0FA
- cmp r0, 0x3
- blt _0807B0FA
- b _0807B0F0
- .align 2, 0
-_0807B0E8: .4byte gUnknown_2037F34
-_0807B0EC:
- cmp r0, 0xD
- bne _0807B0FA
-_0807B0F0:
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0x3
- bl sub_8045314
-_0807B0FA:
- pop {r0}
- bx r0
- thumb_func_end sub_807B0C4
-
- thumb_func_start SetSav1Weather
-SetSav1Weather: @ 807B100
- push {r4,r5,lr}
- ldr r4, _0807B12C @ =gSaveBlock1Ptr
- ldr r1, [r4]
- adds r1, 0x2E
- ldrb r5, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl TranslateWeatherNum
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl UpdateRainCounter
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B12C: .4byte gSaveBlock1Ptr
- thumb_func_end SetSav1Weather
-
- thumb_func_start sav1_get_weather_probably
-sav1_get_weather_probably: @ 807B130
- ldr r0, _0807B13C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2E
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807B13C: .4byte gSaveBlock1Ptr
- thumb_func_end sav1_get_weather_probably
-
- thumb_func_start SetSav1WeatherFromCurrMapHeader
-SetSav1WeatherFromCurrMapHeader: @ 807B140
- push {r4,r5,lr}
- ldr r4, _0807B16C @ =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r5, [r0]
- ldr r0, _0807B170 @ =gMapHeader
- ldrb r0, [r0, 0x16]
- bl TranslateWeatherNum
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl UpdateRainCounter
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B16C: .4byte gSaveBlock1Ptr
-_0807B170: .4byte gMapHeader
- thumb_func_end SetSav1WeatherFromCurrMapHeader
-
- thumb_func_start SetWeather
-SetWeather: @ 807B174
- push {lr}
- bl SetSav1Weather
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl weather_set
- pop {r0}
- bx r0
- thumb_func_end SetWeather
-
- thumb_func_start sub_807B18C
-sub_807B18C: @ 807B18C
- push {lr}
- bl SetSav1Weather
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079D60
- pop {r0}
- bx r0
- thumb_func_end sub_807B18C
-
- thumb_func_start DoCurrentWeather
-DoCurrentWeather: @ 807B1A4
- push {lr}
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl weather_set
- pop {r0}
- bx r0
- thumb_func_end DoCurrentWeather
-
- thumb_func_start sub_807B1B8
-sub_807B1B8: @ 807B1B8
- push {lr}
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079D60
- pop {r0}
- bx r0
- thumb_func_end sub_807B1B8
-
- thumb_func_start TranslateWeatherNum
-TranslateWeatherNum: @ 807B1CC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _0807B294
- lsls r0, 2
- ldr r1, _0807B1E0 @ =_0807B1E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807B1E0: .4byte _0807B1E4
- .align 2, 0
-_0807B1E4:
- .4byte _0807B294
- .4byte _0807B23C
- .4byte _0807B240
- .4byte _0807B244
- .4byte _0807B248
- .4byte _0807B24C
- .4byte _0807B250
- .4byte _0807B254
- .4byte _0807B258
- .4byte _0807B25C
- .4byte _0807B260
- .4byte _0807B264
- .4byte _0807B268
- .4byte _0807B26C
- .4byte _0807B270
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B274
- .4byte _0807B27C
-_0807B23C:
- movs r0, 0x1
- b _0807B296
-_0807B240:
- movs r0, 0x2
- b _0807B296
-_0807B244:
- movs r0, 0x3
- b _0807B296
-_0807B248:
- movs r0, 0x4
- b _0807B296
-_0807B24C:
- movs r0, 0x5
- b _0807B296
-_0807B250:
- movs r0, 0x6
- b _0807B296
-_0807B254:
- movs r0, 0x7
- b _0807B296
-_0807B258:
- movs r0, 0x8
- b _0807B296
-_0807B25C:
- movs r0, 0x9
- b _0807B296
-_0807B260:
- movs r0, 0xA
- b _0807B296
-_0807B264:
- movs r0, 0xB
- b _0807B296
-_0807B268:
- movs r0, 0xC
- b _0807B296
-_0807B26C:
- movs r0, 0xD
- b _0807B296
-_0807B270:
- movs r0, 0xE
- b _0807B296
-_0807B274:
- ldr r1, _0807B278 @ =gUnknown_83C65C0
- b _0807B27E
- .align 2, 0
-_0807B278: .4byte gUnknown_83C65C0
-_0807B27C:
- ldr r1, _0807B28C @ =gUnknown_83C65C4
-_0807B27E:
- ldr r0, _0807B290 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2F
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- b _0807B296
- .align 2, 0
-_0807B28C: .4byte gUnknown_83C65C4
-_0807B290: .4byte gSaveBlock1Ptr
-_0807B294:
- movs r0, 0
-_0807B296:
- pop {r1}
- bx r1
- thumb_func_end TranslateWeatherNum
-
- thumb_func_start UpdateWeatherPerDay
-UpdateWeatherPerDay: @ 807B29C
- lsls r0, 16
- ldr r1, _0807B2B8 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- adds r2, 0x2F
- lsrs r0, 16
- ldrb r1, [r2]
- adds r0, r1
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- strb r1, [r2]
- bx lr
- .align 2, 0
-_0807B2B8: .4byte gSaveBlock1Ptr
- thumb_func_end UpdateWeatherPerDay
-
- thumb_func_start UpdateRainCounter
-UpdateRainCounter: @ 807B2BC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r0, 24
- cmp r0, r1
- beq _0807B2D6
- cmp r2, 0x3
- beq _0807B2D0
- cmp r2, 0x5
- bne _0807B2D6
-_0807B2D0:
- movs r0, 0x28
- bl IncrementGameStat
-_0807B2D6:
- pop {r0}
- bx r0
- thumb_func_end UpdateRainCounter
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s
index decfe4078..23b5a111c 100644
--- a/asm/field_weather_effects.s
+++ b/asm/field_weather_effects.s
@@ -8,7 +8,7 @@
thumb_func_start Clouds_InitVars
Clouds_InitVars: @ 807B2DC
push {lr}
- ldr r0, _0807B314 @ =gUnknown_83C2BBC
+ ldr r0, _0807B314 @ =gWeatherPtr
ldr r0, [r0]
ldr r2, _0807B318 @ =0x000006c1
adds r1, r0, r2
@@ -36,7 +36,7 @@ _0807B310:
pop {r0}
bx r0
.align 2, 0
-_0807B314: .4byte gUnknown_83C2BBC
+_0807B314: .4byte gWeatherPtr
_0807B318: .4byte 0x000006c1
_0807B31C: .4byte 0x000006c2
_0807B320: .4byte 0x000006d2
@@ -47,7 +47,7 @@ _0807B324: .4byte 0x000006de
Clouds_InitAll: @ 807B328
push {r4,lr}
bl Clouds_InitVars
- ldr r0, _0807B350 @ =gUnknown_83C2BBC
+ ldr r0, _0807B350 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B354 @ =0x000006d2
adds r0, r1, r2
@@ -65,14 +65,14 @@ _0807B348:
pop {r0}
bx r0
.align 2, 0
-_0807B350: .4byte gUnknown_83C2BBC
+_0807B350: .4byte gWeatherPtr
_0807B354: .4byte 0x000006d2
thumb_func_end Clouds_InitAll
thumb_func_start Clouds_Main
Clouds_Main: @ 807B358
push {r4,r5,lr}
- ldr r0, _0807B374 @ =gUnknown_83C2BBC
+ ldr r0, _0807B374 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807B378 @ =0x000006cc
adds r4, r5, r0
@@ -85,7 +85,7 @@ Clouds_Main: @ 807B358
beq _0807B382
b _0807B3AC
.align 2, 0
-_0807B374: .4byte gUnknown_83C2BBC
+_0807B374: .4byte gWeatherPtr
_0807B378: .4byte 0x000006cc
_0807B37C:
cmp r0, 0x2
@@ -124,7 +124,7 @@ _0807B3B4: .4byte 0x000006d2
thumb_func_start Clouds_Finish
Clouds_Finish: @ 807B3B8
push {r4,lr}
- ldr r0, _0807B3D0 @ =gUnknown_83C2BBC
+ ldr r0, _0807B3D0 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807B3D4 @ =0x000006ce
adds r4, r0, r1
@@ -136,7 +136,7 @@ Clouds_Finish: @ 807B3B8
movs r0, 0
b _0807B3FA
.align 2, 0
-_0807B3D0: .4byte gUnknown_83C2BBC
+_0807B3D0: .4byte gWeatherPtr
_0807B3D4: .4byte 0x000006ce
_0807B3D8:
movs r0, 0
@@ -164,7 +164,7 @@ _0807B3FA:
thumb_func_start Weather2_InitVars
Weather2_InitVars: @ 807B400
- ldr r0, _0807B418 @ =gUnknown_83C2BBC
+ ldr r0, _0807B418 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807B41C @ =0x000006c1
adds r2, r1, r0
@@ -176,7 +176,7 @@ Weather2_InitVars: @ 807B400
strb r0, [r1]
bx lr
.align 2, 0
-_0807B418: .4byte gUnknown_83C2BBC
+_0807B418: .4byte gWeatherPtr
_0807B41C: .4byte 0x000006c1
_0807B420: .4byte 0x000006c2
thumb_func_end Weather2_InitVars
@@ -203,7 +203,7 @@ sub_807B434: @ 807B434
thumb_func_start CreateCloudSprites
CreateCloudSprites: @ 807B438
push {r4,r5,lr}
- ldr r0, _0807B4B0 @ =gUnknown_83C2BBC
+ ldr r0, _0807B4B0 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807B4B4 @ =0x000006de
adds r0, r1
@@ -213,7 +213,7 @@ CreateCloudSprites: @ 807B438
ldr r0, _0807B4B8 @ =gUnknown_83C65D4
bl LoadSpriteSheet
ldr r0, _0807B4BC @ =gUnknown_83C2D00
- bl sub_807ABC0
+ bl LoadCustomWeatherSpritePalette
movs r5, 0
_0807B456:
ldr r0, _0807B4C0 @ =gUnknown_83C65F0
@@ -225,7 +225,7 @@ _0807B456:
lsrs r3, r0, 24
cmp r3, 0x40
beq _0807B4CC
- ldr r0, _0807B4B0 @ =gUnknown_83C2BBC
+ ldr r0, _0807B4B0 @ =gWeatherPtr
ldr r1, [r0]
lsls r2, r5, 2
movs r0, 0xFA
@@ -260,7 +260,7 @@ _0807B456:
strb r0, [r4]
b _0807B4DE
.align 2, 0
-_0807B4B0: .4byte gUnknown_83C2BBC
+_0807B4B0: .4byte gWeatherPtr
_0807B4B4: .4byte 0x000006de
_0807B4B8: .4byte gUnknown_83C65D4
_0807B4BC: .4byte gUnknown_83C2D00
@@ -268,7 +268,7 @@ _0807B4C0: .4byte gUnknown_83C65F0
_0807B4C4: .4byte gSprites
_0807B4C8: .4byte gUnknown_83C65C8
_0807B4CC:
- ldr r0, _0807B4FC @ =gUnknown_83C2BBC
+ ldr r0, _0807B4FC @ =gWeatherPtr
ldr r1, [r0]
lsls r0, r5, 2
movs r2, 0xFA
@@ -283,7 +283,7 @@ _0807B4DE:
lsrs r5, r0, 16
cmp r5, 0x2
bls _0807B456
- ldr r0, _0807B4FC @ =gUnknown_83C2BBC
+ ldr r0, _0807B4FC @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807B500 @ =0x000006de
adds r0, r1
@@ -294,14 +294,14 @@ _0807B4F4:
pop {r0}
bx r0
.align 2, 0
-_0807B4FC: .4byte gUnknown_83C2BBC
+_0807B4FC: .4byte gWeatherPtr
_0807B500: .4byte 0x000006de
thumb_func_end CreateCloudSprites
thumb_func_start sub_807B504
sub_807B504: @ 807B504
push {r4,r5,lr}
- ldr r0, _0807B550 @ =gUnknown_83C2BBC
+ ldr r0, _0807B550 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B554 @ =0x000006de
adds r0, r1, r2
@@ -328,7 +328,7 @@ _0807B52A:
movs r0, 0x90
lsls r0, 5
bl FreeSpriteTilesByTag
- ldr r0, _0807B550 @ =gUnknown_83C2BBC
+ ldr r0, _0807B550 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807B554 @ =0x000006de
adds r0, r1
@@ -339,7 +339,7 @@ _0807B548:
pop {r0}
bx r0
.align 2, 0
-_0807B550: .4byte gUnknown_83C2BBC
+_0807B550: .4byte gWeatherPtr
_0807B554: .4byte 0x000006de
thumb_func_end sub_807B504
@@ -364,7 +364,7 @@ _0807B570:
thumb_func_start Drought_InitVars
Drought_InitVars: @ 807B574
- ldr r0, _0807B598 @ =gUnknown_83C2BBC
+ ldr r0, _0807B598 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807B59C @ =0x000006cc
adds r3, r1, r0
@@ -382,7 +382,7 @@ Drought_InitVars: @ 807B574
strb r2, [r1]
bx lr
.align 2, 0
-_0807B598: .4byte gUnknown_83C2BBC
+_0807B598: .4byte gWeatherPtr
_0807B59C: .4byte 0x000006cc
_0807B5A0: .4byte 0x000006d2
_0807B5A4: .4byte 0x000006c2
@@ -392,7 +392,7 @@ _0807B5A4: .4byte 0x000006c2
Drought_InitAll: @ 807B5A8
push {r4,lr}
bl Drought_InitVars
- ldr r0, _0807B5D0 @ =gUnknown_83C2BBC
+ ldr r0, _0807B5D0 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B5D4 @ =0x000006d2
adds r0, r1, r2
@@ -410,14 +410,14 @@ _0807B5C8:
pop {r0}
bx r0
.align 2, 0
-_0807B5D0: .4byte gUnknown_83C2BBC
+_0807B5D0: .4byte gWeatherPtr
_0807B5D4: .4byte 0x000006d2
thumb_func_end Drought_InitAll
thumb_func_start Drought_Main
Drought_Main: @ 807B5D8
push {lr}
- ldr r1, _0807B5F4 @ =gUnknown_83C2BBC
+ ldr r1, _0807B5F4 @ =gWeatherPtr
ldr r0, [r1]
ldr r2, _0807B5F8 @ =0x000006cc
adds r0, r2
@@ -431,7 +431,7 @@ Drought_Main: @ 807B5D8
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807B5F4: .4byte gUnknown_83C2BBC
+_0807B5F4: .4byte gWeatherPtr
_0807B5F8: .4byte 0x000006cc
_0807B5FC: .4byte _0807B600
.align 2, 0
@@ -455,41 +455,41 @@ _0807B614:
_0807B628: .4byte 0x000006c6
_0807B62C: .4byte 0x000006cc
_0807B630:
- bl sub_807ABF4
- ldr r0, _0807B640 @ =gUnknown_83C2BBC
+ bl ResetDroughtWeatherPaletteLoading
+ ldr r0, _0807B640 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B644 @ =0x000006cc
adds r1, r2
b _0807B69C
.align 2, 0
-_0807B640: .4byte gUnknown_83C2BBC
+_0807B640: .4byte gWeatherPtr
_0807B644: .4byte 0x000006cc
_0807B648:
- bl sub_807AC14
+ bl LoadDroughtWeatherPalettes
lsls r0, 24
cmp r0, 0
bne _0807B6B8
- ldr r0, _0807B65C @ =gUnknown_83C2BBC
+ ldr r0, _0807B65C @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807B660 @ =0x000006cc
adds r1, r0
b _0807B69C
.align 2, 0
-_0807B65C: .4byte gUnknown_83C2BBC
+_0807B65C: .4byte gWeatherPtr
_0807B660: .4byte 0x000006cc
_0807B664:
bl sub_807AC60
- ldr r0, _0807B674 @ =gUnknown_83C2BBC
+ ldr r0, _0807B674 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B678 @ =0x000006cc
adds r1, r2
b _0807B69C
.align 2, 0
-_0807B674: .4byte gUnknown_83C2BBC
+_0807B674: .4byte gWeatherPtr
_0807B678: .4byte 0x000006cc
_0807B67C:
bl sub_807AC98
- ldr r0, _0807B6A4 @ =gUnknown_83C2BBC
+ ldr r0, _0807B6A4 @ =gWeatherPtr
ldr r2, [r0]
ldr r1, _0807B6A8 @ =0x0000073c
adds r0, r2, r1
@@ -509,7 +509,7 @@ _0807B69C:
strh r0, [r1]
b _0807B6B8
.align 2, 0
-_0807B6A4: .4byte gUnknown_83C2BBC
+_0807B6A4: .4byte gWeatherPtr
_0807B6A8: .4byte 0x0000073c
_0807B6AC: .4byte 0x000006d2
_0807B6B0: .4byte 0x000006cc
@@ -660,7 +660,7 @@ _0807B7C2:
thumb_func_start LightRain_InitVars
LightRain_InitVars: @ 807B7C8
push {r4,lr}
- ldr r0, _0807B818 @ =gUnknown_83C2BBC
+ ldr r0, _0807B818 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B81C @ =0x000006cc
adds r0, r1, r2
@@ -698,7 +698,7 @@ LightRain_InitVars: @ 807B7C8
pop {r0}
bx r0
.align 2, 0
-_0807B818: .4byte gUnknown_83C2BBC
+_0807B818: .4byte gWeatherPtr
_0807B81C: .4byte 0x000006cc
_0807B820: .4byte 0x000006d2
_0807B824: .4byte 0x000006db
@@ -711,7 +711,7 @@ _0807B830: .4byte 0x000006c2
LightRain_InitAll: @ 807B834
push {r4,lr}
bl LightRain_InitVars
- ldr r0, _0807B85C @ =gUnknown_83C2BBC
+ ldr r0, _0807B85C @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807B860 @ =0x000006d2
adds r0, r1, r2
@@ -729,14 +729,14 @@ _0807B854:
pop {r0}
bx r0
.align 2, 0
-_0807B85C: .4byte gUnknown_83C2BBC
+_0807B85C: .4byte gWeatherPtr
_0807B860: .4byte 0x000006d2
thumb_func_end LightRain_InitAll
thumb_func_start LightRain_Main
LightRain_Main: @ 807B864
push {r4,r5,lr}
- ldr r0, _0807B880 @ =gUnknown_83C2BBC
+ ldr r0, _0807B880 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807B884 @ =0x000006cc
adds r4, r5, r0
@@ -749,7 +749,7 @@ LightRain_Main: @ 807B864
beq _0807B88E
b _0807B8B8
.align 2, 0
-_0807B880: .4byte gUnknown_83C2BBC
+_0807B880: .4byte gWeatherPtr
_0807B884: .4byte 0x000006cc
_0807B888:
cmp r0, 0x2
@@ -788,7 +788,7 @@ _0807B8C0: .4byte 0x000006d2
thumb_func_start LightRain_Finish
LightRain_Finish: @ 807B8C4
push {r4,r5,lr}
- ldr r0, _0807B8E0 @ =gUnknown_83C2BBC
+ ldr r0, _0807B8E0 @ =gWeatherPtr
ldr r2, [r0]
ldr r1, _0807B8E4 @ =0x000006ce
adds r3, r2, r1
@@ -801,7 +801,7 @@ LightRain_Finish: @ 807B8C4
movs r0, 0
b _0807B94A
.align 2, 0
-_0807B8E0: .4byte gUnknown_83C2BBC
+_0807B8E0: .4byte gWeatherPtr
_0807B8E4: .4byte 0x000006ce
_0807B8E8:
ldr r5, _0807B908 @ =0x000006d1
@@ -837,7 +837,7 @@ _0807B91C:
cmp r0, 0
bne _0807B948
bl DestroyRainSprites
- ldr r0, _0807B940 @ =gUnknown_83C2BBC
+ ldr r0, _0807B940 @ =gWeatherPtr
ldr r1, [r0]
ldr r5, _0807B944 @ =0x000006ce
adds r1, r5
@@ -848,7 +848,7 @@ _0807B91C:
b _0807B94A
.align 2, 0
_0807B93C: .4byte 0x000006d9
-_0807B940: .4byte gUnknown_83C2BBC
+_0807B940: .4byte gWeatherPtr
_0807B944: .4byte 0x000006ce
_0807B948:
movs r0, 0x1
@@ -886,7 +886,7 @@ _0807B964:
mov r8, r1
strh r0, [r7, 0x30]
ldr r1, _0807BA14 @ =gUnknown_83C66C4
- ldr r0, _0807BA18 @ =gUnknown_83C2BBC
+ ldr r0, _0807BA18 @ =gWeatherPtr
ldr r5, [r0]
ldr r2, _0807BA1C @ =0x000006dc
adds r5, r2
@@ -953,7 +953,7 @@ _0807BA08: .4byte 0x00000169
_0807BA0C: .4byte 0x41c64e6d
_0807BA10: .4byte 0x00003039
_0807BA14: .4byte gUnknown_83C66C4
-_0807BA18: .4byte gUnknown_83C2BBC
+_0807BA18: .4byte gWeatherPtr
_0807BA1C: .4byte 0x000006dc
_0807BA20: .4byte gUnknown_83C66BC
thumb_func_end sub_807B950
@@ -967,7 +967,7 @@ sub_807BA24: @ 807BA24
cmp r0, 0
bne _0807BB00
ldr r3, _0807BA98 @ =gUnknown_83C66BC
- ldr r4, _0807BA9C @ =gUnknown_83C2BBC
+ ldr r4, _0807BA9C @ =gWeatherPtr
ldr r2, [r4]
ldr r0, _0807BAA0 @ =0x000006dc
adds r2, r0
@@ -1020,7 +1020,7 @@ sub_807BA24: @ 807BA24
b _0807BAAE
.align 2, 0
_0807BA98: .4byte gUnknown_83C66BC
-_0807BA9C: .4byte gUnknown_83C2BBC
+_0807BA9C: .4byte gWeatherPtr
_0807BAA0: .4byte 0x000006dc
_0807BAA4:
adds r0, r5, 0
@@ -1123,7 +1123,7 @@ sub_807BB54: @ 807BB54
lsls r5, r1, 16
lsrs r5, 16
ldr r2, _0807BBD8 @ =gUnknown_83C66C4
- ldr r0, _0807BBDC @ =gUnknown_83C2BBC
+ ldr r0, _0807BBDC @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807BBE0 @ =0x000006dc
adds r0, r1
@@ -1184,7 +1184,7 @@ _0807BBD4:
b _0807BBFC
.align 2, 0
_0807BBD8: .4byte gUnknown_83C66C4
-_0807BBDC: .4byte gUnknown_83C2BBC
+_0807BBDC: .4byte gWeatherPtr
_0807BBE0: .4byte 0x000006dc
_0807BBE4: .4byte 0x0000ffff
_0807BBE8:
@@ -1225,7 +1225,7 @@ CreateRainSprite: @ 807BC18
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _0807BCC4 @ =gUnknown_83C2BBC
+ ldr r0, _0807BCC4 @ =gWeatherPtr
ldr r4, [r0]
ldr r0, _0807BCC8 @ =0x000006da
adds r2, r4, r0
@@ -1301,13 +1301,13 @@ _0807BC96:
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
- ldr r0, _0807BCC4 @ =gUnknown_83C2BBC
+ ldr r0, _0807BCC4 @ =gWeatherPtr
ldr r0, [r0]
add r0, r10
str r4, [r0]
b _0807BCE6
.align 2, 0
-_0807BCC4: .4byte gUnknown_83C2BBC
+_0807BCC4: .4byte gWeatherPtr
_0807BCC8: .4byte 0x000006da
_0807BCCC: .4byte gUnknown_83C66A4
_0807BCD0: .4byte gUnknown_83C6608
@@ -1319,7 +1319,7 @@ _0807BCE0:
movs r0, 0
str r0, [r1]
_0807BCE6:
- ldr r0, _0807BD1C @ =gUnknown_83C2BBC
+ ldr r0, _0807BD1C @ =gWeatherPtr
ldr r2, [r0]
ldr r6, _0807BD20 @ =0x000006da
adds r1, r2, r6
@@ -1347,7 +1347,7 @@ _0807BD04:
str r5, [r2, 0x1C]
b _0807BD2E
.align 2, 0
-_0807BD1C: .4byte gUnknown_83C2BBC
+_0807BD1C: .4byte gWeatherPtr
_0807BD20: .4byte 0x000006da
_0807BD24: .4byte sub_807BA24
_0807BD28: .4byte sub_807BB28
@@ -1377,7 +1377,7 @@ _0807BD3E:
thumb_func_start sub_807BD4C
sub_807BD4C: @ 807BD4C
push {r4-r7,lr}
- ldr r0, _0807BD68 @ =gUnknown_83C2BBC
+ ldr r0, _0807BD68 @ =gWeatherPtr
ldr r3, [r0]
movs r0, 0xDB
lsls r0, 3
@@ -1391,7 +1391,7 @@ sub_807BD4C: @ 807BD4C
movs r0, 0
b _0807BDD2
.align 2, 0
-_0807BD68: .4byte gUnknown_83C2BBC
+_0807BD68: .4byte gWeatherPtr
_0807BD6C: .4byte 0x000006d9
_0807BD70:
ldr r0, _0807BDA8 @ =0x000006d6
@@ -1453,7 +1453,7 @@ _0807BDD2:
DestroyRainSprites: @ 807BDD8
push {r4-r7,lr}
movs r4, 0
- ldr r0, _0807BE20 @ =gUnknown_83C2BBC
+ ldr r0, _0807BE20 @ =gWeatherPtr
ldr r2, [r0]
ldr r3, _0807BE24 @ =0x000006da
adds r1, r2, r3
@@ -1489,7 +1489,7 @@ _0807BE0A:
pop {r0}
bx r0
.align 2, 0
-_0807BE20: .4byte gUnknown_83C2BBC
+_0807BE20: .4byte gWeatherPtr
_0807BE24: .4byte 0x000006da
_0807BE28: .4byte 0x00001206
thumb_func_end DestroyRainSprites
@@ -1497,7 +1497,7 @@ _0807BE28: .4byte 0x00001206
thumb_func_start Snow_InitVars
Snow_InitVars: @ 807BE2C
push {r4,lr}
- ldr r0, _0807BE68 @ =gUnknown_83C2BBC
+ ldr r0, _0807BE68 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807BE6C @ =0x000006cc
adds r0, r1, r2
@@ -1527,7 +1527,7 @@ Snow_InitVars: @ 807BE2C
pop {r0}
bx r0
.align 2, 0
-_0807BE68: .4byte gUnknown_83C2BBC
+_0807BE68: .4byte gWeatherPtr
_0807BE6C: .4byte 0x000006cc
_0807BE70: .4byte 0x000006d2
_0807BE74: .4byte 0x000006c1
@@ -1540,7 +1540,7 @@ Snow_InitAll: @ 807BE7C
mov r7, r8
push {r7}
bl Snow_InitVars
- ldr r2, _0807BEDC @ =gUnknown_83C2BBC
+ ldr r2, _0807BEDC @ =gWeatherPtr
ldr r1, [r2]
ldr r3, _0807BEE0 @ =0x000006d2
adds r0, r1, r3
@@ -1559,7 +1559,7 @@ _0807BE98:
ldrb r0, [r0]
cmp r4, r0
bcs _0807BECC
- ldr r0, _0807BEDC @ =gUnknown_83C2BBC
+ ldr r0, _0807BEDC @ =gWeatherPtr
ldr r5, [r0]
adds r6, r5, r3
_0807BEB2:
@@ -1586,7 +1586,7 @@ _0807BED2:
pop {r0}
bx r0
.align 2, 0
-_0807BEDC: .4byte gUnknown_83C2BBC
+_0807BEDC: .4byte gWeatherPtr
_0807BEE0: .4byte 0x000006d2
_0807BEE4: .4byte 0x000006e4
thumb_func_end Snow_InitAll
@@ -1594,7 +1594,7 @@ _0807BEE4: .4byte 0x000006e4
thumb_func_start snowflakes_progress2
snowflakes_progress2: @ 807BEE8
push {r4,r5,lr}
- ldr r0, _0807BF18 @ =gUnknown_83C2BBC
+ ldr r0, _0807BF18 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807BF1C @ =0x000006cc
adds r4, r5, r0
@@ -1617,7 +1617,7 @@ _0807BF10:
pop {r0}
bx r0
.align 2, 0
-_0807BF18: .4byte gUnknown_83C2BBC
+_0807BF18: .4byte gWeatherPtr
_0807BF1C: .4byte 0x000006cc
_0807BF20: .4byte 0x000006d2
thumb_func_end snowflakes_progress2
@@ -1625,7 +1625,7 @@ _0807BF20: .4byte 0x000006d2
thumb_func_start Snow_Finish
Snow_Finish: @ 807BF24
push {r4,lr}
- ldr r0, _0807BF3C @ =gUnknown_83C2BBC
+ ldr r0, _0807BF3C @ =gWeatherPtr
ldr r2, [r0]
ldr r0, _0807BF40 @ =0x000006ce
adds r3, r2, r0
@@ -1637,7 +1637,7 @@ Snow_Finish: @ 807BF24
movs r0, 0
b _0807BF82
.align 2, 0
-_0807BF3C: .4byte gUnknown_83C2BBC
+_0807BF3C: .4byte gWeatherPtr
_0807BF40: .4byte 0x000006ce
_0807BF44:
ldr r4, _0807BF74 @ =0x000006e5
@@ -1654,7 +1654,7 @@ _0807BF56:
lsls r0, 24
cmp r0, 0
bne _0807BF80
- ldr r0, _0807BF78 @ =gUnknown_83C2BBC
+ ldr r0, _0807BF78 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807BF7C @ =0x000006ce
adds r1, r0
@@ -1665,7 +1665,7 @@ _0807BF56:
b _0807BF82
.align 2, 0
_0807BF74: .4byte 0x000006e5
-_0807BF78: .4byte gUnknown_83C2BBC
+_0807BF78: .4byte gWeatherPtr
_0807BF7C: .4byte 0x000006ce
_0807BF80:
movs r0, 0x1
@@ -1678,7 +1678,7 @@ _0807BF82:
thumb_func_start snowflakes_progress
snowflakes_progress: @ 807BF88
push {r4,lr}
- ldr r0, _0807BFA4 @ =gUnknown_83C2BBC
+ ldr r0, _0807BFA4 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807BFA8 @ =0x000006e4
adds r3, r1, r0
@@ -1691,7 +1691,7 @@ snowflakes_progress: @ 807BF88
movs r0, 0
b _0807BFF2
.align 2, 0
-_0807BFA4: .4byte gUnknown_83C2BBC
+_0807BFA4: .4byte gWeatherPtr
_0807BFA8: .4byte 0x000006e4
_0807BFAC: .4byte 0x000006e5
_0807BFB0:
@@ -1716,7 +1716,7 @@ _0807BFB0:
_0807BFD6:
bl snowflake_remove
_0807BFDA:
- ldr r0, _0807BFF8 @ =gUnknown_83C2BBC
+ ldr r0, _0807BFF8 @ =gWeatherPtr
ldr r0, [r0]
ldr r2, _0807BFFC @ =0x000006e4
adds r1, r0, r2
@@ -1733,7 +1733,7 @@ _0807BFF2:
pop {r1}
bx r1
.align 2, 0
-_0807BFF8: .4byte gUnknown_83C2BBC
+_0807BFF8: .4byte gWeatherPtr
_0807BFFC: .4byte 0x000006e4
_0807C000: .4byte 0x000006e5
thumb_func_end snowflakes_progress
@@ -1755,7 +1755,7 @@ snowflake_add: @ 807C004
adds r4, r1
lsls r4, 2
adds r4, r0
- ldr r0, _0807C060 @ =gUnknown_83C2BBC
+ ldr r0, _0807C060 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807C064 @ =0x000006e4
adds r6, r5, r0
@@ -1782,7 +1782,7 @@ snowflake_add: @ 807C004
.align 2, 0
_0807C058: .4byte gUnknown_83C6704
_0807C05C: .4byte gSprites
-_0807C060: .4byte gUnknown_83C2BBC
+_0807C060: .4byte gWeatherPtr
_0807C064: .4byte 0x000006e4
_0807C068:
movs r0, 0
@@ -1795,7 +1795,7 @@ _0807C06A:
thumb_func_start snowflake_remove
snowflake_remove: @ 807C070
push {lr}
- ldr r0, _0807C084 @ =gUnknown_83C2BBC
+ ldr r0, _0807C084 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807C088 @ =0x000006e4
adds r2, r1, r0
@@ -1805,7 +1805,7 @@ snowflake_remove: @ 807C070
movs r0, 0
b _0807C0A0
.align 2, 0
-_0807C084: .4byte gUnknown_83C2BBC
+_0807C084: .4byte gWeatherPtr
_0807C088: .4byte 0x000006e4
_0807C08C:
subs r0, 0x1
@@ -1911,7 +1911,7 @@ _0807C14C: .4byte gSpriteCoordOffsetX
sub_807C150: @ 807C150
push {r4,lr}
adds r3, r0, 0
- ldr r0, _0807C19C @ =gUnknown_83C2BBC
+ ldr r0, _0807C19C @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807C1A0 @ =0x000006e2
adds r4, r0, r1
@@ -1949,7 +1949,7 @@ _0807C196:
pop {r0}
bx r0
.align 2, 0
-_0807C19C: .4byte gUnknown_83C2BBC
+_0807C19C: .4byte gWeatherPtr
_0807C1A0: .4byte 0x000006e2
_0807C1A4: .4byte sub_807C1AC
_0807C1A8: .4byte gSpriteCoordOffsetY
@@ -2120,7 +2120,7 @@ _0807C2E0: .4byte sub_807C150
thumb_func_start sub_807C2E4
sub_807C2E4: @ 807C2E4
push {r4,r5,lr}
- ldr r0, _0807C33C @ =gUnknown_83C2BBC
+ ldr r0, _0807C33C @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C340 @ =0x000006cc
adds r0, r1, r2
@@ -2162,7 +2162,7 @@ sub_807C2E4: @ 807C2E4
pop {r0}
bx r0
.align 2, 0
-_0807C33C: .4byte gUnknown_83C2BBC
+_0807C33C: .4byte gWeatherPtr
_0807C340: .4byte 0x000006cc
_0807C344: .4byte 0x000006d2
_0807C348: .4byte 0x000006db
@@ -2175,7 +2175,7 @@ _0807C354: .4byte 0x000006ed
sub_807C358: @ 807C358
push {r4,lr}
bl sub_807C2E4
- ldr r0, _0807C380 @ =gUnknown_83C2BBC
+ ldr r0, _0807C380 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C384 @ =0x000006d2
adds r0, r1, r2
@@ -2193,14 +2193,14 @@ _0807C378:
pop {r0}
bx r0
.align 2, 0
-_0807C380: .4byte gUnknown_83C2BBC
+_0807C380: .4byte gWeatherPtr
_0807C384: .4byte 0x000006d2
thumb_func_end sub_807C358
thumb_func_start sub_807C388
sub_807C388: @ 807C388
push {r4,r5,lr}
- ldr r0, _0807C3DC @ =gUnknown_83C2BBC
+ ldr r0, _0807C3DC @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C3E0 @ =0x000006cc
adds r0, r1, r2
@@ -2240,7 +2240,7 @@ sub_807C388: @ 807C388
pop {r0}
bx r0
.align 2, 0
-_0807C3DC: .4byte gUnknown_83C2BBC
+_0807C3DC: .4byte gWeatherPtr
_0807C3E0: .4byte 0x000006cc
_0807C3E4: .4byte 0x000006d2
_0807C3E8: .4byte 0x000006db
@@ -2252,7 +2252,7 @@ _0807C3F0: .4byte 0x000006c2
sub_807C3F4: @ 807C3F4
push {r4,lr}
bl sub_807C388
- ldr r0, _0807C41C @ =gUnknown_83C2BBC
+ ldr r0, _0807C41C @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C420 @ =0x000006d2
adds r0, r1, r2
@@ -2270,7 +2270,7 @@ _0807C414:
pop {r0}
bx r0
.align 2, 0
-_0807C41C: .4byte gUnknown_83C2BBC
+_0807C41C: .4byte gWeatherPtr
_0807C420: .4byte 0x000006d2
thumb_func_end sub_807C3F4
@@ -2278,7 +2278,7 @@ _0807C420: .4byte 0x000006d2
Rain_Main: @ 807C424
push {r4,r5,lr}
bl UpdateThunderSound
- ldr r0, _0807C444 @ =gUnknown_83C2BBC
+ ldr r0, _0807C444 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807C448 @ =0x000006cc
adds r0, r1
@@ -2293,7 +2293,7 @@ _0807C43A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807C444: .4byte gUnknown_83C2BBC
+_0807C444: .4byte gWeatherPtr
_0807C448: .4byte 0x000006cc
_0807C44C: .4byte _0807C450
.align 2, 0
@@ -2315,7 +2315,7 @@ _0807C450:
.4byte _0807C77C
_0807C48C:
bl LoadRainSpriteSheet
- ldr r0, _0807C4A0 @ =gUnknown_83C2BBC
+ ldr r0, _0807C4A0 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C4A4 @ =0x000006cc
adds r1, r2
@@ -2323,7 +2323,7 @@ _0807C48C:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C4A0: .4byte gUnknown_83C2BBC
+_0807C4A0: .4byte gWeatherPtr
_0807C4A4: .4byte 0x000006cc
_0807C4A8:
bl CreateRainSprite
@@ -2332,7 +2332,7 @@ _0807C4A8:
beq _0807C4B4
b _0807C79A
_0807C4B4:
- ldr r0, _0807C4C4 @ =gUnknown_83C2BBC
+ ldr r0, _0807C4C4 @ =gWeatherPtr
ldr r1, [r0]
ldr r3, _0807C4C8 @ =0x000006cc
adds r1, r3
@@ -2340,7 +2340,7 @@ _0807C4B4:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C4C4: .4byte gUnknown_83C2BBC
+_0807C4C4: .4byte gWeatherPtr
_0807C4C8: .4byte 0x000006cc
_0807C4CC:
bl sub_807BD4C
@@ -2349,7 +2349,7 @@ _0807C4CC:
beq _0807C4D8
b _0807C79A
_0807C4D8:
- ldr r0, _0807C4F0 @ =gUnknown_83C2BBC
+ ldr r0, _0807C4F0 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807C4F4 @ =0x000006d2
adds r2, r1, r0
@@ -2361,11 +2361,11 @@ _0807C4D8:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C4F0: .4byte gUnknown_83C2BBC
+_0807C4F0: .4byte gWeatherPtr
_0807C4F4: .4byte 0x000006d2
_0807C4F8: .4byte 0x000006cc
_0807C4FC:
- ldr r0, _0807C514 @ =gUnknown_83C2BBC
+ ldr r0, _0807C514 @ =gWeatherPtr
ldr r1, [r0]
ldr r3, _0807C518 @ =0x000006c6
adds r0, r1, r3
@@ -2379,11 +2379,11 @@ _0807C50C:
movs r0, 0x6
b _0807C798
.align 2, 0
-_0807C514: .4byte gUnknown_83C2BBC
+_0807C514: .4byte gWeatherPtr
_0807C518: .4byte 0x000006c6
_0807C51C: .4byte 0x000006cc
_0807C520:
- ldr r0, _0807C570 @ =gUnknown_83C2BBC
+ ldr r0, _0807C570 @ =gWeatherPtr
ldr r4, [r0]
ldr r2, _0807C574 @ =0x000006ea
adds r1, r4, r2
@@ -2406,7 +2406,7 @@ _0807C520:
adds r0, 0x1
strh r0, [r4]
_0807C550:
- ldr r0, _0807C570 @ =gUnknown_83C2BBC
+ ldr r0, _0807C570 @ =gWeatherPtr
ldr r2, [r0]
ldr r3, _0807C578 @ =0x000006e6
adds r1, r2, r3
@@ -2424,12 +2424,12 @@ _0807C566:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C570: .4byte gUnknown_83C2BBC
+_0807C570: .4byte gWeatherPtr
_0807C574: .4byte 0x000006ea
_0807C578: .4byte 0x000006e6
_0807C57C: .4byte 0x000006cc
_0807C580:
- ldr r0, _0807C5A0 @ =gUnknown_83C2BBC
+ ldr r0, _0807C5A0 @ =gWeatherPtr
ldr r4, [r0]
ldr r1, _0807C5A4 @ =0x000006ea
adds r0, r4, r1
@@ -2444,12 +2444,12 @@ _0807C580:
strb r0, [r1]
b _0807C608
.align 2, 0
-_0807C5A0: .4byte gUnknown_83C2BBC
+_0807C5A0: .4byte gWeatherPtr
_0807C5A4: .4byte 0x000006ea
_0807C5A8: .4byte 0x000006eb
_0807C5AC:
bl Random
- ldr r1, _0807C614 @ =gUnknown_83C2BBC
+ ldr r1, _0807C614 @ =gWeatherPtr
ldr r2, [r1]
movs r1, 0x1
ands r1, r0
@@ -2465,7 +2465,7 @@ _0807C5AC:
_0807C5CA:
movs r0, 0x13
bl sub_807A790
- ldr r0, _0807C614 @ =gUnknown_83C2BBC
+ ldr r0, _0807C614 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C620 @ =0x000006eb
adds r0, r1, r2
@@ -2481,7 +2481,7 @@ _0807C5CA:
bl SetThunderCounter
_0807C5EE:
bl Random
- ldr r1, _0807C614 @ =gUnknown_83C2BBC
+ ldr r1, _0807C614 @ =gWeatherPtr
ldr r4, [r1]
lsls r0, 16
lsrs r0, 16
@@ -2499,13 +2499,13 @@ _0807C608:
strh r0, [r4]
b _0807C79A
.align 2, 0
-_0807C614: .4byte gUnknown_83C2BBC
+_0807C614: .4byte gWeatherPtr
_0807C618: .4byte 0x000006ec
_0807C61C: .4byte 0x000006cc
_0807C620: .4byte 0x000006eb
_0807C624: .4byte 0x000006e6
_0807C628:
- ldr r0, _0807C674 @ =gUnknown_83C2BBC
+ ldr r0, _0807C674 @ =gWeatherPtr
ldr r4, [r0]
ldr r0, _0807C678 @ =0x000006e6
adds r5, r4, r0
@@ -2543,7 +2543,7 @@ _0807C63E:
movs r0, 0xA
b _0807C798
.align 2, 0
-_0807C674: .4byte gUnknown_83C2BBC
+_0807C674: .4byte gWeatherPtr
_0807C678: .4byte 0x000006e6
_0807C67C: .4byte 0x000006ea
_0807C680: .4byte 0x000006ec
@@ -2568,7 +2568,7 @@ _0807C6A0:
.align 2, 0
_0807C6A8: .4byte 0x000006cc
_0807C6AC:
- ldr r0, _0807C6C8 @ =gUnknown_83C2BBC
+ ldr r0, _0807C6C8 @ =gWeatherPtr
ldr r2, [r0]
ldr r0, _0807C6CC @ =0x000006e6
adds r1, r2, r0
@@ -2583,12 +2583,12 @@ _0807C6AC:
movs r0, 0x8
b _0807C798
.align 2, 0
-_0807C6C8: .4byte gUnknown_83C2BBC
+_0807C6C8: .4byte gWeatherPtr
_0807C6CC: .4byte 0x000006e6
_0807C6D0: .4byte 0x000006cc
_0807C6D4:
bl Random
- ldr r1, _0807C6F8 @ =gUnknown_83C2BBC
+ ldr r1, _0807C6F8 @ =gWeatherPtr
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
@@ -2605,11 +2605,11 @@ _0807C6D4:
strh r0, [r2]
b _0807C79A
.align 2, 0
-_0807C6F8: .4byte gUnknown_83C2BBC
+_0807C6F8: .4byte gWeatherPtr
_0807C6FC: .4byte 0x000006e6
_0807C700: .4byte 0x000006cc
_0807C704:
- ldr r0, _0807C73C @ =gUnknown_83C2BBC
+ ldr r0, _0807C73C @ =gWeatherPtr
ldr r5, [r0]
ldr r1, _0807C740 @ =0x000006e6
adds r4, r5, r1
@@ -2634,11 +2634,11 @@ _0807C704:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C73C: .4byte gUnknown_83C2BBC
+_0807C73C: .4byte gWeatherPtr
_0807C740: .4byte 0x000006e6
_0807C744: .4byte 0x000006cc
_0807C748:
- ldr r0, _0807C770 @ =gUnknown_83C2BBC
+ ldr r0, _0807C770 @ =gWeatherPtr
ldr r4, [r0]
ldr r3, _0807C774 @ =0x000006e6
adds r1, r4, r3
@@ -2658,11 +2658,11 @@ _0807C748:
adds r0, 0x1
b _0807C798
.align 2, 0
-_0807C770: .4byte gUnknown_83C2BBC
+_0807C770: .4byte gWeatherPtr
_0807C774: .4byte 0x000006e6
_0807C778: .4byte 0x000006cc
_0807C77C:
- ldr r0, _0807C7A0 @ =gUnknown_83C2BBC
+ ldr r0, _0807C7A0 @ =gWeatherPtr
ldr r2, [r0]
ldr r1, _0807C7A4 @ =0x000006c6
adds r0, r2, r1
@@ -2684,7 +2684,7 @@ _0807C79A:
pop {r0}
bx r0
.align 2, 0
-_0807C7A0: .4byte gUnknown_83C2BBC
+_0807C7A0: .4byte gWeatherPtr
_0807C7A4: .4byte 0x000006c6
_0807C7A8: .4byte 0x000006ea
_0807C7AC: .4byte 0x000006cc
@@ -2693,7 +2693,7 @@ _0807C7AC: .4byte 0x000006cc
thumb_func_start Rain_Finish
Rain_Finish: @ 807C7B0
push {r4-r6,lr}
- ldr r0, _0807C7CC @ =gUnknown_83C2BBC
+ ldr r0, _0807C7CC @ =gWeatherPtr
ldr r6, [r0]
ldr r0, _0807C7D0 @ =0x000006ce
adds r5, r6, r0
@@ -2706,7 +2706,7 @@ Rain_Finish: @ 807C7B0
beq _0807C7DA
b _0807C84C
.align 2, 0
-_0807C7CC: .4byte gUnknown_83C2BBC
+_0807C7CC: .4byte gWeatherPtr
_0807C7D0: .4byte 0x000006ce
_0807C7D4:
cmp r1, 0x2
@@ -2721,7 +2721,7 @@ _0807C7DA:
strh r0, [r5]
_0807C7E6:
bl Rain_Main
- ldr r0, _0807C824 @ =gUnknown_83C2BBC
+ ldr r0, _0807C824 @ =gWeatherPtr
ldr r2, [r0]
ldr r1, _0807C820 @ =0x000006ea
adds r0, r2, r1
@@ -2749,7 +2749,7 @@ _0807C7E6:
b _0807C854
.align 2, 0
_0807C820: .4byte 0x000006ea
-_0807C824: .4byte gUnknown_83C2BBC
+_0807C824: .4byte gWeatherPtr
_0807C828: .4byte 0x000006d9
_0807C82C: .4byte 0x000006ce
_0807C830:
@@ -2783,7 +2783,7 @@ SetThunderCounter: @ 807C85C
push {r4-r6,lr}
lsls r0, 16
lsrs r6, r0, 16
- ldr r0, _0807C890 @ =gUnknown_83C2BBC
+ ldr r0, _0807C890 @ =gWeatherPtr
ldr r4, [r0]
ldr r0, _0807C894 @ =0x000006ed
adds r5, r4, r0
@@ -2806,14 +2806,14 @@ _0807C88A:
pop {r0}
bx r0
.align 2, 0
-_0807C890: .4byte gUnknown_83C2BBC
+_0807C890: .4byte gWeatherPtr
_0807C894: .4byte 0x000006ed
thumb_func_end SetThunderCounter
thumb_func_start UpdateThunderSound
UpdateThunderSound: @ 807C898
push {r4,lr}
- ldr r0, _0807C8D0 @ =gUnknown_83C2BBC
+ ldr r0, _0807C8D0 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C8D4 @ =0x000006ed
adds r0, r1, r2
@@ -2838,13 +2838,13 @@ UpdateThunderSound: @ 807C898
bl PlaySE
b _0807C8DE
.align 2, 0
-_0807C8D0: .4byte gUnknown_83C2BBC
+_0807C8D0: .4byte gWeatherPtr
_0807C8D4: .4byte 0x000006ed
_0807C8D8:
movs r0, 0x51
bl PlaySE
_0807C8DE:
- ldr r0, _0807C8EC @ =gUnknown_83C2BBC
+ ldr r0, _0807C8EC @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807C8F0 @ =0x000006ed
adds r0, r1
@@ -2852,7 +2852,7 @@ _0807C8DE:
strb r1, [r0]
b _0807C8F8
.align 2, 0
-_0807C8EC: .4byte gUnknown_83C2BBC
+_0807C8EC: .4byte gWeatherPtr
_0807C8F0: .4byte 0x000006ed
_0807C8F4:
subs r0, 0x1
@@ -2866,7 +2866,7 @@ _0807C8F8:
thumb_func_start Fog1_InitVars
Fog1_InitVars: @ 807C900
push {lr}
- ldr r0, _0807C94C @ =gUnknown_83C2BBC
+ ldr r0, _0807C94C @ =gWeatherPtr
ldr r3, [r0]
ldr r0, _0807C950 @ =0x000006cc
adds r1, r3, r0
@@ -2904,7 +2904,7 @@ _0807C948:
pop {r0}
bx r0
.align 2, 0
-_0807C94C: .4byte gUnknown_83C2BBC
+_0807C94C: .4byte gWeatherPtr
_0807C950: .4byte 0x000006cc
_0807C954: .4byte 0x000006d2
_0807C958: .4byte 0x000006c2
@@ -2915,7 +2915,7 @@ _0807C95C: .4byte 0x000006fb
Fog1_InitAll: @ 807C960
push {r4,lr}
bl Fog1_InitVars
- ldr r0, _0807C988 @ =gUnknown_83C2BBC
+ ldr r0, _0807C988 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807C98C @ =0x000006d2
adds r0, r1, r2
@@ -2933,14 +2933,14 @@ _0807C980:
pop {r0}
bx r0
.align 2, 0
-_0807C988: .4byte gUnknown_83C2BBC
+_0807C988: .4byte gWeatherPtr
_0807C98C: .4byte 0x000006d2
thumb_func_end Fog1_InitAll
thumb_func_start Fog1_Main
Fog1_Main: @ 807C990
push {r4-r6,lr}
- ldr r0, _0807C9DC @ =gUnknown_83C2BBC
+ ldr r0, _0807C9DC @ =gWeatherPtr
ldr r6, [r0]
ldr r0, _0807C9E0 @ =gSpriteCoordOffsetX
ldr r1, _0807C9E4 @ =0x000006f2
@@ -2978,7 +2978,7 @@ _0807C9CA:
beq _0807CA30
b _0807CA46
.align 2, 0
-_0807C9DC: .4byte gUnknown_83C2BBC
+_0807C9DC: .4byte gWeatherPtr
_0807C9E0: .4byte gSpriteCoordOffsetX
_0807C9E4: .4byte 0x000006f2
_0807C9E8: .4byte 0x000006ee
@@ -3002,7 +3002,7 @@ _0807CA0C:
movs r2, 0
bl Weather_SetTargetBlendCoeffs
_0807CA16:
- ldr r0, _0807CA28 @ =gUnknown_83C2BBC
+ ldr r0, _0807CA28 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807CA2C @ =0x000006cc
adds r1, r0
@@ -3011,7 +3011,7 @@ _0807CA16:
strh r0, [r1]
b _0807CA46
.align 2, 0
-_0807CA28: .4byte gUnknown_83C2BBC
+_0807CA28: .4byte gWeatherPtr
_0807CA2C: .4byte 0x000006cc
_0807CA30:
bl Weather_UpdateBlend
@@ -3035,7 +3035,7 @@ _0807CA4C: .4byte 0x000006d2
thumb_func_start Fog1_Finish
Fog1_Finish: @ 807CA50
push {r4,lr}
- ldr r0, _0807CAA0 @ =gUnknown_83C2BBC
+ ldr r0, _0807CAA0 @ =gWeatherPtr
ldr r2, [r0]
ldr r0, _0807CAA4 @ =gSpriteCoordOffsetX
ldr r1, _0807CAA8 @ =0x000006f2
@@ -3075,7 +3075,7 @@ _0807CA8A:
beq _0807CABA
b _0807CADE
.align 2, 0
-_0807CAA0: .4byte gUnknown_83C2BBC
+_0807CAA0: .4byte gWeatherPtr
_0807CAA4: .4byte gSpriteCoordOffsetX
_0807CAA8: .4byte 0x000006f2
_0807CAAC: .4byte 0x000006ee
@@ -3121,7 +3121,7 @@ Fog1SpriteCallback: @ 807CAEC
ldr r0, _0807CB38 @ =gSpriteCoordOffsetY
ldrb r0, [r0]
strh r0, [r3, 0x26]
- ldr r0, _0807CB3C @ =gUnknown_83C2BBC
+ ldr r0, _0807CB3C @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807CB40 @ =0x000006ee
adds r2, r0, r1
@@ -3156,7 +3156,7 @@ _0807CB30:
bx r0
.align 2, 0
_0807CB38: .4byte gSpriteCoordOffsetY
-_0807CB3C: .4byte gUnknown_83C2BBC
+_0807CB3C: .4byte gWeatherPtr
_0807CB40: .4byte 0x000006ee
_0807CB44: .4byte 0x010f0000
_0807CB48: .4byte 0x000001ff
@@ -3166,7 +3166,7 @@ _0807CB48: .4byte 0x000001ff
CreateFog1Sprites: @ 807CB4C
push {r4,r5,lr}
sub sp, 0x8
- ldr r0, _0807CBC0 @ =gUnknown_83C2BBC
+ ldr r0, _0807CBC0 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807CBC4 @ =0x000006fb
adds r0, r1
@@ -3211,7 +3211,7 @@ _0807CB70:
lsrs r0, 10
adds r0, 0x20
strh r0, [r4, 0x22]
- ldr r2, _0807CBC0 @ =gUnknown_83C2BBC
+ ldr r2, _0807CBC0 @ =gWeatherPtr
ldr r0, [r2]
lsls r1, r5, 2
adds r0, 0xA0
@@ -3219,13 +3219,13 @@ _0807CB70:
str r4, [r0]
b _0807CBE2
.align 2, 0
-_0807CBC0: .4byte gUnknown_83C2BBC
+_0807CBC0: .4byte gWeatherPtr
_0807CBC4: .4byte 0x000006fb
_0807CBC8: .4byte gUnknown_83C67A8
_0807CBCC: .4byte gUnknown_83C6790
_0807CBD0: .4byte gSprites
_0807CBD4:
- ldr r2, _0807CC00 @ =gUnknown_83C2BBC
+ ldr r2, _0807CC00 @ =gWeatherPtr
ldr r1, [r2]
lsls r0, r5, 2
adds r1, 0xA0
@@ -3249,14 +3249,14 @@ _0807CBF6:
pop {r0}
bx r0
.align 2, 0
-_0807CC00: .4byte gUnknown_83C2BBC
+_0807CC00: .4byte gWeatherPtr
_0807CC04: .4byte 0x000006fb
thumb_func_end CreateFog1Sprites
thumb_func_start DestroyFog1Sprites
DestroyFog1Sprites: @ 807CC08
push {r4,r5,lr}
- ldr r0, _0807CC50 @ =gUnknown_83C2BBC
+ ldr r0, _0807CC50 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807CC54 @ =0x000006fb
adds r0, r1, r2
@@ -3281,7 +3281,7 @@ _0807CC2C:
bls _0807CC1E
ldr r0, _0807CC58 @ =0x00001201
bl FreeSpriteTilesByTag
- ldr r0, _0807CC50 @ =gUnknown_83C2BBC
+ ldr r0, _0807CC50 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807CC54 @ =0x000006fb
adds r0, r1
@@ -3292,7 +3292,7 @@ _0807CC48:
pop {r0}
bx r0
.align 2, 0
-_0807CC50: .4byte gUnknown_83C2BBC
+_0807CC50: .4byte gWeatherPtr
_0807CC54: .4byte 0x000006fb
_0807CC58: .4byte 0x00001201
thumb_func_end DestroyFog1Sprites
@@ -3300,7 +3300,7 @@ _0807CC58: .4byte 0x00001201
thumb_func_start Ash_InitVars
Ash_InitVars: @ 807CC5C
push {lr}
- ldr r0, _0807CCA8 @ =gUnknown_83C2BBC
+ ldr r0, _0807CCA8 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807CCAC @ =0x000006cc
adds r2, r1, r0
@@ -3337,7 +3337,7 @@ _0807CCA4:
pop {r0}
bx r0
.align 2, 0
-_0807CCA8: .4byte gUnknown_83C2BBC
+_0807CCA8: .4byte gWeatherPtr
_0807CCAC: .4byte 0x000006cc
_0807CCB0: .4byte 0x000006d2
_0807CCB4: .4byte 0x000006c2
@@ -3347,7 +3347,7 @@ _0807CCB4: .4byte 0x000006c2
Ash_InitAll: @ 807CCB8
push {r4,lr}
bl Ash_InitVars
- ldr r0, _0807CCE0 @ =gUnknown_83C2BBC
+ ldr r0, _0807CCE0 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807CCE4 @ =0x000006d2
adds r0, r1, r2
@@ -3365,14 +3365,14 @@ _0807CCD8:
pop {r0}
bx r0
.align 2, 0
-_0807CCE0: .4byte gUnknown_83C2BBC
+_0807CCE0: .4byte gWeatherPtr
_0807CCE4: .4byte 0x000006d2
thumb_func_end Ash_InitAll
thumb_func_start Ash_Main
Ash_Main: @ 807CCE8
push {r4,r5,lr}
- ldr r2, _0807CD2C @ =gUnknown_83C2BBC
+ ldr r2, _0807CD2C @ =gWeatherPtr
ldr r1, [r2]
ldr r0, _0807CD30 @ =gSpriteCoordOffsetX
ldrh r0, [r0]
@@ -3407,7 +3407,7 @@ _0807CD14:
beq _0807CD46
b _0807CD88
.align 2, 0
-_0807CD2C: .4byte gUnknown_83C2BBC
+_0807CD2C: .4byte gWeatherPtr
_0807CD30: .4byte gSpriteCoordOffsetX
_0807CD34: .4byte 0x000001ff
_0807CD38: .4byte 0x000006fc
@@ -3460,7 +3460,7 @@ _0807CD8C:
thumb_func_start Ash_Finish
Ash_Finish: @ 807CD94
push {r4,lr}
- ldr r0, _0807CDB0 @ =gUnknown_83C2BBC
+ ldr r0, _0807CDB0 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807CDB4 @ =0x000006ce
adds r4, r0, r1
@@ -3473,7 +3473,7 @@ Ash_Finish: @ 807CD94
beq _0807CDBE
b _0807CDEE
.align 2, 0
-_0807CDB0: .4byte gUnknown_83C2BBC
+_0807CDB0: .4byte gWeatherPtr
_0807CDB4: .4byte 0x000006ce
_0807CDB8:
cmp r0, 0x2
@@ -3528,7 +3528,7 @@ _0807CE08: .4byte gUnknown_83C67B0
thumb_func_start CreateAshSprites
CreateAshSprites: @ 807CE0C
push {r4,r5,lr}
- ldr r0, _0807CE78 @ =gUnknown_83C2BBC
+ ldr r0, _0807CE78 @ =gWeatherPtr
ldr r0, [r0]
movs r1, 0xE0
lsls r1, 3
@@ -3571,7 +3571,7 @@ _0807CE20:
lsls r0, 6
adds r0, 0x20
strh r0, [r4, 0x2E]
- ldr r2, _0807CE78 @ =gUnknown_83C2BBC
+ ldr r2, _0807CE78 @ =gWeatherPtr
ldr r0, [r2]
lsls r1, r5, 2
adds r0, 0xF0
@@ -3579,11 +3579,11 @@ _0807CE20:
str r4, [r0]
b _0807CE92
.align 2, 0
-_0807CE78: .4byte gUnknown_83C2BBC
+_0807CE78: .4byte gWeatherPtr
_0807CE7C: .4byte gUnknown_83C67D0
_0807CE80: .4byte gSprites
_0807CE84:
- ldr r2, _0807CEB0 @ =gUnknown_83C2BBC
+ ldr r2, _0807CEB0 @ =gWeatherPtr
ldr r1, [r2]
lsls r0, r5, 2
adds r1, 0xF0
@@ -3607,13 +3607,13 @@ _0807CEA8:
pop {r0}
bx r0
.align 2, 0
-_0807CEB0: .4byte gUnknown_83C2BBC
+_0807CEB0: .4byte gWeatherPtr
thumb_func_end CreateAshSprites
thumb_func_start DestroyAshSprites
DestroyAshSprites: @ 807CEB4
push {r4,r5,lr}
- ldr r0, _0807CF00 @ =gUnknown_83C2BBC
+ ldr r0, _0807CF00 @ =gWeatherPtr
ldr r1, [r0]
movs r2, 0xE0
lsls r2, 3
@@ -3639,7 +3639,7 @@ _0807CEDA:
bls _0807CECC
ldr r0, _0807CF04 @ =0x00001202
bl FreeSpriteTilesByTag
- ldr r0, _0807CF00 @ =gUnknown_83C2BBC
+ ldr r0, _0807CF00 @ =gWeatherPtr
ldr r0, [r0]
movs r1, 0xE0
lsls r1, 3
@@ -3651,7 +3651,7 @@ _0807CEF8:
pop {r0}
bx r0
.align 2, 0
-_0807CF00: .4byte gUnknown_83C2BBC
+_0807CF00: .4byte gWeatherPtr
_0807CF04: .4byte 0x00001202
thumb_func_end DestroyAshSprites
@@ -3677,7 +3677,7 @@ _0807CF24:
ldrh r1, [r1]
adds r0, r1
strh r0, [r3, 0x22]
- ldr r0, _0807CF74 @ =gUnknown_83C2BBC
+ ldr r0, _0807CF74 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807CF78 @ =0x000006fc
adds r2, r0, r1
@@ -3712,7 +3712,7 @@ _0807CF68:
bx r0
.align 2, 0
_0807CF70: .4byte gSpriteCoordOffsetY
-_0807CF74: .4byte gUnknown_83C2BBC
+_0807CF74: .4byte gWeatherPtr
_0807CF78: .4byte 0x000006fc
_0807CF7C: .4byte 0x010f0000
_0807CF80: .4byte 0x000001ff
@@ -3721,7 +3721,7 @@ _0807CF80: .4byte 0x000001ff
thumb_func_start Fog2_InitVars
Fog2_InitVars: @ 807CF84
push {r4,lr}
- ldr r0, _0807CFF4 @ =gUnknown_83C2BBC
+ ldr r0, _0807CFF4 @ =gWeatherPtr
ldr r3, [r0]
ldr r1, _0807CFF8 @ =0x000006cc
adds r0, r3, r1
@@ -3777,7 +3777,7 @@ _0807CFEE:
pop {r0}
bx r0
.align 2, 0
-_0807CFF4: .4byte gUnknown_83C2BBC
+_0807CFF4: .4byte gWeatherPtr
_0807CFF8: .4byte 0x000006cc
_0807CFFC: .4byte 0x000006d2
_0807D000: .4byte 0x000006c2
@@ -3788,7 +3788,7 @@ _0807D004: .4byte 0x00000724
Fog2_InitAll: @ 807D008
push {r4,lr}
bl Fog2_InitVars
- ldr r0, _0807D030 @ =gUnknown_83C2BBC
+ ldr r0, _0807D030 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D034 @ =0x000006d2
adds r0, r1, r2
@@ -3806,7 +3806,7 @@ _0807D028:
pop {r0}
bx r0
.align 2, 0
-_0807D030: .4byte gUnknown_83C2BBC
+_0807D030: .4byte gWeatherPtr
_0807D034: .4byte 0x000006d2
thumb_func_end Fog2_InitAll
@@ -3814,7 +3814,7 @@ _0807D034: .4byte 0x000006d2
Fog2_Main: @ 807D038
push {r4,r5,lr}
bl sub_807D0FC
- ldr r0, _0807D058 @ =gUnknown_83C2BBC
+ ldr r0, _0807D058 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807D05C @ =0x000006cc
adds r4, r5, r0
@@ -3827,7 +3827,7 @@ Fog2_Main: @ 807D038
beq _0807D066
b _0807D090
.align 2, 0
-_0807D058: .4byte gUnknown_83C2BBC
+_0807D058: .4byte gWeatherPtr
_0807D05C: .4byte 0x000006cc
_0807D060:
cmp r0, 0x2
@@ -3867,7 +3867,7 @@ _0807D098: .4byte 0x000006d2
Fog2_Finish: @ 807D09C
push {r4,lr}
bl sub_807D0FC
- ldr r0, _0807D0BC @ =gUnknown_83C2BBC
+ ldr r0, _0807D0BC @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D0C0 @ =0x000006ce
adds r4, r0, r1
@@ -3880,7 +3880,7 @@ Fog2_Finish: @ 807D09C
beq _0807D0CA
b _0807D0EE
.align 2, 0
-_0807D0BC: .4byte gUnknown_83C2BBC
+_0807D0BC: .4byte gWeatherPtr
_0807D0C0: .4byte 0x000006ce
_0807D0C4:
cmp r0, 0x2
@@ -3919,7 +3919,7 @@ _0807D0F4:
thumb_func_start sub_807D0FC
sub_807D0FC: @ 807D0FC
push {r4,r5,lr}
- ldr r0, _0807D174 @ =gUnknown_83C2BBC
+ ldr r0, _0807D174 @ =gWeatherPtr
ldr r3, [r0]
ldr r0, _0807D178 @ =0x0000071c
adds r2, r3, r0
@@ -3981,7 +3981,7 @@ _0807D144:
pop {r0}
bx r0
.align 2, 0
-_0807D174: .4byte gUnknown_83C2BBC
+_0807D174: .4byte gWeatherPtr
_0807D178: .4byte 0x0000071c
_0807D17C: .4byte 0x0000ffff
_0807D180: .4byte 0x0000071e
@@ -3994,7 +3994,7 @@ _0807D18C: .4byte gSpriteCoordOffsetY
CreateFog2Sprites: @ 807D190
push {r4-r6,lr}
sub sp, 0x8
- ldr r0, _0807D1FC @ =gUnknown_83C2BBC
+ ldr r0, _0807D1FC @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D200 @ =0x00000724
adds r0, r1
@@ -4034,7 +4034,7 @@ _0807D1B4:
bl __umodsi3
strh r0, [r4, 0x2E]
strh r5, [r4, 0x30]
- ldr r2, _0807D1FC @ =gUnknown_83C2BBC
+ ldr r2, _0807D1FC @ =gWeatherPtr
ldr r0, [r2]
lsls r1, r6, 2
movs r3, 0xA0
@@ -4044,13 +4044,13 @@ _0807D1B4:
str r4, [r0]
b _0807D222
.align 2, 0
-_0807D1FC: .4byte gUnknown_83C2BBC
+_0807D1FC: .4byte gWeatherPtr
_0807D200: .4byte 0x00000724
_0807D204: .4byte gUnknown_83C67E8
_0807D208: .4byte gUnknown_83C6804
_0807D20C: .4byte gSprites
_0807D210:
- ldr r2, _0807D240 @ =gUnknown_83C2BBC
+ ldr r2, _0807D240 @ =gWeatherPtr
ldr r1, [r2]
lsls r0, r6, 2
movs r3, 0xA0
@@ -4076,14 +4076,14 @@ _0807D236:
pop {r0}
bx r0
.align 2, 0
-_0807D240: .4byte gUnknown_83C2BBC
+_0807D240: .4byte gWeatherPtr
_0807D244: .4byte 0x00000724
thumb_func_end CreateFog2Sprites
thumb_func_start DestroyFog2Sprites
DestroyFog2Sprites: @ 807D248
push {r4,r5,lr}
- ldr r0, _0807D290 @ =gUnknown_83C2BBC
+ ldr r0, _0807D290 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D294 @ =0x00000724
adds r0, r1, r2
@@ -4109,7 +4109,7 @@ _0807D26E:
bls _0807D260
ldr r0, _0807D298 @ =0x00001203
bl FreeSpriteTilesByTag
- ldr r0, _0807D290 @ =gUnknown_83C2BBC
+ ldr r0, _0807D290 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D294 @ =0x00000724
adds r0, r1
@@ -4120,7 +4120,7 @@ _0807D28A:
pop {r0}
bx r0
.align 2, 0
-_0807D290: .4byte gUnknown_83C2BBC
+_0807D290: .4byte gWeatherPtr
_0807D294: .4byte 0x00000724
_0807D298: .4byte 0x00001203
thumb_func_end DestroyFog2Sprites
@@ -4129,7 +4129,7 @@ _0807D298: .4byte 0x00001203
Fog2SpriteCallback: @ 807D29C
push {r4,lr}
adds r3, r0, 0
- ldr r0, _0807D2EC @ =gUnknown_83C2BBC
+ ldr r0, _0807D2EC @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D2F0 @ =0x0000071a
adds r0, r1, r2
@@ -4168,7 +4168,7 @@ _0807D2E4:
pop {r0}
bx r0
.align 2, 0
-_0807D2EC: .4byte gUnknown_83C2BBC
+_0807D2EC: .4byte gWeatherPtr
_0807D2F0: .4byte 0x0000071a
_0807D2F4: .4byte 0x010f0000
_0807D2F8: .4byte 0x000001ff
@@ -4177,7 +4177,7 @@ _0807D2F8: .4byte 0x000001ff
thumb_func_start Sandstorm_InitVars
Sandstorm_InitVars: @ 807D2FC
push {r4,lr}
- ldr r0, _0807D360 @ =gUnknown_83C2BBC
+ ldr r0, _0807D360 @ =gWeatherPtr
ldr r3, [r0]
ldr r0, _0807D364 @ =0x000006cc
adds r1, r3, r0
@@ -4227,7 +4227,7 @@ _0807D358:
pop {r0}
bx r0
.align 2, 0
-_0807D360: .4byte gUnknown_83C2BBC
+_0807D360: .4byte gWeatherPtr
_0807D364: .4byte 0x000006cc
_0807D368: .4byte 0x000006d2
_0807D36C: .4byte 0x000006c1
@@ -4240,7 +4240,7 @@ _0807D378: .4byte 0x00000712
Sandstorm_InitAll: @ 807D37C
push {r4,lr}
bl Sandstorm_InitVars
- ldr r0, _0807D3A4 @ =gUnknown_83C2BBC
+ ldr r0, _0807D3A4 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D3A8 @ =0x000006d2
adds r0, r1, r2
@@ -4258,7 +4258,7 @@ _0807D39C:
pop {r0}
bx r0
.align 2, 0
-_0807D3A4: .4byte gUnknown_83C2BBC
+_0807D3A4: .4byte gWeatherPtr
_0807D3A8: .4byte 0x000006d2
thumb_func_end Sandstorm_InitAll
@@ -4267,7 +4267,7 @@ Sandstorm_Main: @ 807D3AC
push {r4,r5,lr}
bl sub_807D4C4
bl sub_807D48C
- ldr r0, _0807D3DC @ =gUnknown_83C2BBC
+ ldr r0, _0807D3DC @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807D3E0 @ =0x00000712
adds r1, r5, r0
@@ -4288,7 +4288,7 @@ _0807D3C8:
beq _0807D3EE
b _0807D41C
.align 2, 0
-_0807D3DC: .4byte gUnknown_83C2BBC
+_0807D3DC: .4byte gWeatherPtr
_0807D3E0: .4byte 0x00000712
_0807D3E4: .4byte 0x000006cc
_0807D3E8:
@@ -4331,7 +4331,7 @@ Sandstorm_Finish: @ 807D428
push {r4,lr}
bl sub_807D4C4
bl sub_807D48C
- ldr r0, _0807D44C @ =gUnknown_83C2BBC
+ ldr r0, _0807D44C @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D450 @ =0x000006ce
adds r4, r0, r1
@@ -4344,7 +4344,7 @@ Sandstorm_Finish: @ 807D428
beq _0807D45A
b _0807D47E
.align 2, 0
-_0807D44C: .4byte gUnknown_83C2BBC
+_0807D44C: .4byte gWeatherPtr
_0807D450: .4byte 0x000006ce
_0807D454:
cmp r0, 0x2
@@ -4383,7 +4383,7 @@ _0807D484:
thumb_func_start sub_807D48C
sub_807D48C: @ 807D48C
push {lr}
- ldr r0, _0807D4B8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D4B8 @ =gWeatherPtr
ldr r2, [r0]
ldr r0, _0807D4BC @ =0x00000714
adds r3, r2, r0
@@ -4405,7 +4405,7 @@ _0807D4B2:
pop {r0}
bx r0
.align 2, 0
-_0807D4B8: .4byte gUnknown_83C2BBC
+_0807D4B8: .4byte gWeatherPtr
_0807D4BC: .4byte 0x00000714
_0807D4C0: .4byte 0x00000712
thumb_func_end sub_807D48C
@@ -4413,7 +4413,7 @@ _0807D4C0: .4byte 0x00000712
thumb_func_start sub_807D4C4
sub_807D4C4: @ 807D4C4
push {r4-r6,lr}
- ldr r0, _0807D528 @ =gUnknown_83C2BBC
+ ldr r0, _0807D528 @ =gWeatherPtr
ldr r2, [r0]
ldr r0, _0807D52C @ =0x00000704
adds r4, r2, r0
@@ -4463,7 +4463,7 @@ sub_807D4C4: @ 807D4C4
pop {r0}
bx r0
.align 2, 0
-_0807D528: .4byte gUnknown_83C2BBC
+_0807D528: .4byte gWeatherPtr
_0807D52C: .4byte 0x00000704
_0807D530: .4byte gSineTable
_0807D534: .4byte 0x00000712
@@ -4475,7 +4475,7 @@ _0807D540: .4byte gSpriteCoordOffsetY
thumb_func_start sub_807D544
sub_807D544: @ 807D544
push {r4,r5,lr}
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D5C8 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D5CC @ =0x00000716
adds r0, r1, r2
@@ -4499,7 +4499,7 @@ _0807D56A:
lsrs r4, r0, 16
cmp r4, 0x13
bls _0807D55C
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D5C8 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D5CC @ =0x00000716
adds r0, r1
@@ -4508,7 +4508,7 @@ _0807D56A:
ldr r0, _0807D5D0 @ =0x00001204
bl FreeSpriteTilesByTag
_0807D586:
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D5C8 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D5D4 @ =0x00000717
adds r0, r1, r2
@@ -4532,7 +4532,7 @@ _0807D5AA:
lsrs r4, r0, 16
cmp r4, 0x4
bls _0807D59C
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D5C8 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D5D4 @ =0x00000717
adds r0, r1
@@ -4543,7 +4543,7 @@ _0807D5C0:
pop {r0}
bx r0
.align 2, 0
-_0807D5C8: .4byte gUnknown_83C2BBC
+_0807D5C8: .4byte gWeatherPtr
_0807D5CC: .4byte 0x00000716
_0807D5D0: .4byte 0x00001204
_0807D5D4: .4byte 0x00000717
@@ -4553,7 +4553,7 @@ _0807D5D4: .4byte 0x00000717
CreateSandstormSprites_1: @ 807D5D8
push {r4-r7,lr}
sub sp, 0x4
- ldr r0, _0807D648 @ =gUnknown_83C2BBC
+ ldr r0, _0807D648 @ =gWeatherPtr
ldr r0, [r0]
ldr r1, _0807D64C @ =0x00000716
adds r0, r1
@@ -4563,7 +4563,7 @@ CreateSandstormSprites_1: @ 807D5D8
ldr r0, _0807D650 @ =gUnknown_83C6854
bl LoadSpriteSheet
ldr r0, _0807D654 @ =gUnknown_83C2D20
- bl sub_807ABC0
+ bl LoadCustomWeatherSpritePalette
movs r7, 0
_0807D5F8:
adds r0, r7, 0
@@ -4580,7 +4580,7 @@ _0807D5F8:
lsrs r1, r0, 24
cmp r1, 0x40
beq _0807D660
- ldr r2, _0807D648 @ =gUnknown_83C2BBC
+ ldr r2, _0807D648 @ =gWeatherPtr
ldr r5, [r2]
lsls r0, r7, 2
movs r3, 0xC8
@@ -4603,14 +4603,14 @@ _0807D5F8:
ldr r2, [sp]
b _0807D672
.align 2, 0
-_0807D648: .4byte gUnknown_83C2BBC
+_0807D648: .4byte gWeatherPtr
_0807D64C: .4byte 0x00000716
_0807D650: .4byte gUnknown_83C6854
_0807D654: .4byte gUnknown_83C2D20
_0807D658: .4byte gUnknown_83C683C
_0807D65C: .4byte gSprites
_0807D660:
- ldr r2, _0807D690 @ =gUnknown_83C2BBC
+ ldr r2, _0807D690 @ =gWeatherPtr
ldr r1, [r2]
lsls r0, r7, 2
movs r3, 0xC8
@@ -4636,7 +4636,7 @@ _0807D686:
pop {r0}
bx r0
.align 2, 0
-_0807D690: .4byte gUnknown_83C2BBC
+_0807D690: .4byte gWeatherPtr
_0807D694: .4byte 0x00000716
thumb_func_end CreateSandstormSprites_1
@@ -4647,7 +4647,7 @@ CreateSandstormSprites_2: @ 807D698
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r4, _0807D740 @ =gUnknown_83C2BBC
+ ldr r4, _0807D740 @ =gWeatherPtr
ldr r0, [r4]
ldr r1, _0807D744 @ =0x00000717
adds r0, r1
@@ -4724,7 +4724,7 @@ _0807D6B8:
str r0, [r1, 0x1C]
b _0807D76E
.align 2, 0
-_0807D740: .4byte gUnknown_83C2BBC
+_0807D740: .4byte gWeatherPtr
_0807D744: .4byte 0x00000717
_0807D748: .4byte gUnknown_83C683C
_0807D74C: .4byte gSprites
@@ -4769,7 +4769,7 @@ _0807D794: .4byte 0x00000717
SandstormSpriteCallback1: @ 807D798
push {r4,lr}
adds r3, r0, 0
- ldr r0, _0807D7E8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D7E8 @ =gWeatherPtr
ldr r1, [r0]
movs r2, 0xE2
lsls r2, 3
@@ -4808,7 +4808,7 @@ _0807D7E0:
pop {r0}
bx r0
.align 2, 0
-_0807D7E8: .4byte gUnknown_83C2BBC
+_0807D7E8: .4byte gWeatherPtr
_0807D7EC: .4byte 0x0000070e
_0807D7F0: .4byte 0x010f0000
_0807D7F4: .4byte 0x000001ff
@@ -4902,7 +4902,7 @@ _0807D88C: .4byte gSineTable
thumb_func_start Weather11_InitVars
Weather11_InitVars: @ 807D890
- ldr r0, _0807D8B0 @ =gUnknown_83C2BBC
+ ldr r0, _0807D8B0 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807D8B4 @ =0x000006cc
adds r2, r1, r0
@@ -4918,7 +4918,7 @@ Weather11_InitVars: @ 807D890
strb r0, [r1]
bx lr
.align 2, 0
-_0807D8B0: .4byte gUnknown_83C2BBC
+_0807D8B0: .4byte gWeatherPtr
_0807D8B4: .4byte 0x000006cc
_0807D8B8: .4byte 0x000006c1
_0807D8BC: .4byte 0x000006c2
@@ -4947,7 +4947,7 @@ sub_807D8D0: @ 807D8D0
Bubbles_InitVars: @ 807D8D4
push {r4,r5,lr}
bl Fog1_InitVars
- ldr r0, _0807D914 @ =gUnknown_83C2BBC
+ ldr r0, _0807D914 @ =gWeatherPtr
ldr r4, [r0]
ldr r1, _0807D918 @ =0x0000072e
adds r0, r4, r1
@@ -4976,7 +4976,7 @@ _0807D90C:
pop {r0}
bx r0
.align 2, 0
-_0807D914: .4byte gUnknown_83C2BBC
+_0807D914: .4byte gWeatherPtr
_0807D918: .4byte 0x0000072e
_0807D91C: .4byte gUnknown_83C6870
_0807D920: .4byte gUnknown_83C6868
@@ -4987,7 +4987,7 @@ _0807D924: .4byte 0x0000072a
Bubbles_InitAll: @ 807D928
push {r4,lr}
bl Bubbles_InitVars
- ldr r0, _0807D950 @ =gUnknown_83C2BBC
+ ldr r0, _0807D950 @ =gWeatherPtr
ldr r1, [r0]
ldr r2, _0807D954 @ =0x000006d2
adds r0, r1, r2
@@ -5005,7 +5005,7 @@ _0807D948:
pop {r0}
bx r0
.align 2, 0
-_0807D950: .4byte gUnknown_83C2BBC
+_0807D950: .4byte gWeatherPtr
_0807D954: .4byte 0x000006d2
thumb_func_end Bubbles_InitAll
@@ -5013,7 +5013,7 @@ _0807D954: .4byte 0x000006d2
Bubbles_Main: @ 807D958
push {r4-r7,lr}
bl Fog1_Main
- ldr r0, _0807D9B8 @ =gUnknown_83C2BBC
+ ldr r0, _0807D9B8 @ =gWeatherPtr
ldr r5, [r0]
ldr r0, _0807D9BC @ =0x00000726
adds r4, r5, r0
@@ -5059,7 +5059,7 @@ _0807D9B0:
pop {r0}
bx r0
.align 2, 0
-_0807D9B8: .4byte gUnknown_83C2BBC
+_0807D9B8: .4byte gWeatherPtr
_0807D9BC: .4byte 0x00000726
_0807D9C0: .4byte 0x0000ffff
_0807D9C4: .4byte gUnknown_83C6868
@@ -5129,7 +5129,7 @@ sub_807D9E8: @ 807D9E8
strh r0, [r1, 0x2E]
strh r0, [r1, 0x30]
strh r0, [r1, 0x32]
- ldr r0, _0807DA68 @ =gUnknown_83C2BBC
+ ldr r0, _0807DA68 @ =gWeatherPtr
ldr r1, [r0]
ldr r0, _0807DA6C @ =0x0000072c
adds r1, r0
@@ -5145,7 +5145,7 @@ _0807DA58: .4byte gUnknown_83C6878
_0807DA5C: .4byte gSpriteCoordOffsetY
_0807DA60: .4byte gUnknown_83C68BC
_0807DA64: .4byte gSprites
-_0807DA68: .4byte gUnknown_83C2BBC
+_0807DA68: .4byte gWeatherPtr
_0807DA6C: .4byte 0x0000072c
thumb_func_end sub_807D9E8
diff --git a/asm/field_weather_util.s b/asm/field_weather_util.s
new file mode 100644
index 000000000..c31f35763
--- /dev/null
+++ b/asm/field_weather_util.s
@@ -0,0 +1,295 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_807B0C4
+sub_807B0C4: @ 807B0C4
+ push {lr}
+ adds r1, r0, 0
+ adds r3, r2, 0
+ ldr r0, _0807B0E8 @ =gWeather
+ movs r2, 0xDA
+ lsls r2, 3
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0xB
+ beq _0807B0F0
+ cmp r0, 0xB
+ bgt _0807B0EC
+ cmp r0, 0x5
+ bgt _0807B0FA
+ cmp r0, 0x3
+ blt _0807B0FA
+ b _0807B0F0
+ .align 2, 0
+_0807B0E8: .4byte gWeather
+_0807B0EC:
+ cmp r0, 0xD
+ bne _0807B0FA
+_0807B0F0:
+ adds r0, r1, 0
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8045314
+_0807B0FA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807B0C4
+
+ thumb_func_start SetSav1Weather
+SetSav1Weather: @ 807B100
+ push {r4,r5,lr}
+ ldr r4, _0807B12C @ =gSaveBlock1Ptr
+ ldr r1, [r4]
+ adds r1, 0x2E
+ ldrb r5, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ bl TranslateWeatherNum
+ ldr r1, [r4]
+ adds r1, 0x2E
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x2E
+ ldrb r0, [r0]
+ adds r1, r5, 0
+ bl UpdateRainCounter
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807B12C: .4byte gSaveBlock1Ptr
+ thumb_func_end SetSav1Weather
+
+ thumb_func_start sav1_get_weather_probably
+sav1_get_weather_probably: @ 807B130
+ ldr r0, _0807B13C @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ adds r0, 0x2E
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_0807B13C: .4byte gSaveBlock1Ptr
+ thumb_func_end sav1_get_weather_probably
+
+ thumb_func_start SetSav1WeatherFromCurrMapHeader
+SetSav1WeatherFromCurrMapHeader: @ 807B140
+ push {r4,r5,lr}
+ ldr r4, _0807B16C @ =gSaveBlock1Ptr
+ ldr r0, [r4]
+ adds r0, 0x2E
+ ldrb r5, [r0]
+ ldr r0, _0807B170 @ =gMapHeader
+ ldrb r0, [r0, 0x16]
+ bl TranslateWeatherNum
+ ldr r1, [r4]
+ adds r1, 0x2E
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x2E
+ ldrb r0, [r0]
+ adds r1, r5, 0
+ bl UpdateRainCounter
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807B16C: .4byte gSaveBlock1Ptr
+_0807B170: .4byte gMapHeader
+ thumb_func_end SetSav1WeatherFromCurrMapHeader
+
+ thumb_func_start SetWeather
+SetWeather: @ 807B174
+ push {lr}
+ bl SetSav1Weather
+ bl sav1_get_weather_probably
+ lsls r0, 24
+ lsrs r0, 24
+ bl SetNextWeather
+ pop {r0}
+ bx r0
+ thumb_func_end SetWeather
+
+ thumb_func_start sub_807B18C
+sub_807B18C: @ 807B18C
+ push {lr}
+ bl SetSav1Weather
+ bl sav1_get_weather_probably
+ lsls r0, 24
+ lsrs r0, 24
+ bl SetCurrentAndNextWeather
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807B18C
+
+ thumb_func_start DoCurrentWeather
+DoCurrentWeather: @ 807B1A4
+ push {lr}
+ bl sav1_get_weather_probably
+ lsls r0, 24
+ lsrs r0, 24
+ bl SetNextWeather
+ pop {r0}
+ bx r0
+ thumb_func_end DoCurrentWeather
+
+ thumb_func_start sub_807B1B8
+sub_807B1B8: @ 807B1B8
+ push {lr}
+ bl sav1_get_weather_probably
+ lsls r0, 24
+ lsrs r0, 24
+ bl SetCurrentAndNextWeather
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807B1B8
+
+ thumb_func_start TranslateWeatherNum
+TranslateWeatherNum: @ 807B1CC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x15
+ bhi _0807B294
+ lsls r0, 2
+ ldr r1, _0807B1E0 @ =_0807B1E4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0807B1E0: .4byte _0807B1E4
+ .align 2, 0
+_0807B1E4:
+ .4byte _0807B294
+ .4byte _0807B23C
+ .4byte _0807B240
+ .4byte _0807B244
+ .4byte _0807B248
+ .4byte _0807B24C
+ .4byte _0807B250
+ .4byte _0807B254
+ .4byte _0807B258
+ .4byte _0807B25C
+ .4byte _0807B260
+ .4byte _0807B264
+ .4byte _0807B268
+ .4byte _0807B26C
+ .4byte _0807B270
+ .4byte _0807B294
+ .4byte _0807B294
+ .4byte _0807B294
+ .4byte _0807B294
+ .4byte _0807B294
+ .4byte _0807B274
+ .4byte _0807B27C
+_0807B23C:
+ movs r0, 0x1
+ b _0807B296
+_0807B240:
+ movs r0, 0x2
+ b _0807B296
+_0807B244:
+ movs r0, 0x3
+ b _0807B296
+_0807B248:
+ movs r0, 0x4
+ b _0807B296
+_0807B24C:
+ movs r0, 0x5
+ b _0807B296
+_0807B250:
+ movs r0, 0x6
+ b _0807B296
+_0807B254:
+ movs r0, 0x7
+ b _0807B296
+_0807B258:
+ movs r0, 0x8
+ b _0807B296
+_0807B25C:
+ movs r0, 0x9
+ b _0807B296
+_0807B260:
+ movs r0, 0xA
+ b _0807B296
+_0807B264:
+ movs r0, 0xB
+ b _0807B296
+_0807B268:
+ movs r0, 0xC
+ b _0807B296
+_0807B26C:
+ movs r0, 0xD
+ b _0807B296
+_0807B270:
+ movs r0, 0xE
+ b _0807B296
+_0807B274:
+ ldr r1, _0807B278 @ =gUnknown_83C65C0
+ b _0807B27E
+ .align 2, 0
+_0807B278: .4byte gUnknown_83C65C0
+_0807B27C:
+ ldr r1, _0807B28C @ =gUnknown_83C65C4
+_0807B27E:
+ ldr r0, _0807B290 @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ adds r0, 0x2F
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ b _0807B296
+ .align 2, 0
+_0807B28C: .4byte gUnknown_83C65C4
+_0807B290: .4byte gSaveBlock1Ptr
+_0807B294:
+ movs r0, 0
+_0807B296:
+ pop {r1}
+ bx r1
+ thumb_func_end TranslateWeatherNum
+
+ thumb_func_start UpdateWeatherPerDay
+UpdateWeatherPerDay: @ 807B29C
+ lsls r0, 16
+ ldr r1, _0807B2B8 @ =gSaveBlock1Ptr
+ ldr r2, [r1]
+ adds r2, 0x2F
+ lsrs r0, 16
+ ldrb r1, [r2]
+ adds r0, r1
+ lsls r0, 16
+ movs r1, 0xC0
+ lsls r1, 10
+ ands r1, r0
+ lsrs r1, 16
+ strb r1, [r2]
+ bx lr
+ .align 2, 0
+_0807B2B8: .4byte gSaveBlock1Ptr
+ thumb_func_end UpdateWeatherPerDay
+
+ thumb_func_start UpdateRainCounter
+UpdateRainCounter: @ 807B2BC
+ push {lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r2, r0, 24
+ cmp r0, r1
+ beq _0807B2D6
+ cmp r2, 0x3
+ beq _0807B2D0
+ cmp r2, 0x5
+ bne _0807B2D6
+_0807B2D0:
+ movs r0, 0x28
+ bl IncrementGameStat
+_0807B2D6:
+ pop {r0}
+ bx r0
+ thumb_func_end UpdateRainCounter
+
+ .align 2, 0 @ Don't pad with nop
diff --git a/asm/overworld.s b/asm/overworld.s
index 27235fa18..504fecbf1 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -1728,7 +1728,7 @@ sub_8055864: @ 8055864
_080558D4:
lsls r0, r4, 24
lsrs r0, 24
- bl sub_807AB74
+ bl ApplyWeatherGammaShiftToPal
adds r4, 0x1
cmp r4, 0xC
ble _080558D4
@@ -4644,7 +4644,7 @@ _08057050:
bl InitObjectEventPalettes
_08057056:
bl FieldEffectActiveListClear
- bl sub_8079C08
+ bl StartWeather
bl sub_807B1B8
cmp r4, 0
bne _0805706A
@@ -5400,7 +5400,7 @@ _0805769C:
bl ResetCameraUpdateInfo
bl InstallCameraPanAheadCallback
bl FieldEffectActiveListClear
- bl sub_8079C08
+ bl StartWeather
bl sub_807B1B8
bl SetUpFieldTasks
bl mapheader_run_script_with_tag_x5
@@ -5451,7 +5451,7 @@ _08057712:
ldr r2, _08057738 @ =0x3fffffff
movs r0, 0
movs r1, 0
- bl FieldWeather_StartFadingOutCreditsMap
+ bl FadeSelectedPals
_0805772A:
ldrb r0, [r4]
adds r0, 0x1