#include "global.h" #include "sprite.h" extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36]; extern void strange_npc_table_clear(void); extern void ClearPlayerAvatarInfo(void); void sub_805AAB0(void); void npc_clear_ids_and_state(struct MapObject *mapObj) { memset(mapObj, 0, sizeof(struct MapObject)); mapObj->localId = 0xFF; mapObj->mapNum = 0xFF; mapObj->mapGroup = 0xFF; mapObj->mapobj_unk_1C = 0xFF; } void npcs_clear_ids_and_state(void) { u8 i; for (i = 0; i < 16; i++) npc_clear_ids_and_state(&gMapObjects[i]); } void sub_805AA98(void) { strange_npc_table_clear(); npcs_clear_ids_and_state(); ClearPlayerAvatarInfo(); sub_805AAB0(); } void sub_805AAB0(void) { 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; }