Merge master from pret

This commit is contained in:
Diegoisawesome
2018-05-09 05:10:23 -05:00
99 changed files with 9529 additions and 12474 deletions

12
include/battle_records.h Normal file
View File

@@ -0,0 +1,12 @@
#ifndef GUARD_BATTLE_RECORDS_H
#define GUARD_BATTLE_RECORDS_H
extern u8 gRecordsWindowId;
void ClearPlayerLinkBattleRecords(void);
void UpdatePlayerLinkBattleRecords(s32 battlerId);
void ShowLinkBattleRecords(void);
void RemoveRecordsWindow(void);
void ShowTrainerHillRecords(void);
#endif // GUARD_BATTLE_RECORDS_H

View File

@@ -68,7 +68,7 @@ void UnsetBgTilemapBuffer(u8 bg);
void* GetBgTilemapBuffer(u8 bg);
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);

View File

@@ -122,5 +122,6 @@
#define DECOR_REGIROCK_DOLL 118
#define DECOR_REGICE_DOLL 119
#define DECOR_REGISTEEL_DOLL 120
#define NUM_DECORATIONS DECOR_REGISTEEL_DOLL
#endif // GUARD_CONSTANTS_DECORATIONS_H

View File

@@ -108,6 +108,8 @@
#define ITEM_064 100
#define ITEM_065 101
#define ITEM_066 102
// Unusable
#define ITEM_TINY_MUSHROOM 103
#define ITEM_BIG_MUSHROOM 104
#define ITEM_069 105
@@ -126,6 +128,8 @@
#define ITEM_076 118
#define ITEM_077 119
#define ITEM_078 120
// Mails
#define ITEM_ORANGE_MAIL 121
#define ITEM_HARBOR_MAIL 122
#define ITEM_GLITTER_MAIL 123
@@ -138,6 +142,8 @@
#define ITEM_DREAM_MAIL 130
#define ITEM_FAB_MAIL 131
#define ITEM_RETRO_MAIL 132
// Berries
#define ITEM_CHERI_BERRY 133
#define ITEM_CHESTO_BERRY 134
#define ITEM_PECHA_BERRY 135
@@ -185,7 +191,7 @@
#define ITEM_0B1 177
#define ITEM_0B2 178
// hold items
// Battle Held items
#define ITEM_BRIGHT_POWDER 179
#define ITEM_WHITE_HERB 180
#define ITEM_MACHO_BRACE 181
@@ -261,6 +267,8 @@
#define ITEM_0FB 251
#define ITEM_0FC 252
#define ITEM_0FD 253
// Contest held items
#define ITEM_RED_SCARF 254
#define ITEM_BLUE_SCARF 255
#define ITEM_PINK_SCARF 256

View File

@@ -0,0 +1,414 @@
#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
#define GUARD_DATA_ITEM_ICON_TABLE_H
#include "global.h"
#include "graphics.h"
const u8 * const gItemIconTable[][2] =
{
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Pokeballs
gItemIcon_MasterBall, gItemIconPalette_MasterBall,
gItemIcon_UltraBall, gItemIconPalette_UltraBall,
gItemIcon_GreatBall, gItemIconPalette_GreatBall,
gItemIcon_PokeBall, gItemIconPalette_PokeBall,
gItemIcon_SafariBall, gItemIconPalette_SafariBall,
gItemIcon_NetBall, gItemIconPalette_NetBall,
gItemIcon_DiveBall, gItemIconPalette_DiveBall,
gItemIcon_NestBall, gItemIconPalette_NestBall,
gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
// Medicine
gItemIcon_Potion, gItemIconPalette_Potion,
gItemIcon_Antidote, gItemIconPalette_Antidote,
gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
gItemIcon_StatusHeal, gItemIconPalette_Awakening,
gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
gItemIcon_LargePotion, gItemIconPalette_FullRestore,
gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
gItemIcon_Potion, gItemIconPalette_HyperPotion,
gItemIcon_Potion, gItemIconPalette_SuperPotion,
gItemIcon_FullHeal, gItemIconPalette_FullHeal,
gItemIcon_Revive, gItemIconPalette_Revive,
gItemIcon_MaxRevive, gItemIconPalette_Revive,
gItemIcon_FreshWater, gItemIconPalette_FreshWater,
gItemIcon_SodaPop, gItemIconPalette_SodaPop,
gItemIcon_Lemonade, gItemIconPalette_Lemonade,
gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
gItemIcon_Powder, gItemIconPalette_EnergyPowder,
gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
gItemIcon_Powder, gItemIconPalette_HealPowder,
gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
gItemIcon_Ether, gItemIconPalette_Ether,
gItemIcon_Ether, gItemIconPalette_MaxEther,
gItemIcon_Ether, gItemIconPalette_Elixir,
gItemIcon_Ether, gItemIconPalette_MaxElixir,
gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
gItemIcon_Flute, gItemIconPalette_BlueFlute,
gItemIcon_Flute, gItemIconPalette_YellowFlute,
gItemIcon_Flute, gItemIconPalette_RedFlute,
gItemIcon_Flute, gItemIconPalette_BlackFlute,
gItemIcon_Flute, gItemIconPalette_WhiteFlute,
gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
// Collectibles
gItemIcon_Powder, gItemIconPalette_ShoalSalt,
gItemIcon_ShoalShell, gItemIconPalette_Shell,
gItemIcon_Shard, gItemIconPalette_RedShard,
gItemIcon_Shard, gItemIconPalette_BlueShard,
gItemIcon_Shard, gItemIconPalette_YellowShard,
gItemIcon_Shard, gItemIconPalette_GreenShard,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Vitamins
gItemIcon_HPUp, gItemIconPalette_HPUp,
gItemIcon_Vitamin, gItemIconPalette_Protein,
gItemIcon_Vitamin, gItemIconPalette_Iron,
gItemIcon_Vitamin, gItemIconPalette_Carbos,
gItemIcon_Vitamin, gItemIconPalette_Calcium,
gItemIcon_RareCandy, gItemIconPalette_RareCandy,
gItemIcon_PPUp, gItemIconPalette_PPUp,
gItemIcon_Vitamin, gItemIconPalette_Zinc,
gItemIcon_PPMax, gItemIconPalette_PPMax,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Battle items
gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Field items
gItemIcon_Repel, gItemIconPalette_SuperRepel,
gItemIcon_Repel, gItemIconPalette_MaxRepel,
gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
gItemIcon_Repel, gItemIconPalette_Repel,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Evolution stones
gItemIcon_SunStone, gItemIconPalette_SunStone,
gItemIcon_MoonStone, gItemIconPalette_MoonStone,
gItemIcon_FireStone, gItemIconPalette_FireStone,
gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
gItemIcon_WaterStone, gItemIconPalette_WaterStone,
gItemIcon_LeafStone, gItemIconPalette_LeafStone,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Valuables
gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_Pearl, gItemIconPalette_Pearl,
gItemIcon_BigPearl, gItemIconPalette_Pearl,
gItemIcon_Stardust, gItemIconPalette_Star,
gItemIcon_StarPiece, gItemIconPalette_Star,
gItemIcon_Nugget, gItemIconPalette_Nugget,
gItemIcon_HeartScale, gItemIconPalette_HeartScale,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Mail
gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
gItemIcon_HarborMail, gItemIconPalette_HarborMail,
gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
gItemIcon_MechMail, gItemIconPalette_MechMail,
gItemIcon_WoodMail, gItemIconPalette_WoodMail,
gItemIcon_WaveMail, gItemIconPalette_WaveMail,
gItemIcon_BeadMail, gItemIconPalette_BeadMail,
gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
gItemIcon_TropicMail, gItemIconPalette_TropicMail,
gItemIcon_DreamMail, gItemIconPalette_DreamMail,
gItemIcon_FabMail, gItemIconPalette_FabMail,
gItemIcon_RetroMail, gItemIconPalette_RetroMail,
// Berries
gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
gItemIcon_OranBerry, gItemIconPalette_OranBerry,
gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
gItemIcon_LumBerry, gItemIconPalette_LumBerry,
gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Hold items
gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
gItemIcon_ExpShare, gItemIconPalette_ExpShare,
gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
gItemIcon_SootheBell, gItemIconPalette_SootheBell,
gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
gItemIcon_KingsRock, gItemIconPalette_KingsRock,
gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
gItemIcon_SoulDew, gItemIconPalette_SoulDew,
gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
gItemIcon_Everstone, gItemIconPalette_Everstone,
gItemIcon_FocusBand, gItemIconPalette_FocusBand,
gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
gItemIcon_Leftovers, gItemIconPalette_Leftovers,
gItemIcon_DragonScale, gItemIconPalette_DragonScale,
gItemIcon_LightBall, gItemIconPalette_LightBall,
gItemIcon_SoftSand, gItemIconPalette_SoftSand,
gItemIcon_HardStone, gItemIconPalette_HardStone,
gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
gItemIcon_Magnet, gItemIconPalette_Magnet,
gItemIcon_MysticWater, gItemIconPalette_MysticWater,
gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
gItemIcon_SpellTag, gItemIconPalette_SpellTag,
gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
gItemIcon_Charcoal, gItemIconPalette_Charcoal,
gItemIcon_DragonFang, gItemIconPalette_DragonFang,
gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
gItemIcon_UpGrade, gItemIconPalette_UpGrade,
gItemIcon_ShellBell, gItemIconPalette_Shell,
gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
gItemIcon_ThickClub, gItemIconPalette_ThickClub,
gItemIcon_Stick, gItemIconPalette_Stick,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Contest hold items
gItemIcon_Scarf, gItemIconPalette_RedScarf,
gItemIcon_Scarf, gItemIconPalette_BlueScarf,
gItemIcon_Scarf, gItemIconPalette_PinkScarf,
gItemIcon_Scarf, gItemIconPalette_GreenScarf,
gItemIcon_Scarf, gItemIconPalette_YellowScarf,
// Key items
gItemIcon_MachBike, gItemIconPalette_MachBike,
gItemIcon_CoinCase, gItemIconPalette_CoinCase,
gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
gItemIcon_OldRod, gItemIconPalette_OldRod,
gItemIcon_GoodRod, gItemIconPalette_GoodRod,
gItemIcon_SuperRod, gItemIconPalette_SuperRod,
gItemIcon_SSTicket, gItemIconPalette_SSTicket,
gItemIcon_ContestPass, gItemIconPalette_ContestPass,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
gItemIcon_SootSack, gItemIconPalette_SootSack,
gItemIcon_BasementKey, gItemIconPalette_OldKey,
gItemIcon_AcroBike, gItemIconPalette_AcroBike,
gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
gItemIcon_EonTicket, gItemIconPalette_EonTicket,
gItemIcon_Orb, gItemIconPalette_RedOrb,
gItemIcon_Orb, gItemIconPalette_BlueOrb,
gItemIcon_Scanner, gItemIconPalette_Scanner,
gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
gItemIcon_Meteorite, gItemIconPalette_Meteorite,
gItemIcon_Room1Key, gItemIconPalette_Key,
gItemIcon_Room2Key, gItemIconPalette_Key,
gItemIcon_Room4Key, gItemIconPalette_Key,
gItemIcon_Room6Key, gItemIconPalette_Key,
gItemIcon_StorageKey, gItemIconPalette_OldKey,
gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
gItemIcon_DevonScope, gItemIconPalette_DevonScope,
// TMs/HMs
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// FireRed/LeafGreen key items
gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
gItemIcon_SecretKey, gItemIconPalette_SecretKey,
gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
gItemIcon_OldAmber, gItemIconPalette_OldAmber,
gItemIcon_CardKey, gItemIconPalette_CardKey,
gItemIcon_LiftKey, gItemIconPalette_Key,
gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
gItemIcon_SilphScope, gItemIconPalette_SilphScope,
gItemIcon_Bicycle, gItemIconPalette_Bicycle,
gItemIcon_TownMap, gItemIconPalette_TownMap,
gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
gItemIcon_FameChecker, gItemIconPalette_FameChecker,
gItemIcon_TMCase, gItemIconPalette_TMCase,
gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
gItemIcon_TriPass, gItemIconPalette_TriPass,
gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
gItemIcon_Tea, gItemIconPalette_Tea,
gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
gItemIcon_PowderJar, gItemIconPalette_PowderJar,
gItemIcon_Gem, gItemIconPalette_Ruby,
gItemIcon_Gem, gItemIconPalette_Sapphire,
// Emerald-only key items
gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
// Return to field arrow
gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
};
#endif // GUARD_DATA_ITEM_ICON_TABLE_H

