diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_80CA710.s | 8 | ||||
-rw-r--r-- | asm/cable_car.s | 2 | ||||
-rw-r--r-- | asm/field_weather.s | 2327 |
3 files changed, 5 insertions, 2332 deletions
diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s index 121cb076b..e63f2882c 100644 --- a/asm/battle_anim_80CA710.s +++ b/asm/battle_anim_80CA710.s @@ -11287,7 +11287,7 @@ _080D812A: ldr r2, _080D81CC @ =0x80000400 str r2, [r0, 0x8] ldr r0, [r0, 0x8] - ldr r0, _080D81D0 @ =gWeatherFog1Tilemap + ldr r0, _080D81D0 @ =gBattleAnimFogTilemap bl LZDecompressVram ldr r0, _080D81D4 @ =gUnknown_083970E8 mov r1, sp @@ -11328,7 +11328,7 @@ _080D81C0: .4byte 0x040000d4 _080D81C4: .4byte 0x85000400 _080D81C8: .4byte gWeatherFog1Tiles _080D81CC: .4byte 0x80000400 -_080D81D0: .4byte gWeatherFog1Tilemap +_080D81D0: .4byte gBattleAnimFogTilemap _080D81D4: .4byte gUnknown_083970E8 _080D81D8: .4byte gTasks _080D81DC: .4byte sub_80D81E0 @@ -11679,7 +11679,7 @@ _080D845E: ldr r2, _080D8504 @ =0x80000400 str r2, [r0, 0x8] ldr r0, [r0, 0x8] - ldr r0, _080D8508 @ =gWeatherFog1Tilemap + ldr r0, _080D8508 @ =gBattleAnimFogTilemap bl LZDecompressVram ldr r0, _080D850C @ =gUnknown_083970E8 mov r1, sp @@ -11722,7 +11722,7 @@ _080D84F8: .4byte 0x040000d4 _080D84FC: .4byte 0x85000400 _080D8500: .4byte gWeatherFog1Tiles _080D8504: .4byte 0x80000400 -_080D8508: .4byte gWeatherFog1Tilemap +_080D8508: .4byte gBattleAnimFogTilemap _080D850C: .4byte gUnknown_083970E8 _080D8510: .4byte gTasks _080D8514: .4byte 0x0000ffff diff --git a/asm/cable_car.s b/asm/cable_car.s index abafe5500..e1131c549 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -204,7 +204,7 @@ _08123384: bl ResetTasks bl FreeAllSpritePalettes bl ResetPaletteFade - bl sub_807C828 + bl StartWeather movs r4, 0 ldr r0, _081233D4 @ =gWeatherPtr ldr r0, [r0] diff --git a/asm/field_weather.s b/asm/field_weather.s deleted file mode 100644 index 507b67fd8..000000000 --- a/asm/field_weather.s +++ /dev/null @@ -1,2327 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_807F6E8 -sub_807F6E8: @ 807F6E8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _0807F75C @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807F760 @ =0x000006fb - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807F792 - ldr r0, _0807F764 @ =gWeatherFog1SpriteSheet - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r5, 0 -_0807F70C: - ldr r0, _0807F768 @ =gSpriteTemplate_839AB90 - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0807F770 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807F76C @ =gSprites - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x2E] - lsls r0, 16 - lsrs r0, 10 - adds r0, 0x20 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 10 - adds r0, 0x20 - strh r0, [r4, 0x22] - ldr r2, _0807F75C @ =gWeatherPtr - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, 0xA0 - adds r0, r1 - str r4, [r0] - b _0807F77E - .align 2, 0 -_0807F75C: .4byte gWeatherPtr -_0807F760: .4byte 0x000006fb -_0807F764: .4byte gWeatherFog1SpriteSheet -_0807F768: .4byte gSpriteTemplate_839AB90 -_0807F76C: .4byte gSprites -_0807F770: - ldr r2, _0807F79C @ =gWeatherPtr - ldr r1, [r2] - lsls r0, r5, 2 - adds r1, 0xA0 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0807F77E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x13 - bls _0807F70C - ldr r0, [r2] - ldr r1, _0807F7A0 @ =0x000006fb - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_0807F792: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807F79C: .4byte gWeatherPtr -_0807F7A0: .4byte 0x000006fb - thumb_func_end sub_807F6E8 - - thumb_func_start sub_807F7A4 -sub_807F7A4: @ 807F7A4 - push {r4,r5,lr} - ldr r0, _0807F7EC @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807F7F0 @ =0x000006fb - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0807F7E4 - movs r4, 0 - adds r5, r1, 0 - adds r5, 0xA0 -_0807F7BA: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0807F7C8 - bl DestroySprite -_0807F7C8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _0807F7BA - ldr r0, _0807F7F4 @ =0x00001201 - bl FreeSpriteTilesByTag - ldr r0, _0807F7EC @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807F7F0 @ =0x000006fb - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0807F7E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807F7EC: .4byte gWeatherPtr -_0807F7F0: .4byte 0x000006fb -_0807F7F4: .4byte 0x00001201 - thumb_func_end sub_807F7A4 - - thumb_func_start sub_807F7F8 -sub_807F7F8: @ 807F7F8 - push {lr} - ldr r0, _0807F844 @ =gWeatherPtr - ldr r1, [r0] - ldr r0, _0807F848 @ =0x000006cc - adds r2, r1, r0 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - ldr r2, _0807F84C @ =0x000006d2 - adds r0, r1, r2 - strb r3, [r0] - subs r2, 0x11 - adds r0, r1, r2 - strb r3, [r0] - ldr r3, _0807F850 @ =0x000006c2 - adds r0, r1, r3 - movs r2, 0x14 - strb r2, [r0] - adds r3, 0x3C - adds r0, r1, r3 - strh r2, [r0] - movs r0, 0xE0 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0807F840 - movs r0, 0 - movs r1, 0x10 - bl sub_807DB64 - ldr r1, _0807F854 @ =REG_BLDALPHA - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] -_0807F840: - pop {r0} - bx r0 - .align 2, 0 -_0807F844: .4byte gWeatherPtr -_0807F848: .4byte 0x000006cc -_0807F84C: .4byte 0x000006d2 -_0807F850: .4byte 0x000006c2 -_0807F854: .4byte REG_BLDALPHA - thumb_func_end sub_807F7F8 - - thumb_func_start sub_807F858 -sub_807F858: @ 807F858 - push {r4,lr} - bl sub_807F7F8 - ldr r0, _0807F880 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807F884 @ =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0807F878 - adds r4, r1, r2 -_0807F86E: - bl sub_807F888 - ldrb r0, [r4] - cmp r0, 0 - beq _0807F86E -_0807F878: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807F880: .4byte gWeatherPtr -_0807F884: .4byte 0x000006d2 - thumb_func_end sub_807F858 - - thumb_func_start sub_807F888 -sub_807F888: @ 807F888 - push {r4,r5,lr} - ldr r2, _0807F8CC @ =gWeatherPtr - ldr r1, [r2] - ldr r0, _0807F8D0 @ =gSpriteCoordOffsetX - ldrh r0, [r0] - ldr r3, _0807F8D4 @ =0x000001ff - ands r3, r0 - ldr r0, _0807F8D8 @ =0x000006fc - adds r1, r0 - strh r3, [r1] - cmp r3, 0xEF - bls _0807F8B4 - adds r4, r1, 0 - adds r1, r3, 0 -_0807F8A4: - adds r3, r1, 0 - subs r3, 0xF0 - adds r1, r3, 0 - lsls r0, r3, 16 - lsrs r0, 16 - cmp r0, 0xEF - bhi _0807F8A4 - strh r3, [r4] -_0807F8B4: - ldr r5, [r2] - ldr r1, _0807F8DC @ =0x000006cc - adds r4, r5, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _0807F8EC - cmp r0, 0x1 - bgt _0807F8E0 - cmp r0, 0 - beq _0807F8E6 - b _0807F928 - .align 2, 0 -_0807F8CC: .4byte gWeatherPtr -_0807F8D0: .4byte gSpriteCoordOffsetX -_0807F8D4: .4byte 0x000001ff -_0807F8D8: .4byte 0x000006fc -_0807F8DC: .4byte 0x000006cc -_0807F8E0: - cmp r0, 0x2 - beq _0807F908 - b _0807F928 -_0807F8E6: - bl sub_807F99C - b _0807F91A -_0807F8EC: - movs r1, 0xE0 - lsls r1, 3 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807F8FC - bl sub_807F9AC -_0807F8FC: - movs r0, 0x10 - movs r1, 0 - movs r2, 0x1 - bl sub_807DBA4 - b _0807F91A -_0807F908: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _0807F92C - ldr r0, _0807F924 @ =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_0807F91A: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0807F92C - .align 2, 0 -_0807F924: .4byte 0x000006d2 -_0807F928: - bl sub_807DBE8 -_0807F92C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807F888 - - thumb_func_start sub_807F934 -sub_807F934: @ 807F934 - push {r4,lr} - ldr r0, _0807F950 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807F954 @ =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _0807F96A - cmp r0, 0x1 - bgt _0807F958 - cmp r0, 0 - beq _0807F95E - b _0807F98C - .align 2, 0 -_0807F950: .4byte gWeatherPtr -_0807F954: .4byte 0x000006ce -_0807F958: - cmp r0, 0x2 - beq _0807F980 - b _0807F98C -_0807F95E: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1 - bl sub_807DBA4 - b _0807F978 -_0807F96A: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _0807F994 - bl sub_807FA54 -_0807F978: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0807F994 -_0807F980: - ldr r1, _0807F990 @ =REG_BLDALPHA - movs r0, 0 - strh r0, [r1] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0807F98C: - movs r0, 0 - b _0807F996 - .align 2, 0 -_0807F990: .4byte REG_BLDALPHA -_0807F994: - movs r0, 0x1 -_0807F996: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_807F934 - - thumb_func_start sub_807F99C -sub_807F99C: @ 807F99C - push {lr} - ldr r0, _0807F9A8 @ =gWeatherAshSpriteSheet - bl LoadSpriteSheet - pop {r0} - bx r0 - .align 2, 0 -_0807F9A8: .4byte gWeatherAshSpriteSheet - thumb_func_end sub_807F99C - - thumb_func_start sub_807F9AC -sub_807F9AC: @ 807F9AC - push {r4,r5,lr} - ldr r0, _0807FA18 @ =gWeatherPtr - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807FA48 - movs r5, 0 -_0807F9C0: - ldr r0, _0807FA1C @ =gSpriteTemplate_839ABD0 - movs r1, 0 - movs r2, 0 - movs r3, 0x4E - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0807FA24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807FA20 @ =gSprites - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x30] - adds r0, r5, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 6 - adds r0, 0x20 - strh r0, [r4, 0x2E] - ldr r2, _0807FA18 @ =gWeatherPtr - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, 0xF0 - adds r0, r1 - str r4, [r0] - b _0807FA32 - .align 2, 0 -_0807FA18: .4byte gWeatherPtr -_0807FA1C: .4byte gSpriteTemplate_839ABD0 -_0807FA20: .4byte gSprites -_0807FA24: - ldr r2, _0807FA50 @ =gWeatherPtr - ldr r1, [r2] - lsls r0, r5, 2 - adds r1, 0xF0 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0807FA32: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _0807F9C0 - ldr r0, [r2] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_0807FA48: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FA50: .4byte gWeatherPtr - thumb_func_end sub_807F9AC - - thumb_func_start sub_807FA54 -sub_807FA54: @ 807FA54 - push {r4,r5,lr} - ldr r0, _0807FAA0 @ =gWeatherPtr - ldr r1, [r0] - movs r2, 0xE0 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0807FA98 - movs r4, 0 - adds r5, r1, 0 - adds r5, 0xF0 -_0807FA6C: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0807FA7A - bl DestroySprite -_0807FA7A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _0807FA6C - ldr r0, _0807FAA4 @ =0x00001202 - bl FreeSpriteTilesByTag - ldr r0, _0807FAA0 @ =gWeatherPtr - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0807FA98: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FAA0: .4byte gWeatherPtr -_0807FAA4: .4byte 0x00001202 - thumb_func_end sub_807FA54 - - thumb_func_start sub_807FAA8 -sub_807FAA8: @ 807FAA8 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _0807FAC4 - movs r0, 0 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_0807FAC4: - ldr r1, _0807FB10 @ =gSpriteCoordOffsetY - ldrh r0, [r3, 0x2E] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r3, 0x22] - ldr r0, _0807FB14 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807FB18 @ =0x000006fc - adds r2, r0, r1 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x32 - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, _0807FB1C @ =0x010f0000 - cmp r1, r0 - ble _0807FB08 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x32 - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, _0807FB20 @ =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_0807FB08: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FB10: .4byte gSpriteCoordOffsetY -_0807FB14: .4byte gWeatherPtr -_0807FB18: .4byte 0x000006fc -_0807FB1C: .4byte 0x010f0000 -_0807FB20: .4byte 0x000001ff - thumb_func_end sub_807FAA8 - - thumb_func_start sub_807FB24 -sub_807FB24: @ 807FB24 - push {r4,lr} - ldr r0, _0807FB94 @ =gWeatherPtr - ldr r3, [r0] - ldr r1, _0807FB98 @ =0x000006cc - adds r0, r3, r1 - movs r1, 0 - movs r2, 0 - strh r2, [r0] - ldr r4, _0807FB9C @ =0x000006d2 - adds r0, r3, r4 - strb r1, [r0] - subs r4, 0x11 - adds r0, r3, r4 - strb r1, [r0] - ldr r0, _0807FBA0 @ =0x000006c2 - adds r1, r3, r0 - movs r0, 0x14 - strb r0, [r1] - movs r1, 0xDE - lsls r1, 3 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x31 - adds r1, r3, r4 - movs r0, 0x1 - strh r0, [r1] - ldr r1, _0807FBA4 @ =0x00000724 - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _0807FB8E - adds r4, 0x2A - adds r0, r3, r4 - strh r2, [r0] - subs r1, 0x6 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x4 - adds r0, r3, r4 - strh r2, [r0] - adds r1, 0x4 - adds r0, r3, r1 - strh r2, [r0] - subs r4, 0x8 - adds r0, r3, r4 - strh r2, [r0] - subs r1, 0x8 - adds r0, r3, r1 - strh r2, [r0] - movs r0, 0 - movs r1, 0x10 - bl sub_807DB64 -_0807FB8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FB94: .4byte gWeatherPtr -_0807FB98: .4byte 0x000006cc -_0807FB9C: .4byte 0x000006d2 -_0807FBA0: .4byte 0x000006c2 -_0807FBA4: .4byte 0x00000724 - thumb_func_end sub_807FB24 - - thumb_func_start sub_807FBA8 -sub_807FBA8: @ 807FBA8 - push {r4,lr} - bl sub_807FB24 - ldr r0, _0807FBD0 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807FBD4 @ =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0807FBC8 - adds r4, r1, r2 -_0807FBBE: - bl sub_807FBD8 - ldrb r0, [r4] - cmp r0, 0 - beq _0807FBBE -_0807FBC8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FBD0: .4byte gWeatherPtr -_0807FBD4: .4byte 0x000006d2 - thumb_func_end sub_807FBA8 - - thumb_func_start sub_807FBD8 -sub_807FBD8: @ 807FBD8 - push {r4,r5,lr} - bl sub_807FC9C - ldr r0, _0807FBF8 @ =gWeatherPtr - ldr r5, [r0] - ldr r0, _0807FBFC @ =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _0807FC0C - cmp r0, 0x1 - bgt _0807FC00 - cmp r0, 0 - beq _0807FC06 - b _0807FC30 - .align 2, 0 -_0807FBF8: .4byte gWeatherPtr -_0807FBFC: .4byte 0x000006cc -_0807FC00: - cmp r0, 0x2 - beq _0807FC18 - b _0807FC30 -_0807FC06: - bl sub_807FD30 - b _0807FC2A -_0807FC0C: - movs r0, 0xC - movs r1, 0x8 - movs r2, 0x8 - bl sub_807DBA4 - b _0807FC2A -_0807FC18: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _0807FC30 - ldr r0, _0807FC38 @ =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_0807FC2A: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0807FC30: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FC38: .4byte 0x000006d2 - thumb_func_end sub_807FBD8 - - thumb_func_start sub_807FC3C -sub_807FC3C: @ 807FC3C - push {r4,lr} - bl sub_807FC9C - ldr r0, _0807FC5C @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807FC60 @ =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _0807FC76 - cmp r0, 0x1 - bgt _0807FC64 - cmp r0, 0 - beq _0807FC6A - b _0807FC8E - .align 2, 0 -_0807FC5C: .4byte gWeatherPtr -_0807FC60: .4byte 0x000006ce -_0807FC64: - cmp r0, 0x2 - beq _0807FC82 - b _0807FC8E -_0807FC6A: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1 - bl sub_807DBA4 - b _0807FC86 -_0807FC76: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _0807FC92 - b _0807FC86 -_0807FC82: - bl sub_807FDE8 -_0807FC86: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0807FC92 -_0807FC8E: - movs r0, 0 - b _0807FC94 -_0807FC92: - movs r0, 0x1 -_0807FC94: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_807FC3C - - thumb_func_start sub_807FC9C -sub_807FC9C: @ 807FC9C - push {r4,r5,lr} - ldr r0, _0807FD14 @ =gWeatherPtr - ldr r3, [r0] - ldr r0, _0807FD18 @ =0x0000071c - adds r2, r3, r0 - ldrh r0, [r2] - adds r0, 0x1 - movs r5, 0 - strh r0, [r2] - ldr r1, _0807FD1C @ =0x0000ffff - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _0807FCC8 - movs r0, 0xE4 - lsls r0, 3 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r5, [r2] -_0807FCC8: - ldr r1, _0807FD20 @ =0x0000071e - adds r2, r3, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ands r0, r4 - cmp r0, 0x4 - bls _0807FCE4 - ldr r0, _0807FD24 @ =0x00000722 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r5, [r2] -_0807FCE4: - ldr r0, _0807FD28 @ =gSpriteCoordOffsetX - movs r2, 0xE4 - lsls r2, 3 - adds r1, r3, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - subs r2, 0x8 - adds r1, r3, r2 - strh r0, [r1] - ldr r1, _0807FD2C @ =gSpriteCoordOffsetY - adds r2, 0xA - adds r0, r3, r2 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - subs r2, 0x8 - adds r1, r3, r2 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FD14: .4byte gWeatherPtr -_0807FD18: .4byte 0x0000071c -_0807FD1C: .4byte 0x0000ffff -_0807FD20: .4byte 0x0000071e -_0807FD24: .4byte 0x00000722 -_0807FD28: .4byte gSpriteCoordOffsetX -_0807FD2C: .4byte gSpriteCoordOffsetY - thumb_func_end sub_807FC9C - - thumb_func_start sub_807FD30 -sub_807FD30: @ 807FD30 - push {r4-r6,lr} - sub sp, 0x8 - ldr r0, _0807FD9C @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807FDA0 @ =0x00000724 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807FDD6 - ldr r0, _0807FDA4 @ =gWeatherFog0SpriteSheet - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r6, 0 -_0807FD54: - adds r0, r6, 0 - movs r1, 0x5 - bl __udivsi3 - adds r5, r0, 0 - lsls r2, r5, 22 - asrs r2, 16 - ldr r0, _0807FDA8 @ =gSpriteTemplate_839AC04 - movs r1, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0807FDB0 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807FDAC @ =gSprites - adds r4, r0 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - ldr r2, _0807FD9C @ =gWeatherPtr - ldr r0, [r2] - lsls r1, r6, 2 - movs r3, 0xA0 - lsls r3, 1 - adds r0, r3 - adds r0, r1 - str r4, [r0] - b _0807FDC2 - .align 2, 0 -_0807FD9C: .4byte gWeatherPtr -_0807FDA0: .4byte 0x00000724 -_0807FDA4: .4byte gWeatherFog0SpriteSheet -_0807FDA8: .4byte gSpriteTemplate_839AC04 -_0807FDAC: .4byte gSprites -_0807FDB0: - ldr r2, _0807FDE0 @ =gWeatherPtr - ldr r1, [r2] - lsls r0, r6, 2 - movs r3, 0xA0 - lsls r3, 1 - adds r1, r3 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0807FDC2: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x13 - bls _0807FD54 - ldr r0, [r2] - ldr r1, _0807FDE4 @ =0x00000724 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_0807FDD6: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807FDE0: .4byte gWeatherPtr -_0807FDE4: .4byte 0x00000724 - thumb_func_end sub_807FD30 - - thumb_func_start sub_807FDE8 -sub_807FDE8: @ 807FDE8 - push {r4,r5,lr} - ldr r0, _0807FE30 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807FE34 @ =0x00000724 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0807FE2A - movs r4, 0 - movs r0, 0xA0 - lsls r0, 1 - adds r5, r1, r0 -_0807FE00: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0807FE0E - bl DestroySprite -_0807FE0E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _0807FE00 - ldr r0, _0807FE38 @ =0x00001203 - bl FreeSpriteTilesByTag - ldr r0, _0807FE30 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807FE34 @ =0x00000724 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0807FE2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FE30: .4byte gWeatherPtr -_0807FE34: .4byte 0x00000724 -_0807FE38: .4byte 0x00001203 - thumb_func_end sub_807FDE8 - - thumb_func_start sub_807FE3C -sub_807FE3C: @ 807FE3C - push {r4,lr} - adds r3, r0, 0 - ldr r0, _0807FE8C @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807FE90 @ =0x0000071a - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3, 0x26] - movs r4, 0xE3 - lsls r4, 3 - adds r2, r1, r4 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x2E - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, _0807FE94 @ =0x010f0000 - cmp r1, r0 - ble _0807FE84 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x2E - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, _0807FE98 @ =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_0807FE84: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FE8C: .4byte gWeatherPtr -_0807FE90: .4byte 0x0000071a -_0807FE94: .4byte 0x010f0000 -_0807FE98: .4byte 0x000001ff - thumb_func_end sub_807FE3C - - thumb_func_start sub_807FE9C -sub_807FE9C: @ 807FE9C - push {r4,lr} - ldr r0, _0807FF00 @ =gWeatherPtr - ldr r3, [r0] - ldr r0, _0807FF04 @ =0x000006cc - adds r1, r3, r0 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - ldr r1, _0807FF08 @ =0x000006d2 - adds r0, r3, r1 - strb r2, [r0] - ldr r4, _0807FF0C @ =0x000006c1 - adds r0, r3, r4 - strb r2, [r0] - ldr r0, _0807FF10 @ =0x000006c2 - adds r1, r3, r0 - movs r0, 0x14 - strb r0, [r1] - ldr r1, _0807FF14 @ =0x00000716 - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _0807FEF8 - adds r4, 0x43 - adds r1, r3, r4 - adds r4, 0x4 - adds r0, r3, r4 - str r2, [r0] - str r2, [r1] - ldr r0, _0807FF18 @ =0x00000712 - adds r1, r3, r0 - movs r0, 0x8 - strh r0, [r1] - adds r4, 0xC - adds r0, r3, r4 - strh r2, [r0] - ldrh r2, [r1] - cmp r2, 0x5F - bls _0807FEF0 - movs r0, 0x80 - subs r0, r2 - strh r0, [r1] -_0807FEF0: - movs r0, 0 - movs r1, 0x10 - bl sub_807DB64 -_0807FEF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FF00: .4byte gWeatherPtr -_0807FF04: .4byte 0x000006cc -_0807FF08: .4byte 0x000006d2 -_0807FF0C: .4byte 0x000006c1 -_0807FF10: .4byte 0x000006c2 -_0807FF14: .4byte 0x00000716 -_0807FF18: .4byte 0x00000712 - thumb_func_end sub_807FE9C - - thumb_func_start sub_807FF1C -sub_807FF1C: @ 807FF1C - push {r4,lr} - bl sub_807FE9C - ldr r0, _0807FF44 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0807FF48 @ =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0807FF3C - adds r4, r1, r2 -_0807FF32: - bl sub_807FF4C - ldrb r0, [r4] - cmp r0, 0 - beq _0807FF32 -_0807FF3C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FF44: .4byte gWeatherPtr -_0807FF48: .4byte 0x000006d2 - thumb_func_end sub_807FF1C - - thumb_func_start sub_807FF4C -sub_807FF4C: @ 807FF4C - push {r4,r5,lr} - bl sub_8080064 - bl sub_808002C - ldr r0, _0807FF7C @ =gWeatherPtr - ldr r5, [r0] - ldr r0, _0807FF80 @ =0x00000712 - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0x5F - bls _0807FF68 - movs r0, 0x20 - strh r0, [r1] -_0807FF68: - ldr r0, _0807FF84 @ =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _0807FF98 - cmp r0, 0x1 - bgt _0807FF88 - cmp r0, 0 - beq _0807FF8E - b _0807FFBC - .align 2, 0 -_0807FF7C: .4byte gWeatherPtr -_0807FF80: .4byte 0x00000712 -_0807FF84: .4byte 0x000006cc -_0807FF88: - cmp r0, 0x2 - beq _0807FFA4 - b _0807FFBC -_0807FF8E: - bl sub_8080178 - bl sub_8080238 - b _0807FFB6 -_0807FF98: - movs r0, 0x10 - movs r1, 0 - movs r2, 0 - bl sub_807DBA4 - b _0807FFB6 -_0807FFA4: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _0807FFBC - ldr r0, _0807FFC4 @ =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_0807FFB6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0807FFBC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807FFC4: .4byte 0x000006d2 - thumb_func_end sub_807FF4C - - thumb_func_start sub_807FFC8 -sub_807FFC8: @ 807FFC8 - push {r4,lr} - bl sub_8080064 - bl sub_808002C - ldr r0, _0807FFEC @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0807FFF0 @ =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _08080006 - cmp r0, 0x1 - bgt _0807FFF4 - cmp r0, 0 - beq _0807FFFA - b _0808001E - .align 2, 0 -_0807FFEC: .4byte gWeatherPtr -_0807FFF0: .4byte 0x000006ce -_0807FFF4: - cmp r0, 0x2 - beq _08080012 - b _0808001E -_0807FFFA: - movs r0, 0 - movs r1, 0x10 - movs r2, 0 - bl sub_807DBA4 - b _08080016 -_08080006: - bl sub_807DBE8 - lsls r0, 24 - cmp r0, 0 - beq _08080022 - b _08080016 -_08080012: - bl sub_80800E4 -_08080016: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08080022 -_0808001E: - movs r0, 0 - b _08080024 -_08080022: - movs r0, 0x1 -_08080024: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_807FFC8 - - thumb_func_start sub_808002C -sub_808002C: @ 808002C - push {lr} - ldr r0, _08080058 @ =gWeatherPtr - ldr r2, [r0] - ldr r0, _0808005C @ =0x00000714 - adds r3, r2, r0 - ldrh r0, [r3] - adds r1, r0, 0x1 - strh r1, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _08080052 - ldr r1, _08080060 @ =0x00000712 - adds r0, r2, r1 - ldrh r1, [r0] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0] - strh r2, [r3] -_08080052: - pop {r0} - bx r0 - .align 2, 0 -_08080058: .4byte gWeatherPtr -_0808005C: .4byte 0x00000714 -_08080060: .4byte 0x00000712 - thumb_func_end sub_808002C - - thumb_func_start sub_8080064 -sub_8080064: @ 8080064 - push {r4-r6,lr} - ldr r0, _080800C8 @ =gWeatherPtr - ldr r2, [r0] - ldr r0, _080800CC @ =0x00000704 - adds r4, r2, r0 - ldr r6, _080800D0 @ =gSineTable - ldr r1, _080800D4 @ =0x00000712 - adds r5, r2, r1 - ldrh r0, [r5] - lsls r0, 1 - adds r0, r6 - movs r3, 0 - ldrsh r1, [r0, r3] - lsls r1, 2 - ldr r0, [r4] - subs r0, r1 - str r0, [r4] - movs r0, 0xE1 - lsls r0, 3 - adds r3, r2, r0 - ldrh r0, [r5] - lsls r0, 1 - adds r0, r6 - movs r5, 0 - ldrsh r1, [r0, r5] - ldr r0, [r3] - subs r0, r1 - str r0, [r3] - ldr r1, _080800D8 @ =gSpriteCoordOffsetX - ldr r0, [r4] - lsrs r0, 8 - ldrh r1, [r1] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - ldr r4, _080800DC @ =0x0000070e - adds r1, r2, r4 - strh r0, [r1] - ldr r1, _080800E0 @ =gSpriteCoordOffsetY - ldr r0, [r3] - lsrs r0, 8 - ldrh r1, [r1] - adds r0, r1 - movs r5, 0xE2 - lsls r5, 3 - adds r2, r5 - strh r0, [r2] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080800C8: .4byte gWeatherPtr -_080800CC: .4byte 0x00000704 -_080800D0: .4byte gSineTable -_080800D4: .4byte 0x00000712 -_080800D8: .4byte gSpriteCoordOffsetX -_080800DC: .4byte 0x0000070e -_080800E0: .4byte gSpriteCoordOffsetY - thumb_func_end sub_8080064 - - thumb_func_start sub_80800E4 -sub_80800E4: @ 80800E4 - push {r4,r5,lr} - ldr r0, _08080168 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _0808016C @ =0x00000716 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08080126 - movs r4, 0 - movs r0, 0xC8 - lsls r0, 1 - adds r5, r1, r0 -_080800FC: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0808010A - bl DestroySprite -_0808010A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080800FC - ldr r0, _08080168 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _0808016C @ =0x00000716 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, _08080170 @ =0x00001204 - bl FreeSpriteTilesByTag -_08080126: - ldr r0, _08080168 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _08080174 @ =0x00000717 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08080160 - movs r4, 0 - movs r0, 0xF0 - lsls r0, 1 - adds r5, r1, r0 -_0808013C: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0808014A - bl DestroySprite -_0808014A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _0808013C - ldr r0, _08080168 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _08080174 @ =0x00000717 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_08080160: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080168: .4byte gWeatherPtr -_0808016C: .4byte 0x00000716 -_08080170: .4byte 0x00001204 -_08080174: .4byte 0x00000717 - thumb_func_end sub_80800E4 - - thumb_func_start sub_8080178 -sub_8080178: @ 8080178 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _080801E8 @ =gWeatherPtr - ldr r0, [r0] - ldr r1, _080801EC @ =0x00000716 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08080226 - ldr r0, _080801F0 @ =gWeatherSandstormSpriteSheet - bl LoadSpriteSheet - ldr r0, _080801F4 @ =gUnknown_08397128 - bl sub_807D8C0 - movs r7, 0 -_08080198: - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r6, r0, 0 - lsls r2, r6, 22 - asrs r2, 16 - ldr r0, _080801F8 @ =gSpriteTemplate_839AC3C - movs r1, 0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08080200 - ldr r2, _080801E8 @ =gWeatherPtr - ldr r5, [r2] - lsls r0, r7, 2 - movs r3, 0xC8 - lsls r3, 1 - adds r5, r3 - adds r5, r0 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r0, _080801FC @ =gSprites - adds r4, r0 - str r4, [r5] - adds r0, r7, 0 - movs r1, 0x5 - str r2, [sp] - bl __umodsi3 - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r6, [r0, 0x30] - ldr r2, [sp] - b _08080212 - .align 2, 0 -_080801E8: .4byte gWeatherPtr -_080801EC: .4byte 0x00000716 -_080801F0: .4byte gWeatherSandstormSpriteSheet -_080801F4: .4byte gUnknown_08397128 -_080801F8: .4byte gSpriteTemplate_839AC3C -_080801FC: .4byte gSprites -_08080200: - ldr r2, _08080230 @ =gWeatherPtr - ldr r1, [r2] - lsls r0, r7, 2 - movs r3, 0xC8 - lsls r3, 1 - adds r1, r3 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_08080212: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x13 - bls _08080198 - ldr r0, [r2] - ldr r1, _08080234 @ =0x00000716 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_08080226: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080230: .4byte gWeatherPtr -_08080234: .4byte 0x00000716 - thumb_func_end sub_8080178 - - thumb_func_start sub_8080238 -sub_8080238: @ 8080238 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _080802E0 @ =gWeatherPtr - ldr r0, [r4] - ldr r1, _080802E4 @ =0x00000717 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08080324 - movs r7, 0 - mov r9, r4 - movs r2, 0 - mov r10, r2 -_08080258: - lsls r0, r7, 1 - mov r8, r0 - adds r6, r0, r7 - lsls r5, r6, 4 - adds r1, r5, 0 - adds r1, 0x18 - lsls r1, 16 - asrs r1, 16 - ldr r0, _080802E8 @ =gSpriteTemplate_839AC3C - movs r2, 0xD0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080802FC - mov r2, r9 - ldr r4, [r2] - lsls r0, r7, 2 - movs r2, 0xF0 - lsls r2, 1 - adds r4, r2 - adds r4, r0 - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r0, _080802EC @ =gSprites - adds r2, r0 - str r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r1, [r4] - adds r0, r6, r5 - strh r0, [r1, 0x30] - ldr r1, [r4] - movs r0, 0x8 - strh r0, [r1, 0x2E] - ldr r0, [r4] - mov r1, r10 - strh r1, [r0, 0x32] - ldr r1, [r4] - ldr r0, _080802F0 @ =0x00006730 - strh r0, [r1, 0x36] - ldr r1, [r4] - ldr r0, _080802F4 @ =gUnknown_0839AC5C - add r0, r8 - ldrh r0, [r0] - strh r0, [r1, 0x34] - ldr r0, [r4] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl CalcCenterToCornerVec - ldr r1, [r4] - ldr r0, _080802F8 @ =sub_8080398 - str r0, [r1, 0x1C] - b _0808030E - .align 2, 0 -_080802E0: .4byte gWeatherPtr -_080802E4: .4byte 0x00000717 -_080802E8: .4byte gSpriteTemplate_839AC3C -_080802EC: .4byte gSprites -_080802F0: .4byte 0x00006730 -_080802F4: .4byte gUnknown_0839AC5C -_080802F8: .4byte sub_8080398 -_080802FC: - mov r2, r9 - ldr r0, [r2] - lsls r1, r7, 2 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r2 - adds r0, r1 - mov r1, r10 - str r1, [r0] -_0808030E: - mov r2, r9 - ldr r0, [r2] - ldr r1, _08080334 @ =0x00000717 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _08080258 -_08080324: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080334: .4byte 0x00000717 - thumb_func_end sub_8080238 - - thumb_func_start sub_8080338 -sub_8080338: @ 8080338 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _08080388 @ =gWeatherPtr - ldr r1, [r0] - movs r2, 0xE2 - lsls r2, 3 - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3, 0x26] - ldr r4, _0808038C @ =0x0000070e - adds r2, r1, r4 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x2E - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, _08080390 @ =0x010f0000 - cmp r1, r0 - ble _08080380 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x2E - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, _08080394 @ =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_08080380: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080388: .4byte gWeatherPtr -_0808038C: .4byte 0x0000070e -_08080390: .4byte 0x010f0000 -_08080394: .4byte 0x000001ff - thumb_func_end sub_8080338 - - thumb_func_start sub_8080398 -sub_8080398: @ 8080398 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - subs r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080803B2 - ldr r0, _080803B8 @ =sub_80803BC - str r0, [r2, 0x1C] -_080803B2: - pop {r0} - bx r0 - .align 2, 0 -_080803B8: .4byte sub_80803BC - thumb_func_end sub_8080398 - - thumb_func_start sub_80803BC -sub_80803BC: @ 80803BC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x22] - subs r0, 0x1 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - negs r1, r1 - cmp r0, r1 - bge _080803DA - movs r0, 0xD0 - strh r0, [r5, 0x22] - movs r0, 0x4 - strh r0, [r5, 0x2E] -_080803DA: - movs r0, 0x2E - ldrsh r4, [r5, r0] - ldr r3, _0808042C @ =gSineTable - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r2, r4, 0 - muls r2, r0 - adds r1, 0x40 - lsls r1, 1 - adds r1, r3 - movs r3, 0 - ldrsh r0, [r1, r3] - muls r0, r4 - lsrs r2, 8 - strh r2, [r5, 0x24] - lsrs r0, 8 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x30] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08080426 - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_08080426: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808042C: .4byte gSineTable - thumb_func_end sub_80803BC - - thumb_func_start sub_8080430 -sub_8080430: @ 8080430 - ldr r0, _08080450 @ =gWeatherPtr - ldr r1, [r0] - ldr r0, _08080454 @ =0x000006cc - adds r2, r1, r0 - movs r0, 0 - strh r0, [r2] - ldr r0, _08080458 @ =0x000006c1 - adds r2, r1, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r0, _0808045C @ =0x000006c2 - adds r1, r0 - movs r0, 0x14 - strb r0, [r1] - bx lr - .align 2, 0 -_08080450: .4byte gWeatherPtr -_08080454: .4byte 0x000006cc -_08080458: .4byte 0x000006c1 -_0808045C: .4byte 0x000006c2 - thumb_func_end sub_8080430 - - thumb_func_start sub_8080460 -sub_8080460: @ 8080460 - push {lr} - bl sub_8080430 - pop {r0} - bx r0 - thumb_func_end sub_8080460 - - thumb_func_start nullsub_56 -nullsub_56: @ 808046C - bx lr - thumb_func_end nullsub_56 - - thumb_func_start sub_8080470 -sub_8080470: @ 8080470 - movs r0, 0 - bx lr - thumb_func_end sub_8080470 - - thumb_func_start sub_8080474 -sub_8080474: @ 8080474 - push {r4,r5,lr} - bl sub_807F49C - ldr r0, _080804B4 @ =gWeatherPtr - ldr r4, [r0] - ldr r1, _080804B8 @ =0x0000072e - adds r0, r4, r1 - ldrb r5, [r0] - cmp r5, 0 - bne _080804AC - ldr r0, _080804BC @ =gWeatherBubbleSpriteSheet - bl LoadSpriteSheet - movs r2, 0xE5 - lsls r2, 3 - adds r0, r4, r2 - strh r5, [r0] - ldr r0, _080804C0 @ =gUnknown_0839AC68 - ldrb r1, [r0] - subs r2, 0x2 - adds r0, r4, r2 - strh r1, [r0] - ldr r1, _080804C4 @ =0x0000072a - adds r0, r4, r1 - strh r5, [r0] - adds r2, 0x6 - adds r0, r4, r2 - strh r5, [r0] -_080804AC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080804B4: .4byte gWeatherPtr -_080804B8: .4byte 0x0000072e -_080804BC: .4byte gWeatherBubbleSpriteSheet -_080804C0: .4byte gUnknown_0839AC68 -_080804C4: .4byte 0x0000072a - thumb_func_end sub_8080474 - - thumb_func_start sub_80804C8 -sub_80804C8: @ 80804C8 - push {r4,lr} - bl sub_8080474 - ldr r0, _080804F0 @ =gWeatherPtr - ldr r1, [r0] - ldr r2, _080804F4 @ =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080804E8 - adds r4, r1, r2 -_080804DE: - bl sub_80804F8 - ldrb r0, [r4] - cmp r0, 0 - beq _080804DE -_080804E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080804F0: .4byte gWeatherPtr -_080804F4: .4byte 0x000006d2 - thumb_func_end sub_80804C8 - - thumb_func_start sub_80804F8 -sub_80804F8: @ 80804F8 - push {r4-r7,lr} - bl sub_807F52C - ldr r0, _08080558 @ =gWeatherPtr - ldr r5, [r0] - ldr r0, _0808055C @ =0x00000726 - adds r4, r5, r0 - ldrh r0, [r4] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4] - ldr r1, _08080560 @ =0x0000ffff - adds r7, r1, 0 - ldr r2, _08080564 @ =gUnknown_0839AC68 - movs r1, 0xE5 - lsls r1, 3 - adds r3, r5, r1 - ldrh r1, [r3] - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bls _08080550 - strh r6, [r4] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - ands r0, r7 - cmp r0, 0x7 - bls _08080538 - strh r6, [r3] -_08080538: - ldr r0, _08080568 @ =0x0000072a - adds r4, r5, r0 - ldrh r0, [r4] - bl sub_8080588 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ands r0, r7 - cmp r0, 0xC - bls _08080550 - strh r6, [r4] -_08080550: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080558: .4byte gWeatherPtr -_0808055C: .4byte 0x00000726 -_08080560: .4byte 0x0000ffff -_08080564: .4byte gUnknown_0839AC68 -_08080568: .4byte 0x0000072a - thumb_func_end sub_80804F8 - - thumb_func_start sub_808056C -sub_808056C: @ 808056C - push {lr} - bl sub_807F5EC - lsls r0, 24 - cmp r0, 0 - beq _0808057C - movs r0, 0x1 - b _08080582 -_0808057C: - bl sub_8080610 - movs r0, 0 -_08080582: - pop {r1} - bx r1 - thumb_func_end sub_808056C - - thumb_func_start sub_8080588 -sub_8080588: @ 8080588 - push {r4,lr} - lsls r0, 16 - ldr r1, _080805F8 @ =gUnknown_0839AC78 - lsrs r0, 14 - adds r3, r0, r1 - adds r1, 0x2 - adds r0, r1 - ldr r1, _080805FC @ =gSpriteCoordOffsetY - ldrh r2, [r0] - ldrh r0, [r1] - subs r2, r0 - ldr r0, _08080600 @ =gSpriteTemplate_839ACBC - movs r4, 0 - ldrsh r1, [r3, r4] - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080805F0 - ldr r0, _08080604 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - movs r0, 0 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - strh r0, [r1, 0x32] - ldr r0, _08080608 @ =gWeatherPtr - ldr r1, [r0] - ldr r0, _0808060C @ =0x0000072c - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080805F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080805F8: .4byte gUnknown_0839AC78 -_080805FC: .4byte gSpriteCoordOffsetY -_08080600: .4byte gSpriteTemplate_839ACBC -_08080604: .4byte gSprites -_08080608: .4byte gWeatherPtr -_0808060C: .4byte 0x0000072c - thumb_func_end sub_8080588 - - thumb_func_start sub_8080610 -sub_8080610: @ 8080610 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08080648 @ =gSprites -_08080616: - lsls r0, r4, 4 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r5, 0 - adds r0, 0x14 - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, _0808064C @ =gSpriteTemplate_839ACBC - cmp r1, r0 - bne _08080630 - adds r0, r2, r5 - bl DestroySprite -_08080630: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3F - bls _08080616 - ldr r0, _08080650 @ =0x00001205 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080648: .4byte gSprites -_0808064C: .4byte gSpriteTemplate_839ACBC -_08080650: .4byte 0x00001205 - thumb_func_end sub_8080610 - - thumb_func_start unc_0807DAB4 -unc_0807DAB4: @ 8080654 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - movs r2, 0 - adds r0, 0x2 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08080694 - strh r2, [r1, 0x2E] - movs r3, 0x30 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08080686 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08080694 - movs r0, 0x1 - strh r0, [r1, 0x30] - b _08080694 -_08080686: - ldrh r0, [r1, 0x24] - subs r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - bgt _08080694 - strh r2, [r1, 0x30] -_08080694: - ldrh r0, [r1, 0x22] - subs r0, 0x3 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x77 - ble _080806AE - adds r0, r1, 0 - bl DestroySprite -_080806AE: - pop {r0} - bx r0 - thumb_func_end unc_0807DAB4 - - thumb_func_start SetSav1Weather -SetSav1Weather: @ 80806B4 - push {r4,r5,lr} - ldr r4, _080806D4 @ =gSaveBlock1 - adds r4, 0x2E - ldrb r5, [r4] - lsls r0, 24 - lsrs r0, 24 - bl TranslateWeatherNum - strb r0, [r4] - ldrb r0, [r4] - adds r1, r5, 0 - bl UpdateRainCounter - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080806D4: .4byte gSaveBlock1 - thumb_func_end SetSav1Weather - - thumb_func_start GetSav1Weather -GetSav1Weather: @ 80806D8 - ldr r0, _080806E0 @ =gSaveBlock1 - adds r0, 0x2E - ldrb r0, [r0] - bx lr - .align 2, 0 -_080806E0: .4byte gSaveBlock1 - thumb_func_end GetSav1Weather - - thumb_func_start sub_80806E4 -sub_80806E4: @ 80806E4 - push {r4,r5,lr} - ldr r4, _08080704 @ =gSaveBlock1 - adds r4, 0x2E - ldrb r5, [r4] - ldr r0, _08080708 @ =gMapHeader - ldrb r0, [r0, 0x16] - bl TranslateWeatherNum - strb r0, [r4] - ldrb r0, [r4] - adds r1, r5, 0 - bl UpdateRainCounter - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080704: .4byte gSaveBlock1 -_08080708: .4byte gMapHeader - thumb_func_end sub_80806E4 - - thumb_func_start SetWeather -SetWeather: @ 808070C - push {lr} - bl SetSav1Weather - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl DoWeatherEffect - pop {r0} - bx r0 - thumb_func_end SetWeather - - thumb_func_start SetWeather_Unused -SetWeather_Unused: @ 8080724 - push {lr} - bl SetSav1Weather - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl sub_807C988 - pop {r0} - bx r0 - thumb_func_end SetWeather_Unused - - thumb_func_start DoCurrentWeather -DoCurrentWeather: @ 808073C - push {lr} - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl DoWeatherEffect - pop {r0} - bx r0 - thumb_func_end DoCurrentWeather - - thumb_func_start sub_8080750 -sub_8080750: @ 8080750 - push {lr} - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl sub_807C988 - pop {r0} - bx r0 - thumb_func_end sub_8080750 - - thumb_func_start TranslateWeatherNum -TranslateWeatherNum: @ 8080764 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x15 - bhi _0808082C - lsls r0, 2 - ldr r1, _08080778 @ =_0808077C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080778: .4byte _0808077C - .align 2, 0 -_0808077C: - .4byte _0808082C - .4byte _080807D4 - .4byte _080807D8 - .4byte _080807DC - .4byte _080807E0 - .4byte _080807E4 - .4byte _080807E8 - .4byte _080807EC - .4byte _080807F0 - .4byte _080807F4 - .4byte _080807F8 - .4byte _080807FC - .4byte _08080800 - .4byte _08080804 - .4byte _08080808 - .4byte _0808082C - .4byte _0808082C - .4byte _0808082C - .4byte _0808082C - .4byte _0808082C - .4byte _0808080C - .4byte _08080814 -_080807D4: - movs r0, 0x1 - b _0808082E -_080807D8: - movs r0, 0x2 - b _0808082E -_080807DC: - movs r0, 0x3 - b _0808082E -_080807E0: - movs r0, 0x4 - b _0808082E -_080807E4: - movs r0, 0x5 - b _0808082E -_080807E8: - movs r0, 0x6 - b _0808082E -_080807EC: - movs r0, 0x7 - b _0808082E -_080807F0: - movs r0, 0x8 - b _0808082E -_080807F4: - movs r0, 0x9 - b _0808082E -_080807F8: - movs r0, 0xA - b _0808082E -_080807FC: - movs r0, 0xB - b _0808082E -_08080800: - movs r0, 0xC - b _0808082E -_08080804: - movs r0, 0xD - b _0808082E -_08080808: - movs r0, 0xE - b _0808082E -_0808080C: - ldr r1, _08080810 @ =gUnknown_0839ACD4 - b _08080816 - .align 2, 0 -_08080810: .4byte gUnknown_0839ACD4 -_08080814: - ldr r1, _08080824 @ =gUnknown_0839ACD8 -_08080816: - ldr r0, _08080828 @ =gSaveBlock1 - adds r0, 0x2F - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - b _0808082E - .align 2, 0 -_08080824: .4byte gUnknown_0839ACD8 -_08080828: .4byte gSaveBlock1 -_0808082C: - movs r0, 0 -_0808082E: - pop {r1} - bx r1 - thumb_func_end TranslateWeatherNum - - thumb_func_start UpdateWeatherPerDay -UpdateWeatherPerDay: @ 8080834 - lsls r0, 16 - ldr r2, _08080850 @ =gSaveBlock1 - adds r2, 0x2F - lsrs r0, 16 - ldrb r1, [r2] - adds r0, r1 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - strb r1, [r2] - bx lr - .align 2, 0 -_08080850: .4byte gSaveBlock1 - thumb_func_end UpdateWeatherPerDay - - thumb_func_start UpdateRainCounter -UpdateRainCounter: @ 8080854 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r0, 24 - cmp r0, r1 - beq _0808086E - cmp r2, 0x3 - beq _08080868 - cmp r2, 0x5 - bne _0808086E -_08080868: - movs r0, 0x28 - bl IncrementGameStat -_0808086E: - pop {r0} - bx r0 - thumb_func_end UpdateRainCounter - - .align 2, 0 @ Don't pad with nop. |