mirror of https://github.com/zeldaret/tmc.git
Merge pull request #605 from nonmatch/patch-73
This commit is contained in:
commit
89b87b967b
|
@ -1,134 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xa]
|
||||
cmp r4, #0
|
||||
bne _080AC668
|
||||
ldr r0, _080AC664 @ =gEntCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x43
|
||||
bhi _080AC670
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x79
|
||||
movs r0, #0x11
|
||||
strb r0, [r1]
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r6, #0xa]
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xb]
|
||||
ldr r0, [r5, #0x50]
|
||||
str r0, [r6, #0x50]
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x79
|
||||
movs r0, #0x12
|
||||
strb r0, [r1]
|
||||
str r6, [r5, #0x54]
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
adds r7, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r7, #0xa]
|
||||
movs r0, #2
|
||||
strb r0, [r7, #0xb]
|
||||
ldr r0, [r5, #0x50]
|
||||
str r0, [r7, #0x50]
|
||||
adds r0, r7, #0
|
||||
adds r0, #0x79
|
||||
movs r1, #0x14
|
||||
mov r8, r1
|
||||
mov r1, r8
|
||||
strb r1, [r0]
|
||||
str r7, [r6, #0x54]
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
ldrb r1, [r5, #0xa]
|
||||
strb r1, [r0, #0xa]
|
||||
movs r1, #3
|
||||
strb r1, [r0, #0xb]
|
||||
ldr r1, [r5, #0x50]
|
||||
str r1, [r0, #0x50]
|
||||
str r4, [r0, #0x54]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x79
|
||||
strb r4, [r1]
|
||||
str r0, [r7, #0x54]
|
||||
b _080AC6C8
|
||||
.align 2, 0
|
||||
_080AC664: .4byte gEntCount
|
||||
_080AC668:
|
||||
ldr r0, _080AC674 @ =gEntCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x44
|
||||
bls _080AC678
|
||||
_080AC670:
|
||||
movs r0, #0
|
||||
b _080AC6E8
|
||||
.align 2, 0
|
||||
_080AC674: .4byte gEntCount
|
||||
_080AC678:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x79
|
||||
movs r0, #0
|
||||
mov sb, r0
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r6, #0xa]
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xb]
|
||||
ldr r0, [r5, #0x50]
|
||||
str r0, [r6, #0x50]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x79
|
||||
movs r1, #0x10
|
||||
mov r8, r1
|
||||
mov r1, r8
|
||||
strb r1, [r0]
|
||||
str r6, [r5, #0x54]
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
adds r7, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r7, #0xa]
|
||||
movs r0, #2
|
||||
strb r0, [r7, #0xb]
|
||||
ldr r0, [r5, #0x50]
|
||||
str r0, [r7, #0x50]
|
||||
mov r0, sb
|
||||
str r0, [r7, #0x54]
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x79
|
||||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
str r7, [r6, #0x54]
|
||||
_080AC6C8:
|
||||
movs r0, #0x22
|
||||
bl CreateProjectile
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r6, #0xa]
|
||||
movs r0, #4
|
||||
strb r0, [r6, #0xb]
|
||||
ldr r0, [r5, #0x50]
|
||||
str r0, [r6, #0x50]
|
||||
str r5, [r6, #0x54]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x79
|
||||
mov r1, r8
|
||||
strb r1, [r0]
|
||||
movs r0, #1
|
||||
_080AC6E8:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
|
@ -169,70 +169,76 @@ void sub_080AC560(Entity* this) {
|
|||
this->y.WORD = entity->y.WORD - gSineTable[entity->direction + 0x40] * factor;
|
||||
}
|
||||
|
||||
NONMATCH("asm/non_matching/gyorgTail/sub_080AC5E4.inc", bool32 sub_080AC5E4(Entity* this)) {
|
||||
bool32 sub_080AC5E4(Entity* this) {
|
||||
// TODO regalloc
|
||||
Entity* entity;
|
||||
Entity* new_var2;
|
||||
Entity* entity2;
|
||||
Entity* entity3;
|
||||
Entity* entity4;
|
||||
u8 uVar3;
|
||||
|
||||
if (this->type == 0) {
|
||||
if (0x43 < gEntCount) {
|
||||
if (gEntCount > 0x43) {
|
||||
return FALSE;
|
||||
}
|
||||
this->field_0x78.HALF.HI = 0x11;
|
||||
entity = CreateProjectile(0x22);
|
||||
entity = CreateProjectile(GYORG_TAIL);
|
||||
entity->type = this->type;
|
||||
entity->type2 = 1;
|
||||
entity->parent = this->parent;
|
||||
entity->field_0x78.HALF.HI = 0x12;
|
||||
this->child = entity;
|
||||
entity2 = CreateProjectile(0x22);
|
||||
|
||||
entity2 = CreateProjectile(GYORG_TAIL);
|
||||
entity2->type = this->type;
|
||||
entity2->type2 = 2;
|
||||
entity2->parent = this->parent;
|
||||
entity2->field_0x78.HALF.HI = 0x14;
|
||||
uVar3 = entity2->field_0x78.HALF.HI;
|
||||
entity2->field_0x78.HALF.HI = uVar3;
|
||||
entity->child = entity2;
|
||||
entity3 = CreateProjectile(0x22);
|
||||
|
||||
entity3 = CreateProjectile(GYORG_TAIL);
|
||||
entity3->type = this->type;
|
||||
entity3->type2 = 3;
|
||||
entity3->parent = this->parent;
|
||||
entity3->child = NULL;
|
||||
entity3->field_0x78.HALF.HI = 0;
|
||||
entity2->child = entity3;
|
||||
|
||||
entity = CreateProjectile(GYORG_TAIL);
|
||||
entity->type = this->type;
|
||||
entity->type2 = 4;
|
||||
entity->parent = this->parent;
|
||||
entity->child = this;
|
||||
entity->field_0x78.HALF.HI = 0x14;
|
||||
} else {
|
||||
if (0x44 < gEntCount) {
|
||||
if (gEntCount > 0x44) {
|
||||
return FALSE;
|
||||
}
|
||||
this->field_0x78.HALF.HI = 0xf;
|
||||
entity = CreateProjectile(0x22);
|
||||
entity = CreateProjectile(GYORG_TAIL);
|
||||
entity->type = this->type;
|
||||
entity->type2 = 1;
|
||||
entity->parent = this->parent;
|
||||
entity->field_0x78.HALF.HI = 0x10;
|
||||
uVar3 = entity->field_0x78.HALF.HI;
|
||||
entity->field_0x78.HALF.HI = uVar3;
|
||||
this->child = entity;
|
||||
entity2 = CreateProjectile(0x22);
|
||||
|
||||
entity2 = CreateProjectile(GYORG_TAIL);
|
||||
entity2->type = this->type;
|
||||
entity2->type2 = 2;
|
||||
entity2->parent = this->parent;
|
||||
entity2->child = NULL;
|
||||
entity2->field_0x78.HALF.HI = 0x20;
|
||||
entity->child = entity2;
|
||||
}
|
||||
entity = CreateProjectile(0x22);
|
||||
|
||||
entity = CreateProjectile(GYORG_TAIL);
|
||||
entity->type = this->type;
|
||||
entity->type2 = 4;
|
||||
entity->parent = this->parent;
|
||||
entity->child = this;
|
||||
entity->field_0x78.HALF.HI = uVar3;
|
||||
entity->field_0x78.HALF.HI = 0x10;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
void sub_080AC6F0(Entity* this) {
|
||||
static const u8 gUnk_0812A9C0[] = { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
|
||||
|
|
Loading…
Reference in New Issue