6079
include/data/items.h Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,329 @@
#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
const u8 gDummyItemDescription[] = _("?????");
//Pokeballs
const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail.");
const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL.");
const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL.");
const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON.");
const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE.");
const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON.");
const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor.");
const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before.");
const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");
const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event.");
//Medicine
const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points.");
const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON.");
const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn.");
const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON.");
const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON.");
const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON.");
const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON.");
const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON.");
const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points.");
const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points.");
const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON.");
const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP.");
const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP.");
const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points.");
const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points.");
const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points.");
const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points.");
const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points.");
const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points.");
const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems.");
const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON.");
const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10.");
const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove.");
const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10.");
const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMONs\nmoves.");
const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems.");
const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON.");
const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion.");
const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction.");
const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON.");
const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON.");
const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points.");
const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON.");
//Collectibles
const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE.");
const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE.");
const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
//Vitamins
const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON.");
const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON.");
const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON.");
const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON.");
const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON.");
const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none.");
const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove.");
const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON.");
const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints.");
//Battle items
const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle.");
const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle.");
const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle.");
const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle.");
const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle.");
const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle.");
const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle.");
const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
//Field items
const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps.");
const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps.");
const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon.");
const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps.");
//Evolution stones
const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
//Valuable items
const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price.");
const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price.");
const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price.");
const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price.");
const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price.");
const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price.");
const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price.");
const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors.");
//Mail
const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.");
const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON.");
const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON.");
const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON.");
const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON.");
const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON.");
const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON.");
const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON.");
const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON.");
const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON.");
//Berries
const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle.");
const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle.");
const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle.");
const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle.");
const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle.");
const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle.");
const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle.");
const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle.");
const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle.");
const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle.");
const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ.");
const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK.");
const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB.");
const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR.");
const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP.");
const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP.");
const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK.");
const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE.");
const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK.");
const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF.");
const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED.");
const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN.");
const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST.");
const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA.");
const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL.");
const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON.");
const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE.");
const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL.");
const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN.");
const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE.");
const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch.");
const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch.");
const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch.");
const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch.");
const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch.");
const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch.");
const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch.");
const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.");
//Hold items
const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy.");
const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat.");
const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED.");
const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles.");
const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike.");
const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship.");
const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation.");
const u8 gChoiceBandItemDescription[] = _("Raises a moves\npower, but permits\nonly that move.");
const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit.");
const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves.");
const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part.");
const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON.");
const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS.");
const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL.");
const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL.");
const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON.");
const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution.");
const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting.");
const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle.");
const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate.");
const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves.");
const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle.");
const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON.");
const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU.");
const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves.");
const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves.");
const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves.");
const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves.");
const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves.");
const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves.");
const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves.");
const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves.");
const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves.");
const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves.");
const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves.");
const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves.");
const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves.");
const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves.");
const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves.");
const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO.");
const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe.");
const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves.");
const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoes accuracy.");
const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEYs\ncritical-hit rate.");
const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTOs\nDEFENSE.");
const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAKs ATTACK.");
const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCHDs\ncritical-hit ratio.");
const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS.");
const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS.");
const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS.");
const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS.");
const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS.");
//Key items
const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better.");
const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS.");
const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound.");
const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON.");
const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON.");
const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON.");
const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry.");
const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS.");
const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants.");
const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVONs\nmachine parts.");
const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash.");
const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY.");
const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies.");
const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER.");
const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP.");
const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island.");
const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power.");
const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power.");
const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP.");
const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms.");
const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS.");
const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP.");
const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON.");
//TMs/HMs
const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe.");
const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws.");
const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse.");
const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind.");
const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle.");
const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens.");
const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE.");
const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE.");
const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe.");
const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON.");
const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns.");
const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves.");
const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe.");
const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe.");
const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn.");
const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage.");
const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession.");
const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns.");
const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts.");
const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power.");
const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move.");
const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn.");
const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE.");
const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis.");
const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze.");
const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes.");
const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move.");
const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn.");
const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF.");
const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF.");
const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage.");
const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness.");
const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks.");
const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses.");
const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe.");
const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe.");
const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns.");
const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe.");
const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED.");
const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that cant\nbe avoided.");
const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row.");
const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed.");
const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location.");
const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status.");
const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender.");
const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoes held item.");
const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe.");
const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used.");
const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use.");
const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK.");
const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws.");
const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn.");
const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe.");
const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe.");
const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy.");
const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE.");
const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls.");
const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn.");
//FireRed/LeafGreen key items
const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMARTs clerk.");
const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON.");
const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYMs entrance.");
const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP.");
const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONEs WARDEN.");
const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON.");
const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCOs office.");
const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKETs HIDEOUT.");
const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMONs seashell.");
const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMONs shell.");
const u8 gSilphScopeItemDescription[] = _("SILPH COs scope\nmakes unseeable\nPOKéMON visible.");
const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES.");
const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location.");
const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS.");
const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall.");
const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs.");
const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES.");
const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS.");
const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND.");
const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS.");
const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady.");
const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK.");
const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND.");
const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER.");
const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion.");
const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty.");
//Emerald-specific key items
const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMAs mark.");
const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island.");
#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H

View File

@@ -70,5 +70,8 @@ void sub_8126968(void);
void sub_8126AD8(u8 taskId);
void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
void sub_8126B2C(u8 taskId);
void sub_8127208(u8 taskId);
void sub_8127250(u8 *dest, u8 decorCat);
bool8 IsSelectedDecorInThePC(void);
#endif //GUARD_DECORATION_H

View File

@@ -43,9 +43,6 @@
#define PARTY_SIZE 6
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
@@ -97,6 +94,31 @@ enum LanguageId
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
// capacities of various saveblock objects
#define DAYCARE_MON_COUNT 2
#define POKEBLOCKS_COUNT 40
#define MAP_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
#define VARS_COUNT 256
#define MAIL_COUNT 16
#define SECRET_BASES_COUNT 20
#define PC_ITEMS_COUNT 50
#define BAG_ITEMS_COUNT 30
#define BAG_KEYITEMS_COUNT 30
#define BAG_POKEBALLS_COUNT 16
#define BAG_TMHM_COUNT 64
#define BAG_BERRIES_COUNT 46
#define PYRAMID_BAG_ITEMS_COUNT 10
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
#define PLAYER_NAME_LENGTH 8
#define MAIL_WORDS_COUNT 9
enum
{
MALE,
@@ -129,15 +151,6 @@ enum
OPTIONS_BATTLE_STYLE_SET
};
enum
{
BAG_ITEMS = 1,
BAG_POKEBALLS,
BAG_TMsHMs,
BAG_BERRIES,
BAG_KEYITEMS
};
struct Coords16
{
s16 x;
@@ -209,11 +222,11 @@ struct BerryPickingResults // possibly used in the game itself? Size may be wron
u8 field_F;
};
// two arrays for lvl50 and open level
struct PyramidBag
{
u16 items_Lvl50[10];
u16 items_OpenLvl[10];
u8 quantity[10];
u16 itemId[2][PYRAMID_BAG_ITEMS_COUNT];
u8 quantity[2][PYRAMID_BAG_ITEMS_COUNT];
};
struct BerryCrush
@@ -223,8 +236,6 @@ struct BerryCrush
u32 unk;
};
#define PLAYER_NAME_LENGTH 8
struct UnknownSaveBlock2Struct
{
u8 field_0;
@@ -303,7 +314,7 @@ struct SaveBlock2
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
/*0xE1C*/ u8 field_E1C[16];
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0x???*/ u8 field_notSure[13];
/*0x???*/ u8 field_unkown[6];
/*0xE6E*/ u16 battleTentWinStreak;
/*0xE70*/ u8 field_E70[72];
/*0xEB8*/ u16 frontierBattlePoints;
@@ -417,8 +428,6 @@ struct EasyChatPair
u16 words[2];
}; /*size = 0x8*/
#define MAIL_WORDS_COUNT 9
struct MailStruct
{
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
@@ -452,10 +461,11 @@ struct UnkMauvilleOldManStruct2
struct MauvilleOldManTrader
{
u8 unk0;
u8 unk1[4];
u8 unk5[4][11];
u8 unk31;
/* 0x2E28 */ u8 id;
/* 0x2E29 */ u8 unk1[4];
/* 0x2E2D */ u8 unk5[4][11];
/* 0x2E59 */ bool8 alreadyTraded;
/* 0x2E5A */ u8 language[4];
};
typedef union OldMan
@@ -480,6 +490,8 @@ struct RecordMixing_UnknownStruct
u16 unk74[0x2];
};
#define LINK_B_RECORDS_COUNT 5
struct LinkBattleRecord
{
u8 name[8];
@@ -489,6 +501,12 @@ struct LinkBattleRecord
u16 draws;
};
struct LinkBattleRecords
{
struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
u8 languages[LINK_B_RECORDS_COUNT];
};
struct RecordMixingGiftData
{
u8 unk0;
@@ -530,8 +548,6 @@ struct DaycareMon
u32 steps;
};
#define DAYCARE_MON_COUNT 2
struct DayCare
{
struct DaycareMon mons[DAYCARE_MON_COUNT];
@@ -552,13 +568,6 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
#define POKEBLOCKS_COUNT 40
#define MAP_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
#define VARS_COUNT 256
#define MAIL_COUNT 16
enum
{
LILYCOVE_LADY_QUIZ,
@@ -645,16 +654,16 @@ struct SaveBlock1
/*0x32*/ u16 mapDataId;
/*0x34*/ u16 mapView[0x100];
/*0x234*/ u8 playerPartyCount;
/*0x238*/ struct Pokemon playerParty[6];
/*0x238*/ struct Pokemon playerParty[PARTY_SIZE];
/*0x490*/ u32 money;
/*0x494*/ u16 coins;
/*0x496*/ u16 registeredItem; // registered for use with SELECT button
/*0x498*/ struct ItemSlot pcItems[50];
/*0x560*/ struct ItemSlot bagPocket_Items[30];
/*0x5D8*/ struct ItemSlot bagPocket_KeyItems[30];
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
/*0x498*/ struct ItemSlot pcItems[PC_ITEMS_COUNT];
/*0x560*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT];
/*0x5D8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT];
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT];
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
/*0x988*/ u8 seen1[52];
/*0x9BC*/ u16 berryBlenderRecords[3];
@@ -667,7 +676,7 @@ struct SaveBlock1
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
/*0x1A9C*/ struct SecretBaseRecord secretBases[20];
/*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
/*0x271C*/ u8 playerRoomDecor[12];
/*0x2728*/ u8 playerRoomDecorPos[12];
/*0x2734*/ u8 decorDesk[10];
@@ -703,9 +712,7 @@ struct SaveBlock1
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
/*0x3030*/ struct DayCare daycare;
/*0x3150*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x31A0*/ u8 unk_31A0;
/*0x31A1*/ u8 filler_31A1[7];
/*0x3150*/ struct LinkBattleRecords linkBattleRecords;
/*0x31A8*/ u8 giftRibbons[52];
/*0x31DC*/ struct Roamer roamer;
/*0x31F8*/ struct EnigmaBerry enigmaBerry;

View File

@@ -2713,6 +2713,501 @@ extern const u8 gRaySceneHushBg_Pal[];
extern const u8 gRaySceneHushBg_Gfx[];
extern const u8 gRaySceneHushRing_Gfx[];
// Item icons
extern const u8 gItemIcon_QuestionMark[];
extern const u8 gItemIconPalette_QuestionMark[];
// Pokeballs
extern const u8 gItemIcon_MasterBall[];
extern const u8 gItemIconPalette_MasterBall[];
extern const u8 gItemIcon_UltraBall[];
extern const u8 gItemIconPalette_UltraBall[];
extern const u8 gItemIcon_GreatBall[];
extern const u8 gItemIconPalette_GreatBall[];
extern const u8 gItemIcon_PokeBall[];
extern const u8 gItemIconPalette_PokeBall[];
extern const u8 gItemIcon_SafariBall[];
extern const u8 gItemIconPalette_SafariBall[];
extern const u8 gItemIcon_NetBall[];
extern const u8 gItemIconPalette_NetBall[];
extern const u8 gItemIcon_DiveBall[];
extern const u8 gItemIconPalette_DiveBall[];
extern const u8 gItemIcon_NestBall[];
extern const u8 gItemIconPalette_NestBall[];
extern const u8 gItemIcon_RepeatBall[];
extern const u8 gItemIconPalette_RepeatBall[];
extern const u8 gItemIcon_TimerBall[];
extern const u8 gItemIcon_LuxuryBall[];
extern const u8 gItemIconPalette_LuxuryBall[];
extern const u8 gItemIcon_PremierBall[];
// Medicine
extern const u8 gItemIcon_Potion[];
extern const u8 gItemIconPalette_Potion[];
extern const u8 gItemIcon_Antidote[];
extern const u8 gItemIconPalette_Antidote[];
extern const u8 gItemIcon_StatusHeal[];
extern const u8 gItemIconPalette_BurnHeal[];
extern const u8 gItemIconPalette_IceHeal[];
extern const u8 gItemIconPalette_Awakening[];
extern const u8 gItemIconPalette_ParalyzeHeal[];
extern const u8 gItemIcon_LargePotion[];
extern const u8 gItemIconPalette_FullRestore[];
extern const u8 gItemIconPalette_MaxPotion[];
extern const u8 gItemIconPalette_HyperPotion[];
extern const u8 gItemIconPalette_SuperPotion[];
extern const u8 gItemIcon_FullHeal[];
extern const u8 gItemIconPalette_FullHeal[];
extern const u8 gItemIcon_Revive[];
extern const u8 gItemIconPalette_Revive[];
extern const u8 gItemIcon_MaxRevive[];
extern const u8 gItemIcon_FreshWater[];
extern const u8 gItemIconPalette_FreshWater[];
extern const u8 gItemIcon_SodaPop[];
extern const u8 gItemIconPalette_SodaPop[];
extern const u8 gItemIcon_Lemonade[];
extern const u8 gItemIconPalette_Lemonade[];
extern const u8 gItemIcon_MoomooMilk[];
extern const u8 gItemIconPalette_MoomooMilk[];
extern const u8 gItemIcon_Powder[];
extern const u8 gItemIconPalette_EnergyPowder[];
extern const u8 gItemIcon_EnergyRoot[];
extern const u8 gItemIconPalette_EnergyRoot[];
extern const u8 gItemIconPalette_HealPowder[];
extern const u8 gItemIcon_RevivalHerb[];
extern const u8 gItemIconPalette_RevivalHerb[];
extern const u8 gItemIcon_Ether[];
extern const u8 gItemIconPalette_Ether[];
extern const u8 gItemIconPalette_MaxEther[];
extern const u8 gItemIconPalette_Elixir[];
extern const u8 gItemIconPalette_MaxElixir[];
extern const u8 gItemIcon_LavaCookie[];
extern const u8 gItemIconPalette_LavaCookieAndLetter[];
extern const u8 gItemIcon_Flute[];
extern const u8 gItemIconPalette_BlueFlute[];
extern const u8 gItemIconPalette_YellowFlute[];
extern const u8 gItemIconPalette_RedFlute[];
extern const u8 gItemIconPalette_BlackFlute[];
extern const u8 gItemIconPalette_WhiteFlute[];
extern const u8 gItemIcon_BerryJuice[];
extern const u8 gItemIconPalette_BerryJuice[];
extern const u8 gItemIcon_SacredAsh[];
extern const u8 gItemIconPalette_SacredAsh[];
// Collectibles
extern const u8 gItemIconPalette_ShoalSalt[];
extern const u8 gItemIcon_ShoalShell[];
extern const u8 gItemIconPalette_Shell[];
extern const u8 gItemIcon_Shard[];
extern const u8 gItemIconPalette_RedShard[];
extern const u8 gItemIconPalette_BlueShard[];
extern const u8 gItemIconPalette_YellowShard[];
extern const u8 gItemIconPalette_GreenShard[];
// Vitamins
extern const u8 gItemIcon_HPUp[];
extern const u8 gItemIconPalette_HPUp[];
extern const u8 gItemIcon_Vitamin[];
extern const u8 gItemIconPalette_Protein[];
extern const u8 gItemIconPalette_Iron[];
extern const u8 gItemIconPalette_Carbos[];
extern const u8 gItemIconPalette_Calcium[];
extern const u8 gItemIcon_RareCandy[];
extern const u8 gItemIconPalette_RareCandy[];
extern const u8 gItemIcon_PPUp[];
extern const u8 gItemIconPalette_PPUp[];
extern const u8 gItemIconPalette_Zinc[];
extern const u8 gItemIcon_PPMax[];
extern const u8 gItemIconPalette_PPMax[];
// Battle items
extern const u8 gItemIcon_BattleStatItem[];
extern const u8 gItemIconPalette_GuardSpec[];
extern const u8 gItemIconPalette_DireHit[];
extern const u8 gItemIconPalette_XAttack[];
extern const u8 gItemIconPalette_XDefend[];
extern const u8 gItemIconPalette_XSpeed[];
extern const u8 gItemIconPalette_XAccuracy[];
extern const u8 gItemIconPalette_XSpecial[];
extern const u8 gItemIcon_PokeDoll[];
extern const u8 gItemIconPalette_PokeDoll[];
extern const u8 gItemIcon_FluffyTail[];
extern const u8 gItemIconPalette_FluffyTail[];
// Field items
extern const u8 gItemIcon_Repel[];
extern const u8 gItemIconPalette_SuperRepel[];
extern const u8 gItemIconPalette_MaxRepel[];
extern const u8 gItemIcon_EscapeRope[];
extern const u8 gItemIconPalette_EscapeRope[];
extern const u8 gItemIcon_Repel[];
extern const u8 gItemIconPalette_Repel[];
// Evolution stones
extern const u8 gItemIcon_SunStone[];
extern const u8 gItemIconPalette_SunStone[];
extern const u8 gItemIcon_MoonStone[];
extern const u8 gItemIconPalette_MoonStone[];
extern const u8 gItemIcon_FireStone[];
extern const u8 gItemIconPalette_FireStone[];
extern const u8 gItemIcon_ThunderStone[];
extern const u8 gItemIconPalette_ThunderStone[];
extern const u8 gItemIcon_WaterStone[];
extern const u8 gItemIconPalette_WaterStone[];
extern const u8 gItemIcon_LeafStone[];
extern const u8 gItemIconPalette_LeafStone[];
// Valuables
extern const u8 gItemIcon_TinyMushroom[];
extern const u8 gItemIconPalette_Mushroom[];
extern const u8 gItemIcon_BigMushroom[];
extern const u8 gItemIcon_Pearl[];
extern const u8 gItemIconPalette_Pearl[];
extern const u8 gItemIcon_BigPearl[];
extern const u8 gItemIcon_Stardust[];
extern const u8 gItemIconPalette_Star[];
extern const u8 gItemIcon_StarPiece[];
extern const u8 gItemIcon_Nugget[];
extern const u8 gItemIconPalette_Nugget[];
extern const u8 gItemIcon_HeartScale[];
extern const u8 gItemIconPalette_HeartScale[];
// Mail
extern const u8 gItemIcon_OrangeMail[];
extern const u8 gItemIconPalette_OrangeMail[];
extern const u8 gItemIcon_HarborMail[];
extern const u8 gItemIconPalette_HarborMail[];
extern const u8 gItemIcon_GlitterMail[];
extern const u8 gItemIconPalette_GlitterMail[];
extern const u8 gItemIcon_MechMail[];
extern const u8 gItemIconPalette_MechMail[];
extern const u8 gItemIcon_WoodMail[];
extern const u8 gItemIconPalette_WoodMail[];
extern const u8 gItemIcon_WaveMail[];
extern const u8 gItemIconPalette_WaveMail[];
extern const u8 gItemIcon_BeadMail[];
extern const u8 gItemIconPalette_BeadMail[];
extern const u8 gItemIcon_ShadowMail[];
extern const u8 gItemIconPalette_ShadowMail[];
extern const u8 gItemIcon_TropicMail[];
extern const u8 gItemIconPalette_TropicMail[];
extern const u8 gItemIcon_DreamMail[];
extern const u8 gItemIconPalette_DreamMail[];
extern const u8 gItemIcon_FabMail[];
extern const u8 gItemIconPalette_FabMail[];
extern const u8 gItemIcon_RetroMail[];
extern const u8 gItemIconPalette_RetroMail[];
// Berries
extern const u8 gItemIcon_CheriBerry[];
extern const u8 gItemIconPalette_CheriBerry[];
extern const u8 gItemIcon_ChestoBerry[];
extern const u8 gItemIconPalette_ChestoBerry[];
extern const u8 gItemIcon_PechaBerry[];
extern const u8 gItemIconPalette_PechaBerry[];
extern const u8 gItemIcon_RawstBerry[];
extern const u8 gItemIconPalette_RawstBerry[];
extern const u8 gItemIcon_AspearBerry[];
extern const u8 gItemIconPalette_AspearBerry[];
extern const u8 gItemIcon_LeppaBerry[];
extern const u8 gItemIconPalette_LeppaBerry[];
extern const u8 gItemIcon_OranBerry[];
extern const u8 gItemIconPalette_OranBerry[];
extern const u8 gItemIcon_PersimBerry[];
extern const u8 gItemIconPalette_PersimBerry[];
extern const u8 gItemIcon_LumBerry[];
extern const u8 gItemIconPalette_LumBerry[];
extern const u8 gItemIcon_SitrusBerry[];
extern const u8 gItemIconPalette_SitrusBerry[];
extern const u8 gItemIcon_FigyBerry[];
extern const u8 gItemIconPalette_FigyBerry[];
extern const u8 gItemIcon_WikiBerry[];
extern const u8 gItemIconPalette_WikiBerry[];
extern const u8 gItemIcon_MagoBerry[];
extern const u8 gItemIconPalette_MagoBerry[];
extern const u8 gItemIcon_AguavBerry[];
extern const u8 gItemIconPalette_AguavBerry[];
extern const u8 gItemIcon_IapapaBerry[];
extern const u8 gItemIconPalette_IapapaBerry[];
extern const u8 gItemIcon_RazzBerry[];
extern const u8 gItemIconPalette_RazzBerry[];
extern const u8 gItemIcon_BlukBerry[];
extern const u8 gItemIconPalette_BlukBerry[];
extern const u8 gItemIcon_NanabBerry[];
extern const u8 gItemIconPalette_NanabBerry[];
extern const u8 gItemIcon_WepearBerry[];
extern const u8 gItemIconPalette_WepearBerry[];
extern const u8 gItemIcon_PinapBerry[];
extern const u8 gItemIconPalette_PinapBerry[];
extern const u8 gItemIcon_PomegBerry[];
extern const u8 gItemIconPalette_PomegBerry[];
extern const u8 gItemIcon_KelpsyBerry[];
extern const u8 gItemIconPalette_KelpsyBerry[];
extern const u8 gItemIcon_QualotBerry[];
extern const u8 gItemIconPalette_QualotBerry[];
extern const u8 gItemIcon_HondewBerry[];
extern const u8 gItemIconPalette_HondewBerry[];
extern const u8 gItemIcon_GrepaBerry[];
extern const u8 gItemIconPalette_GrepaBerry[];
extern const u8 gItemIcon_TamatoBerry[];
extern const u8 gItemIconPalette_TamatoBerry[];
extern const u8 gItemIcon_CornnBerry[];
extern const u8 gItemIconPalette_CornnBerry[];
extern const u8 gItemIcon_MagostBerry[];
extern const u8 gItemIconPalette_MagostBerry[];
extern const u8 gItemIcon_RabutaBerry[];
extern const u8 gItemIconPalette_RabutaBerry[];
extern const u8 gItemIcon_NomelBerry[];
extern const u8 gItemIconPalette_NomelBerry[];
extern const u8 gItemIcon_SpelonBerry[];
extern const u8 gItemIconPalette_SpelonBerry[];
extern const u8 gItemIcon_PamtreBerry[];
extern const u8 gItemIconPalette_PamtreBerry[];
extern const u8 gItemIcon_WatmelBerry[];
extern const u8 gItemIconPalette_WatmelBerry[];
extern const u8 gItemIcon_DurinBerry[];
extern const u8 gItemIconPalette_DurinBerry[];
extern const u8 gItemIcon_BelueBerry[];
extern const u8 gItemIconPalette_BelueBerry[];
extern const u8 gItemIcon_LiechiBerry[];
extern const u8 gItemIconPalette_LiechiBerry[];
extern const u8 gItemIcon_GanlonBerry[];
extern const u8 gItemIconPalette_GanlonBerry[];
extern const u8 gItemIcon_SalacBerry[];
extern const u8 gItemIconPalette_SalacBerry[];
extern const u8 gItemIcon_PetayaBerry[];
extern const u8 gItemIconPalette_PetayaBerry[];
extern const u8 gItemIcon_ApicotBerry[];
extern const u8 gItemIconPalette_ApicotBerry[];
extern const u8 gItemIcon_LansatBerry[];
extern const u8 gItemIconPalette_LansatBerry[];
extern const u8 gItemIcon_StarfBerry[];
extern const u8 gItemIconPalette_StarfBerry[];
extern const u8 gItemIcon_EnigmaBerry[];
extern const u8 gItemIconPalette_EnigmaBerry[];
// Hold items
extern const u8 gItemIcon_BrightPowder[];
extern const u8 gItemIconPalette_BrightPowder[];
extern const u8 gItemIcon_InBattleHerb[];
extern const u8 gItemIconPalette_WhiteHerb[];
extern const u8 gItemIcon_MachoBrace[];
extern const u8 gItemIconPalette_MachoBrace[];
extern const u8 gItemIcon_ExpShare[];
extern const u8 gItemIconPalette_ExpShare[];
extern const u8 gItemIcon_QuickClaw[];
extern const u8 gItemIconPalette_QuickClaw[];
extern const u8 gItemIcon_SootheBell[];
extern const u8 gItemIconPalette_SootheBell[];
extern const u8 gItemIcon_InBattleHerb[];
extern const u8 gItemIconPalette_MentalHerb[];
extern const u8 gItemIcon_ChoiceBand[];
extern const u8 gItemIconPalette_ChoiceBand[];
extern const u8 gItemIcon_KingsRock[];
extern const u8 gItemIconPalette_KingsRock[];
extern const u8 gItemIcon_SilverPowder[];
extern const u8 gItemIconPalette_SilverPowder[];
extern const u8 gItemIcon_AmuletCoin[];
extern const u8 gItemIconPalette_AmuletCoin[];
extern const u8 gItemIcon_CleanseTag[];
extern const u8 gItemIconPalette_CleanseTag[];
extern const u8 gItemIcon_SoulDew[];
extern const u8 gItemIconPalette_SoulDew[];
extern const u8 gItemIcon_DeepSeaTooth[];
extern const u8 gItemIconPalette_DeepSeaTooth[];
extern const u8 gItemIcon_DeepSeaScale[];
extern const u8 gItemIconPalette_DeepSeaScale[];
extern const u8 gItemIcon_SmokeBall[];
extern const u8 gItemIconPalette_SmokeBall[];
extern const u8 gItemIcon_Everstone[];
extern const u8 gItemIconPalette_Everstone[];
extern const u8 gItemIcon_FocusBand[];
extern const u8 gItemIconPalette_FocusBand[];
extern const u8 gItemIcon_LuckyEgg[];
extern const u8 gItemIconPalette_LuckyEgg[];
extern const u8 gItemIcon_ScopeLens[];
extern const u8 gItemIconPalette_ScopeLens[];
extern const u8 gItemIcon_MetalCoat[];
extern const u8 gItemIconPalette_MetalCoat[];
extern const u8 gItemIcon_Leftovers[];
extern const u8 gItemIconPalette_Leftovers[];
extern const u8 gItemIcon_DragonScale[];
extern const u8 gItemIconPalette_DragonScale[];
extern const u8 gItemIcon_LightBall[];
extern const u8 gItemIconPalette_LightBall[];
extern const u8 gItemIcon_SoftSand[];
extern const u8 gItemIconPalette_SoftSand[];
extern const u8 gItemIcon_HardStone[];
extern const u8 gItemIconPalette_HardStone[];
extern const u8 gItemIcon_MiracleSeed[];
extern const u8 gItemIconPalette_MiracleSeed[];
extern const u8 gItemIcon_BlackGlasses[];
extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
extern const u8 gItemIcon_BlackBelt[];
extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
extern const u8 gItemIcon_Magnet[];
extern const u8 gItemIconPalette_Magnet[];
extern const u8 gItemIcon_MysticWater[];
extern const u8 gItemIconPalette_MysticWater[];
extern const u8 gItemIcon_SharpBeak[];
extern const u8 gItemIconPalette_SharpBeak[];
extern const u8 gItemIcon_PoisonBarb[];
extern const u8 gItemIconPalette_PoisonBarb[];
extern const u8 gItemIcon_NeverMeltIce[];
extern const u8 gItemIconPalette_NeverMeltIce[];
extern const u8 gItemIcon_SpellTag[];
extern const u8 gItemIconPalette_SpellTag[];
extern const u8 gItemIcon_TwistedSpoon[];
extern const u8 gItemIconPalette_TwistedSpoon[];
extern const u8 gItemIcon_Charcoal[];
extern const u8 gItemIconPalette_Charcoal[];
extern const u8 gItemIcon_DragonFang[];
extern const u8 gItemIconPalette_DragonFang[];
extern const u8 gItemIcon_SilkScarf[];
extern const u8 gItemIconPalette_SilkScarf[];
extern const u8 gItemIcon_UpGrade[];
extern const u8 gItemIconPalette_UpGrade[];
extern const u8 gItemIcon_ShellBell[];
extern const u8 gItemIconPalette_Shell[];
extern const u8 gItemIcon_SeaIncense[];
extern const u8 gItemIconPalette_SeaIncense[];
extern const u8 gItemIcon_LaxIncense[];
extern const u8 gItemIconPalette_LaxIncense[];
extern const u8 gItemIcon_LuckyPunch[];
extern const u8 gItemIconPalette_LuckyPunch[];
extern const u8 gItemIcon_MetalPowder[];
extern const u8 gItemIconPalette_MetalPowder[];
extern const u8 gItemIcon_ThickClub[];
extern const u8 gItemIconPalette_ThickClub[];
extern const u8 gItemIcon_Stick[];
extern const u8 gItemIconPalette_Stick[];
// Contest hold items
extern const u8 gItemIcon_Scarf[];
extern const u8 gItemIconPalette_RedScarf[];
extern const u8 gItemIconPalette_BlueScarf[];
extern const u8 gItemIconPalette_PinkScarf[];
extern const u8 gItemIconPalette_GreenScarf[];
extern const u8 gItemIconPalette_YellowScarf[];
// Key items
extern const u8 gItemIcon_MachBike[];
extern const u8 gItemIconPalette_MachBike[];
extern const u8 gItemIcon_CoinCase[];
extern const u8 gItemIconPalette_CoinCase[];
extern const u8 gItemIcon_Itemfinder[];
extern const u8 gItemIconPalette_Itemfinder[];
extern const u8 gItemIcon_OldRod[];
extern const u8 gItemIconPalette_OldRod[];
extern const u8 gItemIcon_GoodRod[];
extern const u8 gItemIconPalette_GoodRod[];
extern const u8 gItemIcon_SuperRod[];
extern const u8 gItemIconPalette_SuperRod[];
extern const u8 gItemIcon_SSTicket[];
extern const u8 gItemIconPalette_SSTicket[];
extern const u8 gItemIcon_ContestPass[];
extern const u8 gItemIconPalette_ContestPass[];
extern const u8 gItemIcon_WailmerPail[];
extern const u8 gItemIconPalette_WailmerPail[];
extern const u8 gItemIcon_DevonGoods[];
extern const u8 gItemIconPalette_DevonGoods[];
extern const u8 gItemIcon_SootSack[];
extern const u8 gItemIconPalette_SootSack[];
extern const u8 gItemIcon_BasementKey[];
extern const u8 gItemIconPalette_OldKey[];
extern const u8 gItemIcon_AcroBike[];
extern const u8 gItemIconPalette_AcroBike[];
extern const u8 gItemIcon_PokeblockCase[];
extern const u8 gItemIconPalette_PokeblockCase[];
extern const u8 gItemIcon_Letter[];
extern const u8 gItemIcon_EonTicket[];
extern const u8 gItemIconPalette_EonTicket[];
extern const u8 gItemIcon_Orb[];
extern const u8 gItemIconPalette_RedOrb[];
extern const u8 gItemIconPalette_BlueOrb[];
extern const u8 gItemIcon_Scanner[];
extern const u8 gItemIconPalette_Scanner[];
extern const u8 gItemIcon_GoGoggles[];
extern const u8 gItemIconPalette_GoGoggles[];
extern const u8 gItemIcon_Meteorite[];
extern const u8 gItemIconPalette_Meteorite[];
extern const u8 gItemIcon_Room1Key[];
extern const u8 gItemIconPalette_Key[];
extern const u8 gItemIcon_Room2Key[];
extern const u8 gItemIcon_Room4Key[];
extern const u8 gItemIcon_Room6Key[];
extern const u8 gItemIcon_StorageKey[];
extern const u8 gItemIcon_RootFossil[];
extern const u8 gItemIconPalette_HoennFossil[];
extern const u8 gItemIcon_ClawFossil[];
extern const u8 gItemIcon_DevonScope[];
extern const u8 gItemIconPalette_DevonScope[];
// TMs/HMs
extern const u8 gItemIcon_TM[];
extern const u8 gItemIconPalette_FightingTMHM[];
extern const u8 gItemIconPalette_DragonTMHM[];
extern const u8 gItemIconPalette_WaterTMHM[];
extern const u8 gItemIconPalette_PsychicTMHM[];
extern const u8 gItemIconPalette_NormalTMHM[];
extern const u8 gItemIconPalette_PoisonTMHM[];
extern const u8 gItemIconPalette_IceTMHM[];
extern const u8 gItemIconPalette_GrassTMHM[];
extern const u8 gItemIconPalette_FireTMHM[];
extern const u8 gItemIconPalette_DarkTMHM[];
extern const u8 gItemIconPalette_SteelTMHM[];
extern const u8 gItemIconPalette_ElectricTMHM[];
extern const u8 gItemIconPalette_GroundTMHM[];
extern const u8 gItemIconPalette_GhostTMHM[];
extern const u8 gItemIconPalette_RockTMHM[];
extern const u8 gItemIconPalette_FlyingTMHM[];
extern const u8 gItemIcon_HM[];
// FireRed/LeafGreen key items
extern const u8 gItemIcon_OaksParcel[];
extern const u8 gItemIconPalette_OaksParcel[];
extern const u8 gItemIcon_PokeFlute[];
extern const u8 gItemIconPalette_PokeFlute[];
extern const u8 gItemIcon_SecretKey[];
extern const u8 gItemIconPalette_SecretKey[];
extern const u8 gItemIcon_BikeVoucher[];
extern const u8 gItemIconPalette_BikeVoucher[];
extern const u8 gItemIcon_GoldTeeth[];
extern const u8 gItemIconPalette_GoldTeeth[];
extern const u8 gItemIcon_OldAmber[];
extern const u8 gItemIconPalette_OldAmber[];
extern const u8 gItemIcon_CardKey[];
extern const u8 gItemIconPalette_CardKey[];
extern const u8 gItemIcon_LiftKey[];
extern const u8 gItemIconPalette_Key[];
extern const u8 gItemIcon_HelixFossil[];
extern const u8 gItemIconPalette_KantoFossil[];
extern const u8 gItemIcon_DomeFossil[];
extern const u8 gItemIcon_SilphScope[];
extern const u8 gItemIconPalette_SilphScope[];
extern const u8 gItemIcon_Bicycle[];
extern const u8 gItemIconPalette_Bicycle[];
extern const u8 gItemIcon_TownMap[];
extern const u8 gItemIconPalette_TownMap[];
extern const u8 gItemIcon_VSSeeker[];
extern const u8 gItemIconPalette_VSSeeker[];
extern const u8 gItemIcon_FameChecker[];
extern const u8 gItemIconPalette_FameChecker[];
extern const u8 gItemIcon_TMCase[];
extern const u8 gItemIconPalette_TMCase[];
extern const u8 gItemIcon_BerryPouch[];
extern const u8 gItemIconPalette_BerryPouch[];
extern const u8 gItemIcon_TeachyTV[];
extern const u8 gItemIconPalette_TeachyTV[];
extern const u8 gItemIcon_TriPass[];
extern const u8 gItemIconPalette_TriPass[];
extern const u8 gItemIcon_RainbowPass[];
extern const u8 gItemIconPalette_RainbowPass[];
extern const u8 gItemIcon_Tea[];
extern const u8 gItemIconPalette_Tea[];
extern const u8 gItemIcon_MysticTicket[];
extern const u8 gItemIconPalette_MysticTicket[];
extern const u8 gItemIcon_AuroraTicket[];
extern const u8 gItemIconPalette_AuroraTicket[];
extern const u8 gItemIcon_PowderJar[];
extern const u8 gItemIconPalette_PowderJar[];
extern const u8 gItemIcon_Gem[];
extern const u8 gItemIconPalette_Ruby[];
extern const u8 gItemIconPalette_Sapphire[];
// Emerald-only key items
extern const u8 gItemIcon_MagmaEmblem[];
extern const u8 gItemIconPalette_MagmaEmblem[];
extern const u8 gItemIcon_OldSeaMap[];
extern const u8 gItemIconPalette_OldSeaMap[];
extern const u8 gItemIcon_ReturnToFieldArrow[];
extern const u8 gItemIconPalette_ReturnToFieldArrow[];
//menu graphics
extern const u16 gFireRedMenuElements1_Pal[16];
extern const u16 gFireRedMenuElements2_Pal[16];

View File

@@ -1,11 +1,32 @@
#ifndef ITEM_H
#define ITEM_H
#ifndef GUARD_ITEM_H
#define GUARD_ITEM_H
// These constants are used in gItems
enum
{
POCKET_NONE,
POCKET_ITEMS,
POCKET_POKE_BALLS,
POCKET_TM_HM,
POCKET_BERRIES,
POCKET_KEY_ITEMS,
};
enum
{
ITEMS_POCKET,
BALLS_POCKET,
TMHM_POCKET,
BERRIES_POCKET,
KEYITEMS_POCKET,
POCKETS_COUNT
};
typedef void (*ItemUseFunc)(u8);
struct Item
{
u8 name[14];
u8 name[ITEM_NAME_LENGTH];
u16 itemId;
u16 price;
u8 holdEffect;
@@ -29,28 +50,41 @@ struct BagPocket
extern struct BagPocket gBagPockets[];
void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity);
void CopyItemName(u16 itemId, u8 *string);
void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
void ApplyNewEncryptionKeyToBagItems(u32 newKey);
void ApplyNewEncryptionKeyToBagItems_(u32 newKey);
void SetBagItemsPointers(void);
void CopyItemName(u16 itemId, u8 *dst);
void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity);
void GetBerryCountString(u8 *dst, const u8 *berryName, u32 quantity);
bool8 IsBagPocketNonEmpty(u8 pocket);
bool8 CheckBagHasItem(u16 itemId, u16 count);
bool8 HasAtLeastOneBerry(void);
bool8 CheckBagHasSpace(u16 itemId, u16 count);
bool8 AddBagItem(u16 itemId, u16 count);
bool8 RemoveBagItem(u16 itemId, u16 count);
u8 GetPocketByItemId(u16 itemId);
void ClearItemSlots(struct ItemSlot *itemSlots, u8 b);
void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount);
u8 CountUsedPCItemSlots(void);
bool8 CheckPCHasItem(u16 itemId, u16 count);
bool8 AddPCItem(u16 itemId, u16 count);
void RemovePCItem(u8 index, u16 count);
void CompactPCItems(void);
void SwapRegisteredBike(void);
const struct Item *ItemId_GetItem(u16 itemId);
u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos);
void CompactItemsInBagPocket(struct BagPocket *bagPocket);
void SortBerriesOrTMHMs(struct BagPocket *bagPocket);
void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_);
void ClearBag(void);
u16 CountTotalItemQuantityInBag(u16 itemId);
bool8 AddPyramidBagItem(u16 itemId, u16 count);
bool8 RemovePyramidBagItem(u16 itemId, u16 count);
const u8 *ItemId_GetName(u16 itemId);
u16 ItemId_GetId(u16 itemId);
u16 ItemId_GetPrice(u16 itemId);
u8 ItemId_GetHoldEffect(u16 itemId);
u8 ItemId_GetHoldEffectParam(u16 itemId);
const u8 *ItemId_GetDescription(u16 itemId);
bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c);
u8 ItemId_GetImportance(u16 itemId);
u8 ItemId_GetUnknownValue(u16 itemId);
u8 ItemId_GetPocket(u16 itemId);
@@ -59,14 +93,5 @@ ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
u8 ItemId_GetBattleUsage(u16 itemId);
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
u8 ItemId_GetSecondaryId(u16 itemId);
u16 itemid_get_market_price(u16 itemId);
u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
void sub_80D6FB4(struct BagPocket*);
void sub_80D6F64(struct BagPocket*);
void sub_80D702C(struct ItemSlot*, s16, u16);
u8 sub_80D6CE4();
bool8 itemid_is_unique(u16 itemId);
void sub_80D6E48(u8, u16);
void sub_80D6E84(void);
#endif // ITEM_H
#endif // GUARD_ITEM_H

