diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/cable_car.s | 2882 |
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. |