.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start WaterfallOpening WaterfallOpening: @ 0x0809FF68 push {r4, r5, lr} adds r4, r0, #0 ldrb r1, [r4, #0xc] cmp r1, #0 bne _0809FFA2 movs r0, #1 strb r0, [r4, #0xc] movs r0, #8 strb r0, [r4, #0xe] strb r1, [r4, #0xf] ldrb r0, [r4, #0x19] movs r1, #0xc0 orrs r0, r1 strb r0, [r4, #0x19] adds r2, r4, #0 adds r2, #0x29 ldrb r0, [r2] movs r1, #7 orrs r0, r1 strb r0, [r2] ldr r1, _0809FFC4 @ =gUnk_08124868 ldrb r0, [r4, #0xa] adds r0, r0, r1 ldrb r0, [r0] strb r0, [r4, #0x1e] adds r1, r4, #0 adds r1, #0x68 movs r0, #0x78 strh r0, [r1] _0809FFA2: ldrb r0, [r4, #0xb] cmp r0, #0 beq _080A0068 movs r0, #0xff bl CheckRoomFlag cmp r0, #0 beq _080A00AA ldrb r2, [r4, #0xd] cmp r2, #1 beq _080A0006 cmp r2, #1 bgt _0809FFC8 cmp r2, #0 beq _0809FFCE b _080A005A .align 2, 0 _0809FFC4: .4byte gUnk_08124868 _0809FFC8: cmp r2, #2 beq _080A0038 b _080A005A _0809FFCE: adds r1, r4, #0 adds r1, #0x68 ldrh r0, [r1] subs r0, #1 strh r0, [r1] lsls r0, r0, #0x10 cmp r0, #0 bne _080A005A movs r0, #0x20 strh r0, [r1] movs r1, #1 strb r1, [r4, #0xe] movs r0, #0 strb r0, [r4, #0xf] strb r1, [r4, #0xd] strb r1, [r4, #0xa] adds r0, r4, #0 bl sub_080AE068 movs r1, #0xc6 lsls r1, r1, #1 adds r0, r4, #0 bl sub_080ADF80 movs r0, #0xf6 bl PlaySFX b _080A005A _080A0006: adds r1, r4, #0 adds r1, #0x68 ldrh r0, [r1] subs r0, #1 strh r0, [r1] lsls r0, r0, #0x10 cmp r0, #0 bne _080A005A movs r0, #0x2d strh r0, [r1] strb r2, [r4, #0xe] movs r0, #2 strb r0, [r4, #0xd] strb r0, [r4, #0xa] adds r0, r4, #0 bl sub_080AE068 ldr r1, _080A0034 @ =0x0000018D adds r0, r4, #0 bl sub_080ADF80 b _080A005A .align 2, 0 _080A0034: .4byte 0x0000018D _080A0038: adds r1, r4, #0 adds r1, #0x68 ldrh r0, [r1] subs r0, #1 strh r0, [r1] lsls r0, r0, #0x10 cmp r0, #0 bne _080A005A movs r0, #3 strb r0, [r4, #0xd] ldr r1, _080A0064 @ =gUnk_02000080 ldrb r0, [r1, #6] adds r0, #1 strb r0, [r1, #6] movs r0, #0x73 bl PlaySFX _080A005A: adds r0, r4, #0 bl sub_080A00B0 b _080A00AA .align 2, 0 _080A0064: .4byte gUnk_02000080 _080A0068: ldrb r0, [r4, #0xa] cmp r0, #0 beq _080A00A4 cmp r0, #2 bne _080A00A4 ldrb r0, [r4, #0xd] cmp r0, #0 bne _080A00A4 movs r0, #1 strb r0, [r4, #0xd] movs r0, #0x2e ldrsh r1, [r4, r0] ldr r2, _080A00AC @ =gRoomControls ldrh r0, [r2, #6] subs r1, r1, r0 asrs r1, r1, #4 movs r3, #0x3f ands r1, r3 movs r5, #0x32 ldrsh r0, [r4, r5] ldrh r2, [r2, #8] subs r0, r0, r2 asrs r0, r0, #4 ands r0, r3 lsls r0, r0, #6 orrs r1, r0 movs r0, #0x39 movs r2, #1 bl SetTileType _080A00A4: adds r0, r4, #0 bl sub_080A00B0 _080A00AA: pop {r4, r5, pc} .align 2, 0 _080A00AC: .4byte gRoomControls thumb_func_start sub_080A00B0 sub_080A00B0: @ 0x080A00B0 push {lr} adds r2, r0, #0 ldrb r0, [r2, #0xe] subs r0, #1 strb r0, [r2, #0xe] lsls r0, r0, #0x18 cmp r0, #0 bne _080A00DA movs r0, #8 strb r0, [r2, #0xe] ldr r1, _080A00DC @ =gUnk_08124868 ldrb r0, [r2, #0xa] adds r0, r0, r1 ldrb r1, [r2, #0xf] ldrb r0, [r0] adds r0, r1, r0 strb r0, [r2, #0x1e] adds r1, #1 movs r0, #3 ands r1, r0 strb r1, [r2, #0xf] _080A00DA: pop {pc} .align 2, 0 _080A00DC: .4byte gUnk_08124868