View File

@@ -55,7 +55,7 @@ void sub_81AAC14(void);
void sub_81AAC50(void);
void sub_81AAC70(void);
void bag_menu_mail_related(void);
void CB2_BagMenuFromStartMenu(void);
u8 sub_81ABB2C(u8 pocketId);
#endif //GUARD_item_menu_H

View File

@@ -21,11 +21,13 @@ void DisplayItemRespondingMessageAndExitItemfinder(u8);
void RotatePlayerAndExitItemfinder(u8);
void ItemUseOutOfBattle_PokeblockCase(u8);
void ItemUseOutOfBattle_CoinCase(u8);
void ItemUseOutOfBattle_PowderJar(u8);
void ItemUseOutOfBattle_SSTicket(u8);
void sub_80C9D00(u8);
void ItemUseOutOfBattle_WailmerPail(u8);
void sub_80C9D74(u8);
void ItemUseOutOfBattle_Medicine(u8);
void ItemUseOutOfBattle_ReduceEV(u8);
void ItemUseOutOfBattle_SacredAsh(u8);
void ItemUseOutOfBattle_PPRecovery(u8);
void ItemUseOutOfBattle_PPUp(u8);

View File

@@ -1,27 +1,35 @@
#ifndef GUARD_LOAD_SAVE_H
#define GUARD_LOAD_SAVE_H
extern bool32 gFlashMemoryPresent;
extern struct SaveBlock1 gSaveblock1;
extern struct SaveBlock2 gSaveblock2;
extern struct PokemonStorage gPokemonStorage;
extern bool32 gFlashMemoryPresent;
extern struct SaveBlock1 *gSaveBlock1Ptr;
extern struct SaveBlock2 *gSaveBlock2Ptr;
extern struct PokemonStorage *gPokemonStoragePtr;
void CheckForFlashMemory(void);
void ClearSav2(void);
void ClearSav1(void);
void CheckForFlashMemory(void);
void SetSaveBlocksPointers(u16 offset);
void MoveSaveBlocks_ResetHeap(void);
bool32 GetSecretBase2Field_9(void);
u32 GetSecretBase2Field_9(void);
void ClearSecretBase2Field_9(void);
void SetSecretBase2Field_9(void);
void SetSecretBase2Field_9_AndHideBG(void);
void ClearSecretBase2Field_9_2(void);
void sub_8076D48(void);
void sub_8076D5C(void);
void sav2_gender2_inplace_and_xFE(void);
void SavePlayerParty(void);
void LoadPlayerParty(void);
void SaveMapObjects(void);
void LoadMapObjects(void);
void SaveSerializedGame(void);
void LoadSerializedGame(void);
void LoadPlayerBag(void);
void SavePlayerBag(void);
void SetSaveBlocksPointers(u16);
void sub_8076D5C(void);
void sav2_gender2_inplace_and_xFE(void);
void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey);
void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
#endif // GUARD_LOAD_SAVE_H

