diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-29 02:39:41 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-31 07:58:07 +0800 |
commit | 935f93a0752604f1375c79e6225baa6774b60280 (patch) | |
tree | e4f35d322490ef19b6481e58327732faea810ff4 /include | |
parent | 37be39117ad0a02f67fbba2b5329dadbb87f2c6d (diff) |
ported battle_gfx_sfx_util from pokeem
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 20 | ||||
-rw-r--r-- | include/battle_2.h | 1 | ||||
-rw-r--r-- | include/battle_anim.h | 3 | ||||
-rw-r--r-- | include/battle_controllers.h | 1 | ||||
-rw-r--r-- | include/battle_gfx_sfx_util.h | 63 | ||||
-rw-r--r-- | include/battle_interface.h | 12 | ||||
-rw-r--r-- | include/data2.h | 15 | ||||
-rw-r--r-- | include/graphics.h | 16 | ||||
-rw-r--r-- | include/party_menu.h | 1 | ||||
-rw-r--r-- | include/pokemon.h | 3 |
10 files changed, 88 insertions, 47 deletions
diff --git a/include/battle.h b/include/battle.h index b1284fd6c..1a8fa0201 100644 --- a/include/battle.h +++ b/include/battle.h @@ -863,9 +863,9 @@ struct BattleAnimationInfo struct BattleHealthboxInfo { - u8 flag_x1 : 1; - u8 flag_x2 : 1; - u8 flag_x4 : 1; + u8 partyStatusSummaryShown : 1; + u8 healthboxIsBouncing : 1; + u8 battlerIsBouncing : 1; u8 ballAnimActive : 1; // 0x8 u8 statusAnimActive : 1; // x10 u8 animFromTableActive : 1; // x20 @@ -876,11 +876,11 @@ struct BattleHealthboxInfo u8 field_1_x20 : 1; u8 field_1_x40 : 1; u8 field_1_x80 : 1; - u8 field_2; - u8 field_3; + u8 healthboxBounceSpriteId; + u8 battlerBounceSpriteId; u8 animationState; u8 field_5; - u8 field_6; + u8 matrixNum; u8 shadowSpriteId; u8 field_8; u8 field_9; @@ -894,12 +894,12 @@ struct BattleBarInfo s32 maxValue; s32 currentValue; s32 receivedValue; - s32 field_10; + s32 currValue; }; struct BattleSpriteData { - struct BattleSpriteInfo *bankData; + struct BattleSpriteInfo *battlerData; struct BattleHealthboxInfo *healthBoxesData; struct BattleAnimationInfo *animationData; struct BattleBarInfo *battleBars; @@ -949,6 +949,10 @@ extern u8 gPotentialItemEffectBattler; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern s32 gBattleMoveDamage; +extern u16 gIntroSlideFlags; +extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT]; +extern u8 gBattlerPositions[MAX_BATTLERS_COUNT]; +extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; extern u8 gBattleOutcome; extern u8 gBattleMonForms[MAX_BATTLERS_COUNT]; diff --git a/include/battle_2.h b/include/battle_2.h index 02050afd9..72fcb0e11 100644 --- a/include/battle_2.h +++ b/include/battle_2.h @@ -46,6 +46,7 @@ void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 bank); void sub_800FD9C(void); void sub_80120C4(struct Sprite *); +void sub_8012100(struct Sprite *); extern const u8 gStatusConditionString_PoisonJpn[8]; extern const u8 gStatusConditionString_SleepJpn[8]; diff --git a/include/battle_anim.h b/include/battle_anim.h index 0406c78a0..fb744c316 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -126,7 +126,7 @@ u8 sub_80A6D94(void); u8 sub_80A8364(u8); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); -u8 GetBankSpriteDefault_Y(u8 bank); +u8 GetBattlerSpriteDefault_Y(u8 bank); u8 sub_80A82E4(u8 bank); u8 GetSubstituteSpriteDefault_Y(u8 bank); @@ -147,6 +147,7 @@ void ResetSpriteRotScale(u8 spriteId); void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); bool8 IsContest(void); void sub_80759DC(u8 spriteId); +bool8 IsBattlerSpritePresent(u8 battlerId); // battle_anim_mon_movement.c void AnimTask_ShakeMon(u8 taskId); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index df00c3526..577bce485 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -242,7 +242,6 @@ void EmitCmd55(u8 bufferId, u8 arg1); // player controller void SetControllerToPlayer(void); -void nullsub_21(void); void PlayerHandleGetRawMonData(void); void sub_80587B0(void); void sub_805CC00(struct Sprite *sprite); diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 313a29811..39cea7ad1 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -1,50 +1,45 @@ -#ifndef GUARD_BATTLE_GFX_SFX_UTIL -#define GUARD_BATTLE_GFX_SFX_UTIL +#ifndef GUARD_BATTLE_GFX_SFX_UTIL_H +#define GUARD_BATTLE_GFX_SFX_UTIL_H void AllocateBattleSpritesData(void); void FreeBattleSpritesData(void); -u16 ChooseMoveAndTargetInBattlePalace(void); -void sub_805D714(struct Sprite *sprite); -void sub_805D770(struct Sprite *sprite, bool8 arg1); -void sub_805D7AC(struct Sprite *sprite); +void sub_8033E3C(struct Sprite *sprite); +void sub_8033EEC(struct Sprite *sprite); void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); -bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument); -void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId); bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); -bool8 mplay_80342A4(u8 bank); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); -void nullsub_23(void); -void nullsub_24(u16 species); -void DecompressTrainerFrontPic(u16 frontPicId, u8 bank); -void DecompressTrainerBackPic(u16 backPicId, u8 bank); -void nullsub_25(u8 arg0); -void FreeTrainerFrontPicPalette(u16 frontPicId); -void sub_805DFFC(void); +bool8 mplay_80342A4(u8 battlerId); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +void DecompressGhostFrontPic(u16 frontPicId, u8 battlerId); +void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); +void sub_8034750(u16 a1, u8 a2); +void nullsub_16(u8 a1); +void FreeTrainerFrontPicPaletteAndTile(u16 frontPicId); bool8 BattleLoadAllHealthBoxesGfx(u8 state); void LoadBattleBarGfx(u8 arg0); -bool8 BattleInitAllSprites(u8 *state1, u8 *bank); +bool8 BattleInitAllSprites(u8 *state, u8 *battlerId); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); -void CopyBattleSpriteInvisibility(u8 bank); -void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform); -void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite); -void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId); -void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move); -void ClearBehindSubstituteBit(u8 bank); -void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank); +void CopyBattleSpriteInvisibility(u8 battlerId); +void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform); +void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); +void ClearBehindSubstituteBit(u8 battlerId); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); void BattleStopLowHpSound(void); -u8 GetMonHPBarLevel(struct Pokemon *mon); -void sub_805EAE8(void); -void sub_805EB9C(u8 affineMode); +void HandleBattleLowHpMusicChange(void); +void sub_8035450(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); -void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); -void EnemyShadowCallbackToSetInvisible(u8 bank); -void sub_805EF14(void); -void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute); +void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); +void HideBattlerShadowSprite(u8 battlerId); +void sub_80357C8(void); +void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon); -#endif // GUARD_BATTLE_GFX_SFX_UTIL +#endif // GUARD_BATTLE_GFX_SFX_UTIL_H diff --git a/include/battle_interface.h b/include/battle_interface.h index 27f93a3c2..bdcb4d80e 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -30,12 +30,18 @@ enum #define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 #define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702 +#define TAG_HEALTHBAR_PLAYER1_TILE 0xD704 +#define TAG_HEALTHBAR_OPPONENT1_TILE 0xD705 +#define TAG_HEALTHBAR_PLAYER2_TILE 0xD706 +#define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707 + #define TAG_HEALTHBOX_SAFARI_TILE 0xD70B #define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C #define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 #define TAG_HEALTHBOX_PAL 0xD6FF +#define TAG_HEALTHBAR_PAL 0xD704 #define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 #define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 @@ -55,7 +61,7 @@ enum HEALTHBOX_SAFARI_BALLS_TEXT }; -u8 CreateBankHealthboxSprites(u8 bank); +u8 CreateBattlerHealthboxSprites(u8 bank); u8 CreateSafariPlayerHealthboxSprites(void); void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); @@ -63,7 +69,7 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); -void SetBankHealthboxSpritePos(u8 bank); +void InitBattlerHealthboxCoords(u8 bank); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); void SwapHpBarsWithHpText(void); u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); @@ -72,5 +78,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); u8 GetHPBarLevel(s16 hp, s16 maxhp); +void sub_80496C0(u8 spriteId, struct Pokemon *mon); +void sub_804981C(u8 spriteId, u8); #endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/data2.h b/include/data2.h index 3ce3c33c8..421695f18 100644 --- a/include/data2.h +++ b/include/data2.h @@ -2,6 +2,7 @@ #define GUARD_DATA2_H #include "global.h" +#include "constants/species.h" struct MonCoords { @@ -23,8 +24,22 @@ extern const u16 gUnknown_8251FEE[]; extern const u16 gUnknown_8252324[]; extern const u16 gUnknown_82539D4[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const struct CompressedSpriteSheet gMonBackPicTable[]; extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const struct CompressedSpritePalette gUnknown_8239FD4[]; + +extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; +extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; + +extern const u8 gEnemyMonElevation[NUM_SPECIES]; + +extern const u8 *const gBattleAnims_General[]; +extern const u8 *const gBattleAnims_Special[]; + extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; diff --git a/include/graphics.h b/include/graphics.h index e8503609e..6f9d8b762 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -961,4 +961,20 @@ extern const u8 gFile_graphics_items_icon_palettes_sapphire_palette[]; extern const u8 gFile_graphics_items_icons_return_to_field_arrow_sheet[]; extern const u8 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[]; +extern const u32 gHealthboxSinglesPlayerGfx[]; +extern const u32 gHealthboxSinglesOpponentGfx[]; +extern const u32 gHealthboxDoublesPlayerGfx[]; +extern const u32 gHealthboxDoublesOpponentGfx[]; +extern const u32 gHealthboxSafariGfx[]; +extern const u32 gBlankGfxCompressed[]; +extern const u16 gBattleInterface_BallStatusBarPal[]; +extern const u16 gBattleInterface_BallDisplayPal[]; +extern const u32 gFile_graphics_interface_hp_numbers[]; + +extern const u32 gGhostFrontPic[]; +extern const u32 gGhostPalette[]; +extern const u32 gSubstituteDollGfx[]; +extern const u32 gSubstituteDollTilemap[]; +extern const u16 gSubstituteDollPal[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/party_menu.h b/include/party_menu.h index e4fc182e9..2ae33175c 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -62,5 +62,6 @@ void sub_81279E0(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc); u8 GetItemEffectType(u16 itemId); u8 pokemon_order_func(u8); +void sub_8127CAC(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index 9dd5850b4..d2eefd390 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -539,6 +539,7 @@ extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; extern const u16 *const gLevelUpLearnsets[]; extern const u8 gFacilityClassToPicIndex[]; extern const u8 gFacilityClassToTrainerClass[]; +extern const struct SpriteTemplate gUnknown_825DEF0[]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); @@ -640,7 +641,7 @@ void ClearBattleMonForms(void); void PlayBattleBGM(void); void PlayMapChosenOrBattleBGM(u16 songId); const u32 *GetMonFrontSpritePal(struct Pokemon *mon); -const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality); +const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality); const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon); const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality); bool32 IsHMMove2(u16 move); |