decompile sub_805AAB0

This commit is contained in:
YamaArashi
2017-01-20 20:27:57 -08:00
parent 7de88d6258
commit c2fa3b27f9
2 changed files with 15 additions and 94 deletions
-79
View File
@@ -6,85 +6,6 @@
.text
thumb_func_start sub_805AAB0
sub_805AAB0: @ 805AAB0
push {r4-r6,lr}
mov r6, r10
mov r5, r9
mov r4, r8
push {r4-r6}
ldr r0, _0805AB4C @ =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x54]
mov r9, r0
movs r1, 0
movs r2, 0
movs r3, 0x1F
bl CreateSpriteAtEnd
lsls r0, 24
lsrs r0, 24
ldr r1, _0805AB50 @ =gSprites
mov r10, r1
lsls r4, r0, 4
adds r4, r0
lsls r4, 2
add r4, r10
ldrb r1, [r4, 0x1]
movs r5, 0x4
negs r5, r5
adds r0, r5, 0
ands r0, r1
movs r1, 0x1
mov r8, r1
mov r1, r8
orrs r0, r1
strb r0, [r4, 0x1]
adds r0, r4, 0
bl InitSpriteAffineAnim
adds r0, r4, 0
movs r1, 0
bl StartSpriteAffineAnim
adds r4, 0x3E
ldrb r0, [r4]
movs r6, 0x4
orrs r0, r6
strb r0, [r4]
mov r0, r9
movs r1, 0
movs r2, 0
movs r3, 0x1F
bl CreateSpriteAtEnd
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 4
adds r4, r0
lsls r4, 2
add r4, r10
ldrb r0, [r4, 0x1]
ands r5, r0
mov r0, r8
orrs r5, r0
strb r5, [r4, 0x1]
adds r0, r4, 0
bl InitSpriteAffineAnim
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAffineAnim
adds r4, 0x3E
ldrb r0, [r4]
orrs r0, r6
strb r0, [r4]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0805AB4C: .4byte gFieldEffectObjectTemplatePointers
_0805AB50: .4byte gSprites
thumb_func_end sub_805AAB0
thumb_func_start sub_805AB54
sub_805AB54: @ 805AB54
push {lr}
+15 -15
View File
@@ -20,7 +20,7 @@ void npc_clear_ids_and_state(struct MapObject *mapObj)
void npcs_clear_ids_and_state(void)
{
u8 i;
for(i = 0; i < 16; i++)
npc_clear_ids_and_state(&gMapObjects[i]);
}
@@ -33,21 +33,21 @@ void sub_805AA98(void)
sub_805AAB0();
}
/*void sub_805AAB0(void)
void sub_805AAB0(void)
{
u8 spriteVar1;
u8 spriteVar2;
spriteVar1 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F);
u8 spriteId;
gSprites[spriteVar1].oam.affineMode = 1;
InitSpriteAffineAnim(&gSprites[spriteVar1]);
StartSpriteAffineAnim(&gSprites[spriteVar1], 0);
spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F);
spriteVar2 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F);
gSprites[spriteId].oam.affineMode = 1;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
gSprites[spriteId].invisible = 1;
gSprites[spriteVar2].oam.affineMode = 4;
InitSpriteAffineAnim(&gSprites[spriteVar2]);
StartSpriteAffineAnim(&gSprites[spriteVar2], 1);
gSprites[spriteVar2].coordOffsetEnabled = 1;
}*/
spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F);
gSprites[spriteId].oam.affineMode = 1;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 1);
gSprites[spriteId].invisible = 1;
}