diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 17 | ||||
-rw-r--r-- | include/battle_controllers.h | 4 | ||||
-rw-r--r-- | include/battle_message.h | 12 | ||||
-rw-r--r-- | include/battle_move_effects.h | 4 | ||||
-rw-r--r-- | include/battle_script_commands.h | 6 | ||||
-rw-r--r-- | include/battle_scripts.h | 640 | ||||
-rw-r--r-- | include/berry.h | 10 | ||||
-rw-r--r-- | include/berry_blender.h | 8 | ||||
-rw-r--r-- | include/decompress.h | 2 | ||||
-rw-r--r-- | include/flags.h | 1 | ||||
-rw-r--r-- | include/gba/m4a_internal.h | 2 | ||||
-rw-r--r-- | include/item_menu_icons.h | 6 | ||||
-rw-r--r-- | include/items.h | 4 | ||||
-rw-r--r-- | include/link.h | 3 | ||||
-rw-r--r-- | include/menu.h | 3 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 1 | ||||
-rw-r--r-- | include/pokeblock.h | 22 | ||||
-rw-r--r-- | include/pokemon.h | 4 | ||||
-rw-r--r-- | include/text.h | 3 | ||||
-rw-r--r-- | include/tv.h | 1 | ||||
-rw-r--r-- | include/unk_text_util.h | 9 |
21 files changed, 723 insertions, 39 deletions
diff --git a/include/battle.h b/include/battle.h index 0939c92b6..c172cb0f6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -272,6 +272,8 @@ #define BS_GET_TARGET 0 #define BS_GET_ATTACKER 1 #define BS_GET_EFFECT_BANK 2 +#define BS_GET_gBank1 3 +#define BS_GET_BANK_0 7 #define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update #define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability #define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability @@ -704,13 +706,6 @@ struct BattleStruct extern struct BattleStruct* gBattleStruct; -#define MEME_ACCESS_U8(structName, structPtr, arrayId, offsetField, value) \ -{ \ - u8* var2 = (u8*)((u32)(arrayId)); \ - var2 = (u32)(structPtr) + var2; \ - var2[offsetof(struct structName, offsetField)] = value; \ -} - #define GET_MOVE_TYPE(move, typeArg) \ { \ if (gBattleStruct->dynamicMoveType) \ @@ -835,20 +830,20 @@ extern struct BattleStruct* gBattleStruct; #define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 #define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit -#define SET_STAT_BUFF_ID(n)((n & 0xF)) #define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0)) +#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) + struct BattleScripting { s32 painSplitHp; s32 bideDmg; u8 multihitString[6]; u8 dmgMultiplier; - u8 field_F; + u8 twoTurnsMoveStringId; u8 animArg1; u8 animArg2; - u8 field_12; - u8 field_13; + u16 tripleKickPower; u8 atk49_state; u8 field_15; u8 field_16; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 973a723e0..c69cb1017 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -198,7 +198,7 @@ void EmitBallThrowAnim(u8 bufferId, u8 caseId); void EmitPause(u8 bufferId, u8 toWait, void *data); // unused void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); void EmitPrintString(u8 bufferId, u16 stringId); -void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); +void EmitPrintSelectionString(u8 bufferId, u16 stringId); void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); void EmitUnknownYesNoBox(u8 bufferId); void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); @@ -224,7 +224,7 @@ void EmitCmd39(u8 bufferId); // unused void EmitCmd40(u8 bufferId); // unused void EmitHitAnimation(u8 bufferId); void EmitCmd42(u8 bufferId); -void EmitEffectivenessSound(u8 bufferId, u16 songId); +void EmitPlaySE(u8 bufferId, u16 songId); void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); void EmitFaintingCry(u8 bufferId); void EmitIntroSlide(u8 bufferId, u8 terrainId); diff --git a/include/battle_message.h b/include/battle_message.h index 3f9b38cad..30ddca469 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -67,13 +67,21 @@ #define B_BUFF_STAT 5 #define B_BUFF_SPECIES 6 #define B_BUFF_MON_NICK 7 -#define B_BUFF_NEGATIVE_FLAVOUR 8 +#define B_BUFF_NEGATIVE_FLAVOR 8 #define B_BUFF_ABILITY 9 #define B_BUFF_ITEM 10 #define B_BUFF_PLACEHOLDER_BEGIN 0xFD #define B_BUFF_EOS 0xFF +#define PREPARE_FLAVOR_BUFFER(textVar, flavorId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NEGATIVE_FLAVOR; \ + textVar[2] = flavorId; \ + textVar[3] = B_BUFF_EOS; \ +} + #define PREPARE_STAT_BUFFER(textVar, statId) \ { \ textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ @@ -189,7 +197,7 @@ struct StringInfoBattle { u16 currentMove; - u16 lastMove; + u16 originallyUsedMove; u16 lastItem; u8 lastAbility; u8 scrActive; diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h index 4a9415379..23c19ded7 100644 --- a/include/battle_move_effects.h +++ b/include/battle_move_effects.h @@ -153,12 +153,12 @@ enum EFFECT_EARTHQUAKE, EFFECT_FUTURE_SIGHT, EFFECT_GUST, - EFFECT_FLINCH_HIT_2, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM + EFFECT_STOMP, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM EFFECT_SOLARBEAM, EFFECT_THUNDER, EFFECT_TELEPORT, EFFECT_BEAT_UP, - EFFECT_FLY, + EFFECT_SEMI_INVULNERABLE, EFFECT_DEFENSE_CURL, EFFECT_SOFTBOILED, EFFECT_FAKE_OUT, diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index ebfeabccc..80fabaa64 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -1,6 +1,10 @@ #ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H #define GUARD_BATTLE_SCRIPT_COMMANDS_H +#define NO_ACC_CALC 0xFFFE +#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF +#define ACC_CURR_MOVE 0 + #define CMP_EQUAL 0x0 #define CMP_NOT_EQUAL 0x1 #define CMP_GREATER_THAN 0x2 @@ -21,7 +25,7 @@ #define VARIOUS_CANCEL_MULTI_TURN_MOVES 0 #define VARIOUS_SET_MAGIC_COAT_TARGET 1 -#define VARIOUS_CAN_RUN_FROM_BATTLE 2 +#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 #define VARIOUS_GET_MOVE_TARGET 3 #define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 diff --git a/include/battle_scripts.h b/include/battle_scripts.h new file mode 100644 index 000000000..5131778a8 --- /dev/null +++ b/include/battle_scripts.h @@ -0,0 +1,640 @@ +#ifndef GUARD_BATTLE_SCRIPTS_H +#define GUARD_BATTLE_SCRIPTS_H + +extern const u8 BattleScript_EffectHit[]; +extern const u8 BattleScript_HitFromAtkCanceler[]; +extern const u8 BattleScript_HitFromAccCheck[]; +extern const u8 BattleScript_HitFromAtkString[]; +extern const u8 BattleScript_HitFromCritCalc[]; +extern const u8 BattleScript_HitFromAtkAnimation[]; +extern const u8 BattleScript_MoveEnd[]; +extern const u8 BattleScript_MakeMoveMissed[]; +extern const u8 BattleScript_PrintMoveMissed[]; +extern const u8 BattleScript_MoveMissedPause[]; +extern const u8 BattleScript_MoveMissed[]; +extern const u8 BattleScript_EffectSleep[]; +extern const u8 BattleScript_AlreadyAsleep[]; +extern const u8 BattleScript_WasntAffected[]; +extern const u8 BattleScript_CantMakeAsleep[]; +extern const u8 BattleScript_EffectPoisonHit[]; +extern const u8 BattleScript_EffectAbsorb[]; +extern const u8 BattleScript_82D8B26[]; +extern const u8 BattleScript_82D8B2E[]; +extern const u8 BattleScript_82D8B45[]; +extern const u8 BattleScript_EffectBurnHit[]; +extern const u8 BattleScript_EffectFreezeHit[]; +extern const u8 BattleScript_EffectParalyzeHit[]; +extern const u8 BattleScript_EffectExplosion[]; +extern const u8 BattleScript_82D8B94[]; +extern const u8 BattleScript_82D8B96[]; +extern const u8 BattleScript_82D8BCF[]; +extern const u8 BattleScript_82D8BEA[]; +extern const u8 BattleScript_EffectDreamEater[]; +extern const u8 BattleScript_82D8C0E[]; +extern const u8 BattleScript_82D8C18[]; +extern const u8 BattleScript_82D8C56[]; +extern const u8 BattleScript_EffectMirrorMove[]; +extern const u8 BattleScript_EffectAttackUp[]; +extern const u8 BattleScript_EffectDefenseUp[]; +extern const u8 BattleScript_EffectSpecialAttackUp[]; +extern const u8 BattleScript_EffectEvasionUp[]; +extern const u8 BattleScript_EffectStatUp[]; +extern const u8 BattleScript_EffectStatUpAfterAtkCanceler[]; +extern const u8 BattleScript_StatUpAttackAnim[]; +extern const u8 BattleScript_StatUpDoAnim[]; +extern const u8 BattleScript_StatUpPrintString[]; +extern const u8 BattleScript_StatUpEnd[]; +extern const u8 BattleScript_StatUp[]; +extern const u8 BattleScript_EffectAttackDown[]; +extern const u8 BattleScript_EffectDefenseDown[]; +extern const u8 BattleScript_EffectSpeedDown[]; +extern const u8 BattleScript_EffectAccuracyDown[]; +extern const u8 BattleScript_EffectEvasionDown[]; +extern const u8 BattleScript_EffectStatDown[]; +extern const u8 BattleScript_StatDownDoAnim[]; +extern const u8 BattleScript_StatDownPrintString[]; +extern const u8 BattleScript_82D8D60[]; +extern const u8 BattleScript_StatDown[]; +extern const u8 BattleScript_EffectHaze[]; +extern const u8 BattleScript_EffectBide[]; +extern const u8 BattleScript_EffectRampage[]; +extern const u8 BattleScript_82D8DAE[]; +extern const u8 BattleScript_EffectRoar[]; +extern const u8 BattleScript_EffectMultiHit[]; +extern const u8 BattleScript_82D8DFD[]; +extern const u8 BattleScript_82D8E1F[]; +extern const u8 BattleScript_82D8E71[]; +extern const u8 BattleScript_82D8E74[]; +extern const u8 BattleScript_82D8E93[]; +extern const u8 BattleScript_EffectConversion[]; +extern const u8 BattleScript_EffectFlinchHit[]; +extern const u8 BattleScript_EffectRestoreHp[]; +extern const u8 BattleScript_EffectToxic[]; +extern const u8 BattleScript_AlreadyPoisoned[]; +extern const u8 BattleScript_ImmunityProtected[]; +extern const u8 BattleScript_EffectPayDay[]; +extern const u8 BattleScript_EffectLightScreen[]; +extern const u8 BattleScript_EffectTriAttack[]; +extern const u8 BattleScript_EffectRest[]; +extern const u8 BattleScript_RestCantSleep[]; +extern const u8 BattleScript_RestIsAlreadyAsleep[]; +extern const u8 BattleScript_EffectOHKO[]; +extern const u8 BattleScript_KOFail[]; +extern const u8 BattleScript_EffectRazorWind[]; +extern const u8 BattleScript_TwoTurnMovesSecondTurn[]; +extern const u8 BattleScriptFirstChargingTurn[]; +extern const u8 BattleScript_EffectSuperFang[]; +extern const u8 BattleScript_EffectDragonRage[]; +extern const u8 BattleScript_EffectTrap[]; +extern const u8 BattleScript_DoWrapEffect[]; +extern const u8 BattleScript_EffectDoubleHit[]; +extern const u8 BattleScript_EffectRecoilIfMiss[]; +extern const u8 BattleScript_82D9135[]; +extern const u8 BattleScript_EffectMist[]; +extern const u8 BattleScript_EffectFocusEnergy[]; +extern const u8 BattleScript_EffectRecoil[]; +extern const u8 BattleScript_EffectConfuse[]; +extern const u8 BattleScript_AlreadyConfused[]; +extern const u8 BattleScript_EffectAttackUp2[]; +extern const u8 BattleScript_EffectDefenseUp2[]; +extern const u8 BattleScript_EffectSpeedUp2[]; +extern const u8 BattleScript_EffectSpecialAttackUp2[]; +extern const u8 BattleScript_EffectSpecialDefenseUp2[]; +extern const u8 BattleScript_EffectTransform[]; +extern const u8 BattleScript_EffectAttackDown2[]; +extern const u8 BattleScript_EffectDefenseDown2[]; +extern const u8 BattleScript_EffectSpeedDown2[]; +extern const u8 BattleScript_EffectSpecialDefenseDown2[]; +extern const u8 BattleScript_EffectReflect[]; +extern const u8 BattleScript_PrintReflectLightScreenSafeguardString[]; +extern const u8 BattleScript_EffectPoison[]; +extern const u8 BattleScript_EffectParalyze[]; +extern const u8 BattleScript_AlreadyParalyzed[]; +extern const u8 BattleScript_LimberProtected[]; +extern const u8 BattleScript_EffectAttackDownHit[]; +extern const u8 BattleScript_EffectDefenseDownHit[]; +extern const u8 BattleScript_EffectSpeedDownHit[]; +extern const u8 BattleScript_EffectSpecialAttackDownHit[]; +extern const u8 BattleScript_EffectSpecialDefenseDownHit[]; +extern const u8 BattleScript_EffectAccuracyDownHit[]; +extern const u8 BattleScript_EffectSkyAttack[]; +extern const u8 BattleScript_EffectConfuseHit[]; +extern const u8 BattleScript_EffectTwineedle[]; +extern const u8 BattleScript_EffectSubstitute[]; +extern const u8 BattleScript_SubstituteAnim[]; +extern const u8 BattleScript_SubstituteString[]; +extern const u8 BattleScript_AlreadyHasSubstitute[]; +extern const u8 BattleScript_EffectRecharge[]; +extern const u8 BattleScript_MoveUsedMustRecharge[]; +extern const u8 BattleScript_EffectRage[]; +extern const u8 BattleScript_RageMiss[]; +extern const u8 BattleScript_EffectMimic[]; +extern const u8 BattleScript_EffectMetronome[]; +extern const u8 BattleScript_EffectLeechSeed[]; +extern const u8 BattleScript_DoLeechSeed[]; +extern const u8 BattleScript_EffectSplash[]; +extern const u8 BattleScript_EffectDisable[]; +extern const u8 BattleScript_EffectLevelDamage[]; +extern const u8 BattleScript_EffectPsywave[]; +extern const u8 BattleScript_EffectCounter[]; +extern const u8 BattleScript_EffectEncore[]; +extern const u8 BattleScript_EffectPainSplit[]; +extern const u8 BattleScript_EffectSnore[]; +extern const u8 BattleScript_SnoreIsAsleep[]; +extern const u8 BattleScript_DoSnore[]; +extern const u8 BattleScript_EffectConversion2[]; +extern const u8 BattleScript_EffectLockOn[]; +extern const u8 BattleScript_EffectSketch[]; +extern const u8 BattleScript_EffectSleepTalk[]; +extern const u8 BattleScript_SleepTalkIsAsleep[]; +extern const u8 BattleScript_SleepTalkUsingMove[]; +extern const u8 BattleScript_EffectDestinyBond[]; +extern const u8 BattleScript_EffectFlail[]; +extern const u8 BattleScript_EffectSpite[]; +extern const u8 BattleScript_EffectHealBell[]; +extern const u8 BattleScript_CheckHealBellMon2Unaffected[]; +extern const u8 BattleScript_PartyHealEnd[]; +extern const u8 BattleScript_EffectTripleKick[]; +extern const u8 BattleScript_TripleKickLoop[]; +extern const u8 BattleScript_DoTripleKickAttack[]; +extern const u8 BattleScript_TripleKickNoMoreHits[]; +extern const u8 BattleScript_TripleKickPrintStrings[]; +extern const u8 BattleScript_TripleKickEnd[]; +extern const u8 BattleScript_EffectThief[]; +extern const u8 BattleScript_EffectMeanLook[]; +extern const u8 BattleScript_EffectNightmare[]; +extern const u8 BattleScript_NightmareWorked[]; +extern const u8 BattleScript_EffectMinimize[]; +extern const u8 BattleScript_EffectCurse[]; +extern const u8 BattleScript_CurseTrySpeed[]; +extern const u8 BattleScript_CurseTryAttack[]; +extern const u8 BattleScript_CurseTryDefence[]; +extern const u8 BattleScript_CurseEnd[]; +extern const u8 BattleScript_GhostCurse[]; +extern const u8 BattleScript_DoGhostCurse[]; +extern const u8 BattleScript_EffectProtect[]; +extern const u8 BattleScript_EffectSpikes[]; +extern const u8 BattleScript_EffectForesight[]; +extern const u8 BattleScript_EffectPerishSong[]; +extern const u8 BattleScript_PerishSongLoop[]; +extern const u8 BattleScript_PerishSongLoopIncrement[]; +extern const u8 BattleScript_PerishSongNotAffected[]; +extern const u8 BattleScript_EffectSandstorm[]; +extern const u8 BattleScript_EffectRollout[]; +extern const u8 BattleScript_RolloutCheckAccuracy[]; +extern const u8 BattleScript_RolloutHit[]; +extern const u8 BattleScript_EffectSwagger[]; +extern const u8 BattleScript_SwaggerTryConfuse[]; +extern const u8 BattleScript_EffectFuryCutter[]; +extern const u8 BattleScript_FuryCutterHit[]; +extern const u8 BattleScript_EffectAttract[]; +extern const u8 BattleScript_EffectReturn[]; +extern const u8 BattleScript_EffectPresent[]; +extern const u8 BattleScript_EffectSafeguard[]; +extern const u8 BattleScript_EffectThawHit[]; +extern const u8 BattleScript_EffectMagnitude[]; +extern const u8 BattleScript_EffectBatonPass[]; +extern const u8 BattleScript_EffectRapidSpin[]; +extern const u8 BattleScript_EffectSonicboom[]; +extern const u8 BattleScript_EffectMorningSun[]; +extern const u8 BattleScript_EffectHiddenPower[]; +extern const u8 BattleScript_EffectRainDance[]; +extern const u8 BattleScript_MoveWeatherChange[]; +extern const u8 BattleScript_EffectSunnyDay[]; +extern const u8 BattleScript_EffectDefenseUpHit[]; +extern const u8 BattleScript_EffectAttackUpHit[]; +extern const u8 BattleScript_EffectAllStatsUpHit[]; +extern const u8 BattleScript_EffectBellyDrum[]; +extern const u8 BattleScript_EffectPsychUp[]; +extern const u8 BattleScript_EffectMirrorCoat[]; +extern const u8 BattleScript_EffectSkullBash[]; +extern const u8 BattleScript_SkullBashEnd[]; +extern const u8 BattleScript_EffectTwister[]; +extern const u8 BattleScript_FlinchEffect[]; +extern const u8 BattleScript_EffectEarthquake[]; +extern const u8 BattleScript_82D9C44[]; +extern const u8 BattleScript_82D9C64[]; +extern const u8 BattleScript_82D9C73[]; +extern const u8 BattleScript_82D9CAC[]; +extern const u8 BattleScript_EffectFutureSight[]; +extern const u8 BattleScript_EffectGust[]; +extern const u8 BattleScript_EffectStomp[]; +extern const u8 BattleScript_EffectSolarbeam[]; +extern const u8 BattleScript_SolarbeamDecideTurn[]; +extern const u8 BattleScript_SolarbeamOnFirstTurn[]; +extern const u8 BattleScript_EffectThunder[]; +extern const u8 BattleScript_EffectTeleport[]; +extern const u8 BattleScript_EffectBeatUp[]; +extern const u8 BattleScript_BeatUpLoop[]; +extern const u8 BattleScript_BeatUpAttack[]; +extern const u8 BattleScript_BeatUpEnd[]; +extern const u8 BattleScript_EffectSemiInvulnerable[]; +extern const u8 BattleScript_FirstTurnBounce[]; +extern const u8 BattleScript_FirstTurnDive[]; +extern const u8 BattleScript_FirstTurnFly[]; +extern const u8 BattleScript_FirstTurnSemiInvulnerable[]; +extern const u8 BattleScript_SecondTurnSemiInvulnerable[]; +extern const u8 BattleScript_SemiInvulnerableTryHit[]; +extern const u8 BattleScript_SemiInvulnerableMiss[]; +extern const u8 BattleScript_EffectDefenseCurl[]; +extern const u8 BattleScript_DefenseCurlDoStatUpAnim[]; +extern const u8 BattleScript_EffectSoftboiled[]; +extern const u8 BattleScript_PresentHealTarget[]; +extern const u8 BattleScript_AlreadyAtFullHp[]; +extern const u8 BattleScript_EffectFakeOut[]; +extern const u8 BattleScript_ButItFailedAtkStringPpReduce[]; +extern const u8 BattleScript_ButItFailedPpReduce[]; +extern const u8 BattleScript_ButItFailed[]; +extern const u8 BattleScript_NotAffected[]; +extern const u8 BattleScript_EffectUproar[]; +extern const u8 BattleScript_UproarHit[]; +extern const u8 BattleScript_EffectStockpile[]; +extern const u8 BattleScript_EffectSpitUp[]; +extern const u8 BattleScript_SpitUpFail[]; +extern const u8 BattleScript_82D9FA2[]; +extern const u8 BattleScript_EffectSwallow[]; +extern const u8 BattleScript_SwallowFail[]; +extern const u8 BattleScript_EffectHail[]; +extern const u8 BattleScript_EffectTorment[]; +extern const u8 BattleScript_EffectFlatter[]; +extern const u8 BattleScript_FlatterTryConfuse[]; +extern const u8 BattleScript_EffectWillOWisp[]; +extern const u8 BattleScript_WaterVeilPrevents[]; +extern const u8 BattleScript_AlreadyBurned[]; +extern const u8 BattleScript_EffectMemento[]; +extern const u8 BattleScript_82DA119[]; +extern const u8 BattleScript_82DA13C[]; +extern const u8 BattleScript_82DA148[]; +extern const u8 BattleScript_82DA153[]; +extern const u8 BattleScript_82DA15A[]; +extern const u8 BattleScript_EffectFacade[]; +extern const u8 BattleScript_FacadeDoubleDmg[]; +extern const u8 BattleScript_EffectFocusPunch[]; +extern const u8 BattleScript_EffectSmellingsalt[]; +extern const u8 BattleScript_82DA1BA[]; +extern const u8 BattleScript_EffectFollowMe[]; +extern const u8 BattleScript_EffectNaturePower[]; +extern const u8 BattleScript_EffectCharge[]; +extern const u8 BattleScript_EffectTaunt[]; +extern const u8 BattleScript_EffectHelpingHand[]; +extern const u8 BattleScript_EffectTrick[]; +extern const u8 BattleScript_EffectRolePlay[]; +extern const u8 BattleScript_EffectWish[]; +extern const u8 BattleScript_EffectAssist[]; +extern const u8 BattleScript_EffectIngrain[]; +extern const u8 BattleScript_EffectSuperpower[]; +extern const u8 BattleScript_EffectMagicCoat[]; +extern const u8 BattleScript_EffectRecycle[]; +extern const u8 BattleScript_EffectRevenge[]; +extern const u8 BattleScript_EffectBrickBreak[]; +extern const u8 BattleScript_82DA306[]; +extern const u8 BattleScript_82DA319[]; +extern const u8 BattleScript_EffectYawn[]; +extern const u8 BattleScript_82DA378[]; +extern const u8 BattleScript_82DA382[]; +extern const u8 BattleScript_EffectKnockOff[]; +extern const u8 BattleScript_EffectEndeavor[]; +extern const u8 BattleScript_EffectEruption[]; +extern const u8 BattleScript_EffectSkillSwap[]; +extern const u8 BattleScript_EffectImprison[]; +extern const u8 BattleScript_EffectRefresh[]; +extern const u8 BattleScript_EffectGrudge[]; +extern const u8 BattleScript_EffectSnatch[]; +extern const u8 BattleScript_EffectLowKick[]; +extern const u8 BattleScript_EffectSecretPower[]; +extern const u8 BattleScript_EffectDoubleEdge[]; +extern const u8 BattleScript_EffectTeeterDance[]; +extern const u8 BattleScript_82DA47B[]; +extern const u8 BattleScript_82DA4C7[]; +extern const u8 BattleScript_82DA4D0[]; +extern const u8 BattleScript_82DA4E5[]; +extern const u8 BattleScript_82DA4F3[]; +extern const u8 BattleScript_82DA501[]; +extern const u8 BattleScript_82DA50F[]; +extern const u8 BattleScript_82DA520[]; +extern const u8 BattleScript_EffectMudSport[]; +extern const u8 BattleScript_EffectPoisonFang[]; +extern const u8 BattleScript_EffectWeatherBall[]; +extern const u8 BattleScript_EffectOverheat[]; +extern const u8 BattleScript_EffectTickle[]; +extern const u8 BattleScript_TickleDoMoveAnim[]; +extern const u8 BattleScript_TickleTryLowerDef[]; +extern const u8 BattleScript_TickleEnd[]; +extern const u8 BattleScript_CantLowerMultipleStats[]; +extern const u8 BattleScript_EffectCosmicPower[]; +extern const u8 BattleScript_CosmicPowerDoMoveAnim[]; +extern const u8 BattleScript_CosmicPowerTrySpDef[]; +extern const u8 BattleScript_CosmicPowerEnd[]; +extern const u8 BattleScript_EffectSkyUppercut[]; +extern const u8 BattleScript_EffectBulkUp[]; +extern const u8 BattleScript_BulkUpDoMoveAnim[]; +extern const u8 BattleScript_BulkUpTryDef[]; +extern const u8 BattleScript_BulkUpEnd[]; +extern const u8 BattleScript_EffectCalmMind[]; +extern const u8 BattleScript_CalmMindDoMoveAnim[]; +extern const u8 BattleScript_CalmMindTrySpDef[]; +extern const u8 BattleScript_CalmMindEnd[]; +extern const u8 BattleScript_CantRaiseMultipleStats[]; +extern const u8 BattleScript_EffectDragonDance[]; +extern const u8 BattleScript_DragonDanceDoMoveAnim[]; +extern const u8 BattleScript_DragonDanceTrySpeed[]; +extern const u8 BattleScript_DragonDanceEnd[]; +extern const u8 BattleScript_EffectCamouflage[]; +extern const u8 BattleScript_FaintAttacker[]; +extern const u8 BattleScript_FaintTarget[]; +extern const u8 BattleScript_82DA7C4[]; +extern const u8 BattleScript_82DA7CD[]; +extern const u8 BattleScript_82DA816[]; +extern const u8 BattleScript_82DA8D0[]; +extern const u8 BattleScript_82DA8F5[]; +extern const u8 BattleScript_82DA8F6[]; +extern const u8 BattleScript_82DA8FC[]; +extern const u8 BattleScript_82DA908[]; +extern const u8 BattleScript_82DA92C[]; +extern const u8 BattleScript_LocalTrainerBattleWon[]; +extern const u8 BattleScript_LocalTwoTrainersDefeated[]; +extern const u8 BattleScript_LocalBattleWonLoseTexts[]; +extern const u8 BattleScript_LocalBattleWonReward[]; +extern const u8 BattleScript_PayDayMoneyAndPickUpItems[]; +extern const u8 BattleScript_LocalBattleLost[]; +extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[]; +extern const u8 BattleScript_LocalBattleLostEnd[]; +extern const u8 BattleScript_CheckDomeDrew[]; +extern const u8 BattleScript_LocalBattleLostPrintTrainersWinText[]; +extern const u8 BattleScript_LocalBattleLostDoTrainer2WinText[]; +extern const u8 BattleScript_LocalBattleLostEnd_[]; +extern const u8 BattleScript_82DAA0B[]; +extern const u8 BattleScript_82DAA31[]; +extern const u8 BattleScript_LinkBattleWonOrLost[]; +extern const u8 BattleScript_LinkBattleWonOrLostWaitEnd[]; +extern const u8 BattleScript_82DAA5C[]; +extern const u8 BattleScript_82DAA83[]; +extern const u8 BattleScript_FrontierTrainerBattleWon[]; +extern const u8 BattleScript_82DAAAB[]; +extern const u8 BattleScript_82DAAAE[]; +extern const u8 BattleScript_82DAACB[]; +extern const u8 BattleScript_82DAADA[]; +extern const u8 BattleScript_SmokeBallEscape[]; +extern const u8 BattleScript_RanAwayUsingMonAbility[]; +extern const u8 BattleScript_GotAwaySafely[]; +extern const u8 BattleScript_WildMonFled[]; +extern const u8 BattleScript_PrintCantRunFromTrainer[]; +extern const u8 BattleScript_PrintFailedToRunString[]; +extern const u8 BattleScript_PrintCantEscapeFromBattle[]; +extern const u8 BattleScript_PrintFullBox[]; +extern const u8 BattleScript_ActionSwitch[]; +extern const u8 BattleScript_82DAB35[]; +extern const u8 BattleScript_82DAB37[]; +extern const u8 BattleScript_82DAB44[]; +extern const u8 BattleScript_82DAB77[]; +extern const u8 BattleScript_82DABB8[]; +extern const u8 BattleScript_Pausex20[]; +extern const u8 BattleScript_LevelUp[]; +extern const u8 BattleScript_TryLearnMoveLoop[]; +extern const u8 BattleScript_AskToLearnMove[]; +extern const u8 BattleScript_ForgotAndLearnedNewMove[]; +extern const u8 BattleScript_LearnedNewMove[]; +extern const u8 BattleScript_LearnMoveReturn[]; +extern const u8 BattleScript_RainContinuesOrEnds[]; +extern const u8 BattleScript_RainContinuesOrEndsEnd[]; +extern const u8 BattleScript_DamagingWeatherContinues[]; +extern const u8 BattleScript_DamagingWeatherLoop[]; +extern const u8 BattleScript_DamagingWeatherLoopIncrement[]; +extern const u8 BattleScript_DamagingWeatherContinuesEnd[]; +extern const u8 BattleScript_SandStormHailEnds[]; +extern const u8 BattleScript_SunlightContinues[]; +extern const u8 BattleScript_SunlightFaded[]; +extern const u8 BattleScript_OverworldWeatherStarts[]; +extern const u8 BattleScript_SideStatusWoreOff[]; +extern const u8 BattleScript_SafeguardProtected[]; +extern const u8 BattleScript_SafeguardEnds[]; +extern const u8 BattleScript_LeechSeedTurnDrain[]; +extern const u8 BattleScript_82DAD47[]; +extern const u8 BattleScript_82DAD4D[]; +extern const u8 BattleScript_BideStoringEnergy[]; +extern const u8 BattleScript_BideAttack[]; +extern const u8 BattleScript_BideNoEnergyToAttack[]; +extern const u8 BattleScript_82DADD8[]; +extern const u8 BattleScript_82DADF1[]; +extern const u8 BattleScript_MistProtected[]; +extern const u8 BattleScript_RageIsBuilding[]; +extern const u8 BattleScript_MoveUsedIsDisabled[]; +extern const u8 BattleScript_SelectingDisabledMove[]; +extern const u8 BattleScript_DisabledNoMore[]; +extern const u8 BattleScript_82DAE2A[]; +extern const u8 BattleScript_82DAE2D[]; +extern const u8 BattleScript_EncoredNoMore[]; +extern const u8 BattleScript_DestinyBondTakesLife[]; +extern const u8 BattleScript_SpikesOnAttacker[]; +extern const u8 BattleScript_82DAE7A[]; +extern const u8 BattleScript_SpikesOnTarget[]; +extern const u8 BattleScript_82DAEB1[]; +extern const u8 BattleScript_SpikesOngBank1[]; +extern const u8 BattleScript_82DAEE8[]; +extern const u8 BattleScript_82DAEFE[]; +extern const u8 BattleScript_PerishSongTakesLife[]; +extern const u8 BattleScript_PerishSongCountGoesDown[]; +extern const u8 BattleScript_AllStatsUp[]; +extern const u8 BattleScript_82DAF54[]; +extern const u8 BattleScript_82DAF72[]; +extern const u8 BattleScript_82DAF86[]; +extern const u8 BattleScript_82DAF9A[]; +extern const u8 BattleScript_82DAFAE[]; +extern const u8 BattleScript_82DAFC2[]; +extern const u8 BattleScript_RapidSpinAway[]; +extern const u8 BattleScript_WrapFree[]; +extern const u8 BattleScript_LeechSeedFree[]; +extern const u8 BattleScript_SpikesFree[]; +extern const u8 BattleScript_MonTookFutureAttack[]; +extern const u8 BattleScript_82DB001[]; +extern const u8 BattleScript_82DB008[]; +extern const u8 BattleScript_82DB020[]; +extern const u8 BattleScript_82DB027[]; +extern const u8 BattleScript_82DB03F[]; +extern const u8 BattleScript_82DB058[]; +extern const u8 BattleScript_NoMovesLeft[]; +extern const u8 BattleScript_SelectingMoveWithNoPP[]; +extern const u8 BattleScript_NoPPForMove[]; +extern const u8 BattleScript_SelectingTormentedMove[]; +extern const u8 BattleScript_82DB08D[]; +extern const u8 BattleScript_82DB098[]; +extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[]; +extern const u8 BattleScript_MoveUsedIsTaunted[]; +extern const u8 BattleScript_82DB0AF[]; +extern const u8 BattleScript_WishComesTrue[]; +extern const u8 BattleScript_82DB0DE[]; +extern const u8 BattleScript_IngrainTurnHeal[]; +extern const u8 BattleScript_82DB109[]; +extern const u8 BattleScript_AtkDefDown[]; +extern const u8 BattleScript_82DB144[]; +extern const u8 BattleScript_82DB167[]; +extern const u8 BattleScript_KnockedOff[]; +extern const u8 BattleScript_MoveUsedIsImprisoned[]; +extern const u8 BattleScript_SelectingImprisionedMove[]; +extern const u8 BattleScript_82DB185[]; +extern const u8 BattleScript_GrudgeTakesPp[]; +extern const u8 BattleScript_MagicCoatBounce[]; +extern const u8 BattleScript_SnatchedMove[]; +extern const u8 BattleScript_EnduredMsg[]; +extern const u8 BattleScript_OneHitKOMsg[]; +extern const u8 BattleScript_SAtkDown2[]; +extern const u8 BattleScript_82DB1FE[]; +extern const u8 BattleScript_FocusPunchSetUp[]; +extern const u8 BattleScript_MoveUsedIsAsleep[]; +extern const u8 BattleScript_MoveUsedWokeUp[]; +extern const u8 BattleScript_MonWokeUpInUproar[]; +extern const u8 BattleScript_PoisonTurnDmg[]; +extern const u8 BattleScript_82DB243[]; +extern const u8 BattleScript_82DB245[]; +extern const u8 BattleScript_82DB25E[]; +extern const u8 BattleScript_BurnTurnDmg[]; +extern const u8 BattleScript_MoveUsedIsFrozen[]; +extern const u8 BattleScript_MoveUsedUnfroze[]; +extern const u8 BattleScript_DefrostedViaFireMove[]; +extern const u8 BattleScript_MoveUsedIsParalyzed[]; +extern const u8 BattleScript_MoveUsedFlinched[]; +extern const u8 BattleScript_PrintUproarOverTurns[]; +extern const u8 BattleScript_ThrashConfuses[]; +extern const u8 BattleScript_MoveUsedIsConfused[]; +extern const u8 BattleScript_82DB2D4[]; +extern const u8 BattleScript_82DB2FF[]; +extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; +extern const u8 BattleScript_PrintPayDayMoneyString[]; +extern const u8 BattleScript_WrapTurnDmg[]; +extern const u8 BattleScript_WrapEnds[]; +extern const u8 BattleScript_MoveUsedIsInLove[]; +extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[]; +extern const u8 BattleScript_NightmareTurnDmg[]; +extern const u8 BattleScript_CurseTurnDmg[]; +extern const u8 BattleScript_TargetPRLZHeal[]; +extern const u8 BattleScript_MoveEffectSleep[]; +extern const u8 BattleScript_82DB374[]; +extern const u8 BattleScript_YawnMakesAsleep[]; +extern const u8 BattleScript_MoveEffectPoison[]; +extern const u8 BattleScript_MoveEffectBurn[]; +extern const u8 BattleScript_MoveEffectFreeze[]; +extern const u8 BattleScript_MoveEffectParalysis[]; +extern const u8 BattleScript_MoveEffectUproar[]; +extern const u8 BattleScript_MoveEffectToxic[]; +extern const u8 BattleScript_MoveEffectPayDay[]; +extern const u8 BattleScript_MoveEffectWrap[]; +extern const u8 BattleScript_MoveEffectConfusion[]; +extern const u8 BattleScript_MoveEffectRecoil33[]; +extern const u8 BattleScript_DoRecoil33[]; +extern const u8 BattleScript_Recoil33End[]; +extern const u8 BattleScript_ItemSteal[]; +extern const u8 BattleScript_DrizzleActivates[]; +extern const u8 BattleScript_SpeedBoostActivates[]; +extern const u8 BattleScript_TraceActivates[]; +extern const u8 BattleScript_RainDishActivates[]; +extern const u8 BattleScript_SandstreamActivates[]; +extern const u8 BattleScript_ShedSkinActivates[]; +extern const u8 BattleScript_WeatherFormChanges[]; +extern const u8 BattleScript_WeatherFormChangesLoop[]; +extern const u8 BattleScript_CastformChange[]; +extern const u8 BattleScript_82DB4AF[]; +extern const u8 BattleScript_82DB4B8[]; +extern const u8 BattleScript_82DB4BE[]; +extern const u8 BattleScript_82DB4C1[]; +extern const u8 BattleScript_82DB4CD[]; +extern const u8 BattleScript_82DB510[]; +extern const u8 BattleScript_82DB51B[]; +extern const u8 BattleScript_82DB51C[]; +extern const u8 BattleScript_DroughtActivates[]; +extern const u8 BattleScript_TookAttack[]; +extern const u8 BattleScript_SturdyPreventsOHKO[]; +extern const u8 BattleScript_DampStopsExplosion[]; +extern const u8 BattleScript_MoveHPDrain_PPLoss[]; +extern const u8 BattleScript_MoveHPDrain[]; +extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[]; +extern const u8 BattleScript_MonMadeMoveUseless[]; +extern const u8 BattleScript_FlashFireBoost_PPLoss[]; +extern const u8 BattleScript_FlashFireBoost[]; +extern const u8 BattleScript_82DB5B9[]; +extern const u8 BattleScript_AbilityNoStatLoss[]; +extern const u8 BattleScript_BRNPrevention[]; +extern const u8 BattleScript_PRLZPrevention[]; +extern const u8 BattleScript_PSNPrevention[]; +extern const u8 BattleScript_ObliviousPreventsAttraction[]; +extern const u8 BattleScript_FlinchPrevention[]; +extern const u8 BattleScript_OwnTempoPrevents[]; +extern const u8 BattleScript_SoundproofProtected[]; +extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; +extern const u8 BattleScript_StickyHoldActivates[]; +extern const u8 BattleScript_ColorChangeActivates[]; +extern const u8 BattleScript_RoughSkinActivates[]; +extern const u8 BattleScript_CuteCharmActivates[]; +extern const u8 BattleScript_ApplySecondaryEffect[]; +extern const u8 BattleScript_SynchronizeActivates[]; +extern const u8 BattleScript_NoItemSteal[]; +extern const u8 BattleScript_AbilityCuredStatus[]; +extern const u8 BattleScript_82DB695[]; +extern const u8 BattleScript_IgnoresAndUsesRandomMove[]; +extern const u8 BattleScript_MoveUsedLoafingAround[]; +extern const u8 BattleScript_82DB6C7[]; +extern const u8 BattleScript_IgnoresAndFallsAsleep[]; +extern const u8 BattleScript_82DB6F0[]; +extern const u8 BattleScript_SubstituteFade[]; +extern const u8 BattleScript_BerryCurePrlzEnd2[]; +extern const u8 BattleScript_BerryCureParRet[]; +extern const u8 BattleScript_BerryCurePsnEnd2[]; +extern const u8 BattleScript_BerryCurePsnRet[]; +extern const u8 BattleScript_BerryCureBrnEnd2[]; +extern const u8 BattleScript_BerryCureBrnRet[]; +extern const u8 BattleScript_BerryCureFrzEnd2[]; +extern const u8 BattleScript_BerryCureFrzRet[]; +extern const u8 BattleScript_BerryCureSlpEnd2[]; +extern const u8 BattleScript_BerryCureSlpRet[]; +extern const u8 BattleScript_BerryCureConfusionEnd2[]; +extern const u8 BattleScript_BerryCureConfusionRet[]; +extern const u8 BattleScript_BerryCureChosenStatusEnd2[]; +extern const u8 BattleScript_BerryCureChosenStatusRet[]; +extern const u8 BattleScript_WhiteHerbEnd2[]; +extern const u8 BattleScript_WhiteHerbRet[]; +extern const u8 BattleScript_ItemHealHP_RemoveItem[]; +extern const u8 BattleScript_BerryPPHealEnd2[]; +extern const u8 BattleScript_ItemHealHP_End2[]; +extern const u8 BattleScript_ItemHealHP_Ret[]; +extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[]; +extern const u8 BattleScript_HangedOnMsg[]; +extern const u8 BattleScript_BerryConfuseHealEnd2[]; +extern const u8 BattleScript_BerryStatRaiseEnd2[]; +extern const u8 BattleScript_82DB85B[]; +extern const u8 BattleScript_BerryFocusEnergyEnd2[]; +extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; +extern const u8 BattleScript_82DB87D[]; +extern const u8 BattleScript_82DB881[]; +extern const u8 BattleScript_82DB887[]; +extern const u8 BattleScript_82DB89D[]; +extern const u8 BattleScript_82DB8BE[]; +extern const u8 BattleScript_82DB8E0[]; +extern const u8 BattleScript_82DB8F3[]; +extern const u8 BattleScript_82DB973[]; +extern const u8 BattleScript_82DB992[]; +extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; +extern const u8 BattleScript_82DB9C1[]; +extern const u8 BattleScript_82DB9C8[]; +extern const u8 BattleScript_BallThrow[]; +extern const u8 BattleScript_BallThrowByWally[]; +extern const u8 BattleScript_SafariBallThrow[]; +extern const u8 BattleScript_SuccessBallThrow[]; +extern const u8 BattleScript_82DBD92[]; +extern const u8 BattleScript_82DBDA5[]; +extern const u8 BattleScript_82DBDC2[]; +extern const u8 BattleScript_82DBDC3[]; +extern const u8 BattleScript_WallyBallThrow[]; +extern const u8 BattleScript_ShakeBallThrow[]; +extern const u8 BattleScript_82DBE01[]; +extern const u8 BattleScript_TrainerBallBlock[]; +extern const u8 BattleScript_82DBE12[]; +extern const u8 BattleScript_82DBE1C[]; +extern const u8 BattleScript_82DBE4B[]; +extern const u8 BattleScript_82DBE6F[]; +extern const u8 BattleScript_82DBE91[]; +extern const u8 BattleScript_RunByUsingItem[]; +extern const u8 BattleScript_ActionWatchesCarefully[]; +extern const u8 BattleScript_ActionGetNear[]; +extern const u8 BattleScript_ActionThrowPokeblock[]; +extern const u8 BattleScript_82DBEE3[]; + +#endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/berry.h b/include/berry.h index f51503d41..425a664c9 100644 --- a/include/berry.h +++ b/include/berry.h @@ -11,6 +11,16 @@ enum BERRY_FIRMNESS_SUPER_HARD, }; +enum +{ + FLAVOR_SPICY, + FLAVOR_DRY, + FLAVOR_SWEET, + FLAVOR_BITTER, + FLAVOR_SOUR, + FLAVOR_COUNT +}; + #define NUM_BERRIES 44 extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES]; diff --git a/include/berry_blender.h b/include/berry_blender.h new file mode 100644 index 000000000..fb62e3fa3 --- /dev/null +++ b/include/berry_blender.h @@ -0,0 +1,8 @@ +#ifndef GUARD_BERRY_BLENDER_H +#define GUARD_BERRY_BLENDER_H + +void DoBerryBlending(void); +u16 GetBlenderArrowPosition(void); +void ShowBerryBlenderRecordWindow(void); + +#endif // GUARD_BERRY_BLENDER_H diff --git a/include/decompress.h b/include/decompress.h index 36be803e0..34a678cda 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -28,4 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); +u32 sub_8034974(const u8 *ptr); + #endif // GUARD_DECOMPRESS_H diff --git a/include/flags.h b/include/flags.h index 30c28c0c2..31d634c59 100644 --- a/include/flags.h +++ b/include/flags.h @@ -1,6 +1,7 @@ #ifndef GUARD_FLAGS_H #define GUARD_FLAGS_H +#define FLAG_340 0x340 #define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 #define FLAG_PENDING_DAYCARE_EGG 0x86 diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index 6cdfd13e1..659302fd5 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -406,7 +406,7 @@ void m4aSoundVSyncOff(void); void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo); void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); -void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 pitch); +void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch); void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan); void ClearModM(struct MusicPlayerTrack *track); void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth); diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h new file mode 100644 index 000000000..553e7c262 --- /dev/null +++ b/include/item_menu_icons.h @@ -0,0 +1,6 @@ +#ifndef GUARD_ITEM_MENU_ICONS +#define GUARD_ITEM_MENU_ICONS + +u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); + +#endif // GUARD_ITEM_MENU_ICONS diff --git a/include/items.h b/include/items.h index 1f6c288c5..1a6df42db 100644 --- a/include/items.h +++ b/include/items.h @@ -386,6 +386,10 @@ enum ITEM_OLD_SEA_MAP, // 0x178 }; +#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY +#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) + #define NUM_TECHNICAL_MACHINES 50 #define NUM_HIDDEN_MACHINES 8 diff --git a/include/link.h b/include/link.h index ccde9818c..fe5429497 100644 --- a/include/link.h +++ b/include/link.h @@ -2,6 +2,7 @@ #define GUARD_LINK_H #define MAX_LINK_PLAYERS 4 +#define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 #define QUEUE_CAPACITY 50 #define BLOCK_BUFFER_SIZE 0x100 @@ -131,7 +132,7 @@ struct BlockRequest extern const struct BlockRequest sBlockRequestLookupTable[5]; extern struct Link gLink; -extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u16 gLinkType; extern u32 gLinkStatus; diff --git a/include/menu.h b/include/menu.h index e93d688e4..2052a8dad 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,6 +1,7 @@ #ifndef GUARD_MENU_H #define GUARD_MENU_H +#include "text.h" #include "window.h" struct MenuAction @@ -31,5 +32,7 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs s8 sub_8198C58(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); +void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); +void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); #endif // GUARD_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 42b8c60b1..c52184972 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -13,5 +13,6 @@ void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); +u8 GetPlayerTextSpeed(void); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/pokeblock.h b/include/pokeblock.h index b0e93f0e5..a145cbada 100644 --- a/include/pokeblock.h +++ b/include/pokeblock.h @@ -23,23 +23,11 @@ enum }; void ClearPokeblocks(void); +s8 GetFirstFreePokeblockSlot(void); +bool32 AddPokeblock(struct Pokeblock *pokeblock); +u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock); +u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock); +u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock); s16 PokeblockGetGain(u8, const struct Pokeblock *); -/* -void sub_810B96C(void); -u8 sub_810BA50(s16, s16, u8); -u8 sub_810C9B0(struct Pokeblock *); -s16 GetPokeblockData(const struct Pokeblock *, u8); -u8 sub_810C9E8(struct Pokeblock *); -void sub_810BA7C(u8); -bool8 PokeblockClearIfExists(u8); -u8 sub_810CB68(u8, u8*); -void PokeblockCopyName(struct Pokeblock *pokeblock, u8 *dest); -void CB2_PreparePokeblockFeedScene(void); - -#include "main.h" - -void sub_8136130(struct Pokeblock *, MainCallback); -*/ - #endif // GUARD_POKEBLOCK_H diff --git a/include/pokemon.h b/include/pokemon.h index 1eb052f4e..480c8d9b9 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -642,8 +642,8 @@ u8 CheckPartyPokerus(struct Pokemon *party, u8 selection); u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection); void UpdatePartyPokerusTime(u16 days); void PartySpreadPokerus(struct Pokemon *party); -s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2); -s8 GetFlavourRelationByPersonality(u32 personality, u8 a2); +s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2); +s8 GetFlavorRelationByPersonality(u32 personality, u8 a2); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 GetDefaultMoveTarget(u8 atkBank); u16 PlayerGenderToFrontTrainerPicId(u8 playerGender); diff --git a/include/text.h b/include/text.h index 594661717..289c7d2b5 100644 --- a/include/text.h +++ b/include/text.h @@ -65,6 +65,7 @@ #define CHAR_x 0xEC #define CHAR_y 0xED #define CHAR_z 0xEE +#define CHAR_SPECIAL_F7 0xF7 #define CHAR_SPECIAL_F9 0xF9 #define CHAR_COLON 0xF0 #define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog @@ -85,6 +86,8 @@ #define NUM_TEXT_PRINTERS 32 +#define TEXT_SPEED_FF 0xFF + struct TextPrinterSubStruct { u8 font_type:4; // 0x14 diff --git a/include/tv.h b/include/tv.h index 80828faf1..afa0ae930 100644 --- a/include/tv.h +++ b/include/tv.h @@ -13,6 +13,7 @@ void sub_80EE184(void); void sub_80EEA70(void); void sub_80F14F8(TVShow *shows); size_t sub_80EF370(int value); +bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); void SetPokemonAnglerSpecies(u16 species); void sub_80ED888(u16 days); diff --git a/include/unk_text_util.h b/include/unk_text_util.h new file mode 100644 index 000000000..72243a90e --- /dev/null +++ b/include/unk_text_util.h @@ -0,0 +1,9 @@ +#ifndef GUARD_UNK_TEXT_UTIL_H +#define GUARD_UNK_TEXT_UTIL_H + +void UnkTextUtil_Reset(void); +void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); +u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); +const u8 *UnkTextUtil_GetPtrI(u8 idx); + +#endif //GUARD_UNK_TEXT_UTIL_H |