summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/cable_car.s2882
1 files changed, 0 insertions, 2882 deletions
diff --git a/asm/cable_car.s b/asm/cable_car.s
deleted file mode 100644
index 96bc91a41..000000000
--- a/asm/cable_car.s
+++ /dev/null
@@ -1,2882 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_814FC70
-sub_814FC70: @ 814FC70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814FC8E
- ldr r0, =sub_814FCC8
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0814FC8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FC70
-
- thumb_func_start sub_814FC9C
-sub_814FC9C: @ 814FC9C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, =sub_814FC70
- movs r1, 0x1
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FC9C
-
- thumb_func_start sub_814FCC8
-sub_814FCC8: @ 814FCC8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- movs r4, 0
- str r4, [sp, 0x14]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x9
- bhi _0814FD20
- lsls r0, 2
- ldr r1, =_0814FCF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814FCF8:
- .4byte _0814FD20
- .4byte _0814FDD8
- .4byte _0814FE90
- .4byte _0814FF50
- .4byte _0814FF7C
- .4byte _0814FF98
- .4byte _0814FFF8
- .4byte _08150090
- .4byte _08150190
- .4byte _081501C8
-_0814FD20:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl sub_8150B6C
- bl ScanlineEffect_Stop
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x10
- mov r9, r0
- add r2, sp, 0xC
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r8, r0
-_0814FD4E:
- strh r6, [r2]
- add r0, sp, 0xC
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0814FD4E
- strh r6, [r2]
- add r2, sp, 0xC
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r8
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x10]
- ldr r2, =0x040000d4
- mov r1, r9
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0xC
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r4, =gUnknown_0203ABAC
- ldr r0, =0x00004110
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FDD8:
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl reset_temp_tile_data_buffers
- bl StartWeather
- movs r4, 0
- ldr r0, =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_0814FDFC:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _0814FDFC
- bl InitMapMusic
- bl ResetMapMusic
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085CD66C
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203ABAC
- ldr r1, [r4]
- adds r1, 0xFC
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r3, =0x000010fc
- adds r1, r3
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x000020fc
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r2, =0x000030fc
- adds r1, r2
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r2, =gSpriteCoordOffsetX
- ldr r1, =gSpriteCoordOffsetY
- movs r0, 0
- strh r0, [r1]
- strh r0, [r2]
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FE90:
- movs r4, 0
- add r5, sp, 0x14
- ldr r6, =gUnknown_085CDB54
-_0814FE96:
- lsls r0, r4, 3
- adds r0, r6
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0814FE96
- ldr r0, =gUnknown_085CDB74
- bl LoadSpritePalettes
- ldr r0, =gCableCarMtChimneyTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r4, =gUnknown_0203ABAC
- ldr r1, [r4]
- ldr r2, =0x000040fc
- adds r1, r2
- str r0, [r1]
- ldr r0, =gCableCarTreeTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- movs r3, 0x82
- lsls r3, 7
- adds r1, r3
- str r0, [r1]
- ldr r0, =gCableCarMountainTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r2, =0x00004104
- adds r1, r2
- str r0, [r1]
- ldr r0, =gCableCarPylonStemTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r3, =0x0000410c
- adds r2, r1, r3
- str r0, [r2]
- ldr r0, =0x00004108
- adds r1, r0
- ldr r0, =gCableCarPylonHookTilemapEntries
- str r0, [r1]
- ldr r1, =gUnknown_08DBA5B8
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF50:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _0814FF5C
- b _08150226
-_0814FF5C:
- ldr r0, =gUnknown_08DBA518
- movs r1, 0
- movs r2, 0x80
- bl LoadPalette
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF7C:
- bl sub_8150D28
- bl RunTasks
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF98:
- ldr r0, =gUnknown_0203ABAC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x7
- bne _0814FFB4
- movs r2, 0x87
- lsls r2, 3
- adds r1, r6, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FFB4:
- ldr r0, =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- ldr r0, [r1]
- cmp r0, 0
- bne _0814FFC4
- b _08150226
-_0814FFC4:
- movs r4, 0
- adds r3, r1, 0
- movs r5, 0xD
- negs r5, r5
-_0814FFCC:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _0814FFDE
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_0814FFDE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _0814FFCC
- movs r3, 0x87
- lsls r3, 3
- adds r1, r6, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FFF8:
- ldr r6, =gUnknown_0203ABAC
- ldr r0, [r6]
- movs r1, 0x82
- lsls r1, 7
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r2, =0x00004104
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x1E
- str r0, [sp]
- movs r3, 0x14
- mov r8, r3
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r1, =0x00004108
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r2, =0x0000410c
- adds r0, r2
- ldr r1, [r0]
- str r4, [sp]
- mov r3, r8
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_08150090:
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81514C8
- ldr r1, =gUnknown_0203ABAC
- mov r9, r1
- ldr r0, [r1]
- ldr r2, =0x000040fc
- mov r8, r2
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x90
- movs r6, 0xC
- str r6, [sp]
- movs r5, 0x3
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0xE
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- adds r1, r2
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r2, r9
- ldr r0, [r2]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x17
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x17
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_08150190:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =0x000001a9
- movs r1, 0x1
- bl FadeInNewBGM
- movs r0, 0x1
- bl sub_8150B6C
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_081501C8:
- ldr r3, =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, =sub_8150800
- bl SetVBlankCallback
- ldr r0, =mainloop
- bl SetMainCallback2
- ldr r0, =sub_81503E4
- movs r1, 0
- bl CreateTask
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08150218
- ldr r0, =sub_8150550
- b _0815021A
- .pool
-_08150218:
- ldr r0, =sub_8150664
-_0815021A:
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_0203ABAC
- ldr r1, [r1]
-_08150224:
- strb r0, [r1]
-_08150226:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FCC8
-
- thumb_func_start mainloop
-mainloop: @ 815023C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl MapMusicMain
- pop {r0}
- bx r0
- thumb_func_end mainloop
-
- thumb_func_start c2_8011A1C
-c2_8011A1C: @ 8150258
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r4, 0
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x3
- bl HideBg
- movs r0, 0
- bl sub_8150B6C
- ldr r0, =gSpriteCoordOffsetX
- strh r4, [r0]
- movs r0, 0
- bl sub_80AB130
- add r0, sp, 0x4
- mov r8, r0
- ldr r0, =gWeatherPtr
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_08150298:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08150298
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r6, =gUnknown_0203ABAC
- ldr r0, [r6]
- ldr r2, =0x00004108
- adds r1, r0, r2
- movs r5, 0
- str r5, [r1]
- ldr r4, =0x0000410c
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- ldr r4, =0x00004104
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- movs r4, 0x82
- lsls r4, 7
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- ldr r4, =0x000040fc
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- bl Free
- str r5, [r6]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08150340:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _08150340
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bl WarpIntoMap
- ldr r0, =gFieldCallback
- str r4, [r0]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8011A1C
-
- thumb_func_start sub_81503E4
-sub_81503E4: @ 81503E4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, =gUnknown_0203ABAC
- ldr r3, [r5]
- ldrh r0, [r3, 0x6]
- adds r0, 0x1
- strh r0, [r3, 0x6]
- ldrb r2, [r3, 0x1]
- adds r7, r5, 0
- cmp r2, 0x2
- beq _081504EA
- cmp r2, 0x2
- bgt _08150414
- cmp r2, 0
- beq _08150422
- cmp r2, 0x1
- beq _0815043C
- b _08150542
- .pool
-_08150414:
- cmp r2, 0x3
- bne _0815041A
- b _08150510
-_0815041A:
- cmp r2, 0xFF
- bne _08150420
- b _08150528
-_08150420:
- b _08150542
-_08150422:
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r3, 0x4]
- cmp r0, r1
- beq _0815042E
- b _08150542
-_0815042E:
- ldrb r0, [r3, 0x2]
- bl ChangeWeather
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _08150542
-_0815043C:
- ldrb r0, [r3, 0x2]
- cmp r0, 0x2
- beq _08150490
- cmp r0, 0x7
- beq _08150448
- b _08150542
-_08150448:
- ldr r0, =gWeatherPtr
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
- ldr r0, [r2]
- cmp r0, 0
- beq _08150542
- ldrb r1, [r0, 0x5]
- movs r0, 0xC
- ands r0, r1
- cmp r0, 0
- beq _08150542
- adds r3, r2, 0
- movs r5, 0xD
- negs r5, r5
-_08150466:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _08150478
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_08150478:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08150466
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- b _08150542
- .pool
-_08150490:
- ldr r0, =gWeatherPtr
- ldr r2, [r0]
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081504A8
- strb r0, [r3, 0x1]
- b _08150542
- .pool
-_081504A8:
- ldrh r1, [r3, 0x6]
- ldrh r0, [r3, 0x4]
- adds r0, 0x8
- cmp r1, r0
- blt _08150542
- adds r6, r2, 0
- adds r6, 0xF0
- movs r5, 0x1
- movs r7, 0x5
- negs r7, r7
-_081504BC:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _081504DE
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r1, r2, 29
- lsrs r1, 31
- eors r1, r5
- ands r1, r5
- lsls r1, 2
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_081504DE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _081504BC
- b _08150542
-_081504EA:
- lsls r1, r0, 16
- ldr r0, =0x023a0000
- cmp r1, r0
- bne _08150542
- movs r0, 0x3
- strb r0, [r3, 0x1]
- subs r0, 0x4
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl FadeOutBGM
- b _08150542
- .pool
-_08150510:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08150542
- movs r0, 0xFF
- strb r0, [r3, 0x1]
- b _08150542
- .pool
-_08150528:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, [r5]
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, =c2_8011A1C
- bl SetMainCallback2
-_08150542:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81503E4
-
- thumb_func_start sub_8150550
-sub_8150550: @ 8150550
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r6, =gUnknown_0203ABAC
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08150630
- ldrb r0, [r1, 0x14]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r1, [r6]
- ldrh r0, [r1, 0x6]
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _08150576
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x15]
-_08150576:
- ldr r2, [r6]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08150590
- ldrb r0, [r2, 0xC]
- subs r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r6]
- ldrb r0, [r1, 0xD]
- subs r0, 0x1
- strb r0, [r1, 0xD]
-_08150590:
- ldr r0, [r6]
- ldrb r1, [r0, 0x14]
- cmp r1, 0x20
- beq _081505DC
- cmp r1, 0x20
- bgt _081505A8
- cmp r1, 0x10
- beq _081505F4
- b _08150630
- .pool
-_081505A8:
- cmp r1, 0x28
- beq _081505CA
- cmp r1, 0xAF
- bne _08150630
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl FillBgTilemapBufferRect
- b _08150630
-_081505CA:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x3
- b _081505EC
-_081505DC:
- str r3, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x2
-_081505EC:
- movs r3, 0
- bl FillBgTilemapBufferRect
- b _08150630
-_081505F4:
- ldr r1, =0x00004108
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r1, =0x0000410c
- adds r0, r1
- ldr r1, [r0]
- str r4, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, [r6]
- movs r0, 0x40
- strb r0, [r1, 0x15]
-_08150630:
- bl sub_815115C
- ldr r3, =gSpriteCoordOffsetX
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _08150646
- adds r0, r2, 0
- adds r0, 0x80
-_08150646:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- strh r0, [r3]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150550
-
- thumb_func_start sub_8150664
-sub_8150664: @ 8150664
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r7, =gUnknown_0203ABAC
- ldr r1, [r7]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _08150674
- b _081507B6
-_08150674:
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- ldr r1, [r7]
- ldrh r0, [r1, 0x6]
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- bne _0815068C
- ldrb r0, [r1, 0x15]
- adds r0, 0x1
- strb r0, [r1, 0x15]
-_0815068C:
- ldr r2, [r7]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _081506A6
- ldrb r0, [r2, 0xC]
- adds r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r7]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_081506A6:
- ldr r0, [r7]
- ldrb r1, [r0, 0x14]
- cmp r1, 0x20
- beq _0815071A
- cmp r1, 0x20
- bgt _081506BC
- cmp r1, 0x10
- beq _081506E8
- b _081507B6
- .pool
-_081506BC:
- cmp r1, 0x28
- beq _08150784
- cmp r1, 0xB0
- bne _081507B6
- ldr r1, =0x0000410c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- b _081507B6
- .pool
-_081506E8:
- movs r0, 0x3
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl FillBgTilemapBufferRect
- ldr r1, [r7]
- movs r0, 0xC0
- strb r0, [r1, 0x15]
- b _081507B6
-_0815071A:
- ldr r5, =0x00004108
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x6]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x3
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0xE]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x2
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x10]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x3
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- b _081507B6
- .pool
-_08150784:
- ldr r5, =0x00004108
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x8]
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x4
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x12]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x4
- movs r3, 0x1
- bl FillBgTilemapBufferRect
-_081507B6:
- bl sub_81511B8
- ldr r0, =gUnknown_0203ABAC
- ldr r1, [r0]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- bcs _081507DC
- ldr r4, =gSpriteCoordOffsetX
- movs r1, 0
- ldrsh r0, [r4, r1]
- b _081507E6
- .pool
-_081507DC:
- ldr r0, =gWeatherPtr
- ldr r4, [r0]
- ldr r0, =0x000006fc
- adds r4, r0
- ldrh r0, [r4]
-_081507E6:
- adds r0, 0xF7
- movs r1, 0xF8
- bl __modsi3
- strh r0, [r4]
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150664
-
- thumb_func_start sub_8150800
-sub_8150800: @ 8150800
- push {r4,lr}
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r4, =gUnknown_0203ABAC
- ldr r0, [r4]
- ldrb r1, [r0, 0x14]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1E
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xD]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x8]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x9]
- movs r0, 0x12
- bl SetGpuReg
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150800
-
- thumb_func_start nullsub_58
-nullsub_58: @ 8150864
- bx lr
- thumb_func_end nullsub_58
-
- thumb_func_start sub_8150868
-sub_8150868: @ 8150868
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- beq _08150934
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081508E4
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150892
- ldr r1, =0x47800000
- bl __addsf3
-_08150892:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081508BA
- ldr r1, =0x47800000
- bl __addsf3
-_081508BA:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08150934
- .pool
-_081508E4:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081508F8
- ldr r1, =0x47800000
- bl __addsf3
-_081508F8:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150920
- ldr r1, =0x47800000
- bl __addsf3
-_08150920:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08150934:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150868
-
- thumb_func_start sub_8150948
-sub_8150948: @ 8150948
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- bne _08150958
- b _08150A60
-_08150958:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081509C8
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150974
- ldr r1, =0x47800000
- bl __addsf3
-_08150974:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _0815099C
- ldr r1, =0x47800000
- bl __addsf3
-_0815099C:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08150A18
- .pool
-_081509C8:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081509DC
- ldr r1, =0x47800000
- bl __addsf3
-_081509DC:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150A04
- ldr r1, =0x47800000
- bl __addsf3
-_08150A04:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08150A18:
- movs r0, 0x32
- ldrsh r2, [r5, r0]
- cmp r2, 0
- bne _08150A48
- movs r0, 0x11
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08150A60
- strh r2, [r5, 0x34]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- b _08150A60
- .pool
-_08150A48:
- movs r2, 0
- movs r0, 0x10
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08150A60
- strh r2, [r5, 0x34]
- strh r2, [r5, 0x32]
-_08150A60:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8150948
-
- thumb_func_start sub_8150A68
-sub_8150A68: @ 8150A68
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08150A98
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r3, [r2, 0x20]
- adds r0, r3
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08150A98:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08150AEE
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08150AB8
- cmp r1, 0x1
- beq _08150AC2
- b _08150AE0
-_08150AB8:
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08150AD2
-_08150AC2:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08150AE0
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08150AD2:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08150AE0
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
-_08150AE0:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0xA0
- ble _08150AEE
- adds r0, r2, 0
- bl DestroySprite
-_08150AEE:
- pop {r0}
- bx r0
- thumb_func_end sub_8150A68
-
- thumb_func_start sub_8150AF4
-sub_8150AF4: @ 8150AF4
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08150B12
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08150B12:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08150B68
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08150B32
- cmp r1, 0x1
- beq _08150B3C
- b _08150B5A
-_08150B32:
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08150B4C
-_08150B3C:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08150B5A
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08150B4C:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08150B5A
- ldrh r0, [r2, 0x22]
- subs r0, 0x1
- strh r0, [r2, 0x22]
-_08150B5A:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0x4F
- bgt _08150B68
- adds r0, r2, 0
- bl DestroySprite
-_08150B68:
- pop {r0}
- bx r0
- thumb_func_end sub_8150AF4
-
- thumb_func_start sub_8150B6C
-sub_8150B6C: @ 8150B6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08150B7A
- cmp r0, 0x1
- beq _08150C1C
-_08150B7A:
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- b _08150D1C
-_08150C1C:
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gSpecialVar_0x8004
- ldrh r3, [r0]
- cmp r3, 0
- bne _08150C74
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r0, 0xB0
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0x10
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x50
- b _08150C8C
- .pool
-_08150C74:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x60
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0xE8
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x4
-_08150C8C:
- strb r0, [r2, 0xD]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- adds r4, r1, 0
- ldr r0, [r4]
- ldrb r1, [r0, 0x14]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1E
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xD]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x8]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x9]
- movs r0, 0x12
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
-_08150D1C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150B6C
-
- thumb_func_start sub_8150D28
-sub_8150D28: @ 8150D28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r1, =gCableCarPlayerGraphicsIDs
- add r0, sp, 0xC
- movs r2, 0x2
- bl memcpy
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- add r6, sp, 0x10
- ldr r1, =gMtChimneyHikerGraphicsIDs
- adds r0, r6, 0
- movs r2, 0x4
- bl memcpy
- add r5, sp, 0x14
- ldr r1, =gMtChimneyHikerCoords
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- add r4, sp, 0x1C
- ldr r1, =gMtChimneyHikerMovementDelayTable
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, =gUnknown_085CDBF8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- mov r8, r6
- mov r10, r5
- cmp r0, 0
- beq _08150D86
- cmp r0, 0x1
- beq _08150E68
-_08150D86:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0xC
- ldrb r0, [r0]
- ldr r1, =sub_8150948
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0xC8
- movs r3, 0x49
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08150DD0
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0xC8
- strh r0, [r1, 0x2E]
- movs r0, 0x49
- strh r0, [r1, 0x30]
-_08150DD0:
- ldr r4, =gSpriteTemplate_85CDB9C
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0x2B
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0xB0
- strh r1, [r0, 0x2E]
- movs r1, 0x2B
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x63
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0xC8
- strh r1, [r0, 0x2E]
- movs r1, 0x63
- strh r1, [r0, 0x30]
- ldr r2, =gUnknown_0203ABAC
- ldr r1, [r2]
- movs r0, 0x7
- strb r0, [r1, 0x2]
- ldr r1, [r2]
- movs r0, 0xAF
- lsls r0, 1
- strh r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_80AB130
- b _08150F3A
- .pool
-_08150E68:
- ldr r7, =gUnknown_0203ABAC
- ldr r0, [r7]
- ldr r1, =0x000040fc
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x48
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x1A
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0xC
- ldrb r0, [r0]
- ldr r1, =sub_8150948
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0x80
- movs r3, 0x27
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08150ED4
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0x80
- strh r0, [r1, 0x2E]
- movs r0, 0x27
- strh r0, [r1, 0x30]
-_08150ED4:
- ldr r4, =gSpriteTemplate_85CDB9C
- adds r0, r4, 0
- movs r1, 0x68
- movs r2, 0x9
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0x68
- strh r1, [r0, 0x2E]
- movs r1, 0x9
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0x41
- strh r1, [r0, 0x30]
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r1, [r7]
- ldr r0, =0x00000109
- strh r0, [r1, 0x4]
- movs r0, 0x7
- bl sub_80AB130
-_08150F3A:
- movs r4, 0
- ldr r5, =gSprites
-_08150F3E:
- lsls r1, r4, 20
- movs r2, 0xC0
- lsls r2, 15
- adds r1, r2
- asrs r1, 16
- lsls r2, r4, 19
- ldr r3, =0xfff80000
- adds r2, r3
- asrs r2, 16
- ldr r0, =gSpriteTemplate_85CDBCC
- movs r3, 0x68
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _08150F3E
- movs r0, 0x3F
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- bne _08151074
- mov r0, r9
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- add r0, r8
- ldrb r0, [r0]
- ldr r5, =gSpecialVar_0x8004
- ldrh r4, [r5]
- lsls r4, 2
- add r1, sp, 0x20
- adds r1, r4, r1
- ldr r1, [r1]
- mov r3, r10
- adds r2, r3, r4
- movs r3, 0
- ldrsh r2, [r2, r3]
- mov r3, sp
- adds r3, 0x16
- adds r3, r4
- movs r4, 0
- ldrsh r3, [r3, r4]
- movs r4, 0x6A
- str r4, [sp]
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08151074
- ldr r1, =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r5]
- mov r8, r2
- cmp r0, 0
- bne _08151036
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08151030
- adds r0, r4, 0
- movs r1, 0x6
- b _08151044
- .pool
-_08151030:
- adds r0, r4, 0
- movs r1, 0x7
- b _08151056
-_08151036:
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08151052
- adds r0, r4, 0
- movs r1, 0x7
-_08151044:
- bl StartSpriteAnim
- strh r7, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- b _0815105C
-_08151052:
- adds r0, r4, 0
- movs r1, 0x6
-_08151056:
- bl StartSpriteAnim
- strh r5, [r4, 0x30]
-_0815105C:
- ldr r0, =gSprites
- mov r2, r8
- adds r1, r2, r6
- lsls r1, 2
- adds r1, r0
- movs r0, 0x3
- mov r3, r9
- ands r0, r3
- add r0, sp
- adds r0, 0x1C
- ldrb r0, [r0]
- strh r0, [r1, 0x32]
-_08151074:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150D28
-
- thumb_func_start sub_8151088
-sub_8151088: @ 8151088
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r3, 0
- mov r9, r3
- ldr r2, =gUnknown_0203ABAC
- ldr r0, [r2]
- ldrb r1, [r0, 0x1B]
- adds r1, 0x2
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 26
- lsrs r0, 24
- mov r12, r0
-_081510AA:
- movs r7, 0
- lsls r0, r3, 1
- adds r1, r3, 0x3
- adds r2, r3, 0x6
- adds r4, r3, 0x1
- str r4, [sp, 0x4]
- adds r0, r3
- lsls r0, 3
- str r0, [sp]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- mov r8, r0
-_081510CC:
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- lsls r3, r7, 1
- ldr r1, [sp]
- adds r2, r3, r1
- adds r4, r6, 0
- adds r4, 0x22
- adds r2, r4, r2
- mov r1, r12
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- ldr r0, =0x000040fc
- adds r5, r6, r0
- ldr r0, [r5]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- mov r1, r10
- adds r2, r3, r1
- adds r2, r4, r2
- str r2, [sp, 0x8]
- ldr r0, [r5]
- mov r2, r9
- lsls r1, r2, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldr r2, [sp, 0x8]
- strh r0, [r2]
- add r3, r8
- adds r4, r3
- ldr r0, [r5]
- adds r1, r0
- adds r1, 0x48
- ldrh r0, [r1]
- strh r0, [r4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xB
- bls _081510CC
- ldr r4, [sp, 0x4]
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _081510AA
- ldrb r0, [r6, 0x1B]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strb r0, [r6, 0x1B]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151088
-
- thumb_func_start sub_815115C
-sub_815115C: @ 815115C
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203ABAC
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1F]
- ldrb r2, [r1, 0x1D]
- subs r0, r2
- strb r0, [r1, 0x8]
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- ldrb r1, [r2, 0x1E]
- subs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081511A0
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_081511A0:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _081511AC
- bl sub_8151214
-_081511AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815115C
-
- thumb_func_start sub_81511B8
-sub_81511B8: @ 81511B8
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203ABAC
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- ldrb r2, [r1, 0x1F]
- adds r0, r2
- strb r0, [r1, 0x8]
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r0, [r1, 0x1E]
- ldrb r2, [r2]
- adds r0, r2
- strb r0, [r1, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081511FC
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_081511FC:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _08151208
- bl sub_8151388
-_08151208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81511B8
-
- thumb_func_start sub_8151214
-sub_8151214: @ 8151214
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- ldr r3, =gUnknown_0203ABAC
- ldr r0, [r3]
- strb r7, [r0, 0x1E]
- strb r7, [r0, 0x1D]
- ldr r1, [r3]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r3]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r3]
- ldrb r1, [r4, 0x19]
- adds r2, r1, 0
- adds r2, 0x1E
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4, 0x19]
- ldr r1, [r3]
- ldrb r0, [r1, 0x18]
- subs r0, 0x2
- strb r0, [r1, 0x18]
- ldr r4, =gUnknown_0203ABB2
- ldr r0, [r3]
- ldrb r1, [r0, 0x1A]
- adds r2, r1, 0
- adds r2, 0x17
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4]
- ldr r6, =gUnknown_0203ABB0
- mov r9, r3
- ldr r0, =gUnknown_0203ABB1
- mov r8, r0
-_0815126E:
- mov r1, r9
- ldr r2, [r1]
- ldrb r0, [r2, 0x19]
- strb r0, [r6]
- ldr r0, =gUnknown_0203ABB2
- ldrb r0, [r0]
- adds r1, r0, r7
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r1, r8
- strb r0, [r1]
- ldrb r1, [r2, 0x18]
- lsls r1, 1
- lsls r0, r7, 1
- adds r0, r7
- lsls r5, r0, 3
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x22
- adds r0, r1
- ldrh r1, [r0]
- ldrb r2, [r6]
- mov r0, r8
- ldrb r3, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- mov r10, r0
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- ldrb r1, [r6]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r6]
- mov r0, r9
- ldr r1, [r0]
- ldrb r0, [r1, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r1, 0x22
- adds r1, r0
- ldrh r1, [r1]
- ldrb r2, [r6]
- mov r0, r8
- ldrb r3, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r10
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x8
- bls _0815126E
- ldr r5, =gUnknown_0203ABB0
- ldr r4, =gUnknown_0203ABAC
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- adds r2, r1, 0
- adds r2, 0x1E
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r5]
- ldrb r2, [r5]
- movs r0, 0x2
- str r0, [sp]
- movs r6, 0x20
- str r6, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _08151368
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0
- adds r3, 0x1D
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- ldr r1, [r4]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_8151088
- ldr r0, [r4]
- ldrb r1, [r0, 0x1A]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r5]
- ldrb r3, [r5]
- str r6, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl FillBgTilemapBufferRect
-_08151368:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151214
-
- thumb_func_start sub_8151388
-sub_8151388: @ 8151388
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- ldr r2, =gUnknown_0203ABAC
- ldr r0, [r2]
- strb r7, [r0, 0x1E]
- strb r7, [r0, 0x1D]
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r2]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r2]
- ldrb r1, [r4, 0x19]
- adds r3, r1, 0x2
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r4, 0x19]
- ldr r1, [r2]
- ldrb r0, [r1, 0x18]
- adds r0, 0x2
- strb r0, [r1, 0x18]
- ldr r1, =gUnknown_0203ABB5
- ldr r0, [r2]
- ldrb r0, [r0, 0x1A]
- strb r0, [r1]
- ldr r6, =gUnknown_0203ABB3
- mov r10, r2
- ldr r0, =gUnknown_0203ABB4
- mov r9, r0
-_081513D4:
- mov r1, r10
- ldr r2, [r1]
- ldrb r0, [r2, 0x19]
- strb r0, [r6]
- ldr r0, =gUnknown_0203ABB5
- ldrb r0, [r0]
- adds r1, r0, r7
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r1, r9
- strb r0, [r1]
- ldrb r1, [r2, 0x18]
- lsls r1, 1
- lsls r0, r7, 1
- adds r0, r7
- lsls r5, r0, 3
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x22
- adds r0, r1
- ldrh r1, [r0]
- ldrb r2, [r6]
- mov r0, r9
- ldrb r3, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- mov r8, r0
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- ldrb r1, [r6]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r6]
- mov r0, r10
- ldr r1, [r0]
- ldrb r0, [r1, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r1, 0x22
- adds r1, r0
- ldrh r1, [r1]
- ldrb r2, [r6]
- mov r0, r9
- ldrb r3, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x8
- bls _081513D4
- ldr r4, =gUnknown_0203ABB4
- ldr r5, =gUnknown_0203ABAC
- ldr r3, [r5]
- ldrb r1, [r3, 0x1A]
- adds r2, r1, 0
- adds r2, 0x17
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4]
- ldrb r2, [r3, 0x19]
- ldrb r3, [r4]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- bl FillBgTilemapBufferRect
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0xA
- bne _081514A6
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0x3
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- ldr r1, [r5]
- movs r0, 0xFE
- strb r0, [r1, 0x18]
- bl sub_8151088
-_081514A6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151388
-
- thumb_func_start sub_81514C8
-sub_81514C8: @ 81514C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081514D6
- cmp r0, 0x1
- beq _08151500
-_081514D6:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r0, [r1]
- strb r3, [r0, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_8151088
- bl sub_8151214
- b _08151522
- .pool
-_08151500:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r2, [r1]
- movs r0, 0x1C
- strb r0, [r2, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x18]
- bl sub_8151088
- bl sub_8151388
-_08151522:
- ldr r0, =gUnknown_0203ABAC
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1C]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81514C8
-
- .align 2, 0 @ Don't pad with nop.