Work on gleerok

This commit is contained in:
Tal Hayon
2022-01-20 12:44:41 +02:00
parent 79d8d25be2
commit b9ede0c0cd
9 changed files with 2340 additions and 3135 deletions
-3133
View File
File diff suppressed because it is too large Load Diff
+49
View File
@@ -0,0 +1,49 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
adds r0, #0x84
ldr r6, [r0]
movs r4, #0
adds r7, r6, #0
adds r7, #0x3c
adds r5, r7, #0
_0802D34A:
ldm r5!, {r0}
bl DeleteEntity
adds r4, #1
cmp r4, #3
bls _0802D34A
lsls r1, r4, #2
adds r1, r7, r1
ldr r0, [r1]
adds r0, #0x45
movs r3, #0
strb r3, [r0]
ldr r1, [r1]
adds r1, #0x6d
ldrb r2, [r1]
movs r0, #1
orrs r0, r2
strb r0, [r1]
ldr r0, [r6, #0x50]
adds r0, #0x45
strb r3, [r0]
ldr r0, [r6, #0x50]
strb r3, [r0, #0xb]
ldr r3, [r6, #0x50]
ldrb r2, [r3, #0x18]
lsls r1, r2, #0x1e
lsrs r1, r1, #0x1e
movs r0, #2
rsbs r0, r0, #0
ands r1, r0
subs r0, #2
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x18]
bl DeleteThisEntity
pop {r4, r5, r6, r7, pc}
.syntax divided
+328
View File
@@ -0,0 +1,328 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r4, r0, #0
movs r0, #3
bl CheckGlobalFlag
cmp r0, #0
beq _0802D3DE
ldr r2, _0802D3F4 @ =gScreen
ldrh r1, [r2]
ldr r0, _0802D3F8 @ =0x0000FDFF
ands r0, r1
strh r0, [r2]
ldr r0, _0802D3FC @ =gPlayerEntity
bl sub_0807AABC
bl DeleteThisEntity
_0802D3DE:
movs r0, #1
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xa]
cmp r0, #6
bls _0802D3EA
b _0802D63C
_0802D3EA:
lsls r0, r0, #2
ldr r1, _0802D400 @ =_0802D404
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802D3F4: .4byte gScreen
_0802D3F8: .4byte 0x0000FDFF
_0802D3FC: .4byte gPlayerEntity
_0802D400: .4byte _0802D404
_0802D404: @ jump table
.4byte _0802D420 @ case 0
.4byte _0802D544 @ case 1
.4byte _0802D58C @ case 2
.4byte _0802D5A8 @ case 3
.4byte _0802D5EC @ case 4
.4byte _0802D5F6 @ case 5
.4byte _0802D61A @ case 6
_0802D420:
movs r2, #0
movs r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
adds r3, r4, #0
adds r3, #0x29
ldrb r0, [r3]
movs r1, #7
orrs r0, r1
strb r0, [r3]
adds r0, r4, #0
adds r0, #0x75
strb r2, [r0]
adds r0, #0xb
strb r2, [r0]
subs r0, #7
strb r2, [r0]
movs r0, #0x96
str r0, [r4, #0x7c]
adds r0, r4, #0
bl sub_0802EB9C
movs r0, #0x54
bl zMalloc
adds r1, r4, #0
adds r1, #0x84
str r0, [r1]
adds r5, r0, #0
adds r7, r1, #0
cmp r5, #0
bne _0802D470
adds r0, r4, #0
bl sub_0804A7D4
bl DeleteThisEntity
_0802D470:
ldr r0, [r7]
str r0, [r4, #0x64]
movs r6, #0
movs r0, #0
mov r8, r0
_0802D47A:
movs r0, #0x24
movs r1, #1
bl CreateEnemy
str r0, [r4, #0x54]
adds r3, r6, #1
cmp r0, #0
beq _0802D4D6
strb r3, [r0, #0xb]
ldr r1, [r4, #0x54]
adds r0, r4, #0
adds r0, #0x38
ldrb r0, [r0]
adds r1, #0x38
strb r0, [r1]
ldr r1, [r4, #0x54]
ldrh r0, [r4, #0x2e]
strh r0, [r1, #0x2e]
ldr r1, [r4, #0x54]
lsls r0, r3, #1
adds r0, r0, r3
lsls r0, r0, #2
ldrh r2, [r4, #0x32]
adds r0, r0, r2
strh r0, [r1, #0x32]
ldr r0, [r4, #0x54]
str r4, [r0, #0x50]
ldr r0, [r4, #0x54]
adds r0, #0x84
ldr r1, [r7]
str r1, [r0]
lsls r2, r6, #2
adds r0, r5, #0
adds r0, #0x3c
adds r0, r0, r2
ldr r1, [r4, #0x54]
str r1, [r0]
adds r2, r5, r2
movs r0, #0x10
strb r0, [r2, #1]
mov r0, r8
strb r0, [r2, #0x19]
adds r0, r5, #0
adds r0, #0x35
mov r1, r8
strb r1, [r0]
_0802D4D6:
adds r6, r3, #0
cmp r6, #4
bls _0802D47A
movs r0, #0x24
movs r1, #2
bl CreateEnemy
adds r2, r0, #0
str r2, [r4, #0x54]
cmp r2, #0
beq _0802D52E
adds r0, r4, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
ldr r1, [r4, #0x54]
ldrh r0, [r4, #0x2e]
movs r3, #0
strh r0, [r1, #0x2e]
ldr r2, [r4, #0x54]
adds r1, r6, #1
lsls r0, r1, #1
adds r0, r0, r1
lsls r0, r0, #2
ldrh r1, [r4, #0x32]
adds r0, r0, r1
strh r0, [r2, #0x32]
ldr r0, [r4, #0x54]
str r4, [r0, #0x50]
ldr r0, [r4, #0x54]
adds r0, #0x84
ldr r1, [r7]
str r1, [r0]
ldr r0, [r4, #0x54]
str r0, [r5, #0x50]
movs r0, #0x10
strb r0, [r5, #0x15]
adds r0, r5, #0
adds r0, #0x2d
strb r3, [r0]
adds r0, #8
strb r3, [r0]
_0802D52E:
.ifndef EU
ldr r0, _0802D540 @ =gPlayerState
adds r0, #0x8b
movs r1, #3
strb r1, [r0]
.endif
adds r0, r4, #0
movs r1, #0x4c
bl InitializeAnimation
b _0802D63C
.align 2, 0
.ifndef EU
_0802D540: .4byte gPlayerState
.endif
_0802D544:
ldrb r0, [r4, #0xb]
cmp r0, #1
bne _0802D55C
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
adds r2, r4, #0
adds r2, #0x3b
ldrb r0, [r2]
orrs r1, r0
strb r1, [r2]
_0802D55C:
ldr r1, _0802D588 @ =gUnk_080CD7C4
ldrb r0, [r4, #0xb]
lsls r0, r0, #2
adds r0, r0, r1
ldrb r0, [r0, #1]
adds r3, r4, #0
adds r3, #0x29
movs r1, #7
ands r1, r0
ldrb r2, [r3]
movs r0, #8
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3]
movs r0, #0
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x24
bl InitializeAnimation
b _0802D63C
.align 2, 0
_0802D588: .4byte gUnk_080CD7C4
_0802D58C:
adds r2, r4, #0
adds r2, #0x29
ldrb r0, [r2]
movs r1, #8
rsbs r1, r1, #0
ands r1, r0
strb r1, [r2]
movs r0, #0
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #0
bl InitAnimationForceUpdate
b _0802D63C
_0802D5A8:
ldr r0, _0802D5E8 @ =gUnk_080CD884
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x74
movs r2, #0
strb r1, [r0]
adds r0, #1
strb r2, [r0]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
adds r2, #0x12
ldrb r1, [r2]
movs r0, #0x80
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x4f
bl InitializeAnimation
b _0802D63C
.align 2, 0
_0802D5E8: .4byte gUnk_080CD884
_0802D5EC:
adds r0, r4, #0
movs r1, #0x2c
bl InitAnimationForceUpdate
b _0802D63C
_0802D5F6:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x2d
bl InitAnimationForceUpdate
b _0802D63C
_0802D61A:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x50
bl InitializeAnimation
_0802D63C:
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _0802D648
adds r0, r4, #0
bl sub_0802D86C
_0802D648:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
+401
View File
@@ -0,0 +1,401 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
cmp r0, #6
bls _0802D878
b _0802DB7E
_0802D878:
lsls r0, r0, #2
ldr r1, _0802D884 @ =_0802D888
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802D884: .4byte _0802D888
_0802D888: @ jump table
.4byte _0802DB64 @ case 0
.4byte _0802D8A4 @ case 1
.4byte _0802D8CE @ case 2
.4byte _0802DA54 @ case 3
.4byte _0802D94C @ case 4
.4byte _0802D9A2 @ case 5
.4byte _0802D9F8 @ case 6
_0802D8A4:
ldrb r0, [r4, #0xb]
cmp r0, #1
bne _0802D8CE
ldr r0, [r4, #0x50]
adds r0, #0x80
ldrb r0, [r0]
cmp r0, #0
bne _0802D8BE
ldrb r0, [r4, #0x18]
lsls r0, r0, #0x1e
lsrs r0, r0, #0x1e
cmp r0, #1
beq _0802D8C6
_0802D8BE:
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
b _0802D8CC
_0802D8C6:
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
_0802D8CC:
strb r0, [r4, #0x10]
_0802D8CE:
ldrb r0, [r4, #0x18]
lsls r0, r0, #0x1e
lsrs r0, r0, #0x1e
movs r1, #1
ands r0, r1
cmp r0, #0
bne _0802D8DE
b _0802DB7E
_0802D8DE:
ldr r0, [r4, #0x50]
adds r0, #0x3d
ldrb r0, [r0]
adds r1, r4, #0
adds r1, #0x3d
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0802D918
ldrb r0, [r4, #0xf]
cmp r0, #0
bne _0802D906
adds r0, r4, #0
bl UnloadOBJPalette
adds r0, r4, #0
movs r1, #0xc9
bl LoadObjPalette
b _0802D918
_0802D906:
subs r0, #1
strb r0, [r4, #0xf]
adds r0, r4, #0
bl UnloadOBJPalette
adds r0, r4, #0
movs r1, #0xca
bl LoadObjPalette
_0802D918:
ldr r0, [r4, #0x50]
adds r0, #0x80
ldrb r0, [r0]
cmp r0, #0
bne _0802D924
b _0802DB7E
_0802D924:
ldr r1, _0802D944 @ =gPlayerEntity
adds r0, r4, #0
movs r2, #8
movs r3, #8
bl EntityInRectRadius
cmp r0, #0
bne _0802D936
b _0802DB7E
_0802D936:
ldr r0, _0802D948 @ =gPlayerState
movs r1, #1
strb r1, [r0, #0x14]
adds r0, #0x3f
movs r1, #0xfc
strb r1, [r0]
b _0802DB7E
.align 2, 0
_0802D944: .4byte gPlayerEntity
_0802D948: .4byte gPlayerState
_0802D94C:
adds r0, r4, #0
adds r0, #0x5a
ldrb r0, [r0]
cmp r0, #0
bne _0802D95E
adds r0, r4, #0
bl UpdateAnimationSingleFrame
b _0802DB7E
_0802D95E:
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r4, #0
bl GravityUpdate
adds r2, r0, #0
cmp r2, #0
beq _0802D970
b _0802DB7E
_0802D970:
ldr r0, [r4, #0x50]
adds r0, #0x7b
movs r1, #1
strb r1, [r0]
strb r2, [r4, #0xe]
_0802D97A:
ldrb r3, [r4, #0xe]
adds r0, r4, #0
movs r1, #0x67
movs r2, #0
bl CreateObjectWithParent
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #7
bls _0802D97A
movs r0, #0xa8
lsls r0, r0, #1
bl SoundReq
_0802D99C:
bl DeleteThisEntity
b _0802DB7E
_0802D9A2:
ldr r0, _0802D9F4 @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _0802D9B8
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xc]
cmp r0, #2
bne _0802D9B8
b _0802DB7E
_0802D9B8:
adds r0, r4, #0
bl UpdateAnimationSingleFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _0802D9CE
b _0802DB7E
_0802D9CE:
movs r0, #0x24
movs r1, #6
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802D99C
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r2, r4, #0
adds r2, #0x84
ldr r1, [r2]
ldr r0, [r4, #0x54]
str r0, [r1, #0x38]
adds r0, #0x84
ldr r1, [r2]
str r1, [r0]
b _0802D99C
.align 2, 0
_0802D9F4: .4byte gRoomTransition
_0802D9F8:
ldr r0, _0802DA50 @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _0802DA0E
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xc]
cmp r0, #2
bne _0802DA0E
b _0802DB7E
_0802DA0E:
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _0802DA24
b _0802DB7E
_0802DA24:
movs r0, #0x24
movs r1, #3
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802D99C
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r1, r4, #0
adds r1, #0x84
ldr r0, [r1]
ldrb r0, [r0, #1]
strb r0, [r4, #0xe]
ldr r2, [r1]
ldr r0, [r4, #0x54]
str r0, [r2, #0x38]
adds r0, #0x84
ldr r1, [r1]
str r1, [r0]
b _0802D99C
.align 2, 0
_0802DA50: .4byte gRoomTransition
_0802DA54:
adds r0, r4, #0
adds r0, #0x74
ldrb r1, [r0]
adds r6, r0, #0
cmp r1, #0
beq _0802DA96
subs r0, r1, #1
strb r0, [r6]
lsls r0, r0, #0x18
cmp r0, #0
bne _0802DA96
adds r5, r4, #0
adds r5, #0x75
ldrb r0, [r5]
adds r0, #2
strb r0, [r5]
ldr r7, _0802DAD4 @ =gUnk_080CD884
ldrb r0, [r5]
adds r0, r0, r7
ldrb r0, [r0]
strb r0, [r6]
cmp r0, #0
beq _0802DA96
adds r0, r4, #0
bl UnloadOBJPalette
ldrb r0, [r5]
adds r0, #1
adds r0, r0, r7
ldrb r1, [r0]
adds r0, r4, #0
bl LoadObjPalette
_0802DA96:
adds r0, r4, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _0802DAD8
ldrb r2, [r6]
cmp r2, #0
bne _0802DAD8
movs r0, #0x7f
ands r0, r1
cmp r0, #0x1d
bne _0802DB20
movs r0, #0xc0
lsls r0, r0, #0xa
str r0, [r4, #0x20]
ldr r1, [r4, #0x50]
movs r0, #4
strb r0, [r1, #0xd]
ldr r0, [r4, #0x50]
strb r2, [r0, #0xb]
ldr r0, [r4, #0x50]
adds r0, #0x7b
strb r2, [r0]
movs r0, #0x86
lsls r0, r0, #1
bl SoundReq
b _0802DB20
.align 2, 0
_0802DAD4: .4byte gUnk_080CD884
_0802DAD8:
adds r0, r4, #0
adds r0, #0x84
ldr r2, [r0]
ldrb r1, [r4, #0xe]
adds r3, r0, #0
ldrb r0, [r2, #1]
cmp r1, r0
beq _0802DB20
adds r0, r1, #0
ldrb r1, [r2, #1]
subs r0, r0, r1
movs r1, #0x1f
ands r0, r1
cmp r0, #0x10
ble _0802DB08
ldrb r0, [r4, #0x1e]
adds r0, #1
strb r0, [r4, #0x1e]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x30
bls _0802DB1A
movs r0, #0x28
b _0802DB18
_0802DB08:
ldrb r0, [r4, #0x1e]
subs r0, #1
strb r0, [r4, #0x1e]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x27
bhi _0802DB1A
movs r0, #0x30
_0802DB18:
strb r0, [r4, #0x1e]
_0802DB1A:
ldr r0, [r3]
ldrb r0, [r0, #1]
strb r0, [r4, #0xe]
_0802DB20:
ldr r0, [r4, #0x20]
cmp r0, #0
ble _0802DB7E
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r4, #0
bl GravityUpdate
ldr r0, [r4, #0x20]
cmp r0, #0
bgt _0802DB7E
movs r0, #0x24
movs r1, #4
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802DB7E
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r2, r4, #0
adds r2, #0x84
ldr r1, [r2]
ldr r0, [r4, #0x54]
str r0, [r1, #0x38]
adds r0, #0x84
ldr r1, [r2]
str r1, [r0]
ldr r1, [r4, #0x54]
adds r0, r4, #0
bl CopyPosition
b _0802D99C
_0802DB64:
ldr r1, _0802DB80 @ =gUnk_080CD810
ldrb r0, [r4, #0xd]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
adds r0, #0x84
ldr r0, [r0]
bl sub_0802E7E4
_0802DB7E:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0802DB80: .4byte gUnk_080CD810
.syntax divided
+300
View File
@@ -0,0 +1,300 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0xc
str r0, [sp]
adds r0, #0x84
ldr r0, [r0]
mov sb, r0
ldr r1, [r0, #0x3c]
ldr r0, [r1, #0x50]
bl CopyPosition
mov r0, sb
ldr r1, [r0, #0x3c]
ldrb r0, [r0, #1]
strb r0, [r1, #0x15]
mov r1, sb
ldrb r6, [r1, #1]
cmp r6, #0x10
bls _0802E54C
movs r0, #0xf
eors r6, r0
adds r6, #1
ands r6, r0
_0802E54C:
cmp r6, #0x10
bne _0802E552
movs r6, #0xf
_0802E552:
mov r2, sb
ldr r1, [r2, #0x3c]
movs r0, #0xf
eors r6, r0
adds r0, r6, #0
adds r0, #0x12
lsls r0, r0, #8
strh r0, [r1, #0x24]
ldr r0, [r2, #0x3c]
bl LinearMoveUpdate
movs r6, #0
movs r0, #0x3c
add r0, sb
mov sl, r0
mov r1, sb
adds r1, #0x30
str r1, [sp, #4]
ldr r2, [sp]
adds r2, #0x80
str r2, [sp, #8]
movs r7, #0x80
lsls r7, r7, #1
_0802E580:
lsls r0, r6, #2
add r0, sl
ldr r0, [r0]
adds r1, r6, #1
mov r8, r1
lsls r4, r1, #2
mov r2, sl
adds r5, r2, r4
ldr r1, [r5]
bl CopyPosition
add r4, sb
ldrb r0, [r4, #0x19]
lsls r0, r0, #4
ldr r1, _0802E644 @ =gSineTable
adds r0, r0, r1
movs r2, #0
ldrsh r0, [r0, r2]
ldr r1, [sp, #4]
adds r6, r1, r6
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
adds r1, r0, #0
ldrb r0, [r4, #1]
lsls r0, r0, #4
ldr r2, _0802E644 @ =gSineTable
adds r0, r0, r2
movs r2, #0
ldrsh r0, [r0, r2]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r2, #0x2c]
adds r1, r1, r0
str r1, [r2, #0x2c]
ldrb r0, [r4, #0x19]
lsls r0, r0, #4
adds r0, #0x80
ldr r1, _0802E644 @ =gSineTable
adds r0, r0, r1
movs r2, #0
ldrsh r0, [r0, r2]
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r2, #0x30]
subs r1, r1, r0
str r1, [r2, #0x30]
mov r6, r8
cmp r6, #4
bls _0802E580
mov r1, sb
ldr r0, [r1, #0x50]
ldrb r1, [r0, #0xe]
adds r2, r0, #0
cmp r1, #0x18
bne _0802E662
mov r1, sb
ldrb r0, [r1, #0x15]
lsrs r0, r0, #3
lsls r7, r0, #2
mov r0, sb
adds r0, #0x2d
ldrb r0, [r0]
lsls r1, r0, #0x18
lsrs r0, r1, #0x18
cmp r0, #0xc
bls _0802E648
adds r7, #3
b _0802E64C
.align 2, 0
_0802E644: .4byte gSineTable
_0802E648:
lsrs r0, r1, #0x1a
adds r7, r7, r0
_0802E64C:
adds r0, r2, #0
adds r0, #0x58
ldrb r0, [r0]
adds r1, r7, #0
adds r1, #0x18
cmp r0, r1
beq _0802E6E8
adds r0, r2, #0
bl InitAnimationForceUpdate
b _0802E6E8
_0802E662:
ldr r2, [sp, #8]
ldrb r0, [r2]
cmp r0, #0
bne _0802E688
mov r0, sb
movs r1, #5
movs r2, #0
movs r3, #0
bl sub_0802E7CC
mov r0, sb
ldr r2, [r0, #0x50]
ldrb r1, [r2, #0x14]
lsrs r0, r1, #1
adds r7, r1, r0
lsrs r0, r7, #2
ldrb r2, [r2, #0xe]
adds r7, r0, r2
b _0802E6CA
_0802E688:
ldr r0, [sp]
adds r0, #0x3d
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
bne _0802E6C0
ldr r0, [sp]
adds r0, #0x58
ldrb r3, [r0]
mov r1, sb
ldrb r0, [r1, #0x15]
lsrs r2, r0, #3
adds r0, r2, #0
adds r0, #0x2f
cmp r3, r0
bne _0802E6BA
ldr r0, [sp]
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
adds r7, r3, #0
cmp r0, #0
beq _0802E6CA
_0802E6BA:
adds r7, r2, #0
adds r7, #0x28
b _0802E6CA
_0802E6C0:
mov r2, sb
ldrb r0, [r2, #0x15]
lsrs r0, r0, #3
adds r7, r0, #0
adds r7, #0x2f
_0802E6CA:
mov r0, sb
ldr r1, [r0, #0x50]
adds r0, r1, #0
adds r0, #0x58
ldrb r0, [r0]
cmp r0, r7
beq _0802E6E2
adds r0, r1, #0
adds r1, r7, #0
bl InitAnimationForceUpdate
b _0802E6E8
_0802E6E2:
adds r0, r1, #0
bl UpdateAnimationSingleFrame
_0802E6E8:
movs r6, #0
_0802E6EA:
ldr r1, [sp, #8]
ldrb r0, [r1]
cmp r0, #0
bne _0802E72E
lsls r1, r6, #0x18
lsrs r1, r1, #0x18
mov r0, sb
movs r2, #0
movs r3, #0
bl sub_0802E7CC
lsls r5, r6, #2
mov r2, sl
adds r0, r2, r5
ldr r0, [r0]
ldrb r1, [r0, #0x14]
lsrs r0, r1, #1
adds r7, r1, r0
lsrs r7, r7, #2
adds r4, r6, #1
lsls r0, r4, #2
add r0, sb
ldrb r0, [r0, #0x19]
movs r1, #3
bl __divsi3
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r0, #1
adds r1, r1, r0
lsls r1, r1, #2
adds r7, r7, r1
adds r1, r5, #0
b _0802E73E
_0802E72E:
lsls r1, r6, #2
mov r2, sb
adds r0, r2, r1
ldrb r0, [r0, #1]
lsrs r0, r0, #3
adds r7, r0, #0
adds r7, #0x48
adds r4, r6, #1
_0802E73E:
mov r2, sl
adds r0, r2, r1
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x58
ldrb r0, [r0]
cmp r0, r7
beq _0802E756
adds r0, r1, #0
adds r1, r7, #0
bl InitializeAnimation
_0802E756:
adds r6, r4, #0
cmp r6, #4
bls _0802E6EA
add sp, #0xc
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
+1 -1
View File
@@ -63,7 +63,7 @@ typedef enum {
/*0x21*/ FALLING_BOULDER,
/*0x22*/ BOBOMB,
/*0x23*/ WALL_MASTER_2,
/*0x24*/ GLEEROCK,
/*0x24*/ GLEEROK,
/*0x25*/ VAATI_EYES_MACRO,
/*0x26*/ TEKTITE,
/*0x27*/ WIZZROBE_WIND,
+2
View File
@@ -355,6 +355,7 @@ SECTIONS {
src/enemy/fallingBoulder.o(.text);
src/enemy/bobomb.o(.text);
src/enemy/wallMaster2.o(.text);
src/enemy/gleerok.o(.text);
asm/enemy/gleerok.o(.text);
src/enemy/vaatiEyesMacro.o(.text);
src/enemy/tektite.o(.text);
@@ -1004,6 +1005,7 @@ SECTIONS {
src/enemy/bobomb.o(.rodata);
data/animations/enemy/bobomb.o(.rodata);
src/enemy/wallMaster2.o(.rodata);
src/enemy/gleerok.o(.rodata);
data/const/enemy/gleerok.o(.rodata);
data/animations/enemy/gleerok.o(.rodata);
src/enemy/vaatiEyesMacro.o(.rodata);
+1 -1
View File
@@ -468,7 +468,7 @@ void (*const gEnemyFunctions[])(Entity* ent) = {
[FALLING_BOULDER] = FallingBoulder,
[BOBOMB] = Bobomb,
[WALL_MASTER_2] = WallMaster2,
[GLEEROCK] = Gleerok,
[GLEEROK] = Gleerok,
[VAATI_EYES_MACRO] = VaatiEyesMacro,
[TEKTITE] = Tektite,
[WIZZROBE_WIND] = WizzrobeWind,
+1258
View File
File diff suppressed because it is too large Load Diff