Name CreateProjectile functions

This commit is contained in:
octorock
2021-10-12 16:44:14 +02:00
parent bcbfcc0ee4
commit b1e3830872
55 changed files with 127 additions and 295 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ sub_0803E580: @ 0x0803E580
adds r0, r5, #0
movs r1, #0x19
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
cmp r0, #0
beq _0803E5E4
str r5, [r0, #0x50]
+1 -1
View File
@@ -344,7 +344,7 @@ _0803C46C:
lsrs r2, r2, #0x19
adds r0, r4, #0
movs r1, #0xd
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _0803C49A
+1 -1
View File
@@ -261,7 +261,7 @@ _08045D60:
adds r0, r4, #0
movs r1, #4
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _08045DF8
+3 -3
View File
@@ -1682,13 +1682,13 @@ _0804A982:
mov sl, r5
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0804A98C
sub_0804A98C: @ 0x0804A98C
thumb_func_start CreateProjectileWithParent
CreateProjectileWithParent: @ 0x0804A98C
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r0, r1, #0
adds r5, r2, #0
bl sub_080A7EE0
bl CreateProjectile
adds r4, r0, #0
cmp r4, #0
beq _0804A9A8
+4 -4
View File
@@ -333,7 +333,7 @@ sub_0805E5C0: @ 0x0805E5C0
bl sub_0805E428
bl ClearHitboxList
bl sub_0806F0A4
ldr r1, _0805E5F4 @ =gUnk_03005F40
ldr r1, _0805E5F4 @ =_UpdateEntities
movs r0, #0
bl _call_via_r1
bl ClearAllDeletedEntities
@@ -341,18 +341,18 @@ sub_0805E5C0: @ 0x0805E5C0
pop {pc}
.align 2, 0
_0805E5F0: .4byte gRoomVars
_0805E5F4: .4byte gUnk_03005F40
_0805E5F4: .4byte _UpdateEntities
thumb_func_start sub_0805E5F8
sub_0805E5F8: @ 0x0805E5F8
push {lr}
ldr r1, _0805E608 @ =gUnk_03005F40
ldr r1, _0805E608 @ =_UpdateEntities
movs r0, #1
bl _call_via_r1
bl ClearAllDeletedEntities
pop {pc}
.align 2, 0
_0805E608: .4byte gUnk_03005F40
_0805E608: .4byte _UpdateEntities
thumb_func_start EraseAllEntities
EraseAllEntities: @ 0x0805E60C
+2 -2
View File
@@ -411,8 +411,8 @@ _080A7EDC:
_080A7EDE:
pop {pc}
thumb_func_start sub_080A7EE0
sub_080A7EE0: @ 0x080A7EE0
thumb_func_start CreateProjectile
CreateProjectile: @ 0x080A7EE0
push {r4, r5, lr}
adds r5, r0, #0
bl GetEmptyEntity
+1 -1
View File
@@ -262,7 +262,7 @@ sub_0803D058: @ 0x0803D058
adds r4, r0, #0
movs r1, #0x16
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r5, r0, #0
cmp r5, #0
beq _0803D0AE
+1 -1
View File
@@ -279,7 +279,7 @@ _080484BC:
ands r0, r1
strb r0, [r3]
movs r0, #0x24
bl sub_080A7EE0
bl CreateProjectile
adds r1, r0, #0
cmp r1, #0
beq _080484E6
+2 -2
View File
@@ -139,7 +139,7 @@ _08049144:
bl sub_0807B7D8
_0804916E:
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r2, r0, #0
cmp r2, #0
beq _080491E4
@@ -560,7 +560,7 @@ _0804948C:
cmp r0, #0
beq _080494B2
movs r0, #0x23
bl sub_080A7EE0
bl CreateProjectile
adds r2, r0, #0
cmp r2, #0
beq _080494B2
+3 -3
View File
@@ -1838,7 +1838,7 @@ _0802DD74:
adds r0, r4, #0
movs r1, #0xa
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
@@ -1985,7 +1985,7 @@ _0802DE7E:
bne _0802DEC4
adds r0, r5, #0
movs r1, #0xa
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
str r1, [r5, #0x54]
cmp r1, #0
@@ -2711,7 +2711,7 @@ _0802E40C:
adds r0, r4, #0
movs r1, #0xa
movs r2, #3
bl sub_0804A98C
bl CreateProjectileWithParent
_0802E422:
adds r0, r4, #0
bl sub_0802E518
+1 -1
View File
@@ -29,7 +29,7 @@ sub_0804614C: @ 0x0804614C
cmp r0, #0x3d
bhi _08046244
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r1, r0, #0
movs r4, #0
strb r4, [r1, #0xa]
+4 -3
View File
@@ -659,6 +659,7 @@ UpdateEntities: @ 0x080B21B0
ldr r8, [fp, #4]
ldr r0, [fp, #8]
add pc, pc, #0x60 @ =_080B2230
@ UpdateEntities starts here
ldr r1, _080B2274 @ =gUnk_080026A4
add r1, r1, r0, lsl #4
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
@@ -682,12 +683,12 @@ _080B21FC:
ldr r1, [sl, r1, lsl #2]
mov r0, r4
mov lr, pc
bx r1
bx r1 @ Jump to address stored in r1
_080B2224:
ldr r0, [fp, #8]
cmp r0, r4
bleq sub_080B1C54
_080B2230:
_080B2230: @ jumped here if ClearAndUpdateEntities
ldr r4, [r0, #4]
b _080B21FC
_080B2238:
@@ -695,7 +696,7 @@ _080B2238:
str r0, [fp, #8]
pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}
bx lr
_080B2248: .4byte DeleteThisEntity
_080B2248: .4byte DeleteThisEntity @ 0x3005fbc
_080B224C: .4byte PlayerUpdate
_080B2250: .4byte DeleteThisEntity
_080B2254: .4byte EnemyUpdate
+1 -1
View File
@@ -17,7 +17,7 @@
b _08034B9A
_08034B58:
movs r0, #0xe
bl sub_080A7EE0
bl CreateProjectile
adds r5, r0, #0
cmp r5, #0
beq _08034B9A
@@ -1,134 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r6, r0, #0
ldrb r0, [r6, #0xb]
cmp r0, #8
bhi _080AA618
ldr r0, _080AA5E8 @ =gUnk_08129FF8
mov sb, r0
movs r1, #0x2e
ldrsh r2, [r6, r1]
ldr r1, _080AA5EC @ =gRoomControls
ldrh r0, [r1, #6]
subs r2, r2, r0
asrs r2, r2, #4
movs r3, #0x3f
ands r2, r3
movs r4, #0x32
ldrsh r0, [r6, r4]
ldrh r1, [r1, #8]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r2, r0
ldrb r0, [r6, #0xb]
add r0, sb
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r7, r2, r0
movs r4, #0
movs r5, #0
movs r0, #0x38
adds r0, r0, r6
mov r8, r0
_080AA58E:
mov r1, sb
adds r0, r1, r4
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
subs r0, r7, r0
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
mov r2, r8
ldrb r1, [r2]
bl sub_080002C8
cmp r0, #0x3e
bne _080AA5AC
adds r5, #1
_080AA5AC:
adds r4, #1
cmp r4, #8
bls _080AA58E
cmp r5, #8
bne _080AA5F4
movs r4, #0
ldr r5, _080AA5F0 @ =gUnk_08129FD0
_080AA5BA:
ldrh r0, [r5]
mov r3, sb
adds r1, r3, r4
ldrb r1, [r1]
lsls r1, r1, #0x18
asrs r1, r1, #0x18
subs r1, r7, r1
mov r3, r8
ldrb r2, [r3]
bl sub_0807B7D8
adds r5, #2
adds r4, #1
cmp r4, #8
bls _080AA5BA
adds r0, r6, #0
adds r1, r7, #0
bl sub_080AA654
ldrh r0, [r6, #0x24]
bl SetFlag
b _080AA648
.align 2, 0
_080AA5E8: .4byte gUnk_08129FF8
_080AA5EC: .4byte gRoomControls
_080AA5F0: .4byte gUnk_08129FD0
_080AA5F4:
ldr r2, _080AA614 @ =gUnk_08129FE4
ldrb r1, [r6, #0xb]
lsls r0, r1, #1
adds r0, r0, r2
ldrh r0, [r0]
add r1, sb
ldrb r1, [r1]
lsls r1, r1, #0x18
asrs r1, r1, #0x18
subs r1, r7, r1
mov r4, r8
ldrb r2, [r4]
bl sub_0807B7D8
b _080AA648
.align 2, 0
_080AA614: .4byte gUnk_08129FE4
_080AA618:
movs r1, #0x2e
ldrsh r0, [r6, r1]
ldr r2, _080AA650 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r0, r0, #4
movs r3, #0x3f
ands r0, r3
movs r4, #0x32
ldrsh r1, [r6, r4]
ldrh r2, [r2, #8]
subs r1, r1, r2
asrs r1, r1, #4
ands r1, r3
lsls r1, r1, #6
orrs r0, r1
adds r1, r6, #0
adds r1, #0x38
ldrb r1, [r1]
bl sub_0807BA8C
ldrh r0, [r6, #0x24]
bl SetFlag
_080AA648:
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080AA650: .4byte gRoomControls
.syntax divided
@@ -1,49 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r6, r0, #0
ldr r0, [r6, #0x50]
movs r5, #0
adds r4, r0, #0
adds r4, #0x20
_080AB640:
ldr r1, [r4]
cmp r1, #0
beq _080AB684
adds r0, r6, #0
bl sub_080177A0
cmp r0, #0
beq _080AB684
ldr r1, [r4]
ldrb r0, [r1, #0xc]
cmp r0, #2
bhi _080AB67A
movs r0, #3
strb r0, [r1, #0xc]
ldr r1, [r4]
movs r0, #0x1e
strb r0, [r1, #0xe]
ldr r2, [r4]
ldrb r0, [r2, #0x18]
movs r3, #4
rsbs r3, r3, #0
adds r1, r3, #0
ands r0, r1
strb r0, [r2, #0x18]
ldr r0, [r4]
movs r1, #0x45
movs r2, #0
bl CreateFx
_080AB67A:
adds r0, r6, #0
bl DeleteEntity
movs r0, #1
b _080AB68E
_080AB684:
adds r4, #4
adds r5, #1
cmp r5, #3
bls _080AB640
movs r0, #0
_080AB68E:
pop {r4, r5, r6, pc}
.syntax divided
@@ -12,7 +12,7 @@
movs r0, #0x10
strb r0, [r4, #0xe]
movs r0, #0x21
bl sub_080A7EE0
bl CreateProjectile
adds r1, r0, #0
cmp r1, #0
beq _080AC23C
@@ -16,7 +16,7 @@
movs r0, #0x11
strb r0, [r1]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
@@ -30,7 +30,7 @@
strb r0, [r1]
str r6, [r5, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r7, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r7, #0xa]
@@ -46,7 +46,7 @@
strb r1, [r0]
str r7, [r6, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
ldrb r1, [r5, #0xa]
strb r1, [r0, #0xa]
movs r1, #3
@@ -79,7 +79,7 @@ _080AC678:
movs r0, #0xf
strb r0, [r1]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
@@ -95,7 +95,7 @@ _080AC678:
strb r1, [r0]
str r6, [r5, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r7, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r7, #0xa]
@@ -112,7 +112,7 @@ _080AC678:
str r7, [r6, #0x54]
_080AC6C8:
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
+1 -1
View File
@@ -50,7 +50,7 @@ _0809E372:
movs r6, #0xe
_0809E392:
movs r0, #0x17
bl sub_080A7EE0
bl CreateProjectile
strb r6, [r0, #0xe]
str r4, [r0, #0x50]
adds r6, #0xc
+1 -1
View File
@@ -92,7 +92,7 @@ sub_0809F1B0: @ 0x0809F1B0
ands r0, r1
strb r0, [r2]
movs r0, #0x1b
bl sub_080A7EE0
bl CreateProjectile
adds r5, r0, #0
cmp r5, #0
beq _0809F21E
+1 -1
View File
@@ -20,7 +20,7 @@ ObjectA5: @ 0x0809F8A4
movs r5, #0
_0809F8B6:
movs r0, #0x1d
bl sub_080A7EE0
bl CreateProjectile
adds r4, r0, #0
cmp r5, #0
bne _0809F8C6
+4 -4
View File
@@ -2256,7 +2256,7 @@ _08035F16:
adds r0, r5, #0
movs r1, #0xf
movs r2, #3
bl sub_0804A98C
bl CreateProjectileWithParent
_08035F48:
ldr r1, _08035F78 @ =gUnk_080CF0C4
ldrb r0, [r5, #0xd]
@@ -2847,7 +2847,7 @@ sub_08036390: @ 0x08036390
adds r4, r0, #0
movs r1, #0xf
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
str r0, [r4, #0x54]
cmp r0, #0
beq _080363B4
@@ -3277,7 +3277,7 @@ _080366D4:
adds r0, r4, #0
movs r1, #0xf
movs r2, #2
bl sub_0804A98C
bl CreateProjectileWithParent
str r0, [r4, #0x54]
cmp r0, #0
beq _08036706
@@ -3323,7 +3323,7 @@ sub_0803670C: @ 0x0803670C
adds r0, r4, #0
movs r1, #0xf
movs r2, #3
bl sub_0804A98C
bl CreateProjectileWithParent
_08036746:
adds r0, r4, #0
adds r0, #0x76
+1 -1
View File
@@ -177,7 +177,7 @@ sub_08037D54: @ 0x08037D54
adds r0, r4, #0
movs r1, #1
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _08037E0C
+1 -1
View File
@@ -122,7 +122,7 @@ sub_08038984: @ 0x08038984
push {r4, r5, r6, lr}
adds r5, r0, #0
movs r0, #0x13
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
cmp r6, #0
beq _080389E6
+4 -4
View File
@@ -142,7 +142,7 @@ _08039390:
adds r0, r5, #0
movs r1, #0x10
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _080393DC
@@ -258,7 +258,7 @@ sub_08039470: @ 0x08039470
bne _08039494
movs r1, #0x10
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _0803949C
@@ -1007,7 +1007,7 @@ sub_08039A20: @ 0x08039A20
adds r4, r0, #0
movs r1, #2
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _08039A44
@@ -1107,7 +1107,7 @@ sub_08039AD4: @ 0x08039AD4
ldrb r2, [r4, #0xb]
adds r0, r4, #0
movs r1, #0x10
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _08039B20
+1 -1
View File
@@ -1451,7 +1451,7 @@ sub_08042FD8: @ 0x08042FD8
cmp r0, #0
beq _08043018
movs r0, #0x20
bl sub_080A7EE0
bl CreateProjectile
adds r4, r0, #0
cmp r4, #0
beq _08043046
+2 -2
View File
@@ -812,7 +812,7 @@ _0803D6C8:
ldrb r2, [r5]
adds r0, r4, #0
movs r1, #0x1a
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _0803D6EE
@@ -1041,7 +1041,7 @@ _0803D870:
adds r0, r5, #0
movs r1, #0x18
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r4, r0, #0
cmp r4, #0
beq _0803D8EE
+5 -5
View File
@@ -906,7 +906,7 @@ _0803FE34:
ldrb r2, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x1f
bl sub_0804A98C
bl CreateProjectileWithParent
_0803FE46:
ldrb r0, [r4, #0xf]
cmp r0, #0
@@ -1015,7 +1015,7 @@ _0803FEFC:
ldrb r2, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x1f
bl sub_0804A98C
bl CreateProjectileWithParent
_0803FF14:
ldrb r0, [r4, #0xe]
cmp r0, #5
@@ -1033,7 +1033,7 @@ _0803FF24:
adds r0, r4, #0
movs r1, #0x1f
movs r2, #2
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _0803FF74
@@ -1137,7 +1137,7 @@ _0803FFE4:
ldrb r2, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x1f
bl sub_0804A98C
bl CreateProjectileWithParent
_0803FFFC:
ldrb r0, [r4, #0xe]
cmp r0, #5
@@ -1155,7 +1155,7 @@ _0804000C:
adds r0, r4, #0
movs r1, #0x1f
movs r2, #2
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _08040062
+1 -1
View File
@@ -2160,7 +2160,7 @@ sub_080422C0: @ 0x080422C0
cmp r0, r4
bne _08042306
movs r0, #0x21
bl sub_080A7EE0
bl CreateProjectile
cmp r0, #0
beq _08042354
mov r1, r8
+2 -2
View File
@@ -98,7 +98,7 @@ sub_0802FBB8: @ 0x0802FBB8
adds r0, r4, #0
movs r1, #8
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _0802FBF6
@@ -248,7 +248,7 @@ _0802FCDE:
adds r0, r4, #0
movs r1, #8
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _0802FDCA
+2 -2
View File
@@ -125,7 +125,7 @@ sub_0802FE90: @ 0x0802FE90
adds r0, r4, #0
movs r1, #9
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _0802FECE
@@ -275,7 +275,7 @@ _0802FFB6:
adds r0, r4, #0
movs r1, #9
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _080300A2
+3 -3
View File
@@ -151,7 +151,7 @@ _0802F5B8:
adds r0, r4, #0
movs r1, #7
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _0802F5D0
@@ -300,7 +300,7 @@ _0802F6B6:
adds r0, r4, #0
movs r1, #7
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _0802F7A2
@@ -493,7 +493,7 @@ _0802F84C:
adds r0, r4, #0
movs r1, #7
movs r2, #1
bl sub_0804A98C
bl CreateProjectileWithParent
adds r5, r0, #0
cmp r5, #0
beq _0802F884
+3 -3
View File
@@ -80,7 +80,7 @@ extern u32 sub_08049FA0(Entity*);
extern u32 sub_08049FDC(Entity*, u32);
extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
extern u32 sub_08049EE4(Entity*);
extern Entity* sub_0804A98C(Entity*, u8, u8);
extern Entity* CreateProjectileWithParent(Entity*, u8, u8);
extern u32 GetBottleContaining(u32);
extern void sub_08077E54(ItemBehavior*);
extern void sub_080042BA(Entity*, u32);
@@ -206,7 +206,7 @@ extern void sub_0802F45C(Entity*);
extern u32 sub_0800419C(Entity*, Entity*, u32, u32);
extern void sub_08004542(Entity*);
extern void sub_08077B20();
extern u32 sub_080040A8(Entity*);
extern bool32 sub_080040A8(Entity*);
extern u32 sub_08017850(Entity*);
extern void sub_080809D4(void);
extern void sub_08080CB4(Entity*);
@@ -227,7 +227,7 @@ extern u32 sub_0805F7A0(u32);
extern u32* sub_0805F25C(u32);
extern u32 sub_080045DA(s32, s32);
u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern Entity* sub_080A7EE0(u32);
extern Entity* CreateProjectile(u32);
extern void sub_080A1D70(Entity*, u32);
extern void sub_0806F62C(Entity*, u32, u32);
extern void sub_080A1ED0(u32, u32, u32);
+2 -2
View File
@@ -277,8 +277,8 @@ SECTIONS {
. = 0x00005D90; IntrMain = .;
. = 0x00005E60; gUnk_03005E60 = .;
. = 0x00005E98; gUnk_03005E98 = .;
. = 0x00005F24; _EntUpdate = .;
. = 0x00005F40; gUnk_03005F40 = .;
. = 0x00005F24; _ClearAndUpdateEntities = .;
. = 0x00005F40; _UpdateEntities = .;
. = 0x00005FBC; gUnk_03005FBC = .;
. = 0x00005FF0; gUnk_03005FF0 = .;
. = 0x000060F0; gUnk_030060F0 = .;
+1 -1
View File
@@ -138,7 +138,7 @@ void sub_08028A74(Entity* this) {
unk = 1;
sub_080290FC(this);
if (this->frames.all & 1) {
Entity* ent = sub_0804A98C(this, 4, 0);
Entity* ent = CreateProjectileWithParent(this, 4, 0);
if (ent != NULL) {
ent->parent = this;
ent->direction = this->direction;
+5 -5
View File
@@ -224,7 +224,7 @@ void sub_08020F48(Entity* this) {
this->action = 14;
sub_08021218(this, 13, uVar2 >> 3);
pEVar3 = sub_0804A98C(this, 0, 1);
pEVar3 = CreateProjectileWithParent(this, 0, 1);
if (pEVar3) {
pEVar3->parent = this;
this->attachedEntity = pEVar3;
@@ -270,7 +270,7 @@ void sub_08021010(Entity* this) {
void sub_08021038(Entity* this) {
if (this->attachedEntity == NULL && this->frames.all) {
Entity* pEVar2 = (Entity*)sub_0804A98C(this, 0, 0);
Entity* pEVar2 = (Entity*)CreateProjectileWithParent(this, 0, 0);
if (pEVar2) {
pEVar2->parent = this;
this->attachedEntity = pEVar2;
@@ -309,7 +309,7 @@ void sub_080210E4(Entity* this) {
Entity* ent;
this->frames.all &= ~1;
ent = sub_0804A98C(this, 0, 2);
ent = CreateProjectileWithParent(this, 0, 2);
if (ent) {
ent->parent = this;
this->attachedEntity = ent;
@@ -569,7 +569,7 @@ void sub_0802159C(Entity* this) {
this->frames.all = 0;
this->damageType = 0x51;
ent = sub_0804A98C(this, 0, 3);
ent = CreateProjectileWithParent(this, 0, 3);
if (ent) {
ent->parent = this;
this->attachedEntity = ent;
@@ -590,7 +590,7 @@ void sub_08021600(Entity* this) {
this->frames.all = 0;
this->damageType = 0x51;
ent = sub_0804A98C(this, 0, 4);
ent = CreateProjectileWithParent(this, 0, 4);
if (ent) {
ent->parent = this;
this->attachedEntity = ent;
+1 -1
View File
@@ -36,7 +36,7 @@ void sub_0803EB44(Entity* this) {
Entity* pEVar1;
sub_0804A720(this);
pEVar1 = sub_0804A98C(this, 0x19, 0);
pEVar1 = CreateProjectileWithParent(this, 0x19, 0);
if (pEVar1 != NULL) {
pEVar1->parent = this;
this->attachedEntity = pEVar1;
+3 -3
View File
@@ -109,7 +109,7 @@ void GyorgMale(Entity* this) {
}
void sub_08046898(Entity* this) {
Entity* tmp = sub_080A7EE0(0x22);
Entity* tmp = CreateProjectile(0x22);
u32 tmp2;
if (!tmp)
return;
@@ -402,7 +402,7 @@ void sub_08046EF4(Entity* this) {
if ((--this->field_0xf & 0xFF) == 0) {
Entity* tmp;
this->field_0xf = (Random() & 0x38) + 0x78;
tmp = sub_080A7EE0(0x23);
tmp = CreateProjectile(0x23);
if (tmp) {
tmp->collisionLayer = 2;
tmp->parent = this;
@@ -426,7 +426,7 @@ void sub_08046F64(Entity* this) {
if (--this->field_0x7c.HALF.HI == 0) {
Entity* tmp;
this->field_0x7c.HALF.HI = 0x78;
tmp = sub_080A7EE0(0x23);
tmp = CreateProjectile(0x23);
if (tmp) {
tmp->collisionLayer = 2;
tmp->parent = this;
+1 -1
View File
@@ -232,7 +232,7 @@ void sub_08032794(Entity* this) {
void sub_080327C8(Entity* this) {
Entity* child;
child = sub_0804A98C(this, 11, 0);
child = CreateProjectileWithParent(this, 11, 0);
if (child != NULL) {
child->parent = this;
this->attachedEntity = child;
+2 -2
View File
@@ -117,7 +117,7 @@ void sub_0803C86C(Entity* this) {
}
void Lakitu_Initialize(Entity* this) {
Entity* cloud = sub_0804A98C(this, 17, 0);
Entity* cloud = CreateProjectileWithParent(this, 17, 0);
if (cloud == NULL) {
return;
}
@@ -303,7 +303,7 @@ void Lakitu_SpawnLightning(Entity* this) {
Entity* lightning;
const OffsetCoords* offset;
lightning = sub_0804A98C(this, 18, 0);
lightning = CreateProjectileWithParent(this, 18, 0);
if (lightning == NULL) {
return;
+1 -1
View File
@@ -779,7 +779,7 @@ NONMATCH("asm/non_matching/mazaal/sub_08034B38.inc", void sub_08034B38(Entity* t
this->action = 3;
InitializeAnimation(this, this->type + 3);
} else {
target = sub_080A7EE0(0xe);
target = CreateProjectile(0xe);
if (target != NULL) {
target->type -= 2;
if (target->type == 0) {
+1 -1
View File
@@ -126,7 +126,7 @@ void Octorok_Move(Entity* this) {
void Octorok_ShootNut(Entity* this) {
GetNextFrame(this);
if (this->frames.all & 1) {
Entity* ent = sub_0804A98C(this, 1, 0);
Entity* ent = CreateProjectileWithParent(this, 1, 0);
if (ent) {
const s8* off;
ent->direction = this->direction;
+3 -3
View File
@@ -170,7 +170,7 @@ void sub_080240B8(Entity* this) {
Entity* ent;
this->field_0x82.HALF.HI = 0;
ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI);
ent = CreateProjectileWithParent(this, 6, this->field_0x82.HALF.HI);
if (ent) {
this->attachedEntity = ent;
ent->parent = this;
@@ -413,7 +413,7 @@ void sub_080244E8(Entity* this) {
this->height.HALF.HI -= 0xe;
this->field_0x78.HWORD -= 0xe;
ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI);
ent = CreateProjectileWithParent(this, 6, this->field_0x82.HALF.HI);
if (ent) {
ent->parent = this;
ent->height.HALF.HI += 0xe;
@@ -436,7 +436,7 @@ void sub_080244E8(Entity* this) {
this->height.HALF.HI -= 0xe;
this->field_0x78.HWORD -= 0xe;
ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI);
ent = CreateProjectileWithParent(this, 6, this->field_0x82.HALF.HI);
if (ent) {
ent->parent = this;
ent->height.HALF.HI += 0xe;
+1 -1
View File
@@ -94,7 +94,7 @@ void sub_08028314(Entity* this) {
sub_08028604(this);
}
pEVar2 = sub_080A7EE0(3);
pEVar2 = CreateProjectile(3);
if (pEVar2 != NULL) {
pEVar2->parent = this;
this->attachedEntity = pEVar2;
+2 -2
View File
@@ -185,7 +185,7 @@ void sub_08044868(Entity* this) {
if (*(u8*)&vaati->field_0x86 > 1) {
u8 draw = this->spriteSettings.b.draw;
if (draw == 1 && this->cutsceneBeh.HALF.LO == 0) {
vaati = sub_0804A98C(this, 0x18, 0);
vaati = CreateProjectileWithParent(this, 0x18, 0);
if (vaati) {
vaati->type2 = 1;
vaati->parent = this;
@@ -275,7 +275,7 @@ void sub_080449F8(Entity* this) {
this->field_0x74.HALF.LO++;
draw = this->spriteSettings.b.draw;
if (draw) {
vaati = sub_0804A98C(this, 0x1c, 0);
vaati = CreateProjectileWithParent(this, 0x1c, 0);
if (vaati) {
vaati->y.HALF.HI += 4;
vaati->parent = this;
+2 -2
View File
@@ -48,11 +48,11 @@ typedef struct {
extern struct_03003DD0 gUnk_03003DD0;
extern u32 _call_via_r0(u32*);
extern u32 _EntUpdate;
extern u32 _ClearAndUpdateEntities;
void DeleteThisEntity(void) {
DeleteEntityAny(gUnk_03003DD0.field_0x8);
_call_via_r0((u32*)&_EntUpdate);
_call_via_r0((u32*)&_ClearAndUpdateEntities);
}
void DeleteManager(OtherEntity*);
+1 -1
View File
@@ -64,7 +64,7 @@ void sub_08063D44(Entity* this) {
sub_0806EE04(this, gUnk_0810F6BC[this->type], 0);
switch (this->type) {
case 0 ... 3:
ent = sub_080A7EE0(0xc);
ent = CreateProjectile(0xc);
ent->parent = this;
ent->field_0xf = 0x3c;
break;
+3 -5
View File
@@ -91,7 +91,8 @@ void sub_080AA534(Entity* this) {
UpdateSpriteForCollisionLayer(this);
}
NONMATCH("asm/non_matching/projectile14/sub_080AA544.inc", void sub_080AA544(Entity* this)) {
void sub_080AA544(Entity* this) {
u8* pbVar1;
s32 iVar2;
u32 uVar3;
@@ -125,9 +126,7 @@ NONMATCH("asm/non_matching/projectile14/sub_080AA544.inc", void sub_080AA544(Ent
SetFlag((u16)this->speed);
} else {
sub_0807B7D8(gUnk_08129FE4[this->type2],
param -
// TODO this array access is wrong
*((s8*)gUnk_08129FE4 + this->type2),
param - tmp[this->type2],
this->collisionLayer);
}
} else {
@@ -135,7 +134,6 @@ NONMATCH("asm/non_matching/projectile14/sub_080AA544.inc", void sub_080AA544(Ent
SetFlag((u16)this->speed);
}
}
END_NONMATCH
void sub_080AA654(Entity* this, u32 param) {
EntityData* entityData;
+1 -1
View File
@@ -101,7 +101,7 @@ void sub_080AADBC(Entity* this) {
this->direction = GetFacingDirection(this, &gPlayerEntity);
this->field_0x86.HALF.LO = 0;
this->cutsceneBeh.HWORD = 300;
entity = sub_080A7EE0(0x18);
entity = CreateProjectile(0x18);
if (entity != NULL) {
entity->type = 1;
entity->type2 = this->type2;
+4 -4
View File
@@ -35,7 +35,7 @@ void sub_080AB074(Entity* this) {
this->height.HALF.HI += (s8)parent->field_0x7c.BYTES.byte3;
if (parent->field_0x7a.HALF.HI != 0) {
parent = sub_080A7EE0(0x19);
parent = CreateProjectile(0x19);
if (parent != NULL) {
parent->type = 4;
CopyPositionAndSpriteOffset(this, parent);
@@ -49,13 +49,13 @@ bool32 sub_080AB12C(Entity* this) {
if (gEntCount > 0x44) {
return FALSE;
}
entity = sub_080A7EE0(0x19);
entity = CreateProjectile(0x19);
entity->type = 1;
entity->parent = this;
entity = sub_080A7EE0(0x19);
entity = CreateProjectile(0x19);
entity->type = 2;
entity->parent = this;
entity = sub_080A7EE0(0x19);
entity = CreateProjectile(0x19);
entity->type = 3;
entity->parent = this;
return TRUE;
+19 -3
View File
@@ -15,6 +15,8 @@ extern void sub_080043A8(Entity*);
extern void CreateItemOnGround(Entity*);
extern void CreateChestSpawner(Entity*);
extern u32 sub_080177A0(Entity*, Entity*);
void Projectile1B(Entity* this) {
gUnk_0812A58C[GetNextFunction(this)](this);
}
@@ -63,8 +65,6 @@ void sub_080AB5C4(Entity* this) {
}
bool32 sub_080AB5F4(Entity* this) {
u32 uVar1;
switch (sub_080043E8(this)) {
case 1:
CreateItemOnGround(this);
@@ -79,4 +79,20 @@ bool32 sub_080AB5F4(Entity* this) {
return FALSE;
}
ASM_FUNC("asm/non_matching/projectile1B/sub_080AB634.inc", bool32 sub_080AB634(Entity* this))
bool32 sub_080AB634(Entity* this) {
Entity** entities = ((Entity**)&this->parent->field_0x20);
u32 i;
for (i = 0; i <= 3; ++i) {
if(entities[i] != NULL && (sub_080177A0(this, entities[i]) != 0)) {
if (entities[i]->action < 3) {
entities[i]->action = 3;
entities[i]->actionDelay = 0x1e;
entities[i]->spriteSettings.b.draw = 0;
CreateFx(entities[i], 0x45, 0);
}
DeleteEntity(this);
return TRUE;
}
}
return FALSE;
}
+1 -1
View File
@@ -59,7 +59,7 @@ ASM_FUNC("asm/non_matching/projectile1C/sub_080AB758.inc", void sub_080AB758(Ent
void sub_080AB844(Entity* this, s32 param_1, s32 param_2) {
Entity* entity;
entity = sub_080A7EE0(0x1c);
entity = CreateProjectile(0x1c);
if (entity != NULL) {
entity->type = 1;
entity->actionDelay = param_1;
+1 -1
View File
@@ -25,7 +25,7 @@ void sub_080AB8E8(Entity* this) {
}
InitializeAnimation(this, 0);
if (this->type < 4) {
entity = sub_080A7EE0(0x1d);
entity = CreateProjectile(0x1d);
entity->type = this->type + 1;
entity->parent = this->parent;
entity->attachedEntity = this;
+6 -6
View File
@@ -139,20 +139,20 @@ NONMATCH("asm/non_matching/projectile22/sub_080AC5E4.inc", bool32 sub_080AC5E4(E
return 0;
}
this->field_0x78.HALF.HI = 0x11;
entity = sub_080A7EE0(0x22);
entity = CreateProjectile(0x22);
entity->type = this->type;
entity->type2 = 1;
entity->parent = this->parent;
entity->field_0x78.HALF.HI = 0x12;
this->attachedEntity = entity;
entity2 = sub_080A7EE0(0x22);
entity2 = CreateProjectile(0x22);
entity2->type = this->type;
entity2->type2 = 2;
entity2->parent = this->parent;
entity2->field_0x78.HALF.HI = 0x14;
uVar3 = entity2->field_0x78.HALF.HI;
entity->attachedEntity = entity2;
entity3 = sub_080A7EE0(0x22);
entity3 = CreateProjectile(0x22);
entity3->type = this->type;
entity3->type2 = 3;
entity3->parent = this->parent;
@@ -164,14 +164,14 @@ NONMATCH("asm/non_matching/projectile22/sub_080AC5E4.inc", bool32 sub_080AC5E4(E
return 0;
}
this->field_0x78.HALF.HI = 0xf;
entity = sub_080A7EE0(0x22);
entity = CreateProjectile(0x22);
entity->type = this->type;
entity->type2 = 1;
entity->parent = this->parent;
entity->field_0x78.HALF.HI = 0x10;
uVar3 = entity->field_0x78.HALF.HI;
this->attachedEntity = entity;
entity2 = sub_080A7EE0(0x22);
entity2 = CreateProjectile(0x22);
entity2->type = this->type;
entity2->type2 = 2;
entity2->parent = this->parent;
@@ -179,7 +179,7 @@ NONMATCH("asm/non_matching/projectile22/sub_080AC5E4.inc", bool32 sub_080AC5E4(E
entity2->field_0x78.HALF.HI = 0x20;
entity->attachedEntity = entity2;
}
entity4 = sub_080A7EE0(0x22);
entity4 = CreateProjectile(0x22);
entity4->type = this->type;
entity4->type2 = 4;
entity4->parent = this->parent;
+1 -1
View File
@@ -31,7 +31,7 @@ void ProjectileC(Entity* this) {
} else {
if (sub_080644C8(this) != 0) {
if (((this->actionDelay++) & 3) == 0) {
entity = sub_080A7EE0(0xc);
entity = CreateProjectile(0xc);
if (entity != NULL) {
entity->type = 1;
tmp = this->parent->field_0x3e;
+1 -1
View File
@@ -133,7 +133,7 @@ void sub_080A976C(Entity* this) {
return;
}
for (index = 0; index < 3; ++index) {
this->attachedEntity = sub_0804A98C(this, 0xf, 1);
this->attachedEntity = CreateProjectileWithParent(this, 0xf, 1);
if (this->attachedEntity != NULL) {
this->attachedEntity->parent = this->parent;
this->attachedEntity->direction = this->direction + gUnk_08129ADC[index];