mirror of https://github.com/zeldaret/tmc.git
				
				
				
			Decompile waterfallopening
This commit is contained in:
		
							parent
							
								
									d18fed1fb9
								
							
						
					
					
						commit
						ec8936d9ef
					
				| 
						 | 
				
			
			@ -1,360 +0,0 @@
 | 
			
		|||
	.include "asm/macros.inc"
 | 
			
		||||
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	thumb_func_start WaterfallOpening
 | 
			
		||||
WaterfallOpening: @ 0x0809FF68
 | 
			
		||||
.ifdef EU
 | 
			
		||||
	push {r4, r5, lr}
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	ldrb r1, [r4, #0xc]
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	bne _0809F802
 | 
			
		||||
	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, _0809F824 @ =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]
 | 
			
		||||
_0809F802:
 | 
			
		||||
	ldrb r0, [r4, #0xb]
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0809F8BC
 | 
			
		||||
	movs r0, #0xff
 | 
			
		||||
	bl CheckRoomFlag
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0809F8FE
 | 
			
		||||
	ldrb r2, [r4, #0xd]
 | 
			
		||||
	cmp r2, #1
 | 
			
		||||
	beq _0809F85A
 | 
			
		||||
	cmp r2, #1
 | 
			
		||||
	bgt _0809F828
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0809F82E
 | 
			
		||||
	b _0809F8AE
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0809F824: .4byte gUnk_08124868
 | 
			
		||||
_0809F828:
 | 
			
		||||
	cmp r2, #2
 | 
			
		||||
	beq _0809F88C
 | 
			
		||||
	b _0809F8AE
 | 
			
		||||
_0809F82E:
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	adds r1, #0x68
 | 
			
		||||
	ldrh r0, [r1]
 | 
			
		||||
	subs r0, #1
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	lsls r0, r0, #0x10
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0809F8AE
 | 
			
		||||
	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
 | 
			
		||||
	b _0809F87E
 | 
			
		||||
_0809F85A:
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	adds r1, #0x68
 | 
			
		||||
	ldrh r0, [r1]
 | 
			
		||||
	subs r0, #1
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	lsls r0, r0, #0x10
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0809F8AE
 | 
			
		||||
	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, _0809F888 @ =0x0000018D
 | 
			
		||||
_0809F87E:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl LoadFixedGFX
 | 
			
		||||
	b _0809F8AE
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0809F888: .4byte 0x0000018D
 | 
			
		||||
_0809F88C:
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	adds r1, #0x68
 | 
			
		||||
	ldrh r0, [r1]
 | 
			
		||||
	subs r0, #1
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	lsls r0, r0, #0x10
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0809F8AE
 | 
			
		||||
	movs r0, #3
 | 
			
		||||
	strb r0, [r4, #0xd]
 | 
			
		||||
	ldr r1, _0809F8B8 @ =gMenu
 | 
			
		||||
	ldrb r0, [r1, #6]
 | 
			
		||||
	adds r0, #1
 | 
			
		||||
	strb r0, [r1, #6]
 | 
			
		||||
	movs r0, #0x73
 | 
			
		||||
	bl SoundReq
 | 
			
		||||
_0809F8AE:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080A00B0
 | 
			
		||||
	b _0809F8FE
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0809F8B8: .4byte gMenu
 | 
			
		||||
_0809F8BC:
 | 
			
		||||
	ldrb r0, [r4, #0xa]
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0809F8F8
 | 
			
		||||
	cmp r0, #2
 | 
			
		||||
	bne _0809F8F8
 | 
			
		||||
	ldrb r0, [r4, #0xd]
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0809F8F8
 | 
			
		||||
	movs r0, #1
 | 
			
		||||
	strb r0, [r4, #0xd]
 | 
			
		||||
	movs r0, #0x2e
 | 
			
		||||
	ldrsh r1, [r4, r0]
 | 
			
		||||
	ldr r2, _0809F900 @ =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
 | 
			
		||||
_0809F8F8:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080A00B0
 | 
			
		||||
_0809F8FE:
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0809F900: .4byte gRoomControls
 | 
			
		||||
 | 
			
		||||
.else
 | 
			
		||||
	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 LoadFixedGFX
 | 
			
		||||
	movs r0, #0xf6
 | 
			
		||||
	bl SoundReq
 | 
			
		||||
	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 LoadFixedGFX
 | 
			
		||||
	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 @ =gMenu
 | 
			
		||||
	ldrb r0, [r1, #6]
 | 
			
		||||
	adds r0, #1
 | 
			
		||||
	strb r0, [r1, #6]
 | 
			
		||||
	movs r0, #0x73
 | 
			
		||||
	bl SoundReq
 | 
			
		||||
_080A005A:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080A00B0
 | 
			
		||||
	b _080A00AA
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_080A0064: .4byte gMenu
 | 
			
		||||
_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
 | 
			
		||||
.endif
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
| 
						 | 
				
			
			@ -45194,11 +45194,6 @@
 | 
			
		|||
    "start": 1198176,
 | 
			
		||||
    "size": 8
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "path": "waterfallOpening/gUnk_08124868.bin",
 | 
			
		||||
    "start": 1198184,
 | 
			
		||||
    "size": 4
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "path": "animations/gSpriteAnimations_ObjectAB_0.bin",
 | 
			
		||||
    "start": 1198200,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +0,0 @@
 | 
			
		|||
	.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.section .rodata
 | 
			
		||||
    .align 2
 | 
			
		||||
 | 
			
		||||
gUnk_08124868:: @ 08124868
 | 
			
		||||
	.incbin "waterfallOpening/gUnk_08124868.bin"
 | 
			
		||||
| 
						 | 
				
			
			@ -796,7 +796,7 @@ SECTIONS {
 | 
			
		|||
        asm/object/objectA7.o(.text);
 | 
			
		||||
        src/object/objectA8.o(.text);
 | 
			
		||||
        asm/object/objectA9.o(.text);
 | 
			
		||||
        asm/object/waterfallOpening.o(.text);
 | 
			
		||||
        src/object/waterfallOpening.o(.text);
 | 
			
		||||
        asm/object/objectAB.o(.text);
 | 
			
		||||
        src/object/fourElements.o(.text);
 | 
			
		||||
        asm/object/objectAD.o(.text);
 | 
			
		||||
| 
						 | 
				
			
			@ -1551,7 +1551,7 @@ SECTIONS {
 | 
			
		|||
        data/animations/object/objectA6.o(.rodata);
 | 
			
		||||
        src/object/objectA8.o(.rodata);
 | 
			
		||||
        data/const/object/objectA9.o(.rodata);
 | 
			
		||||
        data/const/object/waterfallOpening.o(.rodata);
 | 
			
		||||
        src/object/waterfallOpening.o(.rodata);
 | 
			
		||||
        data/const/object/objectAB.o(.rodata);
 | 
			
		||||
        data/animations/object/objectAB.o(.rodata);
 | 
			
		||||
        src/object/fourElements.o(.rodata);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,88 @@
 | 
			
		|||
#define NENT_DEPRECATED
 | 
			
		||||
#include "entity.h"
 | 
			
		||||
#include "menu.h"
 | 
			
		||||
#include "room.h"
 | 
			
		||||
#include "flags.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "sound.h"
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    Entity base;
 | 
			
		||||
    s16 unk68;
 | 
			
		||||
} WaterfallOpeningEntity;
 | 
			
		||||
 | 
			
		||||
const u8 WaterfallOpening_FrameIndices[] = { 0, 4, 8, 0 };
 | 
			
		||||
 | 
			
		||||
void sub_080A00B0(WaterfallOpeningEntity*);
 | 
			
		||||
 | 
			
		||||
void WaterfallOpening(Entity* this) {
 | 
			
		||||
    if (this->action == 0) {
 | 
			
		||||
        this->action = 1;
 | 
			
		||||
        this->actionDelay = 8;
 | 
			
		||||
        this->field_0xf = 0;
 | 
			
		||||
        this->spriteRendering.b3 = 3;
 | 
			
		||||
        this->spritePriority.b0 = 7;
 | 
			
		||||
        this->frameIndex = WaterfallOpening_FrameIndices[this->type];
 | 
			
		||||
        ((WaterfallOpeningEntity*)this)->unk68 = 0x78;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (this->type2 != 0) {
 | 
			
		||||
        if (CheckRoomFlag(0xff)) {
 | 
			
		||||
            switch (this->subAction) {
 | 
			
		||||
                case 0:
 | 
			
		||||
                    if (--((WaterfallOpeningEntity*)this)->unk68 == 0) {
 | 
			
		||||
                        ((WaterfallOpeningEntity*)this)->unk68 = 0x20;
 | 
			
		||||
                        this->actionDelay = 1;
 | 
			
		||||
                        this->field_0xf = 0;
 | 
			
		||||
                        this->subAction = 1;
 | 
			
		||||
                        this->type = 1;
 | 
			
		||||
                        sub_080AE068(this);
 | 
			
		||||
                        LoadFixedGFX(this, 0x18c);
 | 
			
		||||
#ifndef EU
 | 
			
		||||
                        SoundReq(SFX_EVAPORATE);
 | 
			
		||||
#endif
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                case 1:
 | 
			
		||||
                    if (--((WaterfallOpeningEntity*)this)->unk68 == 0) {
 | 
			
		||||
                        ((WaterfallOpeningEntity*)this)->unk68 = 0x2d;
 | 
			
		||||
                        this->actionDelay = 1;
 | 
			
		||||
                        this->subAction = 2;
 | 
			
		||||
                        this->type = 2;
 | 
			
		||||
                        sub_080AE068(this);
 | 
			
		||||
                        LoadFixedGFX(this, 0x18d);
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                case 2:
 | 
			
		||||
                    if (--((WaterfallOpeningEntity*)this)->unk68 == 0) {
 | 
			
		||||
                        this->subAction = 3;
 | 
			
		||||
                        gMenu.overlayType++;
 | 
			
		||||
                        SoundReq(SFX_SECRET_BIG);
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            sub_080A00B0((WaterfallOpeningEntity*)this);
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        switch (this->type) {
 | 
			
		||||
            case 0:
 | 
			
		||||
                break;
 | 
			
		||||
            case 2:
 | 
			
		||||
                if ((this->subAction == 0)) {
 | 
			
		||||
                    this->subAction = 1;
 | 
			
		||||
                    SetTileType(0x39, COORD_TO_TILE(this), 1);
 | 
			
		||||
                }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        sub_080A00B0((WaterfallOpeningEntity*)this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void sub_080A00B0(WaterfallOpeningEntity* this) {
 | 
			
		||||
    if (--super->actionDelay == 0) {
 | 
			
		||||
        super->actionDelay = 8;
 | 
			
		||||
        super->frameIndex = super->field_0xf + WaterfallOpening_FrameIndices[super->type];
 | 
			
		||||
        super->field_0xf = (super->field_0xf + 1) & 3;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue