pokemon animation is decompiled

This commit is contained in:
DizzyEggg 2018-01-29 12:36:56 +01:00
parent 16c46905ff
commit ed546d680f
8 changed files with 1507 additions and 2462 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_0860ADCC:: @ 860ADCC
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00
gUnknown_0860AE1C:: @ 860AE1C
.byte 0x00, 0x05, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00
gUnknown_0860AE54:: @ 860AE54
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00
.align 2
gUnknown_0860AE7C:: @ 860AE7C
.4byte gUnknown_0860ADCC
.4byte gUnknown_0860AE1C
.4byte gUnknown_0860AE54
.align 1
gUnknown_0860AE88:: @ 860AE88
.2byte 0x001f, 0x03e0, 0x7c00, 0x0000

View File

@ -1,7 +1,10 @@
#ifndef GUARD_POKEMON_ANIMATION_H #ifndef GUARD_POKEMON_ANIMATION_H
#define GUARD_POKEMON_ANIMATION_H #define GUARD_POKEMON_ANIMATION_H
u8 GetSpeciesBackAnimSet(u16 species);
void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId); void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId);
void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimId); void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId);
void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet);
void SetSpriteCB_MonAnimDummy(struct Sprite *sprite);
#endif // GUARD_POKEMON_ANIMATION_H #endif // GUARD_POKEMON_ANIMATION_H

View File

@ -241,7 +241,6 @@ SECTIONS {
src/fldeff_teleport.o(.text); src/fldeff_teleport.o(.text);
asm/battle_link_817C95C.o(.text); asm/battle_link_817C95C.o(.text);
src/pokemon_animation.o(.text); src/pokemon_animation.o(.text);
asm/pokemon_animation.o(.text);
src/recorded_battle.o(.text); src/recorded_battle.o(.text);
src/battle_controller_recorded_opponent.o(.text); src/battle_controller_recorded_opponent.o(.text);
src/battle_controller_recorded_player.o(.text); src/battle_controller_recorded_player.o(.text);
@ -516,7 +515,6 @@ SECTIONS {
src/bard_music.o(.rodata); src/bard_music.o(.rodata);
data/battle_link_817C95C.o(.rodata); data/battle_link_817C95C.o(.rodata);
src/pokemon_animation.o(.rodata); src/pokemon_animation.o(.rodata);
data/pokemon_animation.o(.rodata);
src/battle_controller_recorded_opponent.o(.rodata); src/battle_controller_recorded_opponent.o(.rodata);
src/battle_controller_recorded_player.o(.rodata); src/battle_controller_recorded_player.o(.rodata);
src/battle_dome_cards.o(.rodata); src/battle_dome_cards.o(.rodata);

View File

@ -25,6 +25,7 @@
#include "random.h" #include "random.h"
#include "event_data.h" #include "event_data.h"
#include "overworld.h" #include "overworld.h"
#include "new_menu_helpers.h"
struct HallofFameMon struct HallofFameMon
{ {
@ -53,7 +54,6 @@ static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL;
extern bool8 gHasHallOfFameRecords; extern bool8 gHasHallOfFameRecords;
extern u32 gUnknown_0203BCD4; extern u32 gUnknown_0203BCD4;
extern u8 gDecompressionBuffer[];
extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern MainCallback gGameContinueCallback; extern MainCallback gGameContinueCallback;
extern u32 gDamagedSaveSectors; extern u32 gDamagedSaveSectors;
@ -82,7 +82,6 @@ extern const u8 gContestConfetti_Gfx[];
extern const u8 gContestConfetti_Pal[]; extern const u8 gContestConfetti_Pal[];
extern void sub_81973C4(u8, u8); extern void sub_81973C4(u8, u8);
extern u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
extern void sub_8175620(void); extern void sub_8175620(void);
extern u8 TrySavingData(u8); extern u8 TrySavingData(u8);
extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16);

View File

@ -74,8 +74,6 @@ extern u8 GetFrontierOpponentClass(u16 trainerId);
extern u8 pokemon_order_func(u8 bankPartyId); extern u8 pokemon_order_func(u8 bankPartyId);
extern void GetFrontierTrainerName(u8* dest, u16 trainerId); extern void GetFrontierTrainerName(u8* dest, u16 trainerId);
extern void sub_81C488C(u8); extern void sub_81C488C(u8);
extern void sub_817F578(struct Sprite*, u8 frontAnimId);
extern u8 GetSpeciesBackAnimId(u16 species);
static void sub_806E6CC(u8 taskId); static void sub_806E6CC(u8 taskId);
@ -1508,7 +1506,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId)
{ {
if (--gTasks[taskId].data[3] == 0) if (--gTasks[taskId].data[3] == 0)
{ {
sub_817F578(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]);
sub_81C488C(0xFF); sub_81C488C(0xFF);
DestroyTask(taskId); DestroyTask(taskId);
} }
@ -1523,7 +1521,6 @@ void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u
} }
extern void SpriteCallbackDummy_2(struct Sprite*); extern void SpriteCallbackDummy_2(struct Sprite*);
extern void sub_817F60C(struct Sprite*);
void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3) void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3)
{ {
@ -1580,11 +1577,11 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF
gTasks[taskId].data[2] = gMonFrontAnimIdsTable[species - 1]; gTasks[taskId].data[2] = gMonFrontAnimIdsTable[species - 1];
gTasks[taskId].data[3] = gMonAnimationDelayTable[species - 1]; gTasks[taskId].data[3] = gMonAnimationDelayTable[species - 1];
sub_81C488C(taskId); sub_81C488C(taskId);
sub_817F60C(sprite); SetSpriteCB_MonAnimDummy(sprite);
} }
else else
{ {
sub_817F578(sprite, gMonFrontAnimIdsTable[species - 1]); StartMonSummaryAnimation(sprite, gMonFrontAnimIdsTable[species - 1]);
} }
} }
@ -1603,7 +1600,7 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species)
} }
else else
{ {
LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimId(species)); LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimSet(species));
sprite->callback = SpriteCallbackDummy_2; sprite->callback = SpriteCallbackDummy_2;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -74,15 +74,7 @@ gUnknown_03001204: @ 3001204
.space 0x4 .space 0x4
.include "src/battle_transition.o" .include "src/battle_transition.o"
.include "src/pokemon_animation.o"
gUnknown_03001240: @ 3001240
.space 0x30
gUnknown_03001270: @ 3001270
.space 0x4
gUnknown_03001274: @ 3001274
.space 0x4
gUnknown_03001278: @ 3001278 gUnknown_03001278: @ 3001278
.space 0x1 .space 0x1