Merge branch 'master' into clone-union
This commit is contained in:
+3
-3
@@ -30,7 +30,7 @@
|
||||
&& !(gDisableStructs[battler].mimickedMoves & gBitTable[moveSlot]))
|
||||
|
||||
#define TRAINER_OPPONENT_3FE 0x3FE
|
||||
#define TRAINER_OPPONENT_C00 0xC00
|
||||
#define TRAINER_UNION_ROOM 0xC00
|
||||
#define TRAINER_LINK_OPPONENT 0x800
|
||||
#define SECRET_BASE_OPPONENT 0x400
|
||||
|
||||
@@ -402,8 +402,8 @@ struct BattleStruct
|
||||
u8 runTries;
|
||||
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1];
|
||||
u8 field_78; // unused
|
||||
u8 safariGoNearCounter;
|
||||
u8 safariPkblThrowCounter;
|
||||
u8 safariRockThrowCounter;
|
||||
u8 safariBaitThrowCounter;
|
||||
u8 safariEscapeFactor;
|
||||
u8 safariCatchFactor;
|
||||
u8 linkBattleVsSpriteId_V;
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
AI_ITEM_FULL_RESTORE = 1,
|
||||
AI_ITEM_HEAL_HP,
|
||||
AI_ITEM_CURE_CONDITION,
|
||||
@@ -13,6 +12,15 @@ enum
|
||||
AI_ITEM_NOT_RECOGNIZABLE
|
||||
};
|
||||
|
||||
enum {
|
||||
AI_HEAL_CONFUSION,
|
||||
AI_HEAL_PARALYSIS,
|
||||
AI_HEAL_FREEZE,
|
||||
AI_HEAL_BURN,
|
||||
AI_HEAL_POISON,
|
||||
AI_HEAL_SLEEP,
|
||||
};
|
||||
|
||||
void AI_TrySwitchOrUseItem(void);
|
||||
u8 GetMostSuitableMonToSwitchInto(void);
|
||||
|
||||
|
||||
+74
-364
@@ -17,6 +17,36 @@ enum
|
||||
BG_ANIM_SCREEN_BASE_BLOCK
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BATTLER_COORD_X,
|
||||
BATTLER_COORD_Y,
|
||||
BATTLER_COORD_X_2,
|
||||
BATTLER_COORD_Y_PIC_OFFSET,
|
||||
BATTLER_COORD_Y_PIC_OFFSET_DEFAULT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BATTLER_COORD_ATTR_HEIGHT,
|
||||
BATTLER_COORD_ATTR_WIDTH,
|
||||
BATTLER_COORD_ATTR_TOP,
|
||||
BATTLER_COORD_ATTR_BOTTOM,
|
||||
BATTLER_COORD_ATTR_LEFT,
|
||||
BATTLER_COORD_ATTR_RIGHT,
|
||||
BATTLER_COORD_ATTR_RAW_BOTTOM,
|
||||
};
|
||||
|
||||
// battle_anim_status_effects.s
|
||||
#define STAT_ANIM_PLUS1 15
|
||||
#define STAT_ANIM_PLUS2 39
|
||||
#define STAT_ANIM_MINUS1 22
|
||||
#define STAT_ANIM_MINUS2 46
|
||||
#define STAT_ANIM_MULTIPLE_PLUS1 55
|
||||
#define STAT_ANIM_MULTIPLE_PLUS2 56
|
||||
#define STAT_ANIM_MULTIPLE_MINUS1 57
|
||||
#define STAT_ANIM_MULTIPLE_MINUS2 58
|
||||
|
||||
struct BattleAnimBgData
|
||||
{
|
||||
u8 *bgTiles;
|
||||
@@ -60,9 +90,8 @@ extern u8 gBattleAnimTarget;
|
||||
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
|
||||
extern s32 gAnimMoveDmg;
|
||||
extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
|
||||
extern u8 gUnknown_2037F24;
|
||||
extern u8 gAnimCustomPanning;
|
||||
|
||||
// battle_anim.c
|
||||
extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
|
||||
extern const struct OamData gOamData_AffineOff_ObjNormal_16x16;
|
||||
extern const struct OamData gOamData_AffineOff_ObjNormal_32x32;
|
||||
@@ -135,8 +164,27 @@ extern const struct OamData gOamData_AffineDouble_ObjBlend_8x16;
|
||||
extern const struct OamData gOamData_AffineDouble_ObjBlend_8x32;
|
||||
extern const struct OamData gOamData_AffineDouble_ObjBlend_16x32;
|
||||
extern const struct OamData gOamData_AffineDouble_ObjBlend_32x64;
|
||||
extern const struct MonCoords gCastformFrontSpriteCoords[];
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gWishStarSpriteTemplate;
|
||||
extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
|
||||
extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Bite[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Droplet[];
|
||||
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
|
||||
extern const union AnimCmd *const gAnims_SmallBubblePair[];
|
||||
extern const union AnimCmd *const gAnims_BasicFire[];
|
||||
extern const union AnimCmd *const gAnims_WaterMudOrb[];
|
||||
extern const union AnimCmd *const gAnims_WaterBubble[];
|
||||
extern const union AnimCmd *const gMusicNotesAnimTable[];
|
||||
extern const u8 *const gBattleAnims_StatusConditions[];
|
||||
extern const u8 *const gBattleAnims_Moves[];
|
||||
extern const u16 gMovesWithQuietBGM[];
|
||||
|
||||
void MoveBattlerSpriteToBG(u8 battlerId, u8);
|
||||
void ResetBattleAnimBg(u8);
|
||||
void ClearBattleAnimationVars(void);
|
||||
@@ -152,209 +200,19 @@ s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
bool8 IsBattlerSpriteVisible(u8 battlerId);
|
||||
s16 KeepPanInRange(s16 a, s32 oldPan);
|
||||
void RelocateBattleBgPal(u16 paletteNum, u16 *dest, s32 offset, u8 largeScreen);
|
||||
|
||||
// battle_intro.c
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||
s32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
void HandleIntroSlide(u8 terrain);
|
||||
void BattleIntroSlideEnd(u8 taskId);
|
||||
void CopyBattlerSpriteToBg(s32 bgId, u8 x, u8 y, u8 battlerPosition, u8 palno, u8 *tilesDest, u16 *tilemapDest, u16 tilesOffset);
|
||||
|
||||
// battle_anim_effects_1.c
|
||||
extern const union AnimCmd *const gMusicNotesAnimTable[];
|
||||
extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
|
||||
void AnimMovePowderParticle(struct Sprite *);
|
||||
void AnimPowerAbsorptionOrb(struct Sprite *);
|
||||
void AnimSolarBeamBigOrb(struct Sprite *);
|
||||
void AnimSolarBeamSmallOrb(struct Sprite *);
|
||||
void AnimAbsorptionOrb(struct Sprite *);
|
||||
void AnimHyperBeamOrb(struct Sprite *);
|
||||
void AnimSporeParticle(struct Sprite *);
|
||||
void AnimPetalDanceBigFlower(struct Sprite *);
|
||||
void AnimPetalDanceSmallFlower(struct Sprite *);
|
||||
void AnimRazorLeafParticle(struct Sprite *);
|
||||
void AnimLeechSeed(struct Sprite *);
|
||||
void AnimTranslateLinearSingleSineWave(struct Sprite *);
|
||||
void AnimMoveTwisterParticle(struct Sprite *);
|
||||
void AnimConstrictBinding(struct Sprite *);
|
||||
void AnimMimicOrb(struct Sprite *);
|
||||
void AnimIngrainRoot(struct Sprite *);
|
||||
void AnimFrenzyPlantRoot(struct Sprite *);
|
||||
void AnimIngrainOrb(struct Sprite *);
|
||||
void AnimPresent(struct Sprite *);
|
||||
void AnimKnockOffItem(struct Sprite *);
|
||||
void AnimPresentHealParticle(struct Sprite *);
|
||||
void AnimItemSteal(struct Sprite *);
|
||||
void AnimTrickBag(struct Sprite *);
|
||||
void AnimFlyingParticle(struct Sprite *);
|
||||
void AnimNeedleArmSpike(struct Sprite *);
|
||||
void AnimSlidingHit(struct Sprite *);
|
||||
void AnimWhipHit(struct Sprite *);
|
||||
void AnimFlickeringPunch(struct Sprite *);
|
||||
void AnimCuttingSlice(struct Sprite *);
|
||||
void AnimAirCutterSlice(struct Sprite *);
|
||||
void AnimCirclingMusicNote(struct Sprite *);
|
||||
void AnimProtect(struct Sprite *);
|
||||
void AnimMilkBottle(struct Sprite *);
|
||||
void AnimGrantingStars(struct Sprite *);
|
||||
void AnimSparkingStars(struct Sprite *);
|
||||
void AnimBubbleBurst(struct Sprite *);
|
||||
void AnimSleepLetterZ(struct Sprite *);
|
||||
void AnimLockOnTarget(struct Sprite *);
|
||||
void AnimLockOnMoveTarget(struct Sprite *);
|
||||
void AnimBowMon(struct Sprite *);
|
||||
void AnimTipMon(struct Sprite *);
|
||||
void AnimSlashSlice(struct Sprite *);
|
||||
void AnimFalseSwipeSlice(struct Sprite *);
|
||||
void AnimFalseSwipePositionedSlice(struct Sprite *);
|
||||
void AnimEndureEnergy(struct Sprite *);
|
||||
void AnimSharpenSphere(struct Sprite *);
|
||||
void AnimConversion(struct Sprite *);
|
||||
void AnimConversion2(struct Sprite *);
|
||||
void AnimMoon(struct Sprite *);
|
||||
void AnimMoonlightSparkle(struct Sprite *);
|
||||
void AnimHornHit(struct Sprite *);
|
||||
void AnimSuperFang(struct Sprite *);
|
||||
void AnimWavyMusicNotes(struct Sprite *);
|
||||
void AnimFlyingMusicNotes(struct Sprite *);
|
||||
void AnimBellyDrumHand(struct Sprite *);
|
||||
void AnimSlowFlyingMusicNotes(struct Sprite *);
|
||||
void AnimThoughtBubble(struct Sprite *);
|
||||
void AnimMetronomeFinger(struct Sprite *);
|
||||
void AnimFollowMeFinger(struct Sprite *);
|
||||
void AnimTauntFinger(struct Sprite *);
|
||||
void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite);
|
||||
void AnimTask_ShrinkTargetCopy(u8 taskId);
|
||||
|
||||
// battle_anim_effects_2.c
|
||||
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
|
||||
void AnimCirclingFinger(struct Sprite *);
|
||||
void AnimBouncingMusicNote(struct Sprite *);
|
||||
void AnimVibrateBattlerBack(struct Sprite *);
|
||||
void AnimMovingClamp(struct Sprite *);
|
||||
void Anim_KinesisZapEnergy(struct Sprite *);
|
||||
void Anim_SwordsDanceBlade(struct Sprite *);
|
||||
void AnimSonicBoomProjectile(struct Sprite *);
|
||||
void AnimAirWaveProjectile(struct Sprite *);
|
||||
void AnimVoidLines(struct Sprite *);
|
||||
void AnimCoinThrow(struct Sprite *);
|
||||
void AnimFallingCoin(struct Sprite *);
|
||||
void AnimBulletSeed(struct Sprite *);
|
||||
void AnimRazorWindTornado(struct Sprite *);
|
||||
void AnimViceGripPincer(struct Sprite *);
|
||||
void AnimGuillotinePincer(struct Sprite *);
|
||||
void AnimBreathPuff(struct Sprite *);
|
||||
void AnimAngerMark(struct Sprite *);
|
||||
void AnimPencil(struct Sprite *);
|
||||
void AnimBlendThinRing(struct Sprite *);
|
||||
void AnimHyperVoiceRing(struct Sprite *);
|
||||
void AnimUproarRing(struct Sprite *);
|
||||
void AnimSoftBoiledEgg(struct Sprite *);
|
||||
void AnimSpeedDust(struct Sprite *);
|
||||
void AnimHealBellMusicNote(struct Sprite *);
|
||||
void AnimMagentaHeart(struct Sprite *);
|
||||
void AnimRedHeartProjectile(struct Sprite *);
|
||||
void AnimParticuleBurst(struct Sprite *);
|
||||
void AnimRedHeartRising(struct Sprite *);
|
||||
void AnimOrbitFast(struct Sprite *);
|
||||
void AnimOrbitScatter(struct Sprite *);
|
||||
void AnimSpitUpOrb(struct Sprite *);
|
||||
void AnimEyeSparkle(struct Sprite *);
|
||||
void AnimAngel(struct Sprite *);
|
||||
void AnimPinkHeart(struct Sprite *);
|
||||
void AnimDevil(struct Sprite *);
|
||||
void AnimFurySwipes(struct Sprite *);
|
||||
void AnimMovementWaves(struct Sprite *);
|
||||
void AnimJaggedMusicNote(struct Sprite *);
|
||||
void AnimPerishSongMusicNote2(struct Sprite *);
|
||||
void AnimPerishSongMusicNote(struct Sprite *);
|
||||
void AnimGuardRing(struct Sprite *);
|
||||
|
||||
// battle_anim_effects_3.c
|
||||
extern const struct SpriteTemplate gWishStarSpriteTemplate;
|
||||
extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
|
||||
void AnimBlackSmoke(struct Sprite *);
|
||||
void AnimWhiteHalo(struct Sprite *);
|
||||
void AnimTealAlert(struct Sprite *);
|
||||
void AnimMeanLookEye(struct Sprite *);
|
||||
void AnimSpikes(struct Sprite *);
|
||||
void AnimLeer(struct Sprite *);
|
||||
void AnimLetterZ(struct Sprite *);
|
||||
void AnimFang(struct Sprite *);
|
||||
void AnimSpotlight(struct Sprite *);
|
||||
void AnimClappingHand(struct Sprite *);
|
||||
void AnimClappingHand2(struct Sprite *);
|
||||
void AnimRapidSpin(struct Sprite *);
|
||||
void AnimTriAttackTriangle(struct Sprite *);
|
||||
void AnimBatonPassPokeball(struct Sprite *);
|
||||
void AnimWishStar(struct Sprite *);
|
||||
void AnimMiniTwinklingStar(struct Sprite *);
|
||||
void AnimSwallowBlueOrb(struct Sprite *);
|
||||
void AnimGreenStar(struct Sprite *);
|
||||
void AnimWeakFrustrationAngerMark(struct Sprite *);
|
||||
void AnimSweetScentPetal(struct Sprite *);
|
||||
void AnimPainSplitProjectile(struct Sprite *);
|
||||
void AnimFlatterConfetti(struct Sprite *);
|
||||
void AnimFlatterSpotlight(struct Sprite *);
|
||||
void AnimReversalOrb(struct Sprite *);
|
||||
void AnimYawnCloud(struct Sprite *);
|
||||
void AnimSmokeBallEscapeCloud(struct Sprite *);
|
||||
void AnimFacadeSweatDrop(struct Sprite *);
|
||||
void AnimRoarNoiseLine(struct Sprite *);
|
||||
void AnimGlareEyeDot(struct Sprite *);
|
||||
void AnimAssistPawprint(struct Sprite *);
|
||||
void AnimSmellingSaltsHand(struct Sprite *);
|
||||
void AnimSmellingSaltExclamation(struct Sprite *);
|
||||
void AnimHelpingHandClap(struct Sprite *);
|
||||
void AnimForesightMagnifyingGlass(struct Sprite *);
|
||||
void AnimMeteorMashStar(struct Sprite *);
|
||||
void AnimBlockX(struct Sprite *);
|
||||
void AnimUnusedItemBagSteal(struct Sprite *);
|
||||
void AnimParticuleBurst(struct Sprite *);
|
||||
void AnimKnockOffStrike(struct Sprite *);
|
||||
void AnimRecycle(struct Sprite *);
|
||||
|
||||
// battle_anim_special.c
|
||||
void TryShinyAnimation(u8 battler, struct Pokemon *mon);
|
||||
u8 ItemIdToBallId(u16 itemId);
|
||||
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId);
|
||||
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId);
|
||||
void DoLoadHealthboxPalsForLevelUp(u8 *, u8 *, u8 battlerId);
|
||||
void DoFreeHealthboxPalsForLevelUp(u8 batterId);
|
||||
|
||||
enum
|
||||
{
|
||||
BATTLER_COORD_X,
|
||||
BATTLER_COORD_Y,
|
||||
BATTLER_COORD_X_2,
|
||||
BATTLER_COORD_Y_PIC_OFFSET,
|
||||
BATTLER_COORD_Y_PIC_OFFSET_DEFAULT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BATTLER_COORD_ATTR_HEIGHT,
|
||||
BATTLER_COORD_ATTR_WIDTH,
|
||||
BATTLER_COORD_ATTR_TOP,
|
||||
BATTLER_COORD_ATTR_BOTTOM,
|
||||
BATTLER_COORD_ATTR_LEFT,
|
||||
BATTLER_COORD_ATTR_RIGHT,
|
||||
BATTLER_COORD_ATTR_RAW_BOTTOM,
|
||||
};
|
||||
|
||||
// battle_anim_status_effects.s
|
||||
#define STAT_ANIM_PLUS1 15
|
||||
#define STAT_ANIM_PLUS2 39
|
||||
#define STAT_ANIM_MINUS1 22
|
||||
#define STAT_ANIM_MINUS2 46
|
||||
#define STAT_ANIM_MULTIPLE_PLUS1 55
|
||||
#define STAT_ANIM_MULTIPLE_PLUS2 56
|
||||
#define STAT_ANIM_MULTIPLE_MINUS1 57
|
||||
#define STAT_ANIM_MULTIPLE_MINUS2 58
|
||||
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
|
||||
|
||||
// battle_anim_mons.c
|
||||
extern const struct MonCoords gCastformFrontSpriteCoords[];
|
||||
u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType);
|
||||
u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType);
|
||||
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
|
||||
@@ -363,15 +221,15 @@ u8 GetGhostSpriteDefault_Y(u8 battlerId);
|
||||
u8 GetBattlerYCoordWithElevation(u8 battlerId);
|
||||
u8 GetAnimBattlerSpriteId(u8 animBattler);
|
||||
void StoreSpriteCallbackInData6(struct Sprite *sprite, SpriteCallback callback);
|
||||
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
|
||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite);
|
||||
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
|
||||
void TranslateSpriteInCircle(struct Sprite *sprite);
|
||||
void TranslateSpriteInGrowingCircle(struct Sprite *sprite);
|
||||
void TranslateSpriteInEllipse(struct Sprite *sprite);
|
||||
void WaitAnimForDuration(struct Sprite *sprite);
|
||||
void SetupLinearTranslationWithFixedDuration(struct Sprite *sprite);
|
||||
void ConvertPosDataToTranslateLinearData(struct Sprite *sprite);
|
||||
void TranslateSpriteLinear(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinear(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearById(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearAndFlicker(struct Sprite *sprite);
|
||||
void DestroySpriteAndMatrix(struct Sprite *sprite);
|
||||
void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite);
|
||||
@@ -400,19 +258,19 @@ void InitAnimBgTilemapBuffer(u32 bgId, const void *src);
|
||||
void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src);
|
||||
u8 GetBattleBgPaletteNum(void);
|
||||
void ToggleBg3Mode(bool8 arg0);
|
||||
void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite);
|
||||
void TradeMenuBouncePartySprites(struct Sprite *sprite);
|
||||
void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslation(struct Sprite *sprite);
|
||||
void StartAnimLinearTranslation(struct Sprite *sprite);
|
||||
void PlayerThrowBall_StartAnimLinearTranslation(struct Sprite *sprite);
|
||||
bool8 AnimTranslateLinear(struct Sprite *sprite);
|
||||
void RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite);
|
||||
void BattleAnim_InitLinearTranslationWithDuration(struct Sprite *sprite);
|
||||
void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite);
|
||||
void AnimTranslateLinear_WithFollowup(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
|
||||
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
|
||||
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void InitAndStartAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
||||
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode);
|
||||
void ResetSpriteRotScale(u8 spriteId);
|
||||
@@ -421,18 +279,15 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
|
||||
void TryResetSpriteAffineState(struct Sprite *sprite);
|
||||
u16 ArcTan2Neg(s16 a, s16 b);
|
||||
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
||||
u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
||||
u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight);
|
||||
u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
||||
u32 GetBattleMonSpritePalettesMask(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight);
|
||||
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
||||
void AnimThrowProjectile(struct Sprite *sprite);
|
||||
void AnimSnoreZ(struct Sprite *sprite);
|
||||
void AnimTravelDiagonally(struct Sprite *sprite);
|
||||
s16 CloneBattlerSpriteWithBlend(u8 animBattler);
|
||||
void obj_delete_but_dont_free_vram(struct Sprite *sprite);
|
||||
void AnimTask_AlphaFadeIn(u8 taskId);
|
||||
void AnimTask_BlendMonInAndOut(u8 task);
|
||||
void AnimTask_BlendPalInAndOutByTag(u8 taskId);
|
||||
void DestroySpriteWithActiveSheet(struct Sprite *sprite);
|
||||
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds);
|
||||
bool8 RunAffineAnimFromTaskData(struct Task *task);
|
||||
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
|
||||
@@ -441,173 +296,28 @@ void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr);
|
||||
void *LoadPointerFromVars(s16 lo, s16 hi);
|
||||
void BattleAnimHelper_SetSpriteSquashParams(struct Task *task, u8 spriteId, s16 xScale0, s16 yScale0, s16 xScale1, s16 yScale1, u16 duration);
|
||||
u8 BattleAnimHelper_RunSpriteSquash(struct Task *task);
|
||||
void AnimTask_GetFrustrationPowerLevel(u8 taskId);
|
||||
void ResetSpritePriorityOfAllVisibleBattlers(void);
|
||||
void InitPrioritiesForVisibleBattlers(void);
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||
|
||||
// Returns 2 if player left or opp right
|
||||
// Returns 1 if player right or opp left
|
||||
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 ignoreDeoxys);
|
||||
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
|
||||
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr);
|
||||
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
|
||||
u8 CreateCloneOfSpriteInWindowMode(s32 battlerId, u8 spriteId, s32 species);
|
||||
void SpriteCB_AnimTranslateSpriteLinearAndFlicker(struct Sprite *sprite);
|
||||
void SpriteCB_AnimTranslateSpriteLinearAndFlicker2(struct Sprite *sprite);
|
||||
void SpriteCB_TrackOffsetFromAttackerAndWaitAnim(struct Sprite *sprite);
|
||||
void AnimTask_AttackerPunchWithTrace(u8 taskId);
|
||||
void SpriteCB_WeatherBallUp(struct Sprite *sprite);
|
||||
u8 CreateInvisibleSpriteCopy(s32 battlerId, u8 spriteId, s32 species);
|
||||
void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite);
|
||||
void AnimTranslateLinearAndFlicker(struct Sprite *sprite);
|
||||
void AnimSpinningSparkle(struct Sprite *sprite);
|
||||
void AnimWeatherBallUp(struct Sprite *sprite);
|
||||
void AnimWeatherBallDown(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_mon_movement.c
|
||||
void AnimTask_ShakeMon(u8 taskId);
|
||||
void AnimTask_ShakeMon2(u8 taskId);
|
||||
void AnimTask_ShakeMonInPlace(u8 taskId);
|
||||
void AnimTask_ShakeAndSinkMon(u8 taskId);
|
||||
void AnimTask_TranslateMonElliptical(u8 taskId);
|
||||
void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId);
|
||||
void AnimTask_WindUpLunge(u8 taskId);
|
||||
void AnimTask_SlideOffScreen(u8 taskId);
|
||||
void AnimTask_SwayMon(u8 taskId);
|
||||
void AnimTask_ScaleMonAndRestore(u8 taskId);
|
||||
void AnimTask_RotateMonSpriteToSide(u8 taskId);
|
||||
void AnimTask_RotateMonToSideAndRestore(u8 taskId);
|
||||
void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId);
|
||||
|
||||
// normal.c
|
||||
extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
|
||||
u32 UnpackSelectedBattleAnimPalettes(s16 selector);
|
||||
void AnimTask_CurseBlendEffect(u8 taskId);
|
||||
void AnimTask_BlendColorCycleExclude(u8 taskId);
|
||||
void AnimTask_BlendColorCycleByTag(u8 taskId);
|
||||
void AnimTask_FlashAnimTagWithColor(u8 taskId);
|
||||
void AnimTask_InvertScreenColor(u8 taskId);
|
||||
void AnimTask_ShakeBattleTerrain(u8 taskId);
|
||||
|
||||
// ground.c
|
||||
void AnimTask_DigDownMovement(u8 taskId);
|
||||
void AnimTask_DigUpMovement(u8 taskId);
|
||||
void AnimParticleBurst(struct Sprite *);
|
||||
void AnimMoveTwisterParticle(struct Sprite *);
|
||||
u32 UnpackSelectedBattlePalettes(s16 selector);
|
||||
void AnimTask_HorizontalShake(u8 taskId);
|
||||
void AnimTask_IsPowerOver99(u8 taskId);
|
||||
void AnimTask_PositionFissureBgOnBattler(u8 taskId);
|
||||
|
||||
// dragon.c
|
||||
void AnimTask_DragonDanceWaver(u8 taskId);
|
||||
|
||||
// ghost.c
|
||||
void AnimTask_NightShadeClone(u8 taskId);
|
||||
void AnimTask_NightmareClone(u8 taskId);
|
||||
void AnimTask_SpiteTargetShadow(u8 taskId);
|
||||
void AnimTask_DestinyBondWhiteShadow(u8 taskId);
|
||||
void AnimTask_CurseStretchingBlackBg(u8 taskId);
|
||||
void AnimTask_GrudgeFlames(u8 taskId);
|
||||
void sub_80B6BBC(u8 taskId);
|
||||
|
||||
// rock.c
|
||||
void AnimTask_LoadSandstormBackground(u8 taskId);
|
||||
void AnimTask_Rollout(u8 taskId);
|
||||
void AnimTask_GetSeismicTossDamageLevel(u8 taskId);
|
||||
void AnimTask_MoveSeismicTossBg(u8 taskId);
|
||||
void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId);
|
||||
|
||||
// psychic.c
|
||||
void AnimTask_MeditateStretchAttacker(u8 taskId);
|
||||
void AnimTask_Teleport(u8 taskId);
|
||||
void AnimTask_ImprisonOrbs(u8 taskId);
|
||||
void AnimTask_SkillSwap(u8 taskId);
|
||||
void AnimTask_ExtrasensoryDistortion(u8 taskId);
|
||||
void AnimTask_TransparentCloneGrowAndShrink(u8 taskId);
|
||||
|
||||
// dark.c
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Bite[];
|
||||
void AnimTask_AttackerFadeToInvisible(u8 taskId);
|
||||
void AnimTask_AttackerFadeFromInvisible(u8 taskId);
|
||||
void AnimTask_InitAttackerFadeFromInvisible(u8 taskId);
|
||||
void AnimTask_MoveAttackerMementoShadow(u8 taskId);
|
||||
void AnimTask_MoveTargetMementoShadow(u8 taskId);
|
||||
void AnimTask_InitMementoShadow(u8 taskId);
|
||||
void sub_80B8664(u8 taskId);
|
||||
void AnimTask_MetallicShine(u8 taskId);
|
||||
void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId);
|
||||
void GetIsDoomDesireHitTurn(u8 taskId);
|
||||
|
||||
// flying.c
|
||||
void AnimTask_AnimateGustTornadoPalette(u8 taskId);
|
||||
void DestroyAnimSpriteAfterTimer(struct Sprite *sprite);
|
||||
void AnimTask_DrillPeckHitSplats(u8 taskId);
|
||||
|
||||
// poison.c
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Droplet[];
|
||||
|
||||
// fighting.c
|
||||
void AnimTask_MoveSkyUppercutBg(u8 taskId);
|
||||
|
||||
// ice.c
|
||||
extern const union AnimCmd *const gAnims_SmallBubblePair[];
|
||||
void AnimTask_Haze1(u8 taskId);
|
||||
void AnimTask_LoadMistTiles(u8 taskId);
|
||||
void AnimTask_Hail1(u8 taskId);
|
||||
void AnimTask_GetRolloutCounter(u8 taskId);
|
||||
|
||||
// electric.c
|
||||
void AnimTask_ElectricBolt(u8 taskId);
|
||||
void AnimTask_ElectricChargingParticles(u8 taskId);
|
||||
void AnimTask_VoltTackleAttackerReappear(u8 taskId);
|
||||
void AnimTask_VoltTackleBolt(u8 taskId);
|
||||
void AnimTask_ShockWaveProgressingBolt(u8 taskId);
|
||||
void AnimTask_ShockWaveLightning(u8 taskId);
|
||||
|
||||
// fire.c
|
||||
extern const union AnimCmd *const gAnims_BasicFire[];
|
||||
void AnimTask_EruptionLaunchRocks(u8 taskId);
|
||||
void AnimTask_ShakeTargetInPattern(u8 taskId);
|
||||
void AnimTask_BlendBackground(u8 taskId);
|
||||
void AnimTask_MoveHeatWaveTargets(u8 taskId);
|
||||
|
||||
// water.c
|
||||
extern const union AnimCmd *const gAnims_WaterMudOrb[];
|
||||
extern const union AnimCmd *const gAnims_WaterBubble[];
|
||||
void AnimWaterPulseRing(struct Sprite *sprite);
|
||||
|
||||
// smokescreen.c
|
||||
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
||||
|
||||
// battle_anim_utility_funcs.c
|
||||
void AnimTask_BlendSelected(u8 taskId);
|
||||
void AnimTask_BlendExcept(u8 taskId);
|
||||
void AnimTask_SetCamouflageBlend(u8 taskId);
|
||||
void AnimTask_BlendParticle(u8 taskId);
|
||||
void AnimTask_HardwarePaletteFade(u8 taskId);
|
||||
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId);
|
||||
void AnimTask_SetUpCurseBackground(u8 taskId);
|
||||
void InitStatsChangeAnimation(u8 taskId);
|
||||
void AnimTask_BlendNonAttackerPalettes(u8 taskId);
|
||||
void AnimTask_StartSlidingBg(u8 taskId);
|
||||
void AnimTask_GetAttackerSide(u8 taskId);
|
||||
void AnimTask_GetTargetSide(u8 taskId);
|
||||
void AnimTask_GetTargetIsAttackerPartner(u8 taskId);
|
||||
void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId);
|
||||
void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette);
|
||||
void AnimTask_GetBattleTerrain(u8 taskId);
|
||||
void AnimTask_AllocBackupPalBuffer(u8 taskId);
|
||||
void AnimTask_FreeBackupPalBuffer(u8 taskId);
|
||||
void AnimTask_CopyPalUnfadedToBackup(u8 taskId);
|
||||
void AnimTask_CopyPalUnfadedFromBackup(u8 taskId);
|
||||
void AnimTask_CopyPalFadedToUnfaded(u8 taskId);
|
||||
void AnimTask_IsContest(u8 taskId);
|
||||
void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId);
|
||||
void AnimTask_IsTargetSameSide(u8 taskId);
|
||||
void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId);
|
||||
void AnimTask_SetAnimAttackerAndTargetForEffectAtk(u8 taskId);
|
||||
void AnimTask_SetAttackerInvisibleWaitForSignal(u8 taskId);
|
||||
|
||||
// battle_anim_scripts.s
|
||||
extern const u8 *const gBattleAnims_StatusConditions[];
|
||||
extern const u16 gMovesWithQuietBGM[];
|
||||
extern const u8 *const gBattleAnims_Moves[];
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_BATTLE_MESSAGE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "constants/battle_string_ids.h"
|
||||
|
||||
// for 0xFD
|
||||
|
||||
@@ -242,11 +243,11 @@ extern const u8 gText_Ice[];
|
||||
extern const u8 gText_Confusion[];
|
||||
extern const u8 gText_Love[];
|
||||
|
||||
extern const u8 gUnknown_83FE859[];
|
||||
extern const u8 gUnknown_83FE85E[];
|
||||
extern const u8 gUnknown_83FE85C[];
|
||||
extern const u8 gUnknown_83FE860[];
|
||||
extern const u8 gUnknown_83FE864[];
|
||||
extern const u8 gText_BattleTowerBan_Space[];
|
||||
extern const u8 gText_BattleTowerBan_Newline1[];
|
||||
extern const u8 gText_BattleTowerBan_Newline2[];
|
||||
extern const u8 gText_BattleTowerBan_Is1[];
|
||||
extern const u8 gText_BattleTowerBan_Is2[];
|
||||
|
||||
extern const u8 gText_SafariBalls[];
|
||||
extern const u8 gText_HighlightRed_Left[];
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
#define GUARD_BATTLE_RECORDS_H
|
||||
|
||||
void ClearPlayerLinkBattleRecords(void);
|
||||
void TryRecordLinkBattleOutcome(s32 battlerId);
|
||||
void UpdatePlayerLinkBattleRecords(s32 battlerId);
|
||||
|
||||
#endif // GUARD_BATTLE_RECORDS_H
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#ifndef GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
|
||||
#define GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
|
||||
|
||||
enum
|
||||
{
|
||||
BPPD_MOVE_INNER_LEFT = 0,
|
||||
BPPD_MOVE_OUTER_LEFT,
|
||||
BPPD_MOVE_INNER_TOP,
|
||||
BPPD_MOVE_OUTER_TOP,
|
||||
BPPD_MOVE_INNER_X,
|
||||
BPPD_MOVE_INNER_Y
|
||||
};
|
||||
|
||||
void AllocBoxPartyPokemonDropdowns(u8 num);
|
||||
void FreeBoxPartyPokemonDropdowns(void);
|
||||
void CopyAllBoxPartyPokemonDropdownsToVram(void);
|
||||
void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void *src, u16 width, u16 height);
|
||||
void SetBoxPartyPokemonDropdownMap1Tiles(u8 idx, const void *src);
|
||||
void SetBoxPartyPokemonDropdownMap2Pos(u8 idx, u16 x, u16 y);
|
||||
void SetBoxPartyPokemonDropdownMap2Rect(u8 idx, u16 x, u16 y, u16 width, u16 height);
|
||||
void AdjustBoxPartyPokemonDropdownPos(u8 a0, u8 a1, s8 a2);
|
||||
void CopyBoxPartyPokemonDropdownToBgTilemapBuffer(u8 idx);
|
||||
|
||||
#endif //GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
|
||||
@@ -1,15 +1,8 @@
|
||||
#ifndef GUARD_CABLE_CLUB_H
|
||||
#define GUARD_CABLE_CLUB_H
|
||||
|
||||
#include "task.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout(u8 taskId);
|
||||
u8 CreateTask_ReestablishLinkInCableClubRoom(void);
|
||||
void Task_WaitForLinkPlayerConnection(u8 taskId);
|
||||
u8 CreateTask_ReestablishCableClubLink(void);
|
||||
void CB2_ReturnFromCableClubBattle(void);
|
||||
bool32 GetSeeingLinkPlayerCardMsg(u8 who);
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
#define BATTLE_RUN_FORBIDDEN 1
|
||||
#define BATTLE_RUN_FAILURE 2
|
||||
|
||||
// Window Ids for sStandardBattleWindowTemplates
|
||||
// Window Ids for sTextOnWindowsInfo_Normal
|
||||
#define B_WIN_MSG 0
|
||||
#define B_WIN_ACTION_PROMPT 1 // "What will {x} do?"
|
||||
#define B_WIN_ACTION_MENU 2 // "Fight/Pokémon/Bag/Run" menu
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
#define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227)
|
||||
#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
|
||||
#define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229)
|
||||
#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
|
||||
#define ANIM_TAG_TRI_ATTACK_TRIANGLE (ANIM_SPRITES_START + 230)
|
||||
#define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231)
|
||||
#define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232)
|
||||
#define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233)
|
||||
@@ -276,7 +276,7 @@
|
||||
#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
|
||||
#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
|
||||
#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
|
||||
#define ANIM_TAG_SAFARI_BAIT (ANIM_SPRITES_START + 269)
|
||||
#define ANIM_TAG_SAFARI_BAIT (ANIM_SPRITES_START + 269)
|
||||
#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
|
||||
#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
|
||||
#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
|
||||
@@ -318,7 +318,7 @@
|
||||
#define SOUND_PAN_TARGET 63
|
||||
|
||||
// move background ids
|
||||
#define BG_DARK_ 0 // the same as BG_DARK but is unused
|
||||
#define BG_NONE 0 // the same as BG_DARK
|
||||
#define BG_DARK 1
|
||||
#define BG_GHOST 2
|
||||
#define BG_PSYCHIC 3
|
||||
@@ -346,59 +346,62 @@
|
||||
#define BG_SOLAR_BEAM_PLAYER 25
|
||||
#define BG_SOLAR_BEAM_CONTESTS 26
|
||||
|
||||
// table ids for general animations
|
||||
#define B_ANIM_CASTFORM_CHANGE 0x0
|
||||
#define B_ANIM_STATS_CHANGE 0x1
|
||||
#define B_ANIM_SUBSTITUTE_FADE 0x2
|
||||
#define B_ANIM_SUBSTITUTE_APPEAR 0x3
|
||||
#define B_ANIM_BAIT_THROW 0x4
|
||||
#define B_ANIM_ITEM_KNOCKOFF 0x5
|
||||
#define B_ANIM_TURN_TRAP 0x6
|
||||
#define B_ANIM_HELD_ITEM_EFFECT 0x7
|
||||
#define B_ANIM_SMOKEBALL_ESCAPE 0x8
|
||||
#define B_ANIM_FOCUS_BAND 0x9
|
||||
#define B_ANIM_RAIN_CONTINUES 0xA
|
||||
#define B_ANIM_SUN_CONTINUES 0xB
|
||||
#define B_ANIM_SANDSTORM_CONTINUES 0xC
|
||||
#define B_ANIM_HAIL_CONTINUES 0xD
|
||||
#define B_ANIM_LEECH_SEED_DRAIN 0xE
|
||||
#define B_ANIM_MON_HIT 0xF
|
||||
#define B_ANIM_ITEM_STEAL 0x10
|
||||
#define B_ANIM_SNATCH_MOVE 0x11
|
||||
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
|
||||
#define B_ANIM_DOOM_DESIRE_HIT 0x13
|
||||
#define B_ANIM_FOCUS_PUNCH_SETUP 0x14
|
||||
#define B_ANIM_INGRAIN_HEAL 0x15
|
||||
#define B_ANIM_WISH_HEAL 0x16
|
||||
#define B_ANIM_MON_SCARED 0x17
|
||||
#define B_ANIM_GHOST_GET_OUT 0x18
|
||||
#define B_ANIM_SILPH_SCOPED 0x19
|
||||
#define B_ANIM_ROCK_THROW 0x1A
|
||||
#define B_ANIM_SAFARI_REACTION 0x1B
|
||||
// table ids for general animations (gBattleAnims_General)
|
||||
#define B_ANIM_CASTFORM_CHANGE 0
|
||||
#define B_ANIM_STATS_CHANGE 1
|
||||
#define B_ANIM_SUBSTITUTE_FADE 2
|
||||
#define B_ANIM_SUBSTITUTE_APPEAR 3
|
||||
#define B_ANIM_BAIT_THROW 4
|
||||
#define B_ANIM_ITEM_KNOCKOFF 5
|
||||
#define B_ANIM_TURN_TRAP 6
|
||||
#define B_ANIM_HELD_ITEM_EFFECT 7
|
||||
#define B_ANIM_SMOKEBALL_ESCAPE 8
|
||||
#define B_ANIM_FOCUS_BAND 9
|
||||
#define B_ANIM_RAIN_CONTINUES 10
|
||||
#define B_ANIM_SUN_CONTINUES 11
|
||||
#define B_ANIM_SANDSTORM_CONTINUES 12
|
||||
#define B_ANIM_HAIL_CONTINUES 13
|
||||
#define B_ANIM_LEECH_SEED_DRAIN 14
|
||||
#define B_ANIM_MON_HIT 15
|
||||
#define B_ANIM_ITEM_STEAL 16
|
||||
#define B_ANIM_SNATCH_MOVE 17
|
||||
#define B_ANIM_FUTURE_SIGHT_HIT 18
|
||||
#define B_ANIM_DOOM_DESIRE_HIT 19
|
||||
#define B_ANIM_FOCUS_PUNCH_SETUP 20
|
||||
#define B_ANIM_INGRAIN_HEAL 21
|
||||
#define B_ANIM_WISH_HEAL 22
|
||||
#define B_ANIM_MON_SCARED 23
|
||||
#define B_ANIM_GHOST_GET_OUT 24
|
||||
#define B_ANIM_SILPH_SCOPED 25
|
||||
#define B_ANIM_ROCK_THROW 26
|
||||
#define B_ANIM_SAFARI_REACTION 27
|
||||
|
||||
// special animations table
|
||||
#define B_ANIM_LVL_UP 0x0
|
||||
#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
|
||||
#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
|
||||
#define B_ANIM_BALL_THROW 0x3
|
||||
#define B_ANIM_SAFARI_BALL_THROW 0x4
|
||||
#define B_ANIM_SUBSTITUTE_TO_MON 0x5
|
||||
#define B_ANIM_MON_TO_SUBSTITUTE 0x6
|
||||
// special animations table (gBattleAnims_Special)
|
||||
#define B_ANIM_LVL_UP 0
|
||||
#define B_ANIM_SWITCH_OUT_PLAYER_MON 1
|
||||
#define B_ANIM_SWITCH_OUT_OPPONENT_MON 2
|
||||
#define B_ANIM_BALL_THROW 3
|
||||
#define B_ANIM_BALL_THROW_WITH_TRAINER 4
|
||||
#define B_ANIM_SUBSTITUTE_TO_MON 5
|
||||
#define B_ANIM_MON_TO_SUBSTITUTE 6
|
||||
|
||||
// status animation table
|
||||
#define B_ANIM_STATUS_PSN 0x0
|
||||
#define B_ANIM_STATUS_CONFUSION 0x1
|
||||
#define B_ANIM_STATUS_BRN 0x2
|
||||
#define B_ANIM_STATUS_INFATUATION 0x3
|
||||
#define B_ANIM_STATUS_SLP 0x4
|
||||
#define B_ANIM_STATUS_PRZ 0x5
|
||||
#define B_ANIM_STATUS_FRZ 0x6
|
||||
#define B_ANIM_STATUS_CURSED 0x7
|
||||
#define B_ANIM_STATUS_NIGHTMARE 0x8
|
||||
#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
|
||||
// status animation table (gBattleAnims_StatusConditions)
|
||||
#define B_ANIM_STATUS_PSN 0
|
||||
#define B_ANIM_STATUS_CONFUSION 1
|
||||
#define B_ANIM_STATUS_BRN 2
|
||||
#define B_ANIM_STATUS_INFATUATION 3
|
||||
#define B_ANIM_STATUS_SLP 4
|
||||
#define B_ANIM_STATUS_PRZ 5
|
||||
#define B_ANIM_STATUS_FRZ 6
|
||||
#define B_ANIM_STATUS_CURSED 7
|
||||
#define B_ANIM_STATUS_NIGHTMARE 8
|
||||
#define B_ANIM_STATUS_WRAPPED 9 // does not actually exist
|
||||
|
||||
// Most tasks return a value to gBattleAnimArgs[7].
|
||||
#define ARG_RET_ID 0x7
|
||||
#define ARG_RET_ID 7
|
||||
|
||||
// For createsprite macro to use internally
|
||||
#define ANIMSPRITE_IS_TARGET (1 << 7)
|
||||
|
||||
// Trapping Wrap-like moves end turn animation.
|
||||
#define TRAP_ANIM_BIND 0
|
||||
@@ -415,6 +418,22 @@
|
||||
#define ANIM_WEATHER_SANDSTORM 3
|
||||
#define ANIM_WEATHER_HAIL 4
|
||||
|
||||
// Flags given to various functions to indicate which palettes to consider.
|
||||
// Handled by UnpackSelectedBattlePalettes
|
||||
#define F_PAL_BG (1 << 0)
|
||||
#define F_PAL_ATTACKER (1 << 1)
|
||||
#define F_PAL_TARGET (1 << 2)
|
||||
#define F_PAL_ATK_PARTNER (1 << 3)
|
||||
#define F_PAL_DEF_PARTNER (1 << 4)
|
||||
#define F_PAL_ANIM_1 (1 << 5) // Palette set for GetBattleAnimBg1Data/GetBattleAnimBgDataByPriorityRank. Only used (ineffectually?) by Aromatherapy.
|
||||
#define F_PAL_ANIM_2 (1 << 6) // Palette set for GetBattleAnimBgData/GetBattleAnimBgDataByPriorityRank. Unused.
|
||||
#define F_PAL_ATK_SIDE (F_PAL_ATTACKER | F_PAL_ATK_PARTNER)
|
||||
#define F_PAL_DEF_SIDE (F_PAL_TARGET | F_PAL_DEF_PARTNER)
|
||||
#define F_PAL_BATTLERS (F_PAL_ATK_SIDE | F_PAL_DEF_SIDE)
|
||||
// The below are only used by AnimTask_BlendBattleAnimPal to get battler sprite palettes by position rather than by role.
|
||||
// It's redundant with F_PAL_BATTLERS, because they're only ever used together to refer to all the battlers at once.
|
||||
#define F_PAL_BATTLERS_2 (1 << 7 | 1 << 8 | 1 << 9 | 1 << 10)
|
||||
|
||||
// Battle mon back animations.
|
||||
#define BACK_ANIM_NONE 0x00
|
||||
#define BACK_ANIM_H_SLIDE_QUICK 0x01
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
#define VARIOUS_RESET_PLAYER_FAINTED 7
|
||||
#define VARIOUS_CASE_8 8
|
||||
#define VARIOUS_GET_BATTLERS_FOR_RECALL 8
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 9
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 10
|
||||
#define VARIOUS_CHECK_POKEFLUTE 11
|
||||
|
||||
@@ -373,8 +373,8 @@
|
||||
#define STRINGID_POKEFLUTECATCHY 372
|
||||
#define STRINGID_POKEFLUTE 373
|
||||
#define STRINGID_MONHEARINGFLUTEAWOKE 374
|
||||
#define STRINGID_TRAINER2CLASS 375
|
||||
#define STRINGID_TRAINER2NAME 376
|
||||
#define STRINGID_TRAINER2LOSETEXT 375
|
||||
#define STRINGID_TRAINER2WINTEXT 376
|
||||
#define STRINGID_PLAYERWHITEDOUT 377
|
||||
#define STRINGID_MONTOOSCAREDTOMOVE 378
|
||||
#define STRINGID_GHOSTGETOUTGETOUT 379
|
||||
@@ -385,7 +385,7 @@
|
||||
#define STRINGID_TRAINER1MON2COMEBACK 384
|
||||
#define STRINGID_TRAINER1MON1AND2COMEBACK 385
|
||||
|
||||
#define BATTLESTRINGS_COUNT 374
|
||||
#define BATTLESTRINGS_COUNT 386
|
||||
|
||||
// This is the string id that gBattleStringsTable starts with.
|
||||
// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,
|
||||
@@ -545,19 +545,17 @@
|
||||
#define B_MSG_WONT_OBEY 1
|
||||
#define B_MSG_TURNED_AWAY 2
|
||||
#define B_MSG_PRETEND_NOT_NOTICE 3
|
||||
#define B_MSG_INCAPABLE_OF_POWER 4
|
||||
// For randomly selecting a disobey string
|
||||
// Skips the one used for Battle Palace
|
||||
#define NUM_LOAF_STRINGS 4
|
||||
#define NUM_LOAF_STRINGS 4 // For randomly selecting a disobey string
|
||||
|
||||
// gSafariGetNearStringIds
|
||||
#define B_MSG_CREPT_CLOSER 0
|
||||
#define B_MSG_CANT_GET_CLOSER 1
|
||||
|
||||
// gSafariPokeblockResultStringIds
|
||||
#define B_MSG_MON_CURIOUS 0
|
||||
#define B_MSG_MON_ENTHRALLED 1
|
||||
#define B_MSG_MON_IGNORED 2
|
||||
// gSafariReactionStringIds
|
||||
#define B_MSG_MON_WATCHING 0
|
||||
#define B_MSG_MON_ANGRY 1
|
||||
#define B_MSG_MON_EATING 2
|
||||
#define NUM_SAFARI_REACTIONS 3
|
||||
|
||||
// gFlashFireStringIds
|
||||
#define B_MSG_FLASH_FIRE_BOOST 0
|
||||
@@ -12,4 +12,21 @@
|
||||
#define USING_MINIGAME 8
|
||||
#define USING_BATTLE_TOWER 9
|
||||
|
||||
// Return states for the group of specials that use CreateLinkupTask
|
||||
// A few also used by TryBecomeLinkLeader and TryJoinLinkGroup
|
||||
#define LINKUP_ONGOING 0
|
||||
#define LINKUP_SUCCESS 1
|
||||
#define LINKUP_SOMEONE_NOT_READY 2
|
||||
#define LINKUP_DIFF_SELECTIONS 3
|
||||
#define LINKUP_WRONG_NUM_PLAYERS 4
|
||||
#define LINKUP_FAILED 5
|
||||
#define LINKUP_CONNECTION_ERROR 6
|
||||
#define LINKUP_PLAYER_NOT_READY 7
|
||||
#define LINKUP_RETRY_ROLE_ASSIGN 8
|
||||
#define LINKUP_PARTNER_NOT_READY 9
|
||||
|
||||
#define CABLE_SEAT_WAITING 0
|
||||
#define CABLE_SEAT_SUCCESS 1
|
||||
#define CABLE_SEAT_FAILED 2
|
||||
|
||||
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
#define MAP(map) MAP_GROUP(map), MAP_NUM(map)
|
||||
|
||||
#define WARP_ID_DYNAMIC 0x7F
|
||||
|
||||
// Used to indicate an invalid warp id, for dummy warps or when a warp should
|
||||
// use the given coordinates rather than the coordinates of a target warp.
|
||||
#define WARP_ID_NONE (-1)
|
||||
|
||||
+20
-19
@@ -93,25 +93,26 @@
|
||||
#define MON_DATA_SPDEF2 88
|
||||
|
||||
// Pokemon types
|
||||
#define TYPE_NORMAL 0x00
|
||||
#define TYPE_FIGHTING 0x01
|
||||
#define TYPE_FLYING 0x02
|
||||
#define TYPE_POISON 0x03
|
||||
#define TYPE_GROUND 0x04
|
||||
#define TYPE_ROCK 0x05
|
||||
#define TYPE_BUG 0x06
|
||||
#define TYPE_GHOST 0x07
|
||||
#define TYPE_STEEL 0x08
|
||||
#define TYPE_MYSTERY 0x09
|
||||
#define TYPE_FIRE 0x0a
|
||||
#define TYPE_WATER 0x0b
|
||||
#define TYPE_GRASS 0x0c
|
||||
#define TYPE_ELECTRIC 0x0d
|
||||
#define TYPE_PSYCHIC 0x0e
|
||||
#define TYPE_ICE 0x0f
|
||||
#define TYPE_DRAGON 0x10
|
||||
#define TYPE_DARK 0x11
|
||||
#define NUMBER_OF_MON_TYPES 0x12
|
||||
#define TYPE_NONE 255
|
||||
#define TYPE_NORMAL 0
|
||||
#define TYPE_FIGHTING 1
|
||||
#define TYPE_FLYING 2
|
||||
#define TYPE_POISON 3
|
||||
#define TYPE_GROUND 4
|
||||
#define TYPE_ROCK 5
|
||||
#define TYPE_BUG 6
|
||||
#define TYPE_GHOST 7
|
||||
#define TYPE_STEEL 8
|
||||
#define TYPE_MYSTERY 9
|
||||
#define TYPE_FIRE 10
|
||||
#define TYPE_WATER 11
|
||||
#define TYPE_GRASS 12
|
||||
#define TYPE_ELECTRIC 13
|
||||
#define TYPE_PSYCHIC 14
|
||||
#define TYPE_ICE 15
|
||||
#define TYPE_DRAGON 16
|
||||
#define TYPE_DARK 17
|
||||
#define NUMBER_OF_MON_TYPES 18
|
||||
|
||||
// Pokemon egg groups
|
||||
#define EGG_GROUP_NONE 0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef GUARD_RGB_H
|
||||
#define GUARD_RGB_H
|
||||
|
||||
#define GET_R(color) ((color) & 0x1F)
|
||||
#define GET_G(color) (((color) >> 5) & 0x1F)
|
||||
#define GET_B(color) (((color) >> 10) & 0x1F)
|
||||
|
||||
#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
|
||||
#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r))
|
||||
#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F))
|
||||
|
||||
#define RGB_ALPHA (1 << 15)
|
||||
#define IS_ALPHA(color) ((color) & RGB_ALPHA)
|
||||
|
||||
#define RGB_BLACK RGB(0, 0, 0)
|
||||
#define RGB_WHITE RGB(31, 31, 31)
|
||||
#define RGB_RED RGB(31, 0, 0)
|
||||
#define RGB_GREEN RGB(0, 31, 0)
|
||||
#define RGB_BLUE RGB(0, 0, 31)
|
||||
#define RGB_YELLOW RGB(31, 31, 0)
|
||||
#define RGB_MAGENTA RGB(31, 0, 31)
|
||||
#define RGB_CYAN RGB(0, 31, 31)
|
||||
#define RGB_WHITEALPHA (RGB_WHITE | RGB_ALPHA)
|
||||
|
||||
#endif // GUARD_RGB_H
|
||||
@@ -16,6 +16,7 @@
|
||||
#define WEATHER_DROUGHT 12 // unused and broken in overworld
|
||||
#define WEATHER_DOWNPOUR 13 // unused
|
||||
#define WEATHER_UNDERWATER_BUBBLES 14 // unused
|
||||
#define WEATHER_ABNORMAL 15 // unused
|
||||
#define WEATHER_ROUTE119_CYCLE 20 // unused
|
||||
#define WEATHER_ROUTE123_CYCLE 21 // unused
|
||||
|
||||
|
||||
@@ -14,6 +14,10 @@ struct MonCoords
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
#define MON_COORDS_SIZE(width, height)(DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8))
|
||||
#define GET_MON_COORDS_WIDTH(size)((size >> 4) * 8)
|
||||
#define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8)
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
enum {
|
||||
FIELD_MESSAGE_BOX_HIDDEN,
|
||||
FIELD_MESSAGE_BOX_UNUSED,
|
||||
FIELD_MESSAGE_BOX_NORMAL,
|
||||
FIELD_MESSAGE_BOX_AUTO_SCROLL,
|
||||
};
|
||||
|
||||
bool8 ShowFieldMessage(const u8 *message);
|
||||
bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
||||
void HideFieldMessageBox(void);
|
||||
|
||||
@@ -79,20 +79,6 @@
|
||||
|
||||
#define TOTAL_OBJ_TILE_COUNT 1024
|
||||
|
||||
#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
|
||||
#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r))
|
||||
#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F))
|
||||
|
||||
#define RGB_BLACK RGB(0, 0, 0)
|
||||
#define RGB_WHITE RGB(31, 31, 31)
|
||||
#define RGB_RED RGB(31, 0, 0)
|
||||
#define RGB_GREEN RGB(0, 31, 0)
|
||||
#define RGB_BLUE RGB(0, 0, 31)
|
||||
#define RGB_YELLOW RGB(31, 31, 0)
|
||||
#define RGB_MAGENTA RGB(31, 0, 31)
|
||||
#define RGB_CYAN RGB(0, 31, 31)
|
||||
#define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
|
||||
|
||||
// Some functions are strictly inline asm
|
||||
#define NAKED __attribute__((naked))
|
||||
#define UNUSED __attribute__((unused))
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "constants/vars.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
// Prevent cross-jump optimization.
|
||||
#define BLOCK_CROSS_JUMP asm("");
|
||||
|
||||
+14
-10
@@ -3687,6 +3687,10 @@ extern const u32 gBattleStatMask8_Pal[];
|
||||
extern const u32 gBattleStatMask1_Tilemap[];
|
||||
extern const u32 gBattleStatMask2_Tilemap[];
|
||||
|
||||
extern const u32 gSmokescreenImpactTiles[];
|
||||
extern const u32 gSmokescreenImpactPalette[];
|
||||
extern const u32 gEnemyMonShadow_Gfx[];
|
||||
|
||||
// battle anim particle gfx
|
||||
extern const u32 gBattleAnimSpriteGfx_Bone[];
|
||||
extern const u32 gBattleAnimSpriteGfx_Spark[];
|
||||
@@ -3908,7 +3912,7 @@ extern const u32 gBattleAnimSpriteGfx_Pokeball[];
|
||||
extern const u32 gBattleAnimSpriteGfx_Spotlight[];
|
||||
extern const u32 gBattleAnimSpriteGfx_LetterZ[];
|
||||
extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
|
||||
extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[];
|
||||
extern const u32 gBattleAnimSpriteGfx_TriAttackTriangle[];
|
||||
extern const u32 gBattleAnimSpriteGfx_WispOrb[];
|
||||
extern const u32 gBattleAnimSpriteGfx_WispFire[];
|
||||
extern const u32 gBattleAnimSpriteGfx_GoldStars[];
|
||||
@@ -4161,7 +4165,7 @@ extern const u32 gBattleAnimSpritePal_JaggedMusicNote[];
|
||||
extern const u32 gBattleAnimSpritePal_Pokeball[];
|
||||
extern const u32 gBattleAnimSpritePal_LetterZ[];
|
||||
extern const u32 gBattleAnimSpritePal_RapidSpin[];
|
||||
extern const u32 gBattleAnimSpritePal_TriForceTriangle[];
|
||||
extern const u32 gBattleAnimSpritePal_TriAttackTriangle[];
|
||||
extern const u32 gBattleAnimSpritePal_WispOrb[];
|
||||
extern const u32 gBattleAnimSpritePal_GoldStars[];
|
||||
extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
|
||||
@@ -4215,8 +4219,8 @@ extern const u32 gBattleAnimSpritePal_WhipHit[];
|
||||
extern const u32 gBattleAnimSpritePal_BlueRing2[];
|
||||
|
||||
// battle anim task
|
||||
extern const u32 gUnknown_D2EC24_Gfx[];
|
||||
extern const u32 gUnknown_D2EC24_Tilemap[];
|
||||
extern const u32 gUnusedLevelupAnimationGfx[];
|
||||
extern const u32 gUnusedLevelupAnimationTilemap[];
|
||||
extern const u32 gCureBubblesGfx[];
|
||||
extern const u32 gCureBubblesPal[];
|
||||
extern const u32 gCureBubblesTilemap[];
|
||||
@@ -4848,7 +4852,7 @@ extern const u32 gBuyMenuFrame_TmHmTilemap[];
|
||||
extern const u32 gBuyMenuFrame_Pal[];
|
||||
|
||||
// battle_message
|
||||
extern const u16 gUnknown_8D2FBB4[];
|
||||
extern const u16 gPPTextPalette[];
|
||||
|
||||
// trainer card
|
||||
extern const u16 gKantoTrainerCard_Pal[];
|
||||
@@ -4924,11 +4928,11 @@ extern const u16 gNamingScreenInputArrow_Gfx[];
|
||||
extern const u16 gNamingScreenUnderscore_Gfx[];
|
||||
|
||||
// pokemon_storage_system
|
||||
extern const u32 gPSSMenu_Gfx[];
|
||||
extern const u32 gUnknown_8E9CAEC[];
|
||||
extern const u16 gPSSMenu_Pal[];
|
||||
extern const u16 gUnknown_8E9C3F8[];
|
||||
extern const u16 gUnknown_8E9C418[];
|
||||
extern const u32 gPokeStorageMenu_Gfx[];
|
||||
extern const u32 gPokeStoragePartyMenu_Tilemap[];
|
||||
extern const u16 gPokeStoragePartyMenu_Pal[];
|
||||
extern const u16 gPokeStorageInterface_Pal[];
|
||||
extern const u16 gPokeStorageInterface_NoDisplayMon_Pal[];
|
||||
|
||||
// pokedex_screen
|
||||
extern const u16 gDexScreen_TopMenuIconPals_AtoZ[];
|
||||
|
||||
+21
-14
@@ -68,7 +68,7 @@
|
||||
|
||||
#define LINKTYPE_TRADE 0x1111 // trade
|
||||
#define LINKTYPE_0x1122 0x1122 // trade
|
||||
#define LINKTYPE_0x1133 0x1133 // trade
|
||||
#define LINKTYPE_TRADE_SETUP 0x1133
|
||||
#define LINKTYPE_0x1144 0x1144 // trade
|
||||
#define LINKTYPE_BATTLE 0x2211
|
||||
#define LINKTYPE_0x2222 0x2222 // unused battle?
|
||||
@@ -78,11 +78,19 @@
|
||||
#define LINKTYPE_BATTLE_TOWER_50 0x2266
|
||||
#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
|
||||
#define LINKTYPE_BATTLE_TOWER 0x2288
|
||||
#define LINKTYPE_0x3311 0x3311
|
||||
#define LINKTYPE_0x3322 0x3322
|
||||
#define LINKTYPE_RECORD_MIX_BEFORE 0x3311
|
||||
#define LINKTYPE_RECORD_MIX_AFTER 0x3322
|
||||
#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411
|
||||
#define LINKTYPE_CONTEST_GMODE 0x6601
|
||||
|
||||
enum {
|
||||
BLOCK_REQ_SIZE_NONE, // Identical to 200
|
||||
BLOCK_REQ_SIZE_200,
|
||||
BLOCK_REQ_SIZE_100,
|
||||
BLOCK_REQ_SIZE_220,
|
||||
BLOCK_REQ_SIZE_40,
|
||||
};
|
||||
|
||||
#define MASTER_HANDSHAKE 0x8FFF
|
||||
#define SLAVE_HANDSHAKE 0xB9A0
|
||||
|
||||
@@ -102,11 +110,10 @@ enum
|
||||
EXCHANGE_NOT_STARTED,
|
||||
EXCHANGE_COMPLETE,
|
||||
EXCHANGE_TIMED_OUT,
|
||||
EXCHANGE_IN_PROGRESS,
|
||||
EXCHANGE_STAT_4,
|
||||
EXCHANGE_STAT_5,
|
||||
EXCHANGE_STAT_6,
|
||||
EXCHANGE_STAT_7
|
||||
EXCHANGE_DIFF_SELECTIONS,
|
||||
EXCHANGE_PLAYER_NOT_READY,
|
||||
EXCHANGE_PARTNER_NOT_READY,
|
||||
EXCHANGE_WRONG_NUM_PLAYERS,
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -269,17 +276,17 @@ void ClearLinkCallback_2(void);
|
||||
void Rfu_SetLinkStandbyCallback(void);
|
||||
void ConvertLinkPlayerName(struct LinkPlayer * linkPlayer);
|
||||
bool8 IsWirelessAdapterConnected(void);
|
||||
bool8 Link_PrepareCmd0xCCCC_Rfu0xA100(u8 blockRequestType);
|
||||
bool8 SendBlockRequest(u8 blockRequestType);
|
||||
void LinkVSync(void);
|
||||
bool8 HandleLinkConnection(void);
|
||||
void LocalLinkPlayerToBlock(void);
|
||||
void LinkPlayerFromBlock(u32 who);
|
||||
void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 isConnectionError);
|
||||
u8 sub_800A8D4(void);
|
||||
void sub_800AA24(void);
|
||||
void sub_800A900(u8 a0);
|
||||
u8 sub_800A8A4(void);
|
||||
void sub_800A9A4(void);
|
||||
u8 GetLinkPlayerCountAsBitFlags(void);
|
||||
void ResetLinkPlayerCount(void);
|
||||
void SaveLinkPlayers(u8 numPlayers);
|
||||
u8 GetSavedLinkPlayerCountAsBitFlags(void);
|
||||
void CheckLinkPlayersMatchSaved(void);
|
||||
void SetLocalLinkPlayerId(u8 playerId);
|
||||
bool32 IsSendingKeysToLink(void);
|
||||
u32 GetLinkRecvQueueLength(void);
|
||||
|
||||
+7
-1
@@ -3,6 +3,12 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define CARD_STAT_BATTLES_WON 0
|
||||
#define CARD_STAT_BATTLES_LOST 1
|
||||
#define CARD_STAT_NUM_TRADES 2
|
||||
#define CARD_STAT_NUM_STAMPS 3
|
||||
#define CARD_STAT_MAX_STAMPS 4
|
||||
|
||||
struct MEventClientHeaderStruct
|
||||
{
|
||||
u32 unk_00;
|
||||
@@ -85,7 +91,7 @@ bool32 WonderCard_Test_Unk_08_6(void);
|
||||
u32 MENews_GetInput(u16 input);
|
||||
void InitMEventData(void);
|
||||
u16 MEvent_GetBattleCardCount(u32 command);
|
||||
void MEvent_RecordIdOfWonderCardSenderByEventType(u32 eventId, u32 trainerId);
|
||||
void MysteryGift_TryIncrementStat(u32 eventId, u32 trainerId);
|
||||
u16 *GetMEventProfileECWordsMaybe(void);
|
||||
void ResetReceivedWonderCardFlag(void);
|
||||
bool32 MEventHandleReceivedWonderCard(u16 flagId);
|
||||
|
||||
@@ -31,7 +31,7 @@ void DrawDialogueFrame(u8 windowId, bool8 transfer);
|
||||
void DrawStdWindowFrame(u8 windowId, bool8 copyNow);
|
||||
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram);
|
||||
void ClearStdWindowAndFrame(u8 windowId, bool8 copyNow);
|
||||
void sub_80F771C(bool8 copyToVram);
|
||||
void EraseFieldMessageBox(bool8 copyToVram);
|
||||
void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram);
|
||||
void sub_80F7768(u8 windowId, bool8 copyToVram);
|
||||
void Menu_LoadStdPal(void);
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4);
|
||||
void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7);
|
||||
bool32 sub_807185C(u8 var);
|
||||
void sub_8071898(void);
|
||||
void ResetPaletteStructByUid(u16 a1);
|
||||
void PaletteStruct_ResetById(u16 a1);
|
||||
void ResetPaletteStruct(u8 paletteNum);
|
||||
|
||||
#endif // GUARD_PALETTE_H
|
||||
|
||||
@@ -4,7 +4,18 @@
|
||||
#include "global.h"
|
||||
|
||||
#define TOTAL_BOXES_COUNT 14
|
||||
#define IN_BOX_COUNT 30
|
||||
#define IN_BOX_ROWS 5 // Number of rows, 6 Pokémon per row
|
||||
#define IN_BOX_COLUMNS 6 // Number of columns, 5 Pokémon per column
|
||||
#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMNS)
|
||||
|
||||
/*
|
||||
COLUMNS
|
||||
ROWS 0 1 2 3 4 5
|
||||
6 7 8 9 10 11
|
||||
12 13 14 15 16 17
|
||||
18 19 20 21 22 23
|
||||
24 25 26 27 28 29
|
||||
*/
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -20,10 +31,10 @@ enum
|
||||
WALLPAPER_SEAFLOOR,
|
||||
WALLPAPER_RIVER,
|
||||
WALLPAPER_SKY,
|
||||
WALLPAPER_POLKADOT,
|
||||
WALLPAPER_STARS,
|
||||
WALLPAPER_POKECENTER,
|
||||
WALLPAPER_MACHINE,
|
||||
WALLPAPER_PLAIN,
|
||||
WALLPAPER_TILES,
|
||||
WALLPAPER_SIMPLE,
|
||||
WALLPAPER_COUNT
|
||||
};
|
||||
#define MAX_DEFAULT_WALLPAPER WALLPAPER_SAVANNA
|
||||
@@ -34,7 +45,7 @@ void SetBoxMonNickAt(u8 boxId, u8 monPosition, const u8 *newNick);
|
||||
s16 CompactPartySlots(void);
|
||||
u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, s32 request);
|
||||
void ZeroBoxMonAt(u8 boxId, u8 monPosition);
|
||||
void Cb2_ReturnToPSS(void);
|
||||
void CB2_ReturnToPokeStorage(void);
|
||||
void ResetPokemonStorageSystem(void);
|
||||
u8 StorageGetCurrentBox(void);
|
||||
void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, u8 *buffer, s32 bytesToBuffer);
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "mon_markings.h"
|
||||
|
||||
#define IN_BOX_COLUMNS 5
|
||||
#define IN_BOX_ROWS 6
|
||||
|
||||
// The maximum number of Pokémon icons that can appear on-screen.
|
||||
// By default the limit is 40 (though in practice only 37 can be).
|
||||
#define MAX_MON_ICONS (IN_BOX_COUNT + PARTY_SIZE + 1 >= 40 ? IN_BOX_COUNT + PARTY_SIZE + 1 : 40)
|
||||
@@ -16,13 +13,6 @@
|
||||
// between 2 Pokémon with held items
|
||||
#define MAX_ITEM_ICONS 3
|
||||
|
||||
enum
|
||||
{
|
||||
MODE_PARTY,
|
||||
MODE_BOX,
|
||||
MODE_2,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
OPTION_WITHDRAW,
|
||||
@@ -35,139 +25,200 @@ enum
|
||||
|
||||
enum
|
||||
{
|
||||
PC_TEXT_EXIT_BOX,
|
||||
PC_TEXT_WHAT_YOU_DO,
|
||||
PC_TEXT_PICK_A_THEME,
|
||||
PC_TEXT_PICK_A_WALLPAPER,
|
||||
PC_TEXT_IS_SELECTED,
|
||||
PC_TEXT_JUMP_TO_WHICH_BOX,
|
||||
PC_TEXT_DEPOSIT_IN_WHICH_BOX,
|
||||
PC_TEXT_WAS_DEPOSITED,
|
||||
PC_TEXT_BOX_IS_FULL,
|
||||
PC_TEXT_RELEASE_POKE,
|
||||
PC_TEXT_WAS_RELEASED,
|
||||
PC_TEXT_BYE_BYE,
|
||||
PC_TEXT_MARK_POKE,
|
||||
PC_TEXT_LAST_POKE,
|
||||
PC_TEXT_PARTY_FULL,
|
||||
PC_TEXT_HOLDING_POKE,
|
||||
PC_TEXT_WHICH_ONE_WILL_TAKE,
|
||||
PC_TEXT_CANT_RELEASE_EGG,
|
||||
PC_TEXT_CONTINUE_BOX,
|
||||
PC_TEXT_CAME_BACK,
|
||||
PC_TEXT_WORRIED,
|
||||
PC_TEXT_SURPRISE,
|
||||
PC_TEXT_PLEASE_REMOVE_MAIL,
|
||||
PC_TEXT_IS_SELECTED2,
|
||||
PC_TEXT_GIVE_TO_MON,
|
||||
PC_TEXT_PLACED_IN_BAG,
|
||||
PC_TEXT_BAG_FULL,
|
||||
PC_TEXT_PUT_IN_BAG,
|
||||
PC_TEXT_ITEM_IS_HELD,
|
||||
PC_TEXT_CHANGED_TO_ITEM,
|
||||
PC_TEXT_CANT_STORE_MAIL,
|
||||
MENU_TEXT_CANCEL,
|
||||
MENU_TEXT_STORE,
|
||||
MENU_TEXT_WITHDRAW,
|
||||
MENU_TEXT_MOVE,
|
||||
MENU_TEXT_SHIFT,
|
||||
MENU_TEXT_PLACE,
|
||||
MENU_TEXT_SUMMARY,
|
||||
MENU_TEXT_RELEASE,
|
||||
MENU_TEXT_MARK,
|
||||
MENU_TEXT_JUMP,
|
||||
MENU_TEXT_WALLPAPER,
|
||||
MENU_TEXT_NAME,
|
||||
MENU_TEXT_TAKE,
|
||||
MENU_TEXT_GIVE,
|
||||
MENU_TEXT_GIVE2,
|
||||
MENU_TEXT_SWITCH,
|
||||
MENU_TEXT_BAG,
|
||||
MENU_TEXT_INFO,
|
||||
MENU_TEXT_SCENERY_1,
|
||||
MENU_TEXT_SCENERY_2,
|
||||
MENU_TEXT_SCENERY_3,
|
||||
MENU_TEXT_ETCETERA,
|
||||
MENU_TEXT_FOREST,
|
||||
MENU_TEXT_CITY,
|
||||
MENU_TEXT_DESERT,
|
||||
MENU_TEXT_SAVANNA,
|
||||
MENU_TEXT_CRAG,
|
||||
MENU_TEXT_VOLCANO,
|
||||
MENU_TEXT_SNOW,
|
||||
MENU_TEXT_CAVE,
|
||||
MENU_TEXT_BEACH,
|
||||
MENU_TEXT_SEAFLOOR,
|
||||
MENU_TEXT_RIVER,
|
||||
MENU_TEXT_SKY,
|
||||
MENU_TEXT_POLKADOT,
|
||||
MENU_TEXT_POKECENTER,
|
||||
MENU_TEXT_MACHINE,
|
||||
MENU_TEXT_SIMPLE,
|
||||
};
|
||||
|
||||
// Return IDs for input handlers
|
||||
enum {
|
||||
INPUT_NONE,
|
||||
INPUT_MOVE_CURSOR,
|
||||
INPUT_2, // Unused
|
||||
INPUT_3, // Unused
|
||||
INPUT_CLOSE_BOX,
|
||||
INPUT_SHOW_PARTY,
|
||||
INPUT_HIDE_PARTY,
|
||||
INPUT_BOX_OPTIONS,
|
||||
INPUT_IN_MENU,
|
||||
INPUT_SCROLL_RIGHT,
|
||||
INPUT_SCROLL_LEFT,
|
||||
INPUT_DEPOSIT,
|
||||
INPUT_WITHDRAW,
|
||||
INPUT_MOVE_MON,
|
||||
INPUT_SHIFT_MON,
|
||||
INPUT_PLACE_MON,
|
||||
INPUT_TAKE_ITEM,
|
||||
INPUT_GIVE_ITEM,
|
||||
INPUT_SWITCH_ITEMS,
|
||||
INPUT_PRESSED_B,
|
||||
INPUT_MULTIMOVE_START,
|
||||
INPUT_MULTIMOVE_CHANGE_SELECTION,
|
||||
INPUT_MULTIMOVE_SINGLE,
|
||||
INPUT_MULTIMOVE_GRAB_SELECTION,
|
||||
INPUT_MULTIMOVE_UNABLE,
|
||||
INPUT_MULTIMOVE_MOVE_MONS,
|
||||
INPUT_MULTIMOVE_PLACE_MONS,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PC_TEXT_FMT_NORMAL,
|
||||
PC_TEXT_FMT_MON_NAME_1,
|
||||
PC_TEXT_FMT_MON_NAME_2,
|
||||
PC_TEXT_FMT_MON_NAME_3,
|
||||
PC_TEXT_FMT_MON_NAME_4,
|
||||
PC_TEXT_FMT_MON_NAME_5,
|
||||
PC_TEXT_FMT_MON_NAME_6,
|
||||
PC_TEXT_FMT_ITEM_NAME,
|
||||
RELEASE_MON_NOT_ALLOWED,
|
||||
RELEASE_MON_ALLOWED,
|
||||
RELEASE_MON_UNDETERMINED = -1,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PC_TEXT_CANCEL,
|
||||
PC_TEXT_STORE,
|
||||
PC_TEXT_WITHDRAW,
|
||||
PC_TEXT_MOVE,
|
||||
PC_TEXT_SHIFT,
|
||||
PC_TEXT_PLACE,
|
||||
PC_TEXT_SUMMARY,
|
||||
PC_TEXT_RELEASE,
|
||||
PC_TEXT_MARK,
|
||||
PC_TEXT_JUMP,
|
||||
PC_TEXT_WALLPAPER,
|
||||
PC_TEXT_NAME,
|
||||
PC_TEXT_TAKE,
|
||||
PC_TEXT_GIVE,
|
||||
PC_TEXT_GIVE2,
|
||||
PC_TEXT_SWITCH,
|
||||
PC_TEXT_BAG,
|
||||
PC_TEXT_INFO,
|
||||
PC_TEXT_SCENERY1,
|
||||
PC_TEXT_SCENERY2,
|
||||
PC_TEXT_SCENERY3,
|
||||
PC_TEXT_ETCETERA,
|
||||
PC_TEXT_FOREST,
|
||||
PC_TEXT_CITY,
|
||||
PC_TEXT_DESERT,
|
||||
PC_TEXT_SAVANNA,
|
||||
PC_TEXT_CRAG,
|
||||
PC_TEXT_VOLCANO,
|
||||
PC_TEXT_SNOW,
|
||||
PC_TEXT_CAVE,
|
||||
PC_TEXT_BEACH,
|
||||
PC_TEXT_SEAFLOOR,
|
||||
PC_TEXT_RIVER,
|
||||
PC_TEXT_SKY,
|
||||
PC_TEXT_POLKADOT,
|
||||
PC_TEXT_POKECENTER,
|
||||
PC_TEXT_MACHINE,
|
||||
PC_TEXT_SIMPLE,
|
||||
MODE_PARTY,
|
||||
MODE_BOX,
|
||||
MODE_MOVE,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CURSOR_AREA_IN_BOX,
|
||||
CURSOR_AREA_IN_PARTY,
|
||||
CURSOR_AREA_BOX,
|
||||
CURSOR_AREA_BOX_TITLE,
|
||||
CURSOR_AREA_BUTTONS, // Party Pokemon and Close Box
|
||||
};
|
||||
#define CURSOR_AREA_IN_HAND CURSOR_AREA_BOX_TITLE // Alt name for cursor area used by Move Items
|
||||
|
||||
// IDs for InitMonPlaceChange
|
||||
enum
|
||||
{
|
||||
CHANGE_GRAB,
|
||||
CHANGE_PLACE,
|
||||
CHANGE_SHIFT,
|
||||
};
|
||||
|
||||
// IDs for the main functions for moving multiple Pokémon.
|
||||
// Given as arguments to MultiMove_SetFunction
|
||||
enum
|
||||
{
|
||||
MULTIMOVE_START,
|
||||
MULTIMOVE_SINGLE,
|
||||
MULTIMOVE_CHANGE_SELECTION,
|
||||
MULTIMOVE_GRAB_SELECTION,
|
||||
MULTIMOVE_MOVE_MONS,
|
||||
MULTIMOVE_PLACE_MONS,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SCREEN_CHANGE_EXIT_BOX,
|
||||
SCREEN_CHANGE_SUMMARY_SCREEN,
|
||||
SCREEN_CHANGE_NAME_BOX,
|
||||
SCREEN_CHANGE_ITEM_FROM_BAG,
|
||||
PALTAG_MON_ICON_0 = 56000,
|
||||
PALTAG_MON_ICON_1, // Used implicitly in CreateMonIconSprite
|
||||
PALTAG_MON_ICON_2, // Used implicitly in CreateMonIconSprite
|
||||
PALTAG_3, // Unused
|
||||
PALTAG_4, // Unused
|
||||
PALTAG_5, // Unused
|
||||
PALTAG_DISPLAY_MON,
|
||||
PALTAG_MISC_1, // Used by cursor in multimove mode, choose box menu popup
|
||||
PALTAG_MARKING_COMBO,
|
||||
PALTAG_BOX_TITLE,
|
||||
PALTAG_MISC_2, // Used by waveforms, cursor in normal mode, cursor shadow, box scroll arrows
|
||||
PALTAG_ITEM_ICON_0,
|
||||
PALTAG_ITEM_ICON_1, // Used implicitly in CreateItemIconSprites
|
||||
PALTAG_ITEM_ICON_2, // Used implicitly in CreateItemIconSprites
|
||||
PALTAG_MARKING_MENU,
|
||||
};
|
||||
|
||||
#define TAG_PAL_WAVEFORM 0xDACA
|
||||
#define TAG_PAL_DAC8 0xDAC8
|
||||
#define TAG_PAL_DAC6 0xDAC6
|
||||
#define TAG_PAL_DACE 0xDACE
|
||||
#define TAG_PAL_DAC7 0xDAC7
|
||||
#define TAG_PAL_DAC9 0xDAC9
|
||||
#define TAG_PAL_DAC0 0xDAC0
|
||||
#define TAG_PAL_DACB 0xDACB
|
||||
enum
|
||||
{
|
||||
GFXTAG_CURSOR,
|
||||
GFXTAG_CURSOR_SHADOW,
|
||||
GFXTAG_DISPLAY_MON,
|
||||
GFXTAG_BOX_TITLE,
|
||||
GFXTAG_BOX_TITLE_ALT,
|
||||
GFXTAG_WAVEFORM,
|
||||
GFXTAG_BOX_SCROLL_ARROW,
|
||||
GFXTAG_ITEM_ICON_0,
|
||||
GFXTAG_ITEM_ICON_1, // Used implicitly in CreateItemIconSprites
|
||||
GFXTAG_ITEM_ICON_2, // Used implicitly in CreateItemIconSprites
|
||||
GFXTAG_CHOOSE_BOX_MENU_CENTER,
|
||||
GFXTAG_CHOOSE_BOX_MENU_CORNERS, // Used implicitly in LoadChooseBoxMenuGfx
|
||||
GFXTAG_12, // Unused
|
||||
GFXTAG_MARKING_MENU,
|
||||
GFXTAG_14, // Unused
|
||||
GFXTAG_15, // Unused
|
||||
GFXTAG_MARKING_COMBO,
|
||||
GFXTAG_17, // Unused
|
||||
GFXTAG_MON_ICON,
|
||||
};
|
||||
|
||||
#define TAG_TILE_WAVEFORM 0x5
|
||||
#define TAG_TILE_10 0x10
|
||||
#define TAG_TILE_2 0x2
|
||||
#define TAG_TILE_D 0xD
|
||||
#define TAG_TILE_A 0xA
|
||||
#define TAG_TILE_3 0x3
|
||||
#define TAG_TILE_4 0x4
|
||||
#define TAG_TILE_12 0x12
|
||||
#define TAG_TILE_7 0x7
|
||||
#define TAG_TILE_0 0x0
|
||||
#define TAG_TILE_1 0x1
|
||||
#define TAG_TILE_6 0x6
|
||||
// Special box ids for the choose box menu
|
||||
#define BOXID_NONE_CHOSEN 200
|
||||
#define BOXID_CANCELED 201
|
||||
|
||||
struct WallpaperTable
|
||||
|
||||
enum {
|
||||
CURSOR_ANIM_BOUNCE,
|
||||
CURSOR_ANIM_STILL,
|
||||
CURSOR_ANIM_OPEN,
|
||||
CURSOR_ANIM_FIST,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
RELEASE_ANIM_RELEASE,
|
||||
RELEASE_ANIM_COME_BACK,
|
||||
};
|
||||
|
||||
// IDs for the item icons affine anims
|
||||
enum
|
||||
{
|
||||
ITEM_ANIM_NONE,
|
||||
ITEM_ANIM_APPEAR,
|
||||
ITEM_ANIM_DISAPPEAR,
|
||||
ITEM_ANIM_PICK_UP,
|
||||
ITEM_ANIM_PUT_DOWN,
|
||||
ITEM_ANIM_PUT_AWAY,
|
||||
ITEM_ANIM_LARGE,
|
||||
};
|
||||
|
||||
struct Wallpaper
|
||||
{
|
||||
const u32 *tiles;
|
||||
const u32 *tileMap;
|
||||
const u16 *palettes;
|
||||
};
|
||||
|
||||
struct StorageAction
|
||||
struct StorageMessage
|
||||
{
|
||||
const u8 *text;
|
||||
u8 format;
|
||||
@@ -176,7 +227,7 @@ struct StorageAction
|
||||
struct ChooseBoxMenu
|
||||
{
|
||||
struct Sprite *menuSprite;
|
||||
struct Sprite *menuSideSprites[4];
|
||||
struct Sprite *menuCornerSprites[4];
|
||||
u32 unused1[3];
|
||||
struct Sprite *arrowSprites[2];
|
||||
u8 buffer[0x200]; // passed but not used
|
||||
@@ -212,7 +263,7 @@ struct UnkUtil
|
||||
u8 max;
|
||||
};
|
||||
|
||||
struct PSS_ItemIconSprite
|
||||
struct PokeStorageItemIcon
|
||||
{
|
||||
struct Sprite *sprite;
|
||||
u8 *tiles;
|
||||
@@ -222,12 +273,12 @@ struct PSS_ItemIconSprite
|
||||
u8 active;
|
||||
};
|
||||
|
||||
struct PssQuestLogBuffer
|
||||
struct PokeStorageQuestLogData
|
||||
{
|
||||
u16 species;
|
||||
u16 species1;
|
||||
u16 species2;
|
||||
u8 fromBox;
|
||||
u8 toBox;
|
||||
u8 box1;
|
||||
u8 box2;
|
||||
};
|
||||
|
||||
struct PokemonStorageSystemData
|
||||
@@ -235,7 +286,7 @@ struct PokemonStorageSystemData
|
||||
u8 state;
|
||||
u8 boxOption;
|
||||
u8 screenChangeType;
|
||||
bool8 isReshowingPSS;
|
||||
bool8 isReopening;
|
||||
u8 taskId;
|
||||
struct UnkUtil unkUtil;
|
||||
struct UnkUtilData unkUtilData[8];
|
||||
@@ -262,8 +313,8 @@ struct PokemonStorageSystemData
|
||||
u16 scrollUnused5; // Never read
|
||||
u16 scrollUnused6; // Never read
|
||||
u8 filler1[22];
|
||||
u8 field_2F8[512];
|
||||
u8 field_4F8[512];
|
||||
u8 boxTitleTiles[512];
|
||||
u8 boxTitleUnused[512];
|
||||
u8 boxTitleCycleId;
|
||||
u8 wallpaperLoadState; // Written to, but never read.
|
||||
u8 wallpaperLoadBoxId;
|
||||
@@ -276,7 +327,7 @@ struct PokemonStorageSystemData
|
||||
struct Sprite *arrowSprites[2];
|
||||
u32 wallpaperPalBits;
|
||||
u8 filler2[80]; // Unused
|
||||
u16 unkUnused1; // Never read.
|
||||
u16 unusedField1; // Never read.
|
||||
s16 wallpaperSetId;
|
||||
s16 wallpaperId;
|
||||
u16 wallpaperTilemap[360];
|
||||
@@ -285,112 +336,114 @@ struct PokemonStorageSystemData
|
||||
u8 scrollToBoxId;
|
||||
s8 scrollDirection;
|
||||
// u8 *wallpaperTiles; // used only in Emerald for Walda
|
||||
/* 0a68 */ struct Sprite *movingMonSprite;
|
||||
/* 0a6c */ struct Sprite *partySprites[PARTY_SIZE];
|
||||
/* 0a84 */ struct Sprite *boxMonsSprites[IN_BOX_COUNT];
|
||||
/* 0afc */ struct Sprite **shiftMonSpritePtr;
|
||||
/* 0b00 */ struct Sprite **releaseMonSpritePtr;
|
||||
/* 0b04 */ u16 numIconsPerSpecies[MAX_MON_ICONS];
|
||||
/* 0b54 */ u16 iconSpeciesList[MAX_MON_ICONS];
|
||||
/* 0ba4 */ u16 boxSpecies[IN_BOX_COUNT];
|
||||
/* 0be0 */ u32 boxPersonalities[IN_BOX_COUNT];
|
||||
/* 0c58 */ u8 incomingBoxId;
|
||||
/* 0c59 */ u8 shiftTimer;
|
||||
/* 0c5a */ u8 numPartyToCompact;
|
||||
/* 0c5c */ u16 iconScrollDistance;
|
||||
/* 0c5e */ s16 iconScrollPos;
|
||||
/* 0c60 */ s16 iconScrollSpeed;
|
||||
/* 0c62 */ u16 iconScrollNumIncoming;
|
||||
/* 0c64 */ u8 iconScrollCurColumn;
|
||||
/* 0c65 */ s8 iconScrollDirection; // Unnecessary duplicate of scrollDirection
|
||||
/* 0c66 */ u8 iconScrollState;
|
||||
/* 0c67 */ u8 iconScrollToBoxId; // Unused duplicate of scrollToBoxId
|
||||
/* 0c68 */ struct WindowTemplate menuWindow;
|
||||
/* 0c70 */ struct StorageMenu menuItems[7];
|
||||
/* 0ca8 */ u8 menuItemsCount;
|
||||
/* 0ca9 */ u8 menuWidth;
|
||||
/* 0caa */ u8 menuUnusedField; // Never read.
|
||||
/* 0cac */ u16 menuWindowId;
|
||||
/* 0cb0 */ struct Sprite *cursorSprite;
|
||||
/* 0cb4 */ struct Sprite *cursorShadowSprite;
|
||||
/* 0cb8 */ s32 cursorNewX;
|
||||
/* 0cbc */ s32 cursorNewY;
|
||||
/* 0cc0 */ u32 cursorSpeedX;
|
||||
/* 0cc4 */ u32 cursorSpeedY;
|
||||
/* 0cc8 */ s16 cursorTargetX;
|
||||
/* 0cca */ s16 cursorTargetY;
|
||||
/* 0ccc */ u16 cursorMoveSteps;
|
||||
/* 0cce */ s8 cursorVerticalWrap;
|
||||
/* 0ccf */ s8 cursorHorizontalWrap;
|
||||
/* 0cd0 */ u8 newCursorArea;
|
||||
/* 0cd1 */ u8 newCursorPosition;
|
||||
/* 0cd2 */ u8 cursorPrevHorizPos;
|
||||
/* 0cd3 */ u8 cursorFlipTimer;
|
||||
/* 0cd4 */ u8 cursorPalNums[2];
|
||||
/* 0cd8 */ const u32 *displayMonPalette;
|
||||
/* 0cdc */ u32 displayMonPersonality;
|
||||
/* 0ce0 */ u16 displayMonSpecies;
|
||||
/* 0ce2 */ u16 displayMonItemId;
|
||||
/* 0ce4 */ u16 displayUnusedVar;
|
||||
/* 0ce6 */ bool8 setMosaic;
|
||||
/* 0ce7 */ u8 displayMonMarkings;
|
||||
/* 0ce8 */ u8 displayMonLevel;
|
||||
/* 0ce9 */ bool8 displayMonIsEgg;
|
||||
/* 0cea */ u8 displayMonName[POKEMON_NAME_LENGTH + 1];
|
||||
/* 0cf5 */ u8 displayMonTexts[4][36];
|
||||
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
|
||||
/* 0d8c */ u8 monPlaceChangeState;
|
||||
/* 0d8d */ u8 shiftBoxId;
|
||||
/* 0d90 */ struct Sprite *markingComboSprite;
|
||||
/* 0d94 */ struct Sprite *waveformSprites[2];
|
||||
/* 0d9c */ u16 *markingComboTilesPtr;
|
||||
/* 0da0 */ struct MonMarkingsMenu markMenu;
|
||||
/* 1e58 */ struct ChooseBoxMenu field_1E5C;
|
||||
/* 20a0 */ struct Pokemon movingMon;
|
||||
/* 2104 */ struct Pokemon field_2108;
|
||||
/* 2168 */ u8 field_216C;
|
||||
/* 2169 */ u8 field_216D;
|
||||
/* 216c */ bool8 isSurfMon;
|
||||
/* 216d */ bool8 isDiveMon;
|
||||
/* 216a */ s8 field_216E;
|
||||
/* 216b */ s8 field_216F;
|
||||
/* 216e */ s8 field_2170;
|
||||
/* 216f */ s8 field_2171;
|
||||
/* 2170 */ u16 field_2172;
|
||||
/* 2172 */ u16 field_2176[3];
|
||||
/* 2178 */ u8 field_2186;
|
||||
/* 2179 */ u8 field_2187;
|
||||
/* 217a */ u8 summaryScreenMode;
|
||||
/* 217c */ union
|
||||
struct Sprite *movingMonSprite;
|
||||
struct Sprite *partySprites[PARTY_SIZE];
|
||||
struct Sprite *boxMonsSprites[IN_BOX_COUNT];
|
||||
struct Sprite **shiftMonSpritePtr;
|
||||
struct Sprite **releaseMonSpritePtr;
|
||||
u16 numIconsPerSpecies[MAX_MON_ICONS];
|
||||
u16 iconSpeciesList[MAX_MON_ICONS];
|
||||
u16 boxSpecies[IN_BOX_COUNT];
|
||||
u32 boxPersonalities[IN_BOX_COUNT];
|
||||
u8 incomingBoxId;
|
||||
u8 shiftTimer;
|
||||
u8 numPartySpritesToCompact;
|
||||
u16 iconScrollDistance;
|
||||
s16 iconScrollPos;
|
||||
s16 iconScrollSpeed;
|
||||
u16 iconScrollNumIncoming;
|
||||
u8 iconScrollCurColumn;
|
||||
s8 iconScrollDirection; // Unnecessary duplicate of scrollDirection
|
||||
u8 iconScrollState;
|
||||
u8 iconScrollToBoxId; // Unused duplicate of scrollToBoxId
|
||||
struct WindowTemplate menuWindow;
|
||||
struct StorageMenu menuItems[7];
|
||||
u8 menuItemsCount;
|
||||
u8 menuWidth;
|
||||
u8 menuUnusedField; // Never read.
|
||||
u16 menuWindowId;
|
||||
struct Sprite *cursorSprite;
|
||||
struct Sprite *cursorShadowSprite;
|
||||
s32 cursorNewX;
|
||||
s32 cursorNewY;
|
||||
u32 cursorSpeedX;
|
||||
u32 cursorSpeedY;
|
||||
s16 cursorTargetX;
|
||||
s16 cursorTargetY;
|
||||
u16 cursorMoveSteps;
|
||||
s8 cursorVerticalWrap;
|
||||
s8 cursorHorizontalWrap;
|
||||
u8 newCursorArea;
|
||||
u8 newCursorPosition;
|
||||
u8 cursorPrevPartyPos;
|
||||
u8 cursorFlipTimer;
|
||||
u8 cursorPalNums[2];
|
||||
const u32 *displayMonPalette;
|
||||
u32 displayMonPersonality;
|
||||
u16 displayMonSpecies;
|
||||
u16 displayMonItemId;
|
||||
u16 displayUnusedVar;
|
||||
bool8 setMosaic;
|
||||
u8 displayMonMarkings;
|
||||
u8 displayMonLevel;
|
||||
bool8 displayMonIsEgg;
|
||||
u8 displayMonNickname[POKEMON_NAME_LENGTH + 1];
|
||||
u8 displayMonTexts[4][36]; // nickname, species name, gender and level, item name
|
||||
bool8 (*monPlaceChangeFunc)(void);
|
||||
u8 monPlaceChangeState;
|
||||
u8 shiftBoxId;
|
||||
struct Sprite *markingComboSprite;
|
||||
struct Sprite *waveformSprites[2];
|
||||
u16 *markingComboTilesPtr;
|
||||
struct MonMarkingsMenu markMenu;
|
||||
struct ChooseBoxMenu chooseBoxMenu;
|
||||
struct Pokemon movingMon;
|
||||
struct Pokemon tempMon;
|
||||
s8 releaseMonStatus;
|
||||
bool8 releaseMonStatusResolved;
|
||||
bool8 isSurfMon;
|
||||
bool8 isDiveMon;
|
||||
s8 releaseCheckBoxId;
|
||||
s8 releaseCheckBoxPos;
|
||||
s8 releaseBoxId;
|
||||
s8 releaseBoxPos;
|
||||
u16 releaseCheckState;
|
||||
u16 restrictedMoveList[3];
|
||||
u8 summaryLastIndex;
|
||||
u8 summaryCursorPos;
|
||||
u8 summaryScreenMode;
|
||||
union
|
||||
{
|
||||
struct Pokemon *mon;
|
||||
struct BoxPokemon *box;
|
||||
} field_218C;
|
||||
/* 2180 */ u8 field_2190[40];
|
||||
/* 21a8 */ u8 field_21B8[40];
|
||||
/* 21d0 */ u8 field_21E0[POKEMON_NAME_LENGTH + 1];
|
||||
/* 21db */ u8 itemName[20];
|
||||
/* 21ef */ u8 inBoxMovingMode;
|
||||
/* 21f0 */ u16 field_2200;
|
||||
/* 21f4 */ struct PSS_ItemIconSprite itemIcons[MAX_ITEM_ICONS];
|
||||
/* 2224 */ u16 movingItemId;
|
||||
/* 2226 */ u16 itemInfoWindowOffset;
|
||||
/* 2228 */ struct PssQuestLogBuffer qlogBuffer;
|
||||
/* 2230 */ u16 field_2238;
|
||||
/* 2232 */ u16 field_223A;
|
||||
/* 2234 */ u16 *field_223C;
|
||||
/* 2238 */ struct Sprite *cursorMonSprite;
|
||||
/* 223c */ u16 field_2244[0x40];
|
||||
/* 22bc */ u8 field_22C4[0x800];
|
||||
/* 2abc */ u8 field_2AC4[0x1800];
|
||||
/* 42bc */ u8 itemIconBuffer[0x800];
|
||||
/* 4abc */ u8 field_4AC4[0x1000];
|
||||
/* 5abc */ u8 field_5AC4[0x800];
|
||||
}; // size=62bc
|
||||
} summaryMonPtr;
|
||||
u8 actionText[40];
|
||||
u8 boxTitleText[40];
|
||||
u8 releaseMonName[POKEMON_NAME_LENGTH + 1];
|
||||
u8 itemName[20];
|
||||
u8 inBoxMovingMode;
|
||||
u16 multiMoveWindowId;
|
||||
struct PokeStorageItemIcon itemIcons[MAX_ITEM_ICONS];
|
||||
u16 movingItemId;
|
||||
u16 itemInfoWindowOffset;
|
||||
struct PokeStorageQuestLogData pokeStorageQuestLogData;
|
||||
u16 unusedField2;
|
||||
u16 displayMonPalOffset;
|
||||
u16 *displayMonTilePtr;
|
||||
struct Sprite *displayMonSprite;
|
||||
u16 displayMonPalBuffer[0x20];
|
||||
u8 unusedBuffer1[0x40];
|
||||
u8 tileBuffer[0x800];
|
||||
u8 unusedBuffer2[0x1800];
|
||||
u8 itemIconBuffer[0x200];
|
||||
u8 unusedBuffer3[0x600];
|
||||
u8 wallpaperBgTilemapBuffer[0x1000];
|
||||
u8 menuTilemapBuffer[0x800];
|
||||
};
|
||||
|
||||
extern struct PokemonStorageSystemData *gPSSData;
|
||||
extern struct PokemonStorageSystemData *gStorage;
|
||||
|
||||
void Cb2_EnterPSS(u8 a0);
|
||||
void EnterPokeStorage(u8 boxOption);
|
||||
u8 GetCurrentBoxOption(void);
|
||||
struct Sprite *CreateChooseBoxArrows(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority);
|
||||
void SetBoxWallpaper(u8 boxId, u8 wallpaperId);
|
||||
@@ -400,46 +453,46 @@ void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon * src);
|
||||
|
||||
void CB2_ExitPokeStorage(void);
|
||||
void FreeBoxSelectionPopupSpriteGfx(void);
|
||||
void sub_808C940(u8 curBox);
|
||||
void sub_808C950(void);
|
||||
void CreateChooseBoxMenuSprites(u8 curBox);
|
||||
void DestroyChooseBoxMenuSprites(void);
|
||||
u8 HandleBoxChooseSelectionInput(void);
|
||||
void LoadChooseBoxMenuGfx(struct ChooseBoxMenu *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal);
|
||||
void LoadChooseBoxMenuGfx(struct ChooseBoxMenu *menu, u16 tileTag, u16 palTag, u8 subpriority, bool32 loadPal);
|
||||
void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
|
||||
u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
|
||||
u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst);
|
||||
|
||||
void sub_80922C0(void);
|
||||
void sub_8092340(void);
|
||||
bool8 sub_80924A8(void);
|
||||
void sub_8092AE4(void);
|
||||
void sub_8092B3C(u8 a0);
|
||||
void sub_8092B50(void);
|
||||
void sub_8092B5C(void);
|
||||
u8 sub_8092B70(void);
|
||||
void sub_8092F54(void);
|
||||
void sub_8093174(void);
|
||||
void sub_8093194(void);
|
||||
bool8 sub_80931EC(void);
|
||||
void sub_8093264(void);
|
||||
void sub_8093630(void);
|
||||
void sub_8093660(void);
|
||||
void sub_80936B8(void);
|
||||
void sub_80937B4(void);
|
||||
void sub_8094D14(u8 a0);
|
||||
u8 sub_8094D34(void);
|
||||
void sub_8094D60(void);
|
||||
void sub_8094D84(void);
|
||||
bool8 sub_8094F90(void);
|
||||
s16 sub_8094F94(void);
|
||||
void sub_8095024(void);
|
||||
bool8 sub_8095050(void);
|
||||
void sub_80950A4(void);
|
||||
void sub_80950BC(u8 a0);
|
||||
bool8 sub_80950D0(void);
|
||||
void InitCursor(void);
|
||||
void InitCursorOnReopen(void);
|
||||
bool8 UpdateCursorPos(void);
|
||||
void SetCursorInParty(void);
|
||||
void SetCursorBoxPosition(u8 cursorBoxPosition);
|
||||
void ClearSavedCursorPos(void);
|
||||
void SaveCursorPos(void);
|
||||
u8 GetSavedCursorPos(void);
|
||||
void DoTrySetDisplayMonData(void);
|
||||
void ResetSelectionAfterDeposit(void);
|
||||
void InitReleaseMon(void);
|
||||
bool8 TryHideReleaseMon(void);
|
||||
void TrySetCursorFistAnim(void);
|
||||
void SaveMovingMon(void);
|
||||
void LoadSavedMovingMon(void);
|
||||
void InitSummaryScreenData(void);
|
||||
void SetSelectionAfterSummaryScreen(void);
|
||||
void StartCursorAnim(u8 animNum);
|
||||
u8 GetMovingMonOriginalBoxId(void);
|
||||
void TryHideItemAtCursor(void);
|
||||
void TryShowItemAtCursor(void);
|
||||
bool8 IsMenuLoading(void);
|
||||
s16 HandleMenuInput(void);
|
||||
void RemoveMenu(void);
|
||||
bool8 MultiMove_Init(void);
|
||||
void MultiMove_Free(void);
|
||||
void MultiMove_SetFunction(u8 funcId);
|
||||
bool8 MultiMove_RunFunction(void);
|
||||
void CreateItemIconSprites(void);
|
||||
void sub_8096088(void);
|
||||
void sub_80960C0(void);
|
||||
bool8 sub_809610C(void);
|
||||
void MoveItemFromCursorToBag(void);
|
||||
void MoveHeldItemWithPartyMenu(void);
|
||||
bool8 IsItemIconAnimActive(void);
|
||||
const u8 *GetMovingItemName(void);
|
||||
void InitItemInfoWindow(void);
|
||||
bool8 UpdateItemInfoWindowSlideIn(void);
|
||||
@@ -455,7 +508,7 @@ u8 GetBoxCursorPosition(void);
|
||||
u16 GetMovingItem(void);
|
||||
u8 HandleInput(void);
|
||||
void InitCanReleaseMonVars(void);
|
||||
void InitMonPlaceChange(u8 a0);
|
||||
void InitMonPlaceChange(u8 type);
|
||||
bool8 IsActiveItemMoving(void);
|
||||
bool8 IsCursorOnCloseBox(void);
|
||||
bool8 IsMonBeingMoved(void);
|
||||
@@ -474,47 +527,47 @@ void SetWallpaperForCurrentBox(u8 wallpaper);
|
||||
bool8 TryStorePartyMonInBox(u8 boxId);
|
||||
void InitMenu(void);
|
||||
void SetMenuText(u8 textId);
|
||||
void sub_8095C84(u8 cursorArea, u8 cursorPos);
|
||||
void sub_8095E2C(u16 itemId);
|
||||
void TryLoadItemIconAtPos(u8 cursorArea, u8 cursorPos);
|
||||
void InitItemIconInCursor(u16 itemId);
|
||||
u8 GetBoxWallpaper(u8 boxId);
|
||||
bool8 IsCursorOnBoxTitle(void);
|
||||
bool8 IsCursorInBox(void);
|
||||
|
||||
void sub_808FFAC(void);
|
||||
void InitMonIconFields(void);
|
||||
struct Sprite *CreateMonIconSprite(u16 species, u32 pid, s16 x, s16 y, u8 priority, u8 subpriority);
|
||||
void CreatePartyMonsSprites(bool8 species);
|
||||
void sub_80909F4(void);
|
||||
bool8 sub_8090A60(void);
|
||||
void sub_8090B98(s16 yDelta);
|
||||
void CompactPartySprites(void);
|
||||
u8 GetNumPartySpritesCompacting(void);
|
||||
void MovePartySprites(s16 yDelta);
|
||||
void DestroyAllPartyMonIcons(void);
|
||||
void sub_8091114(void);
|
||||
bool8 sub_8091150(void);
|
||||
void sub_80913DC(u8 box);
|
||||
bool8 sub_809140C(void);
|
||||
void DoReleaseMonComeBackAnim(void);
|
||||
bool8 ResetReleaseMonSpritePtr(void);
|
||||
void CreateInitBoxTask(u8 boxId);
|
||||
bool8 IsInitBoxActive(void);
|
||||
void AnimateBoxScrollArrows(bool8 species);
|
||||
void CreateMovingMonIcon(void);
|
||||
void sub_8090E08(u8 boxId, u8 cursorPos);
|
||||
bool8 sub_8090E74(void);
|
||||
void sub_8090CC0(u8 cursorArea, u8 cursorPos);
|
||||
void sub_8090D58(u8 cursorArea, u8 cursorPos);
|
||||
void SetShiftMonSpritePtr(u8 boxId, u8 position);
|
||||
bool8 ShiftMons(void);
|
||||
void SetMovingMonSprite(u8 cursorArea, u8 cursorPos);
|
||||
void SetPlacedMonSprite(u8 cursorArea, u8 cursorPos);
|
||||
void DestroyPartyMonIcon(u8 partyId);
|
||||
void DestroyMovingMonIcon(void);
|
||||
s16 GetFirstFreeBoxSpot(u8 boxId);
|
||||
void sub_80901EC(u8 boxPosition);
|
||||
void sub_8090FC4(u8 mode, u8 position);
|
||||
bool8 sub_8091084(void);
|
||||
void sub_80910CC(void);
|
||||
void CreateBoxMonIconAtPos(u8 boxPosition);
|
||||
void DoReleaseMonAnim(u8 mode, u8 position);
|
||||
bool8 TryHideReleaseMonSprite(void);
|
||||
void DestroyReleaseMonIcon(void);
|
||||
u8 CountPartyMons(void);
|
||||
u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
|
||||
|
||||
s8 sub_8094E50(u8 a0);
|
||||
bool8 sub_8095474(u8 action);
|
||||
u8 sub_8095AA0(void);
|
||||
bool8 sub_8095ABC(void);
|
||||
void sub_8095D44(u8 cursorArea, u8 cursorPos);
|
||||
void sub_8094CD4(u8 *arg0, u8 *arg1);
|
||||
void sub_8094D40(void);
|
||||
void sub_8092BAC(bool8 arg0);
|
||||
s8 GetMenuItemTextId(u8 menuIndex);
|
||||
bool8 MultiMove_TryMoveGroup(u8 dir);
|
||||
u8 MultiMove_GetOriginPosition(void);
|
||||
bool8 MultiMove_CanPlaceSelection(void);
|
||||
void TryHideItemIconAtPos(u8 cursorArea, u8 cursorPos);
|
||||
void GetCursorBoxColumnAndRow(u8 *column, u8 *row);
|
||||
void SetCursorPriorityTo1(void);
|
||||
void InitMultiMonPlaceChange(bool8 moveCursorUp);
|
||||
void DestroyBoxMonIconAtPosition(u8 boxPosition);
|
||||
void SetBoxMonIconObjMode(u8 cursorPos, u8 objMode);
|
||||
void SetPartyMonIconObjMode(u8 cursorPos, u8 objMode);
|
||||
|
||||
+12
-17
@@ -28,26 +28,21 @@ u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void));
|
||||
void StopScript(struct ScriptContext *ctx);
|
||||
bool8 RunScriptCommand(struct ScriptContext *ctx);
|
||||
u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr);
|
||||
const u8 *ScriptPop(struct ScriptContext *ctx);
|
||||
void ScriptJump(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptCall(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptReturn(struct ScriptContext *ctx);
|
||||
u16 ScriptReadHalfword(struct ScriptContext *ctx);
|
||||
u32 ScriptReadWord(struct ScriptContext *ctx);
|
||||
void ScriptContext2_Enable(void);
|
||||
void ScriptContext2_Disable(void);
|
||||
bool8 ScriptContext2_IsEnabled(void);
|
||||
void ScriptContext1_Init(void);
|
||||
bool8 ScriptContext1_IsScriptSetUp(void);
|
||||
bool8 ScriptContext2_RunScript(void);
|
||||
void ScriptContext1_SetupScript(const u8 *ptr);
|
||||
void ScriptContext1_Stop(void);
|
||||
void EnableBothScriptContexts(void);
|
||||
void ScriptContext2_RunNewScript(const u8 *ptr);
|
||||
u8 *mapheader_get_tagged_pointer(u8 tag);
|
||||
void mapheader_run_script_by_tag(u8 tag);
|
||||
u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag);
|
||||
void LockPlayerFieldControls(void);
|
||||
void UnlockPlayerFieldControls(void);
|
||||
bool8 ArePlayerFieldControlsLocked(void);
|
||||
void ScriptContext_Init(void);
|
||||
bool8 ScriptContext_IsEnabled(void);
|
||||
bool8 ScriptContext_RunScript(void);
|
||||
void ScriptContext_SetupScript(const u8 *ptr);
|
||||
void ScriptContext_Stop(void);
|
||||
void ScriptContext_Enable(void);
|
||||
void RunScriptImmediately(const u8 *ptr);
|
||||
void RunOnLoadMapScript(void);
|
||||
void RunOnTransitionMapScript(void);
|
||||
void RunOnResumeMapScript(void);
|
||||
@@ -60,7 +55,7 @@ void ClearRamScript(void);
|
||||
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script);
|
||||
bool32 ValidateRamScript(void);
|
||||
void MEventSetRamScript(u8 * script, u16 scriptSize);
|
||||
void InitRamScript_NoObjectEvent(u8 * script, u16 scriptSize);
|
||||
u8 * GetSavedRamScriptIfValid(void);
|
||||
void RegisterQuestLogInput(u8 var);
|
||||
void ClearMsgBoxCancelableState(void);
|
||||
@@ -77,7 +72,7 @@ bool8 CanWalkAwayToCancelMsgBox(void);
|
||||
void SetWalkingIntoSignVars(void);
|
||||
bool8 IsMsgBoxWalkawayDisabled(void);
|
||||
|
||||
extern const u8 *gRAMScriptPtr;
|
||||
extern const u8 *gRamScriptRetAddr;
|
||||
extern u8 gWalkAwayFromSignInhibitTimer;
|
||||
|
||||
#endif // GUARD_SCRIPT_H
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "global.h"
|
||||
|
||||
#define MAX_SPRITES 64
|
||||
#define SPRITE_NONE 0xFF
|
||||
#define TAG_NONE 0xFFFF
|
||||
|
||||
struct SpriteSheet
|
||||
|
||||
@@ -11,8 +11,8 @@ enum StringConvertMode
|
||||
};
|
||||
|
||||
u8 *StringCopy_Nickname(u8 *dest, const u8 *src);
|
||||
u8 *StringGetEnd10(u8 *str);
|
||||
u8 *StringCopy7(u8 *dest, const u8 *src);
|
||||
u8 *StringGet_Nickname(u8 *str);
|
||||
u8 *StringCopy_PlayerName(u8 *dest, const u8 *src);
|
||||
u8 *StringCopy(u8 *dest, const u8 *src);
|
||||
u8 *StringAppend(u8 *dest, const u8 *src);
|
||||
u8 *StringCopyN(u8 *dest, const u8 *src, u8 n);
|
||||
|
||||
+7
-7
@@ -216,12 +216,12 @@ extern const u8 gString_SlotMachineControls[];
|
||||
|
||||
// battle_controller_safari
|
||||
extern const u8 gText_EmptyString3[];
|
||||
extern const u8 gUnknown_83FE747[];
|
||||
extern const u8 gText_SafariZoneMenu[];
|
||||
extern const u8 gText_WhatWillPlayerThrow[];
|
||||
|
||||
// battle_controller_player
|
||||
extern const u8 gText_BattleSwitchWhich[];
|
||||
extern const u8 gUnknown_83FE770[];
|
||||
extern const u8 gText_MoveInterfaceDynamicColors[];
|
||||
extern const u8 gText_MoveInterfacePP[];
|
||||
extern const u8 gText_MoveInterfaceType[];
|
||||
extern const u8 gText_LinkStandby[];
|
||||
@@ -1174,11 +1174,11 @@ extern const u8 gText_ExcellentsInARow[];
|
||||
extern const u8 gText_PkmnJumpRecords[];
|
||||
|
||||
// cable_club
|
||||
extern const u8 gUnknown_841DF82[];
|
||||
extern const u8 gUnknown_841DF8B[];
|
||||
extern const u8 gUnknown_841DF92[];
|
||||
extern const u8 gUnknown_841DF99[];
|
||||
extern const u8 gUnknown_841DFA0[];
|
||||
extern const u8 gText_NumPlayerLink[];
|
||||
extern const u8 gText_BronzeCard[];
|
||||
extern const u8 gText_CopperCard[];
|
||||
extern const u8 gText_SilverCard[];
|
||||
extern const u8 gText_GoldCard[];
|
||||
|
||||
// berry_crush
|
||||
extern const u8 gText_BerryCrush_AreYouReady[];
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_TILEMAP_UTIL_H
|
||||
#define GUARD_TILEMAP_UTIL_H
|
||||
|
||||
void TilemapUtil_Init(u8 numTilemapIds);
|
||||
void TilemapUtil_Free(void);
|
||||
void TilemapUtil_SetTilemap(u8 tilemapId, u8 bg, const void *tilemap, u16 width, u16 height);
|
||||
void TilemapUtil_SetPos(u8 tilemapId, u16 destX, u16 destY);
|
||||
void TilemapUtil_SetRect(u8 tilemapId, u16 x, u16 y, u16 width, u16 height);
|
||||
void TilemapUtil_Move(u8 tilemapId, u8 mode, s8 param);
|
||||
void TilemapUtil_Update(u8 tilemapId);
|
||||
|
||||
#endif //GUARD_TILEMAP_UTIL_H
|
||||
Reference in New Issue
Block a user