diff options
Diffstat (limited to 'src/ghost.c')
-rw-r--r-- | src/ghost.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ghost.c b/src/ghost.c index 6c3f11f61..042707bfb 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -45,4 +45,32 @@ void sub_80DDBD8(struct Sprite *sprite) { if (r0 <= 0) return; PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); +} + +void sub_80DDC4C(struct Sprite *sprite) +{ + s16 r2; + s16 r0; + sprite->data[0] = 1; + TranslateAnimSpriteByDeltas(sprite); + sprite->pos2.x += Sin(sprite->data[5],10); + sprite->pos2.y += Cos(sprite->data[5],15); + + r2 = sprite->data[5]; + sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + r0 = sprite->data[5]; + + if(r2 == 0 || r2 > 0xC4) + { + if(r0 > 0) + PlaySE(0xC4); + } + + if(sprite->data[6] == 0) + { + sprite->invisible = TRUE; + sprite->callback = sub_807861C; + } + else + sub_80DDCC8(sprite); }
\ No newline at end of file |