View File

@@ -1,8 +1,6 @@
#ifndef GUARD_PALETTE_H
#define GUARD_PALETTE_H
#include "global.h"
#define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade
#define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade

View File

@@ -9,5 +9,6 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
s32 convert_pixel_width_to_tile_width(s32 pixelWidth);
#endif //GUARD_SCRIPT_MENU_H

View File

@@ -12,5 +12,6 @@ u8 *GetSecretBaseMapName(u8 *dest);
const u8 *GetSecretBaseTrainerLoseText(void);
void sub_80E8EE0(struct MapEvents const *events);
void sub_80E9238(u8 flagIn);
bool8 CurrentMapIsSecretBase(void);
#endif //GUARD_SECRET_BASE_H

View File

@@ -74,6 +74,10 @@ extern const u8 gText_DecorationWillBeDiscarded[];
extern const u8 gText_CantThrowAwayInUse[];
extern const u8 gText_DecorationThrownAway[];
extern const u8 gText_PokeBalls[];
extern const u8 gText_Berries[];
extern const u8 gText_Berry[];
extern const u8 gText_Desk[];
extern const u8 gText_Chair[];
extern const u8 gText_Plant[];
@@ -336,7 +340,7 @@ extern const u8 gText_Var1DotVar2[];
extern const u8 gText_ThreeMarks[];
extern const u8 gText_FirmSlash[];
//item menu screen text
// item menu screen text
extern const u8 gText_CloseBag[];
extern const u8 gText_ClearTo11Var1Clear5Var2[];
extern const u8 gText_UnkF908Var1Clear7Var2[];
@@ -362,11 +366,11 @@ extern const u8 gText_DepositedVar2Var1s[];
extern const u8 gText_NoRoomForItems[];
extern const u8 gText_ThreeDashes[];
//party menu text
// party menu text
extern const u8 gText_PkmnHPRestoredByVar2[];
extern const u8 gText_CantBeUsedOnPkmn[];
//birch dex rating text
// birch dex rating text
extern const u8 gBirchDexRatingText_LessThan10[];
extern const u8 gBirchDexRatingText_LessThan20[];
extern const u8 gBirchDexRatingText_LessThan30[];
@@ -389,7 +393,7 @@ extern const u8 gBirchDexRatingText_LessThan190[];
extern const u8 gBirchDexRatingText_LessThan200[];
extern const u8 gBirchDexRatingText_DexCompleted[];
//player pc text
// player pc text
extern const u8 gText_WhatWouldYouLike[];
extern const u8 gText_NoMailHere[];
@@ -429,5 +433,14 @@ extern const u8 gText_TooImportantToToss[];
extern const u8 gText_ConfirmTossItems[];
extern const u8 gText_MoveVar1Where[];
extern const u8 gText_Tristan[];
extern const u8 gText_Philip[];
extern const u8 gText_Dennis[];
extern const u8 gText_Roberto[];
extern const u8 gText_FiveMarks[];
extern const u8 gText_TotalRecordWLD[];
extern const u8 gText_PlayersBattleResults[];
extern const u8 gText_WinLoseDraw[];
#endif //GUARD_STRINGS_H

