summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/global.h1
-rw-r--r--include/constants/pokemon.h51
-rw-r--r--include/constants/tv.h18
-rw-r--r--include/event_scripts.h32
-rw-r--r--include/gba/defines.h2
-rw-r--r--include/global.h6
-rw-r--r--include/graphics.h6
-rw-r--r--include/pokemon.h2
8 files changed, 94 insertions, 24 deletions
diff --git a/include/constants/global.h b/include/constants/global.h
index ee2fd3abc..d8dad0f45 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -51,6 +51,7 @@
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
#define NUM_CONTEST_WINNERS 13
#define UNION_ROOM_KB_ROW_COUNT 10
+#define GIFT_RIBBONS_COUNT 11
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index c8c25266b..a0bb2c7ce 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -171,7 +171,7 @@
#define MON_DATA_NATIONAL_RIBBON 76
#define MON_DATA_EARTH_RIBBON 77
#define MON_DATA_WORLD_RIBBON 78
-#define MON_DATA_FILLER 79
+#define MON_DATA_UNUSED_RIBBONS 79
#define MON_DATA_EVENT_LEGAL 80
#define MON_DATA_KNOWN_MOVES 81
#define MON_DATA_RIBBON_COUNT 82
@@ -182,6 +182,55 @@
#define MON_DATA_SPATK2 87
#define MON_DATA_SPDEF2 88
+// Ribbon IDs used by TV and Pokénav
+#define CHAMPION_RIBBON 0
+#define COOL_RIBBON_NORMAL 1
+#define COOL_RIBBON_SUPER 2
+#define COOL_RIBBON_HYPER 3
+#define COOL_RIBBON_MASTER 4
+#define BEAUTY_RIBBON_NORMAL 5
+#define BEAUTY_RIBBON_SUPER 6
+#define BEAUTY_RIBBON_HYPER 7
+#define BEAUTY_RIBBON_MASTER 8
+#define CUTE_RIBBON_NORMAL 9
+#define CUTE_RIBBON_SUPER 10
+#define CUTE_RIBBON_HYPER 11
+#define CUTE_RIBBON_MASTER 12
+#define SMART_RIBBON_NORMAL 13
+#define SMART_RIBBON_SUPER 14
+#define SMART_RIBBON_HYPER 15
+#define SMART_RIBBON_MASTER 16
+#define TOUGH_RIBBON_NORMAL 17
+#define TOUGH_RIBBON_SUPER 18
+#define TOUGH_RIBBON_HYPER 19
+#define TOUGH_RIBBON_MASTER 20
+#define WINNING_RIBBON 21
+#define VICTORY_RIBBON 22
+#define ARTIST_RIBBON 23
+#define EFFORT_RIBBON 24
+#define MARINE_RIBBON 25
+#define LAND_RIBBON 26
+#define SKY_RIBBON 27
+#define COUNTRY_RIBBON 28
+#define NATIONAL_RIBBON 29
+#define EARTH_RIBBON 30
+#define WORLD_RIBBON 31
+
+#define FIRST_GIFT_RIBBON MARINE_RIBBON
+#define LAST_GIFT_RIBBON WORLD_RIBBON
+#define NUM_GIFT_RIBBONS (1 + LAST_GIFT_RIBBON - FIRST_GIFT_RIBBON)
+
+// The above gift ribbons (Marine - World) are
+// special distribution ribbons that correspond to
+// 1 bit each in the Pokémon struct. Gen 4 hard-codes
+// each of these to the given name. In Gen 3 they're
+// used to get an index into giftRibbons in the save block,
+// which can have a value 0-64 (0 is 'no ribbon') that
+// corresponds to one of the special ribbons listed
+// in gGiftRibbonDescriptionPointers. Most of these were
+// never distributed
+#define MAX_GIFT_RIBBON 64
+
#define MIN_LEVEL 1
#define MAX_LEVEL 100
diff --git a/include/constants/tv.h b/include/constants/tv.h
index 4b5f9115b..72eae3f1c 100644
--- a/include/constants/tv.h
+++ b/include/constants/tv.h
@@ -188,4 +188,22 @@
#define CONTESTLIVE_FLAG_LAST_BOTH_ROUNDS (1 << 6)
#define CONTESTLIVE_FLAG_NO_APPEALS (1 << 7)
+// TV Show states for Spot the Cuties
+#define SPOTCUTIES_STATE_INTRO 0
+#define SPOTCUTIES_STATE_RIBBONS_LOW 1
+#define SPOTCUTIES_STATE_RIBBONS_MID 2
+#define SPOTCUTIES_STATE_RIBBONS_HIGH 3
+#define SPOTCUTIES_STATE_RIBBON_INTRO 4
+#define SPOTCUTIES_STATE_RIBBON_CHAMPION 5
+#define SPOTCUTIES_STATE_RIBBON_COOL 6
+#define SPOTCUTIES_STATE_RIBBON_BEAUTY 7
+#define SPOTCUTIES_STATE_RIBBON_CUTE 8
+#define SPOTCUTIES_STATE_RIBBON_SMART 9
+#define SPOTCUTIES_STATE_RIBBON_TOUGH 10
+#define SPOTCUTIES_STATE_RIBBON_WINNING 11
+#define SPOTCUTIES_STATE_RIBBON_VICTORY 12
+#define SPOTCUTIES_STATE_RIBBON_ARTIST 13
+#define SPOTCUTIES_STATE_RIBBON_EFFORT 14
+#define SPOTCUTIES_STATE_OUTRO 15
+
#endif //GUARD_CONSTANTS_TV_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 199686655..79ef0ea14 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -196,22 +196,22 @@ extern const u8 gTVTrainerFanClubText08[];
extern const u8 gTVTrainerFanClubText09[];
extern const u8 gTVTrainerFanClubText10[];
extern const u8 gTVTrainerFanClubText11[];
-extern const u8 gTVCutiesText00[];
-extern const u8 gTVCutiesText01[];
-extern const u8 gTVCutiesText02[];
-extern const u8 gTVCutiesText03[];
-extern const u8 gTVCutiesText04[];
-extern const u8 gTVCutiesText05[];
-extern const u8 gTVCutiesText06[];
-extern const u8 gTVCutiesText07[];
-extern const u8 gTVCutiesText08[];
-extern const u8 gTVCutiesText09[];
-extern const u8 gTVCutiesText10[];
-extern const u8 gTVCutiesText11[];
-extern const u8 gTVCutiesText12[];
-extern const u8 gTVCutiesText13[];
-extern const u8 gTVCutiesText14[];
-extern const u8 gTVCutiesText15[];
+extern const u8 TVSpotTheCuties_Text_Intro[];
+extern const u8 TVSpotTheCuties_Text_RibbonsLow[];
+extern const u8 TVSpotTheCuties_Text_RibbonsMid[];
+extern const u8 TVSpotTheCuties_Text_RibbonsHigh[];
+extern const u8 TVSpotTheCuties_Text_RibbonIntro[];
+extern const u8 TVSpotTheCuties_Text_RibbonChampion[];
+extern const u8 TVSpotTheCuties_Text_RibbonCool[];
+extern const u8 TVSpotTheCuties_Text_RibbonBeauty[];
+extern const u8 TVSpotTheCuties_Text_RibbonCute[];
+extern const u8 TVSpotTheCuties_Text_RibbonSmart[];
+extern const u8 TVSpotTheCuties_Text_RibbonTough[];
+extern const u8 TVSpotTheCuties_Text_RibbonWinning[];
+extern const u8 TVSpotTheCuties_Text_RibbonVictory[];
+extern const u8 TVSpotTheCuties_Text_RibbonArtist[];
+extern const u8 TVSpotTheCuties_Text_RibbonEffort[];
+extern const u8 TVSpotTheCuties_Text_Outro[];
extern const u8 gTVPokemonNewsBattleFrontierText00[];
extern const u8 gTVPokemonNewsBattleFrontierText01[];
extern const u8 gTVPokemonNewsBattleFrontierText02[];
diff --git a/include/gba/defines.h b/include/gba/defines.h
index 2df9a3feb..78c688593 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -50,6 +50,8 @@
#define BG_TILE_H_FLIP(n) (0x400 + (n))
#define BG_TILE_V_FLIP(n) (0x800 + (n))
+#define NUM_BACKGROUNDS 4
+
// text-mode BG
#define OBJ_VRAM0 (VRAM + 0x10000)
#define OBJ_VRAM0_SIZE 0x8000
diff --git a/include/global.h b/include/global.h
index 38850d6fa..44df26a9b 100644
--- a/include/global.h
+++ b/include/global.h
@@ -905,7 +905,7 @@ struct ExternalEventData
u8 unknownExternalDataFields1[7]; // if actually used, may be broken up into different fields.
u32 unknownExternalDataFields2:8;
u32 currentPokeCoupons:24; // PokéCoupons stored by Pokémon Colosseum and XD from Mt. Battle runs. Earned PokéCoupons are also added to totalEarnedPokeCoupons. Colosseum/XD caps this at 9,999,999, but will read up to 16,777,215.
- u32 gotGoldPokeCouponTitleReward:1; // Master Ball from Jp Colosseum Bonus Disc; for reaching 30,000 totalEarnedPokeCoupons
+ u32 gotGoldPokeCouponTitleReward:1; // Master Ball from JP Colosseum Bonus Disc; for reaching 30,000 totalEarnedPokeCoupons
u32 gotSilverPokeCouponTitleReward:1; // Light Ball Pikachu from JP Colosseum Bonus Disc; for reaching 5000 totalEarnedPokeCoupons
u32 gotBronzePokeCouponTitleReward:1; // PP Max from JP Colosseum Bonus Disc; for reaching 2500 totalEarnedPokeCoupons
u32 receivedAgetoCelebi:1; // from JP Colosseum Bonus Disc
@@ -919,7 +919,7 @@ struct ExternalEventData
struct ExternalEventFlags
{
u8 usedBoxRS:1; // Set by Pokémon Box: Ruby & Sapphire; denotes whether this save has connected to it and triggered the free False Swipe Swablu Egg giveaway.
- u8 boxRSEggsUnlocked:2; // Set by Pokémon Box: Ruby & Sapphire; denotes the number of Eggs unlocked from deposits; 1 for ExtremeSpeed Zigzagoon (at 100 deposited), 2 for Pay Day Skitty (at 500 deposited), 3 for Surf Pichu (at 1500 deposited)
+ u8 boxRSEggsUnlocked:2; // Set by Pokémon Box: Ruby & Sapphire; denotes the number of Eggs unlocked from deposits; 1 for ExtremeSpeed Zigzagoon (at 100 deposited), 2 for Pay Day Skitty (at 500 deposited), 3 for Surf Pichu (at 1499 deposited)
u8 padding:5;
u8 unknownFlag1;
u8 receivedGCNJirachi; // Both the US Colosseum Bonus Disc and PAL/AUS Pokémon Channel use this field. One cannot receive a WISHMKR Jirachi and CHANNEL Jirachi with the same savefile.
@@ -1017,7 +1017,7 @@ struct SaveBlock1
/*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_*
/*0x3030*/ struct DayCare daycare;
/*0x3150*/ struct LinkBattleRecords linkBattleRecords;
- /*0x31A8*/ u8 giftRibbons[11];
+ /*0x31A8*/ u8 giftRibbons[GIFT_RIBBONS_COUNT];
/*0x31B3*/ struct ExternalEventData externalEventData;
/*0x31C7*/ struct ExternalEventFlags externalEventFlags;
/*0x31DC*/ struct Roamer roamer;
diff --git a/include/graphics.h b/include/graphics.h
index d3d01bc57..bade0b0a7 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4033,9 +4033,9 @@ extern const u32 gPokenavLeftHeaderBeauty_Gfx[];
extern const u32 gPokenavLeftHeaderCute_Gfx[];
extern const u32 gPokenavLeftHeaderSmart_Gfx[];
extern const u32 gPokenavLeftHeaderTough_Gfx[];
-extern const u16 gUnknown_08DDE010[];
-extern const u32 gUnknown_08DDE030[];
-extern const u32 gUnknown_08DDE12C[];
+extern const u16 gPokenavRibbonsSummaryBg_Pal[];
+extern const u32 gPokenavRibbonsSummaryBg_Gfx[];
+extern const u32 gPokenavRibbonsSummaryBg_Tilemap[];
extern const u32 gPageInfoTilemap[];
extern const u32 gUnknown_08D98CC8[];
diff --git a/include/pokemon.h b/include/pokemon.h
index 7d6e960d7..82cdefeac 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -72,7 +72,7 @@ struct PokemonSubstruct3
/* 0x0B */ u32 nationalRibbon:1;
/* 0x0B */ u32 earthRibbon:1;
/* 0x0B */ u32 worldRibbon:1; // distributed during Pokémon Festa '04 and '05 to tournament winners
- /* 0x0B */ u32 filler:4;
+ /* 0x0B */ u32 unusedRibbons:4; // discarded in Gen 4
/* 0x0B */ u32 eventLegal:1; // controls Mew & Deoxys obedience; if set, Pokémon is a fateful encounter in Gen 4+; set for in-game event island legendaries, some distributed events, and Pokémon from XD: Gale of Darkness.
};