diff options
author | Thomas Winwood <twwinwood@gmail.com> | 2018-06-22 14:29:43 +0100 |
---|---|---|
committer | Thomas Winwood <twwinwood@gmail.com> | 2018-06-22 14:29:43 +0100 |
commit | f9ea9e4fafb8b975bb3708fd2059c93f6d4d96f0 (patch) | |
tree | c03add1ed3d7f8d98de0d7259779823564c6902e /src/ghost.c | |
parent | d291ac9053837459191a55a8a48d4537d831648b (diff) |
Decompile sub_80DE1B0
Diffstat (limited to 'src/ghost.c')
-rw-r--r-- | src/ghost.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/ghost.c b/src/ghost.c index 16f4241c0..0c547a43f 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -17,6 +17,7 @@ void sub_80DDE7C(u8 taskId); void sub_80DDED0(u8 taskId); void sub_80DDFE8(struct Sprite *); void sub_80DE114(struct Sprite *); +void sub_80DE2DC(u8 taskId); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -342,4 +343,34 @@ void sub_80DE114(struct Sprite *sprite) { "\tpop {r0}\n" "\tbx r0\n"); } -#endif
\ No newline at end of file +#endif + +void sub_80DE1B0(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1); + if (task->data[0] < 0) { + DestroyAnimVisualTask(taskId); + return; + } + task->data[1] = 0; + task->data[2] = 15; + task->data[3] = 2; + task->data[4] = 0; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; + gSprites[task->data[0]].data[0] = 80; + if (GetBattlerSide(gAnimBankTarget) == 0) { + gSprites[task->data[0]].data[1] = 0xff70; + gSprites[task->data[0]].data[2] = 0x70; + } else { + gSprites[task->data[0]].data[1] = 0x90; + gSprites[task->data[0]].data[2] = 0xff90; + } + gSprites[task->data[0]].data[3] = 0; + gSprites[task->data[0]].data[4] = 0; + StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); + gSprites[task->data[0]].callback = &sub_8078394; + task->func = &sub_80DE2DC; +}
\ No newline at end of file |