35
include/trainer_card.h Normal file
View File

@@ -0,0 +1,35 @@
#ifndef GUARD_TRAINER_CARD_H
#define GUARD_TRAINER_CARD_H
struct TrainerCard
{
/*0x00*/ u8 gender;
/*0x01*/ u8 stars;
/*0x02*/ bool8 hasPokedex;
/*0x03*/ bool8 var_3;
/*0x04*/ bool8 var_4;
/*0x05*/ u8 var_5;
/*0x06*/ u16 firstHallOfFameA;
/*0x08*/ u16 firstHallOfFameB;
/*0x0A*/ u16 firstHallOfFameC;
/*0x0C*/ u16 pokedexSeen;
/*0x0E*/ u16 trainerId;
/*0x10*/ u16 playTimeHours;
/*0x12*/ u16 playTimeMinutes;
/*0x14*/ u16 linkBattleWins;
/*0x16*/ u16 linkBattleLosses;
/*0x18*/ u16 battleTowerWins;
/*0x1A*/ u16 battleTowerLosses;
/*0x1C*/ u16 contestsWithFriends;
/*0x1E*/ u16 pokeblocksWithFriends;
/*0x20*/ u16 pokemonTrades;
/*0x22*/ u16 var_22;
/*0x24*/ u32 money;
/*0x28*/ u16 var_28[4];
/*0x30*/ u8 playerName[8];
/*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38];
};
extern struct TrainerCard gTrainerCards[4];
#endif // GUARD_TRAINER_CARD_H