diff options
author | YamaArashi <shadow962@live.com> | 2017-01-20 20:27:57 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2017-01-20 20:27:57 -0800 |
commit | c2fa3b27f9025934e0b59d7908f5b5ecd97c19e4 (patch) | |
tree | c1a6a5760caedf8fdff06147909586c406308472 | |
parent | 7de88d62586fd5fcb2c93b78e26f3fa99b73ecc4 (diff) |
decompile sub_805AAB0
-rw-r--r-- | asm/field_map_obj.s | 79 | ||||
-rw-r--r-- | src/field_map_obj.c | 36 |
2 files changed, 18 insertions, 97 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 17c2406cf..ae61cd100 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -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} diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 60c512709..32d34d54d 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -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); - - gSprites[spriteVar1].oam.affineMode = 1; - InitSpriteAffineAnim(&gSprites[spriteVar1]); - StartSpriteAffineAnim(&gSprites[spriteVar1], 0); - - spriteVar2 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); - - gSprites[spriteVar2].oam.affineMode = 4; - InitSpriteAffineAnim(&gSprites[spriteVar2]); - StartSpriteAffineAnim(&gSprites[spriteVar2], 1); - gSprites[spriteVar2].coordOffsetEnabled = 1; -}*/ + u8 spriteId; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); + + gSprites[spriteId].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 0); + gSprites[spriteId].invisible = 1; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); + + gSprites[spriteId].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 1); + gSprites[spriteId].invisible = 1; +} |