summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/event_scripts.s1
-rw-r--r--data/maps/FourIsland/map.json10
-rw-r--r--data/maps/FourIsland/scripts.inc70
-rw-r--r--data/maps/FourIsland/text.inc14
-rw-r--r--data/maps/FourIsland_Harbor/map.json2
-rw-r--r--data/maps/FourIsland_Harbor/scripts.inc2
-rw-r--r--data/maps/FourIsland_House1/map.json2
-rw-r--r--data/maps/FourIsland_House1/scripts.inc4
-rw-r--r--data/maps/FourIsland_House1/text.inc13
-rw-r--r--data/maps/FourIsland_House2/map.json2
-rw-r--r--data/maps/FourIsland_LoreleisHouse/map.json30
-rw-r--r--data/maps/FourIsland_LoreleisHouse/scripts.inc20
-rw-r--r--data/maps/FourIsland_LoreleisHouse/text.inc8
-rw-r--r--data/maps/FourIsland_Mart/map.json6
-rw-r--r--data/maps/FourIsland_Mart/scripts.inc10
-rw-r--r--data/maps/FourIsland_Mart/text.inc4
-rw-r--r--data/maps/FourIsland_PokemonCenter_1F/map.json12
-rw-r--r--data/maps/FourIsland_PokemonCenter_1F/scripts.inc14
-rw-r--r--data/maps/FourIsland_PokemonCenter_1F/text.inc9
-rw-r--r--data/scripts/fame_checker.inc8
-rw-r--r--data/scripts/trainer_card.inc336
-rw-r--r--data/specials.inc2
-rw-r--r--data/text/fame_checker.inc2
-rw-r--r--data/text/trainer_card.inc60
-rw-r--r--graphics/trainer_card/back.bin (renamed from graphics/trainer_card/unk_83CC984.bin)bin300 -> 300 bytes
-rw-r--r--graphics/trainer_card/back_hoenn.bin (renamed from graphics/trainer_card/unk_83CC8A8.bin)bin220 -> 220 bytes
-rw-r--r--graphics/trainer_card/bg.bin (renamed from graphics/trainer_card/unk_83CCEC8.bin)bin184 -> 184 bytes
-rw-r--r--graphics/trainer_card/bg_hoenn.bin (renamed from graphics/trainer_card/unk_83CCE30.bin)bin152 -> 152 bytes
-rw-r--r--graphics/trainer_card/front.bin (renamed from graphics/trainer_card/unk_83CC6F0.bin)bin440 -> 440 bytes
-rw-r--r--graphics/trainer_card/front_hoenn.bin (renamed from graphics/trainer_card/unk_83CC4DC.bin)bin532 -> 532 bytes
-rw-r--r--graphics/trainer_card/front_hoenn_link.bin (renamed from graphics/trainer_card/unk_83CCAB0.bin)bin500 -> 500 bytes
-rw-r--r--graphics/trainer_card/front_link.bin (renamed from graphics/trainer_card/unk_83CCCA4.bin)bin396 -> 396 bytes
-rw-r--r--graphics/trainer_card/gold.pal (renamed from graphics/trainer_card/unk_83CD300.pal)0
-rw-r--r--include/constants/facility_trainer_classes.h8
-rw-r--r--include/constants/flags.h5
-rw-r--r--include/constants/trainer_card.h17
-rw-r--r--include/graphics.h8
-rw-r--r--include/trainer_card.h16
-rw-r--r--include/trainer_pokemon_sprites.h2
-rw-r--r--src/battle_controller_link_opponent.c8
-rw-r--r--src/data/pokemon/trainer_class_lookups.h16
-rw-r--r--src/field_specials.c2
-rw-r--r--src/graphics.c8
-rw-r--r--src/trainer_card.c918
-rw-r--r--src/trainer_pokemon_sprites.c2
-rw-r--r--src/union_room.c5
46 files changed, 858 insertions, 798 deletions
diff --git a/data/event_scripts.s b/data/event_scripts.s
index c088f893d..1e9e38b98 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -34,6 +34,7 @@
#include "constants/quest_log.h"
#include "constants/daycare.h"
#include "constants/easy_chat.h"
+#include "constants/trainer_card.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.set FALSE, 0
diff --git a/data/maps/FourIsland/map.json b/data/maps/FourIsland/map.json
index ed72da60f..35dd24e8c 100644
--- a/data/maps/FourIsland/map.json
+++ b/data/maps/FourIsland/map.json
@@ -90,7 +90,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_EventScript_167E2E",
+ "script": "FourIsland_EventScript_OldWoman",
"flag": "0"
},
{
@@ -155,7 +155,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_EventScript_167E73",
+ "script": "FourIsland_EventScript_FatMan",
"flag": "0"
},
{
@@ -168,7 +168,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_EventScript_167E5A",
+ "script": "FourIsland_EventScript_LittleGirl",
"flag": "0"
}
],
@@ -237,7 +237,7 @@
"x": 13,
"y": 19,
"elevation": 0,
- "script": "FourIsland_EventScript_167E7C"
+ "script": "FourIsland_EventScript_IslandSign"
},
{
"type": "hidden_item",
@@ -264,7 +264,7 @@
"x": 31,
"y": 23,
"elevation": 0,
- "script": "FourIsland_EventScript_167E85"
+ "script": "FourIsland_EventScript_LoreleisHouseSign"
}
]
}
diff --git a/data/maps/FourIsland/scripts.inc b/data/maps/FourIsland/scripts.inc
index 85e1db283..8a7dfafbf 100644
--- a/data/maps/FourIsland/scripts.inc
+++ b/data/maps/FourIsland/scripts.inc
@@ -1,3 +1,6 @@
+.equ LOCALID_DAYCARE_MAN, 1
+.equ LOCALID_RIVAL, 10
+
FourIsland_MapScripts:: @ 8167CAE
map_script MAP_SCRIPT_ON_TRANSITION, FourIsland_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, FourIsland_OnFrame
@@ -6,65 +9,64 @@ FourIsland_MapScripts:: @ 8167CAE
FourIsland_OnTransition:: @ 8167CB9
setworldmapflag FLAG_WORLD_MAP_FOUR_ISLAND
compare VAR_MAP_SCENE_FOUR_ISLAND, 0
- call_if_eq EventScript_167CCD
- call EventScript_167CD1
+ call_if_eq FourIsland_EventScript_ShowRival
+ call FourIsland_EventScript_TrySetDayCareManPos
end
-EventScript_167CCD:: @ 8167CCD
+FourIsland_EventScript_ShowRival:: @ 8167CCD
clearflag FLAG_HIDE_FOUR_ISLAND_RIVAL
return
-EventScript_167CD1:: @ 8167CD1
- goto_if_unset FLAG_PENDING_DAYCARE_EGG, EventScript_167CE1
- setobjectxyperm 1, 16, 14
-
-EventScript_167CE1:: @ 8167CE1
+FourIsland_EventScript_TrySetDayCareManPos:: @ 8167CD1
+ goto_if_unset FLAG_PENDING_DAYCARE_EGG, FourIsland_EventScript_EndSetDayCareManPos
+ setobjectxyperm LOCALID_DAYCARE_MAN, 16, 14
+FourIsland_EventScript_EndSetDayCareManPos:: @ 8167CE1
return
FourIsland_OnFrame:: @ 8167CE2
- map_script_2 VAR_MAP_SCENE_FOUR_ISLAND, 0, EventScript_167CEC
+ map_script_2 VAR_MAP_SCENE_FOUR_ISLAND, 0, FourIsland_EventScript_RivalScene
.2byte 0
-EventScript_167CEC:: @ 8167CEC
+FourIsland_EventScript_RivalScene:: @ 8167CEC
lockall
textcolor 0
- applymovement 10, Movement_WalkInPlaceFastestDown
+ applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestDown
waitmovement 0
playbgm MUS_RIVAL1, 0
- applymovement 10, Movement_ExclamationMark
+ applymovement LOCALID_RIVAL, Movement_ExclamationMark
waitmovement 0
- applymovement 10, Movement_Delay48
+ applymovement LOCALID_RIVAL, Movement_Delay48
waitmovement 0
delay 25
- applymovement 10, Movement_167D49
+ applymovement LOCALID_RIVAL, FourIsland_Movement_RivalApproach
waitmovement 0
- msgbox gUnknown_8182B37
+ msgbox FourIsland_Text_RivalAlreadyGotEggBeSmellingYa
closemessage
- applymovement OBJ_EVENT_ID_PLAYER, Movement_167D52
- applymovement 10, Movement_167D4E
+ applymovement OBJ_EVENT_ID_PLAYER, FourIsland_Movement_PlayerWatchRivalExit
+ applymovement LOCALID_RIVAL, FourIsland_Movement_RivalExit
waitmovement 0
fadedefaultbgm
playse SE_KAIDAN
delay 35
- removeobject 10
+ removeobject LOCALID_RIVAL
setvar VAR_MAP_SCENE_FOUR_ISLAND, 1
releaseall
end
-Movement_167D49:: @ 8167D49
+FourIsland_Movement_RivalApproach:: @ 8167D49
walk_right
walk_right
walk_down
walk_down
step_end
-Movement_167D4E:: @ 8167D4E
+FourIsland_Movement_RivalExit:: @ 8167D4E
delay_16
delay_4
walk_down
step_end
-Movement_167D52:: @ 8167D52
+FourIsland_Movement_PlayerWatchRivalExit:: @ 8167D52
walk_left
walk_in_place_fastest_right
step_end
@@ -136,36 +138,36 @@ FourIsland_EventScript_CheckOnTwoMons:: @ 8167E19
release
end
-FourIsland_EventScript_167E2E:: @ 8167E2E
+FourIsland_EventScript_OldWoman:: @ 8167E2E
lock
faceplayer
- goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_167E43
- msgbox gUnknown_8182A2B
+ goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, FourIsland_EventScript_OldWomanLoreleiLeft
+ msgbox FourIsland_Text_LoreleiHasReturned
release
end
-EventScript_167E43:: @ 8167E43
+FourIsland_EventScript_OldWomanLoreleiLeft:: @ 8167E43
famechecker FAMECHECKER_LORELEI, 5
- msgbox gUnknown_8182A75
+ msgbox FourIsland_Text_LoreleiMetLaprasAsChild
release
end
-FourIsland_EventScript_167E5A:: @ 8167E5A
+FourIsland_EventScript_LittleGirl:: @ 8167E5A
lock
faceplayer
famechecker FAMECHECKER_LORELEI, 4
- msgbox gUnknown_8182CE3
+ msgbox FourIsland_Text_LoreleiHasLotsOfStuffedDolls
release
end
-FourIsland_EventScript_167E73:: @ 8167E73
- msgbox gUnknown_8182D8E, MSGBOX_NPC
+FourIsland_EventScript_FatMan:: @ 8167E73
+ msgbox FourIsland_Text_MadeSlushieUsingIcefallCaveIce, MSGBOX_NPC
end
-FourIsland_EventScript_167E7C:: @ 8167E7C
- msgbox gUnknown_8182A03, MSGBOX_SIGN
+FourIsland_EventScript_IslandSign:: @ 8167E7C
+ msgbox FourIsland_Text_IslandSign, MSGBOX_SIGN
end
-FourIsland_EventScript_167E85:: @ 8167E85
- msgbox gUnknown_8182DEB, MSGBOX_SIGN
+FourIsland_EventScript_LoreleisHouseSign:: @ 8167E85
+ msgbox FourIsland_Text_LoreleisHouse, MSGBOX_SIGN
end
diff --git a/data/maps/FourIsland/text.inc b/data/maps/FourIsland/text.inc
index 04845b223..e54650761 100644
--- a/data/maps/FourIsland/text.inc
+++ b/data/maps/FourIsland/text.inc
@@ -1,13 +1,13 @@
-gUnknown_8182A03:: @ 8182A03
+FourIsland_Text_IslandSign:: @ 8182A03
.string "FOUR ISLAND\n"
.string "The Warm, Blue, Floe Island$"
-gUnknown_8182A2B:: @ 8182A2B
+FourIsland_Text_LoreleiHasReturned:: @ 8182A2B
.string "LORELEI has returned.\p"
.string "Did she find the city life too\n"
.string "stressful, I wonder?$"
-gUnknown_8182A75:: @ 8182A75
+FourIsland_Text_LoreleiMetLaprasAsChild:: @ 8182A75
.string "LORELEI has gone back.\p"
.string "The LAPRAS she has, I imagine it\n"
.string "to be the one she met as a child.\p"
@@ -16,7 +16,7 @@ gUnknown_8182A75:: @ 8182A75
.string "Perhaps that POKéMON has been with\n"
.string "her ever since.$"
-gUnknown_8182B37:: @ 8182B37
+FourIsland_Text_RivalAlreadyGotEggBeSmellingYa:: @ 8182B37
.string "{RIVAL}: Hey!\n"
.string "{PLAYER}!\p"
.string "What are you doing here in the\n"
@@ -37,7 +37,7 @@ gUnknown_8182B37:: @ 8182B37
.string "waste.\p"
.string "Be smelling ya!$"
-gUnknown_8182CE3:: @ 8182CE3
+FourIsland_Text_LoreleiHasLotsOfStuffedDolls:: @ 8182CE3
.string "Oh, you found me!\n"
.string "Please don't tell LORELEI.\p"
.string "Did you know that LORELEI has lots\n"
@@ -45,12 +45,12 @@ gUnknown_8182CE3:: @ 8182CE3
.string "Every time she comes back to\n"
.string "FOUR ISLAND, her collection grows!$"
-gUnknown_8182D8E:: @ 8182D8E
+FourIsland_Text_MadeSlushieUsingIcefallCaveIce:: @ 8182D8E
.string "Ooh, chilly!\p"
.string "I made a slushie using ice I\n"
.string "shaved inside ICEFALL CAVE.\p"
.string "It's chilly and tasty!$"
-gUnknown_8182DEB:: @ 8182DEB
+FourIsland_Text_LoreleisHouse:: @ 8182DEB
.string "LORELEI'S HOUSE$"
diff --git a/data/maps/FourIsland_Harbor/map.json b/data/maps/FourIsland_Harbor/map.json
index 6cd0223da..fa23fe2cd 100644
--- a/data/maps/FourIsland_Harbor/map.json
+++ b/data/maps/FourIsland_Harbor/map.json
@@ -38,7 +38,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_Harbor_EventScript_171C99",
+ "script": "FourIsland_Harbor_EventScript_Sailor",
"flag": "0"
}
],
diff --git a/data/maps/FourIsland_Harbor/scripts.inc b/data/maps/FourIsland_Harbor/scripts.inc
index d8933d783..3a16cd3e3 100644
--- a/data/maps/FourIsland_Harbor/scripts.inc
+++ b/data/maps/FourIsland_Harbor/scripts.inc
@@ -1,7 +1,7 @@
FourIsland_Harbor_MapScripts:: @ 8171C98
.byte 0
-FourIsland_Harbor_EventScript_171C99:: @ 8171C99
+FourIsland_Harbor_EventScript_Sailor:: @ 8171C99
lock
faceplayer
message Text_WhereDoYouWantToSail
diff --git a/data/maps/FourIsland_House1/map.json b/data/maps/FourIsland_House1/map.json
index 3d4984879..f581ffa5a 100644
--- a/data/maps/FourIsland_House1/map.json
+++ b/data/maps/FourIsland_House1/map.json
@@ -38,7 +38,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_House1_EventScript_171C45",
+ "script": "FourIsland_House1_EventScript_FatMan",
"flag": "0"
}
],
diff --git a/data/maps/FourIsland_House1/scripts.inc b/data/maps/FourIsland_House1/scripts.inc
index 46ec500fe..e8e6322f5 100644
--- a/data/maps/FourIsland_House1/scripts.inc
+++ b/data/maps/FourIsland_House1/scripts.inc
@@ -1,6 +1,6 @@
FourIsland_House1_MapScripts:: @ 8171C44
.byte 0
-FourIsland_House1_EventScript_171C45:: @ 8171C45
- msgbox gUnknown_81A3802, MSGBOX_NPC
+FourIsland_House1_EventScript_FatMan:: @ 8171C45
+ msgbox FourIsland_House1_Text_YoureAwfullyHeavy, MSGBOX_NPC
end
diff --git a/data/maps/FourIsland_House1/text.inc b/data/maps/FourIsland_House1/text.inc
index 2d4f8c4bd..255b3c028 100644
--- a/data/maps/FourIsland_House1/text.inc
+++ b/data/maps/FourIsland_House1/text.inc
@@ -1,4 +1,7 @@
-Text_1A3778:: @ 81A3778
+@ Text for this file was split weirdly, and is instead in FourIsland_PokemonCenter_1F/text.inc
+@ Theres also an unused JP version of that text in this file instead
+
+JPText_BodySlamTeach:: @ 81A3778
.string "そーれ ぼよーん!\n"
.string "どっちが さきに へたばるか?\l"
.string "のしかかり しょうぶ してるんだ\p"
@@ -7,17 +10,17 @@ Text_1A3778:: @ 81A3778
.string "かわりに きみの ポケモンに\l"
.string "のしかかり おしえて やろっか?$"
-Text_1A37DB:: @ 81A37DB
+JPText_BodySlamDeclined:: @ 81A37DB
.string "また おいで ぼよーん!$"
-Text_1A37E8:: @ 81A37E8
+JPText_BodySlamWhichMon:: @ 81A37E8
.string "どの ポケモンに\n"
.string "おしえたい かい?$"
-Text_1A37FB:: @ 81A37FB
+JPText_BodySlamTaught:: @ 81A37FB
.string "ぼよよーん!$"
-gUnknown_81A3802:: @ 81A3802
+FourIsland_House1_Text_YoureAwfullyHeavy:: @ 81A3802
.string "There! Boing!\n"
.string "You're awfully heavy!$"
diff --git a/data/maps/FourIsland_House2/map.json b/data/maps/FourIsland_House2/map.json
index b83419325..a4b926233 100644
--- a/data/maps/FourIsland_House2/map.json
+++ b/data/maps/FourIsland_House2/map.json
@@ -25,7 +25,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_House2_EventScript_1B2938",
+ "script": "FourIsland_House2_EventScript_StickerMan",
"flag": "0"
}
],
diff --git a/data/maps/FourIsland_LoreleisHouse/map.json b/data/maps/FourIsland_LoreleisHouse/map.json
index 7dbe72a88..1c09bc412 100644
--- a/data/maps/FourIsland_LoreleisHouse/map.json
+++ b/data/maps/FourIsland_LoreleisHouse/map.json
@@ -25,7 +25,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C58",
+ "script": "FourIsland_LoreleisHouse_EventScript_Lorelei",
"flag": "FLAG_HIDE_LORELEI_IN_HER_HOUSE"
},
{
@@ -38,7 +38,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -51,7 +51,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -64,7 +64,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -77,7 +77,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -90,7 +90,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -103,7 +103,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "0"
},
{
@@ -116,7 +116,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEI_HOUSE_MEOWTH_DOLL"
},
{
@@ -129,7 +129,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEI_HOUSE_CHANSEY_DOLL"
},
{
@@ -142,7 +142,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEI_HOUSE_JIGGLYPUFF_DOLL"
},
{
@@ -155,7 +155,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_F_DOLL"
},
{
@@ -168,7 +168,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_M_DOLL"
},
{
@@ -181,7 +181,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEIS_HOUSE_PIDGEOT_DOLL"
},
{
@@ -194,7 +194,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEIS_HOUSE_FEAROW_DOLL"
},
{
@@ -207,7 +207,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_LoreleisHouse_EventScript_171C8D",
+ "script": "FourIsland_LoreleisHouse_EventScript_Doll",
"flag": "FLAG_HIDE_LORELEIS_HOUSE_LAPRAS_DOLL"
}
],
diff --git a/data/maps/FourIsland_LoreleisHouse/scripts.inc b/data/maps/FourIsland_LoreleisHouse/scripts.inc
index c39cc1da9..6259870e6 100644
--- a/data/maps/FourIsland_LoreleisHouse/scripts.inc
+++ b/data/maps/FourIsland_LoreleisHouse/scripts.inc
@@ -6,28 +6,28 @@ FourIsland_LoreleisHouse_OnTransition:: @ 8171C54
special Special_ComputeLoreleiDollCollection
end
-FourIsland_LoreleisHouse_EventScript_171C58:: @ 8171C58
+FourIsland_LoreleisHouse_EventScript_Lorelei:: @ 8171C58
lock
faceplayer
- goto_if_set FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE, EventScript_171C83
- goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, EventScript_171C76
- msgbox gUnknown_81A3826
+ goto_if_set FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE, FourIsland_LoreleisHouse_EventScript_Lorelei3
+ goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, FourIsland_LoreleisHouse_EventScript_Lorelei2
+ msgbox FourIsland_LoreleisHouse_Text_IfAnythingWereToHappenToIsland
release
end
-EventScript_171C76:: @ 8171C76
+FourIsland_LoreleisHouse_EventScript_Lorelei2:: @ 8171C76
setflag FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE
- msgbox gUnknown_81A390C
+ msgbox FourIsland_LoreleisHouse_Text_IllReturnToLeagueInShortWhile
release
end
-EventScript_171C83:: @ 8171C83
- msgbox gUnknown_81A39D8
+FourIsland_LoreleisHouse_EventScript_Lorelei3:: @ 8171C83
+ msgbox FourIsland_LoreleisHouse_Text_WillDoWhatICanHereAndNow
release
end
-FourIsland_LoreleisHouse_EventScript_171C8D:: @ 8171C8D
+FourIsland_LoreleisHouse_EventScript_Doll:: @ 8171C8D
lock
- msgbox gUnknown_81A3A42
+ msgbox FourIsland_LoreleisHouse_Text_StuffedMonDollsGalore
release
end
diff --git a/data/maps/FourIsland_LoreleisHouse/text.inc b/data/maps/FourIsland_LoreleisHouse/text.inc
index 5c7d0cd81..b332cd50e 100644
--- a/data/maps/FourIsland_LoreleisHouse/text.inc
+++ b/data/maps/FourIsland_LoreleisHouse/text.inc
@@ -1,4 +1,4 @@
-gUnknown_81A3826:: @ 81A3826
+FourIsland_LoreleisHouse_Text_IfAnythingWereToHappenToIsland:: @ 81A3826
.string "LORELEI: There's something weighing\n"
.string "heavily on my mind.\p"
.string "If anything were to happen on\n"
@@ -8,7 +8,7 @@ gUnknown_81A3826:: @ 81A3826
.string "I wonder if that would make me\n"
.string "irresponsible to my home…$"
-gUnknown_81A390C:: @ 81A390C
+FourIsland_LoreleisHouse_Text_IllReturnToLeagueInShortWhile:: @ 81A390C
.string "LORELEI: So, you managed to solve\n"
.string "all the problems here?\p"
.string "That's wonderful.\p"
@@ -18,12 +18,12 @@ gUnknown_81A390C:: @ 81A390C
.string "I'll return to the POKéMON LEAGUE\n"
.string "in a short while.$"
-gUnknown_81A39D8:: @ 81A39D8
+FourIsland_LoreleisHouse_Text_WillDoWhatICanHereAndNow:: @ 81A39D8
.string "I don't know what will happen in\n"
.string "the future, but…\p"
.string "I will do what I can here and now.\n"
.string "That's all I can do.$"
-gUnknown_81A3A42:: @ 81A3A42
+FourIsland_LoreleisHouse_Text_StuffedMonDollsGalore:: @ 81A3A42
.string "Stuffed POKéMON dolls galore!$"
diff --git a/data/maps/FourIsland_Mart/map.json b/data/maps/FourIsland_Mart/map.json
index f5820fef9..5543c8c50 100644
--- a/data/maps/FourIsland_Mart/map.json
+++ b/data/maps/FourIsland_Mart/map.json
@@ -25,7 +25,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_Mart_EventScript_171CAE",
+ "script": "FourIsland_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -38,7 +38,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_Mart_EventScript_1ACF46",
+ "script": "FourIsland_Mart_EventScript_OldMan",
"flag": "0"
},
{
@@ -51,7 +51,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_Mart_EventScript_171CE8",
+ "script": "FourIsland_Mart_EventScript_Camper",
"flag": "0"
}
],
diff --git a/data/maps/FourIsland_Mart/scripts.inc b/data/maps/FourIsland_Mart/scripts.inc
index 5f85eaae4..36b3a0914 100644
--- a/data/maps/FourIsland_Mart/scripts.inc
+++ b/data/maps/FourIsland_Mart/scripts.inc
@@ -1,19 +1,19 @@
FourIsland_Mart_MapScripts:: @ 8171CAD
.byte 0
-FourIsland_Mart_EventScript_171CAE:: @ 8171CAE
+FourIsland_Mart_EventScript_Clerk:: @ 8171CAE
goto_if_questlog EventScript_ReleaseEnd
lock
faceplayer
message Text_MayIHelpYou
waitmessage
- pokemart Items_171CD4
+ pokemart FourIsland_Mart_Items
msgbox Text_PleaseComeAgain
release
end
.align 2
-Items_171CD4:: @ 8171CD4
+FourIsland_Mart_Items:: @ 8171CD4
.2byte ITEM_ULTRA_BALL
.2byte ITEM_FULL_RESTORE
.2byte ITEM_MAX_POTION
@@ -26,6 +26,6 @@ Items_171CD4:: @ 8171CD4
release
end
-FourIsland_Mart_EventScript_171CE8:: @ 8171CE8
- msgbox gUnknown_81A3B14, MSGBOX_NPC
+FourIsland_Mart_EventScript_Camper:: @ 8171CE8
+ msgbox FourIsland_Mart_Text_IcefallCaveIsFrigid, MSGBOX_NPC
end
diff --git a/data/maps/FourIsland_Mart/text.inc b/data/maps/FourIsland_Mart/text.inc
index eba66dd37..afde0e79c 100644
--- a/data/maps/FourIsland_Mart/text.inc
+++ b/data/maps/FourIsland_Mart/text.inc
@@ -1,4 +1,4 @@
-Text_1A3A60:: @ 81A3A60
+FourIsland_Mart_Text_LoreleiGrewUpOnThisIsland:: @ 81A3A60
.string "We've had a great and powerful\n"
.string "TRAINER grow up on this island.\p"
.string "I bet even you'd know her.\n"
@@ -6,7 +6,7 @@ Text_1A3A60:: @ 81A3A60
.string "When LORELEI was just a tyke,\n"
.string "I taught her about POKéMON.$"
-gUnknown_81A3B14:: @ 81A3B14
+FourIsland_Mart_Text_IcefallCaveIsFrigid:: @ 81A3B14
.string "The SEVII ISLANDS are in a warm\n"
.string "region overall.\p"
.string "But there is one exception you\n"
diff --git a/data/maps/FourIsland_PokemonCenter_1F/map.json b/data/maps/FourIsland_PokemonCenter_1F/map.json
index a8bf5fa97..7757c904e 100644
--- a/data/maps/FourIsland_PokemonCenter_1F/map.json
+++ b/data/maps/FourIsland_PokemonCenter_1F/map.json
@@ -25,7 +25,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_171BF9",
+ "script": "FourIsland_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -38,7 +38,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_171C02",
+ "script": "FourIsland_PokemonCenter_1F_EventScript_Man",
"flag": "0"
},
{
@@ -51,7 +51,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_171C0B",
+ "script": "FourIsland_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -64,7 +64,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_171C14",
+ "script": "FourIsland_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
}
],
@@ -91,14 +91,14 @@
"x": 3,
"y": 1,
"elevation": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_1ACDD0"
+ "script": "FourIsland_PokemonCenter_1F_EventScript_PokemonJournal"
},
{
"type": "bg_event_type_1",
"x": 2,
"y": 1,
"elevation": 0,
- "script": "FourIsland_PokemonCenter_1F_EventScript_1ACDD0"
+ "script": "FourIsland_PokemonCenter_1F_EventScript_PokemonJournal"
}
]
}
diff --git a/data/maps/FourIsland_PokemonCenter_1F/scripts.inc b/data/maps/FourIsland_PokemonCenter_1F/scripts.inc
index 4ee8e33c1..afb0c7582 100644
--- a/data/maps/FourIsland_PokemonCenter_1F/scripts.inc
+++ b/data/maps/FourIsland_PokemonCenter_1F/scripts.inc
@@ -7,21 +7,21 @@ FourIsland_PokemonCenter_1F_OnTransition:: @ 8171BF5
setrespawn SPAWN_FOUR_ISLAND
end
-FourIsland_PokemonCenter_1F_EventScript_171BF9:: @ 8171BF9
+FourIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8171BF9
lock
faceplayer
call EventScript_PkmnCenterNurse
release
end
-FourIsland_PokemonCenter_1F_EventScript_171C02:: @ 8171C02
- msgbox gUnknown_81A3627, MSGBOX_NPC
+FourIsland_PokemonCenter_1F_EventScript_Man:: @ 8171C02
+ msgbox FourIsland_PokemonCenter_1F_Text_RareIceMonsInCave, MSGBOX_NPC
end
-FourIsland_PokemonCenter_1F_EventScript_171C0B:: @ 8171C0B
- msgbox gUnknown_81A3697, MSGBOX_NPC
+FourIsland_PokemonCenter_1F_EventScript_Woman:: @ 8171C0B
+ msgbox FourIsland_PokemonCenter_1F_Text_DayCarePeopleFoundEggBefore, MSGBOX_NPC
end
-FourIsland_PokemonCenter_1F_EventScript_171C14:: @ 8171C14
- msgbox gUnknown_81A3734, MSGBOX_NPC
+FourIsland_PokemonCenter_1F_EventScript_Gentleman:: @ 8171C14
+ msgbox FourIsland_PokemonCenter_1F_Text_NewPokemonJournalHasntArrived, MSGBOX_NPC
end
diff --git a/data/maps/FourIsland_PokemonCenter_1F/text.inc b/data/maps/FourIsland_PokemonCenter_1F/text.inc
index 954aabd96..43e6cacf6 100644
--- a/data/maps/FourIsland_PokemonCenter_1F/text.inc
+++ b/data/maps/FourIsland_PokemonCenter_1F/text.inc
@@ -1,3 +1,4 @@
+@ The 5 texts below are supposed to be in FourIsland_House1
Text_BodySlamTeach:: @ 81A3505
.string "Ready?\n"
.string "Boing!\p"
@@ -19,17 +20,17 @@ Text_BodySlamWhichMon:: @ 81A35DA
Text_BodySlamTaught:: @ 81A3609
.string "Boioing!$"
-Text_1A3612:: @ 81A3612
+FourIsland_House1_Text_FatMan:: @ 81A3612
.string "それ ぼよーん!\n"
.string "おまえ おもいなあー!$"
-gUnknown_81A3627:: @ 81A3627
+FourIsland_PokemonCenter_1F_Text_RareIceMonsInCave:: @ 81A3627
.string "There's a rare kind of ICE POKéMON\n"
.string "that lives in the cave.\p"
.string "We get a lot of visitors hoping to\n"
.string "see that POKéMON.$"
-gUnknown_81A3697:: @ 81A3697
+FourIsland_PokemonCenter_1F_Text_DayCarePeopleFoundEggBefore:: @ 81A3697
.string "Oh? A POKéMON EGG?\n"
.string "…I have no idea.\p"
.string "…Oh, wait. The DAY-CARE people\n"
@@ -37,7 +38,7 @@ gUnknown_81A3697:: @ 81A3697
.string "They said that they'd found EGGS\n"
.string "before on their property.$"
-gUnknown_81A3734:: @ 81A3734
+FourIsland_PokemonCenter_1F_Text_NewPokemonJournalHasntArrived:: @ 81A3734
.string "What's this?\p"
.string "The new POKéMON JOURNAL hasn't\n"
.string "arrived on this island?$"
diff --git a/data/scripts/fame_checker.inc b/data/scripts/fame_checker.inc
index c844cc115..81c05ab40 100644
--- a/data/scripts/fame_checker.inc
+++ b/data/scripts/fame_checker.inc
@@ -27,11 +27,11 @@ EventScript_1ACDB5:: @ 81ACDB5
release
end
-FourIsland_PokemonCenter_1F_EventScript_1ACDD0:: @ 81ACDD0
+FourIsland_PokemonCenter_1F_EventScript_PokemonJournal:: @ 81ACDD0
lockall
famechecker FAMECHECKER_DAISY, 5
textcolor 3
- msgbox gUnknown_81B1B3D
+ msgbox PokemonJournal_Text_SpecialFeatureDaisyOak
releaseall
end
@@ -143,11 +143,11 @@ FiveIsland_ResortGorgeous_House_EventScript_1ACF2C:: @ 81ACF2C
releaseall
end
-FourIsland_Mart_EventScript_1ACF46:: @ 81ACF46
+FourIsland_Mart_EventScript_OldMan:: @ 81ACF46
lock
faceplayer
famechecker FAMECHECKER_LORELEI, 2
- msgbox Text_1A3A60
+ msgbox FourIsland_Mart_Text_LoreleiGrewUpOnThisIsland
release
end
diff --git a/data/scripts/trainer_card.inc b/data/scripts/trainer_card.inc
index 906744fa8..39589cffa 100644
--- a/data/scripts/trainer_card.inc
+++ b/data/scripts/trainer_card.inc
@@ -1,79 +1,79 @@
CeladonCity_GameCorner_EventScript_PhotoPrinter:: @ 81B2867
lockall
showmoneybox 0, 0, 0
- msgbox gUnknown_81B1D7D, MSGBOX_YESNO
+ msgbox CeladonCity_GameCorner_Text_TryPokemonPrinter, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_1B2926
+ goto_if_eq CeladonCity_GameCorner_EventScript_DeclinePhoto
checkmoney 50, 0
compare VAR_RESULT, FALSE
- goto_if_eq EventScript_1B292B
+ goto_if_eq CeladonCity_GameCorner_EventScript_NotEnoughMoneyForPhoto
playse SE_SHOP
removemoney 50, 0
updatemoneybox 0, 0, 0
waitse
- message gUnknown_81B1E24
+ message CeladonCity_GameCorner_Text_ChoosePrintType
waitmessage
multichoice 21, 0, MULTICHOICE_TRAINER_CARD_ICON_TINT, TRUE
switch VAR_RESULT
- case 0, EventScript_1B28DB
- case 1, EventScript_1B28E6
- case 2, EventScript_1B28F1
- case 3, EventScript_1B28FC
+ case 0, CeladonCity_GameCorner_EventScript_PrintTypeNormal
+ case 1, CeladonCity_GameCorner_EventScript_PrintTypeBlack
+ case 2, CeladonCity_GameCorner_EventScript_PrintTypePink
+ case 3, CeladonCity_GameCorner_EventScript_PrintTypeSepia
end
-EventScript_1B28DB:: @ 81B28DB
- setvar VAR_0x8004, 0
- goto EventScript_1B2907
+CeladonCity_GameCorner_EventScript_PrintTypeNormal:: @ 81B28DB
+ setvar VAR_0x8004, MON_ICON_TINT_NORMAL
+ goto CeladonCity_GameCorner_EventScript_PrintPhoto
end
-EventScript_1B28E6:: @ 81B28E6
- setvar VAR_0x8004, 1
- goto EventScript_1B2907
+CeladonCity_GameCorner_EventScript_PrintTypeBlack:: @ 81B28E6
+ setvar VAR_0x8004, MON_ICON_TINT_BLACK
+ goto CeladonCity_GameCorner_EventScript_PrintPhoto
end
-EventScript_1B28F1:: @ 81B28F1
- setvar VAR_0x8004, 2
- goto EventScript_1B2907
+CeladonCity_GameCorner_EventScript_PrintTypePink:: @ 81B28F1
+ setvar VAR_0x8004, MON_ICON_TINT_PINK
+ goto CeladonCity_GameCorner_EventScript_PrintPhoto
end
-EventScript_1B28FC:: @ 81B28FC
- setvar VAR_0x8004, 3
- goto EventScript_1B2907
+CeladonCity_GameCorner_EventScript_PrintTypeSepia:: @ 81B28FC
+ setvar VAR_0x8004, MON_ICON_TINT_SEPIA
+ goto CeladonCity_GameCorner_EventScript_PrintPhoto
end
-EventScript_1B2907:: @ 81B2907
- message gUnknown_81B1E42
+CeladonCity_GameCorner_EventScript_PrintPhoto:: @ 81B2907
+ message CeladonCity_GameCorner_Text_BigSmileForPhoto
waitmessage
playse MUS_ME_PHOTO
dofieldeffect FLDEFF_UNK_45
delay 60
special Special_UpdateTrainerCardPhotoIcons
- msgbox gUnknown_81B1E7D
+ msgbox CeladonCity_GameCorner_Text_PrintIsReadyCheckTrainerCard
hidemoneybox 0, 0
releaseall
end
-EventScript_1B2926:: @ 81B2926
+CeladonCity_GameCorner_EventScript_DeclinePhoto:: @ 81B2926
hidemoneybox 0, 0
releaseall
end
-EventScript_1B292B:: @ 81B292B
- msgbox gUnknown_81B1E07
+CeladonCity_GameCorner_EventScript_NotEnoughMoneyForPhoto:: @ 81B292B
+ msgbox CeladonCity_GameCorner_Text_DontHaveEnoughMoney
hidemoneybox 0, 0
releaseall
end
-FourIsland_House2_EventScript_1B2938:: @ 81B2938
+FourIsland_House2_EventScript_StickerMan:: @ 81B2938
lock
- specialvar VAR_0x8008, Special_StickerLadyGetBragFlags
- goto_if_unset FLAG_MET_STICKER_LADY, EventScript_1B2951
- goto_if_set FLAG_MET_STICKER_LADY, EventScript_1B2994
+ specialvar VAR_0x8008, StickerManGetBragFlags
+ goto_if_unset FLAG_MET_STICKER_MAN, FourIsland_House2_EventScript_MeetStickerMan
+ goto_if_set FLAG_MET_STICKER_MAN, EventScript_1B2994
end
-EventScript_1B2951:: @ 81B2951
- setflag FLAG_MET_STICKER_LADY
- msgbox gUnknown_81B1EB3
+FourIsland_House2_EventScript_MeetStickerMan:: @ 81B2951
+ setflag FLAG_MET_STICKER_MAN
+ msgbox FourIsland_House2_Text_WishICouldShowOffStickers
applymovement 1, Movement_FacePlayer
waitmovement 0
playse SE_PIN
@@ -82,10 +82,10 @@ EventScript_1B2951:: @ 81B2951
applymovement 1, Movement_Delay48
waitmovement 0
compare VAR_0x8008, 0
- goto_if_eq EventScript_1B2B8E
- message gUnknown_81B1EF8
+ goto_if_eq FourIsland_House2_EventScript_StickerManNothingToBrag
+ message FourIsland_House2_Text_GiveYouStickerIfYouBrag
waitmessage
- goto EventScript_1B29D0
+ goto FourIsland_House2_EventScript_ChooseBrag
end
EventScript_1B2994:: @ 81B2994
@@ -95,290 +95,282 @@ EventScript_1B2994:: @ 81B2994
special sub_8112364
compare VAR_0x8008, 0
goto_if_eq EventScript_1B29C6
- message gUnknown_81B2025
+ message FourIsland_House2_Text_BragAboutWhatToday
waitmessage
- goto EventScript_1B29D0
+ goto FourIsland_House2_EventScript_ChooseBrag
end
EventScript_1B29C6:: @ 81B29C6
- msgbox gUnknown_81B1FEF
+ msgbox FourIsland_House2_Text_BragAboutSomethingForMe
release
end
-EventScript_1B29D0:: @ 81B29D0
+FourIsland_House2_EventScript_ChooseBrag:: @ 81B29D0
switch VAR_0x8008
- case 1, EventScript_1B2A23
- case 2, EventScript_1B2A4F
- case 4, EventScript_1B2A7B
- case 3, EventScript_1B2AA7
- case 5, EventScript_1B2ADE
- case 6, EventScript_1B2B15
- case 7, EventScript_1B2B4C
+ case 1, FourIsland_House2_EventScript_ChooseBragHoF
+ case 2, FourIsland_House2_EventScript_ChooseBragEggs
+ case 4, FourIsland_House2_EventScript_ChooseBragLinkWins
+ case 3, FourIsland_House2_EventScript_ChooseBragHoFEggs
+ case 5, FourIsland_House2_EventScript_ChooseBragHoFLinkWins
+ case 6, FourIsland_House2_EventScript_ChooseBragEggsLinkWins
+ case 7, FourIsland_House2_EventScript_ChooseBragHofEggsLinkWins
end
-EventScript_1B2A23:: @ 81B2A23
+FourIsland_House2_EventScript_ChooseBragHoF:: @ 81B2A23
multichoice 15, 8, MULTICHOICE_HOF_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2B98
- case 1, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragHoF
+ case 1, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2A4F:: @ 81B2A4F
+FourIsland_House2_EventScript_ChooseBragEggs:: @ 81B2A4F
multichoice 16, 8, MULTICHOICE_EGGS_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2C62
- case 1, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragEggs
+ case 1, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2A7B:: @ 81B2A7B
+FourIsland_House2_EventScript_ChooseBragLinkWins:: @ 81B2A7B
multichoice 15, 8, MULTICHOICE_VICTORIES_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2D2C
- case 1, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragLinkWins
+ case 1, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2AA7:: @ 81B2AA7
+FourIsland_House2_EventScript_ChooseBragHoFEggs:: @ 81B2AA7
multichoice 15, 6, MULTICHOICE_HOF_EGGS_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2B98
- case 1, EventScript_1B2C62
- case 2, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragHoF
+ case 1, FourIsland_House2_EventScript_BragEggs
+ case 2, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2ADE:: @ 81B2ADE
+FourIsland_House2_EventScript_ChooseBragHoFLinkWins:: @ 81B2ADE
multichoice 15, 6, MULTICHOICE_HOF_VICTORIES_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2B98
- case 1, EventScript_1B2D2C
- case 2, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragHoF
+ case 1, FourIsland_House2_EventScript_BragLinkWins
+ case 2, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2B15:: @ 81B2B15
+FourIsland_House2_EventScript_ChooseBragEggsLinkWins:: @ 81B2B15
multichoice 15, 6, MULTICHOICE_EGGS_VICTORIES_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2C62
- case 1, EventScript_1B2D2C
- case 2, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragEggs
+ case 1, FourIsland_House2_EventScript_BragLinkWins
+ case 2, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2B4C:: @ 81B2B4C
+FourIsland_House2_EventScript_ChooseBragHofEggsLinkWins:: @ 81B2B4C
multichoice 15, 5, MULTICHOICE_HOF_EGGS_VICTORIES_QUIT, FALSE
switch VAR_RESULT
- case 0, EventScript_1B2B98
- case 1, EventScript_1B2C62
- case 2, EventScript_1B2D2C
- case 3, EventScript_1B2DF6
- case SCR_MENU_CANCEL, EventScript_1B2DF6
+ case 0, FourIsland_House2_EventScript_BragHoF
+ case 1, FourIsland_House2_EventScript_BragEggs
+ case 2, FourIsland_House2_EventScript_BragLinkWins
+ case 3, FourIsland_House2_EventScript_QuitBrag
+ case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag
end
-EventScript_1B2B8E:: @ 81B2B8E
- msgbox gUnknown_81B1EF8
+FourIsland_House2_EventScript_StickerManNothingToBrag:: @ 81B2B8E
+ msgbox FourIsland_House2_Text_GiveYouStickerIfYouBrag
release
end
-EventScript_1B2B98:: @ 81B2B98
+FourIsland_House2_EventScript_BragHoF:: @ 81B2B98
compare VAR_0x8004, 39
- goto_if_le EventScript_1B2BC5
+ goto_if_le FourIsland_House2_EventScript_BragHoFLowest
compare VAR_0x8004, 99
- goto_if_le EventScript_1B2BE3
+ goto_if_le FourIsland_House2_EventScript_BragHoFLow
compare VAR_0x8004, 199
- goto_if_le EventScript_1B2C01
+ goto_if_le FourIsland_House2_EventScript_BragHoFHigh
compare VAR_0x8004, 200
- goto_if_ge EventScript_1B2C1F
+ goto_if_ge FourIsland_House2_EventScript_BragHoFHighest
end
-EventScript_1B2BC5:: @ 81B2BC5
+FourIsland_House2_EventScript_BragHoFLowest:: @ 81B2BC5
compare VAR_HOF_BRAG_STATE, 1
- goto_if_eq EventScript_1B2C3D
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF
setvar VAR_HOF_BRAG_STATE, 1
- msgbox gUnknown_81B206E
- goto EventScript_1B2C51
-
-EventScript_1B2BE2:: @ 81B2BE2
+ msgbox FourIsland_House2_Text_WowHoFLowest
+ goto FourIsland_House2_EventScript_BraggedHoF
end
-EventScript_1B2BE3:: @ 81B2BE3
+FourIsland_House2_EventScript_BragHoFLow:: @ 81B2BE3
compare VAR_HOF_BRAG_STATE, 2
- goto_if_eq EventScript_1B2C3D
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF
setvar VAR_HOF_BRAG_STATE, 2
- msgbox gUnknown_81B20CF
- goto EventScript_1B2C51
-
-EventScript_1B2C00:: @ 81B2C00
+ msgbox FourIsland_House2_Text_WowHoFLow
+ goto FourIsland_House2_EventScript_BraggedHoF
end
-EventScript_1B2C01:: @ 81B2C01
+FourIsland_House2_EventScript_BragHoFHigh:: @ 81B2C01
compare VAR_HOF_BRAG_STATE, 3
- goto_if_eq EventScript_1B2C3D
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF
setvar VAR_HOF_BRAG_STATE, 3
- msgbox gUnknown_81B2133
- goto EventScript_1B2C51
-
-EventScript_1B2C1E:: @ 81B2C1E
+ msgbox FourIsland_House2_Text_WowHoFHigh
+ goto FourIsland_House2_EventScript_BraggedHoF
end
-EventScript_1B2C1F:: @ 81B2C1F
+FourIsland_House2_EventScript_BragHoFHighest:: @ 81B2C1F
compare VAR_HOF_BRAG_STATE, 4
- goto_if_eq EventScript_1B2C47
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoFMax
setvar VAR_HOF_BRAG_STATE, 4
- msgbox gUnknown_81B21C4
- goto EventScript_1B2C51
-
-EventScript_1B2C3C:: @ 81B2C3C
+ msgbox FourIsland_House2_Text_WowHoFHighest
+ goto FourIsland_House2_EventScript_BraggedHoF
end
-EventScript_1B2C3D:: @ 81B2C3D
- msgbox gUnknown_81B227C
+FourIsland_House2_EventScript_AlreadyBraggedHoF:: @ 81B2C3D
+ msgbox FourIsland_House2_Text_ComeBackWithBetterStoryHoF
release
end
-EventScript_1B2C47:: @ 81B2C47
- msgbox gUnknown_81B22B0
+FourIsland_House2_EventScript_AlreadyBraggedHoFMax:: @ 81B2C47
+ msgbox FourIsland_House2_Text_LivingLegendHoF
release
end
-EventScript_1B2C51:: @ 81B2C51
+FourIsland_House2_EventScript_BraggedHoF:: @ 81B2C51
textcolor 3
playfanfare MUS_FANFA1
- message gUnknown_81B2242
+ message FourIsland_House2_Text_HoFStickerApplied
waitmessage
waitfanfare
delay 90
release
end
-EventScript_1B2C62:: @ 81B2C62
+FourIsland_House2_EventScript_BragEggs:: @ 81B2C62
compare VAR_0x8005, 99
- goto_if_le EventScript_1B2C8F
+ goto_if_le FourIsland_House2_EventScript_BragEggsLowest
compare VAR_0x8005, 199
- goto_if_le EventScript_1B2CAD
+ goto_if_le FourIsland_House2_EventScript_BragEggsLow
compare VAR_0x8005, 299
- goto_if_le EventScript_1B2CCB
+ goto_if_le FourIsland_House2_EventScript_BragEggsHigh
compare VAR_0x8005, 300
- goto_if_ge EventScript_1B2CE9
+ goto_if_ge FourIsland_House2_EventScript_BragEggsHighest
end
-EventScript_1B2C8F:: @ 81B2C8F
+FourIsland_House2_EventScript_BragEggsLowest:: @ 81B2C8F
compare VAR_EGG_BRAG_STATE, 1
- goto_if_eq EventScript_1B2D07
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs
setvar VAR_EGG_BRAG_STATE, 1
- msgbox gUnknown_81B2308
- goto EventScript_1B2D1B
+ msgbox FourIsland_House2_Text_WowEggsLowest
+ goto FourIsland_House2_EventScript_BraggedEggs
end
-EventScript_1B2CAD:: @ 81B2CAD
+FourIsland_House2_EventScript_BragEggsLow:: @ 81B2CAD
compare VAR_EGG_BRAG_STATE, 2
- goto_if_eq EventScript_1B2D07
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs
setvar VAR_EGG_BRAG_STATE, 2
- msgbox gUnknown_81B2372
- goto EventScript_1B2D1B
+ msgbox FourIsland_House2_Text_WowEggsLow
+ goto FourIsland_House2_EventScript_BraggedEggs
end
-EventScript_1B2CCB:: @ 81B2CCB
+FourIsland_House2_EventScript_BragEggsHigh:: @ 81B2CCB
compare VAR_EGG_BRAG_STATE, 3
- goto_if_eq EventScript_1B2D07
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs
setvar VAR_EGG_BRAG_STATE, 3
- msgbox gUnknown_81B23E0
- goto EventScript_1B2D1B
+ msgbox FourIsland_House2_Text_WowEggsHigh
+ goto FourIsland_House2_EventScript_BraggedEggs
end
-EventScript_1B2CE9:: @ 81B2CE9
+FourIsland_House2_EventScript_BragEggsHighest:: @ 81B2CE9
compare VAR_EGG_BRAG_STATE, 4
- goto_if_eq EventScript_1B2D11
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggsMax
setvar VAR_EGG_BRAG_STATE, 4
- msgbox gUnknown_81B2448
- goto EventScript_1B2D1B
+ msgbox FourIsland_House2_Text_WowEggsHighest
+ goto FourIsland_House2_EventScript_BraggedEggs
end
-EventScript_1B2D07:: @ 81B2D07
- msgbox gUnknown_81B251B
+FourIsland_House2_EventScript_AlreadyBraggedEggs:: @ 81B2D07
+ msgbox FourIsland_House2_Text_ComeBackWithBetterStoryEggs
release
end
-EventScript_1B2D11:: @ 81B2D11
- msgbox gUnknown_81B254F
+FourIsland_House2_EventScript_AlreadyBraggedEggsMax:: @ 81B2D11
+ msgbox FourIsland_House2_Text_LivingLegendEggs
release
end
-EventScript_1B2D1B:: @ 81B2D1B
+FourIsland_House2_EventScript_BraggedEggs:: @ 81B2D1B
textcolor 3
playfanfare MUS_FANFA1
- message gUnknown_81B24EA
+ message FourIsland_House2_Text_EggStickerApplied
waitmessage
waitfanfare
delay 90
release
end
-EventScript_1B2D2C:: @ 81B2D2C
+FourIsland_House2_EventScript_BragLinkWins:: @ 81B2D2C
compare VAR_0x8006, 19
- goto_if_le EventScript_1B2D59
+ goto_if_le FourIsland_House2_EventScript_BragLinkWinsLowest
compare VAR_0x8006, 49
- goto_if_le EventScript_1B2D77
+ goto_if_le FourIsland_House2_EventScript_BragLinkWinsLow
compare VAR_0x8006, 99
- goto_if_le EventScript_1B2D95
+ goto_if_le FourIsland_House2_EventScript_BragLinkWinsHigh
compare VAR_0x8006, 100
- goto_if_ge EventScript_1B2DB3
+ goto_if_ge FourIsland_House2_EventScript_BragLinkWinsHighest
end
-EventScript_1B2D59:: @ 81B2D59
+FourIsland_House2_EventScript_BragLinkWinsLowest:: @ 81B2D59
compare VAR_LINK_WIN_BRAG_STATE, 1
- goto_if_eq EventScript_1B2DD1
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins
setvar VAR_LINK_WIN_BRAG_STATE, 1
- msgbox gUnknown_81B25A7
- goto EventScript_1B2DE5
+ msgbox FourIsland_House2_Text_WowLinkWinsLowest
+ goto FourIsland_House2_EventScript_BraggedLinkWins
end
-EventScript_1B2D77:: @ 81B2D77
+FourIsland_House2_EventScript_BragLinkWinsLow:: @ 81B2D77
compare VAR_LINK_WIN_BRAG_STATE, 2
- goto_if_eq EventScript_1B2DD1
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins
setvar VAR_LINK_WIN_BRAG_STATE, 2
- msgbox gUnknown_81B2609
- goto EventScript_1B2DE5
+ msgbox FourIsland_House2_Text_WowLinkWinsLow
+ goto FourIsland_House2_EventScript_BraggedLinkWins
end
-EventScript_1B2D95:: @ 81B2D95
+FourIsland_House2_EventScript_BragLinkWinsHigh:: @ 81B2D95
compare VAR_LINK_WIN_BRAG_STATE, 3
- goto_if_eq EventScript_1B2DD1
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins
setvar VAR_LINK_WIN_BRAG_STATE, 3
- msgbox gUnknown_81B267B
- goto EventScript_1B2DE5
+ msgbox FourIsland_House2_Text_WowLinkWinsHigh
+ goto FourIsland_House2_EventScript_BraggedLinkWins
end
-EventScript_1B2DB3:: @ 81B2DB3
+FourIsland_House2_EventScript_BragLinkWinsHighest:: @ 81B2DB3
compare VAR_LINK_WIN_BRAG_STATE, 4
- goto_if_eq EventScript_1B2DDB
+ goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWinsMax
setvar VAR_LINK_WIN_BRAG_STATE, 4
- msgbox gUnknown_81B26F6
- goto EventScript_1B2DE5
+ msgbox FourIsland_House2_Text_WowLinkWinsHighest
+ goto FourIsland_House2_EventScript_BraggedLinkWins
end
-EventScript_1B2DD1:: @ 81B2DD1
- msgbox gUnknown_81B27DB
+FourIsland_House2_EventScript_AlreadyBraggedLinkWins:: @ 81B2DD1
+ msgbox FourIsland_House2_Text_ComeBackWithBetterStoryLinkWins
release
end
-EventScript_1B2DDB:: @ 81B2DDB
- msgbox gUnknown_81B280F
+FourIsland_House2_EventScript_AlreadyBraggedLinkWinsMax:: @ 81B2DDB
+ msgbox FourIsland_House2_Text_LivingLegendLinkWins
release
end
-EventScript_1B2DE5:: @ 81B2DE5
+FourIsland_House2_EventScript_BraggedLinkWins:: @ 81B2DE5
textcolor 3
playfanfare MUS_FANFA1
- message gUnknown_81B27A6
+ message FourIsland_House2_Text_VictoryStickerApplied
waitmessage
waitfanfare
delay 90
release
end
-EventScript_1B2DF6:: @ 81B2DF6
+FourIsland_House2_EventScript_QuitBrag:: @ 81B2DF6
release
end
diff --git a/data/specials.inc b/data/specials.inc
index 028be3a41..cdb14147e 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -368,7 +368,7 @@ gSpecials:: @ 815FD60
def_special ShouldShowBoxWasFullMessage
def_special ChangeBoxPokemonNickname
def_special Special_UpdateTrainerCardPhotoIcons
- def_special Special_StickerLadyGetBragFlags
+ def_special StickerManGetBragFlags
def_special SetUsedPkmnCenterQuestLogEvent
def_special IsWirelessAdapterConnected
def_special TryBecomeLinkLeader
diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc
index a8226df05..10a19b83d 100644
--- a/data/text/fame_checker.inc
+++ b/data/text/fame_checker.inc
@@ -1468,7 +1468,7 @@ PokemonJournal_Text_SpecialFeatureProfOak:: @ 81B1AB9
.string "PROF. OAK reportedly lives with his\n"
.string "grandchildren DAISY and {RIVAL}.$"
-gUnknown_81B1B3D:: @ 81B1B3D
+PokemonJournal_Text_SpecialFeatureDaisyOak:: @ 81B1B3D
.string "This is a POKéMON JOURNAL from\n"
.string "years ago…\p"
.string "POKéMON JOURNAL\n"
diff --git a/data/text/trainer_card.inc b/data/text/trainer_card.inc
index 3a6557cca..4a54e5b5b 100644
--- a/data/text/trainer_card.inc
+++ b/data/text/trainer_card.inc
@@ -1,31 +1,31 @@
-gUnknown_81B1D7D:: @ 81B1D7D
+CeladonCity_GameCorner_Text_TryPokemonPrinter:: @ 81B1D7D
.string "It's a POKéMON PRINTER!\p"
.string "It can put a print of your POKéMON\n"
.string "on the back of your TRAINER CARD.\p"
.string "It costs only ¥50.\n"
.string "Would you like to try it?$"
-gUnknown_81B1E07:: @ 81B1E07
+CeladonCity_GameCorner_Text_DontHaveEnoughMoney:: @ 81B1E07
.string "You don't have enough money.$"
-gUnknown_81B1E24:: @ 81B1E24
+CeladonCity_GameCorner_Text_ChoosePrintType:: @ 81B1E24
.string "Please choose the print type.$"
-gUnknown_81B1E42:: @ 81B1E42
+CeladonCity_GameCorner_Text_BigSmileForPhoto:: @ 81B1E42
.string "A big smile for the photo, please!\n"
.string "Three… Two… One…\p"
.string "Flash!$"
-gUnknown_81B1E7D:: @ 81B1E7D
+CeladonCity_GameCorner_Text_PrintIsReadyCheckTrainerCard:: @ 81B1E7D
.string "Your POKéMON print is ready!\n"
.string "Check your TRAINER CARD.$"
-gUnknown_81B1EB3:: @ 81B1EB3
+FourIsland_House2_Text_WishICouldShowOffStickers:: @ 81B1EB3
.string "Giggle…\n"
.string "I collected a ton of STICKERS.\l"
.string "I wish I could show them off…$"
-gUnknown_81B1EF8:: @ 81B1EF8
+FourIsland_House2_Text_GiveYouStickerIfYouBrag:: @ 81B1EF8
.string "Oh, excellent!\n"
.string "You've come to the right place!\p"
.string "Look, look! See? See?\n"
@@ -38,113 +38,113 @@ gUnknown_81B1EF8:: @ 81B1EF8
.string "yourself.\p"
.string "What will you brag about?$"
-gUnknown_81B1FEF:: @ 81B1FEF
+FourIsland_House2_Text_BragAboutSomethingForMe:: @ 81B1FEF
.string "Brag about something for me.\n"
.string "I'll give you a STICKER.$"
-gUnknown_81B2025:: @ 81B2025
+FourIsland_House2_Text_BragAboutWhatToday:: @ 81B2025
.string "Oh, hi!\n"
.string "Here comes the braggart.\p"
.string "What are you going to brag about\n"
.string "today?$"
-gUnknown_81B206E:: @ 81B206E
+FourIsland_House2_Text_WowHoFLowest:: @ 81B206E
.string "Oh, wow, you made it into the\n"
.string "HALL OF FAME.\p"
.string "That's pretty good, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B20CF:: @ 81B20CF
+FourIsland_House2_Text_WowHoFLow:: @ 81B20CF
.string "Oh, wow, you've entered the\n"
.string "HALL OF FAME often!\p"
.string "That's impressive, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B2133:: @ 81B2133
+FourIsland_House2_Text_WowHoFHigh:: @ 81B2133
.string "Whoa! You've made it into the\n"
.string "HALL OF FAME that often?\l"
.string "That's seriously incredible, yup!\p"
.string "You own the POKéMON LEAGUE!\n"
.string "I'll give you one of these.$"
-gUnknown_81B21C4:: @ 81B21C4
+FourIsland_House2_Text_WowHoFHighest:: @ 81B21C4
.string "No way! You've gone into the\n"
.string "HALL OF FAME that many times?\p"
.string "You're beyond incredible, yup!\n"
.string "That's it, I have to give you this.$"
-gUnknown_81B2242:: @ 81B2242
+FourIsland_House2_Text_HoFStickerApplied:: @ 81B2242
.string "The HALL OF FAME STICKER was\n"
.string "applied to the TRAINER CARD.$"
-gUnknown_81B227C:: @ 81B227C
+FourIsland_House2_Text_ComeBackWithBetterStoryHoF:: @ 81B227C
.string "Hmm…\p"
.string "Come back with a better story next\n"
.string "time, okay?$"
-gUnknown_81B22B0:: @ 81B22B0
+FourIsland_House2_Text_LivingLegendHoF:: @ 81B22B0
.string "Oh, no, no can do.\p"
.string "You're practically a living legend.\n"
.string "I have no SITCKERS left to give.$"
-gUnknown_81B2308:: @ 81B2308
+FourIsland_House2_Text_WowEggsLowest:: @ 81B2308
.string "Oh, wow, there are POKéMON EGGS?\n"
.string "I didn't know that!\p"
.string "That's pretty good, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B2372:: @ 81B2372
+FourIsland_House2_Text_WowEggsLow:: @ 81B2372
.string "You've hatched that many EGGS?\n"
.string "You really must like them!\p"
.string "That's impressive, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B23E0:: @ 81B23E0
+FourIsland_House2_Text_WowEggsHigh:: @ 81B23E0
.string "Whoa! You've hatched a whole\n"
.string "bunch of EGGS!\p"
.string "You're an EGG-hatching machine!\n"
.string "I'll give you one of these.$"
-gUnknown_81B2448:: @ 81B2448
+FourIsland_House2_Text_WowEggsHighest:: @ 81B2448
.string "Wh… You hatched that many EGGS?\p"
.string "What's behind your love of EGGS?\n"
.string "It's beyond incredible, yup!\p"
.string "You're too awesome, I tell you.\n"
.string "That's it, I have to give you this.$"
-gUnknown_81B24EA:: @ 81B24EA
+FourIsland_House2_Text_EggStickerApplied:: @ 81B24EA
.string "The EGG STICKER was applied\n"
.string "to the TRAINER CARD.$"
-gUnknown_81B251B:: @ 81B251B
+FourIsland_House2_Text_ComeBackWithBetterStoryEggs:: @ 81B251B
.string "Hmm…\p"
.string "Come back with a better story next\n"
.string "time, okay?$"
-gUnknown_81B254F:: @ 81B254F
+FourIsland_House2_Text_LivingLegendEggs:: @ 81B254F
.string "Oh, no, no can do.\p"
.string "You're practically a living legend.\n"
.string "I have no SITCKERS left to give.$"
-gUnknown_81B25A7:: @ 81B25A7
+FourIsland_House2_Text_WowLinkWinsLowest:: @ 81B25A7
.string "Oh, wow, you've had success\n"
.string "link battling?\p"
.string "You're pretty strong, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B2609:: @ 81B2609
+FourIsland_House2_Text_WowLinkWinsLow:: @ 81B2609
.string "You've beaten your friends a lot\n"
.string "link battling, huh?\p"
.string "You're impressively strong, yup!\n"
.string "I'll give you one of these.$"
-gUnknown_81B267B:: @ 81B267B
+FourIsland_House2_Text_WowLinkWinsHigh:: @ 81B267B
.string "Whoa! You've beaten your friends\n"
.string "a frightful number of times.\p"
.string "Have you lost friends over this?\n"
.string "I'll give you one of these.$"
-gUnknown_81B26F6:: @ 81B26F6
+FourIsland_House2_Text_WowLinkWinsHighest:: @ 81B26F6
.string "Wh… Wickedly whoa!\n"
.string "You've won mind-blowingly often!\p"
.string "It just knocks me out thinking\n"
@@ -152,16 +152,16 @@ gUnknown_81B26F6:: @ 81B26F6
.string "You're the stuff of nightmares!\n"
.string "That's it, I have to give you this.$"
-gUnknown_81B27A6:: @ 81B27A6
+FourIsland_House2_Text_VictoryStickerApplied:: @ 81B27A6
.string "The VICTORY STICKER was applied\n"
.string "to the TRAINER CARD.$"
-gUnknown_81B27DB:: @ 81B27DB
+FourIsland_House2_Text_ComeBackWithBetterStoryLinkWins:: @ 81B27DB
.string "Hmm…\p"
.string "Come back with a better story next\n"
.string "time, okay?$"
-gUnknown_81B280F:: @ 81B280F
+FourIsland_House2_Text_LivingLegendLinkWins:: @ 81B280F
.string "Oh, no, no can do.\p"
.string "You're practically a living legend.\n"
.string "I have no SITCKERS left to give.$"
diff --git a/graphics/trainer_card/unk_83CC984.bin b/graphics/trainer_card/back.bin
index dd54ba1c7..dd54ba1c7 100644
--- a/graphics/trainer_card/unk_83CC984.bin
+++ b/graphics/trainer_card/back.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CC8A8.bin b/graphics/trainer_card/back_hoenn.bin
index eda105eb2..eda105eb2 100644
--- a/graphics/trainer_card/unk_83CC8A8.bin
+++ b/graphics/trainer_card/back_hoenn.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CCEC8.bin b/graphics/trainer_card/bg.bin
index c1c452262..c1c452262 100644
--- a/graphics/trainer_card/unk_83CCEC8.bin
+++ b/graphics/trainer_card/bg.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CCE30.bin b/graphics/trainer_card/bg_hoenn.bin
index b3994f663..b3994f663 100644
--- a/graphics/trainer_card/unk_83CCE30.bin
+++ b/graphics/trainer_card/bg_hoenn.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CC6F0.bin b/graphics/trainer_card/front.bin
index b83c43942..b83c43942 100644
--- a/graphics/trainer_card/unk_83CC6F0.bin
+++ b/graphics/trainer_card/front.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CC4DC.bin b/graphics/trainer_card/front_hoenn.bin
index 0f45caec6..0f45caec6 100644
--- a/graphics/trainer_card/unk_83CC4DC.bin
+++ b/graphics/trainer_card/front_hoenn.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CCAB0.bin b/graphics/trainer_card/front_hoenn_link.bin
index 46e00f670..46e00f670 100644
--- a/graphics/trainer_card/unk_83CCAB0.bin
+++ b/graphics/trainer_card/front_hoenn_link.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CCCA4.bin b/graphics/trainer_card/front_link.bin
index ef8e65b27..ef8e65b27 100644
--- a/graphics/trainer_card/unk_83CCCA4.bin
+++ b/graphics/trainer_card/front_link.bin
Binary files differ
diff --git a/graphics/trainer_card/unk_83CD300.pal b/graphics/trainer_card/gold.pal
index ebd175e97..ebd175e97 100644
--- a/graphics/trainer_card/unk_83CD300.pal
+++ b/graphics/trainer_card/gold.pal
diff --git a/include/constants/facility_trainer_classes.h b/include/constants/facility_trainer_classes.h
index 10500ff35..fe94608dd 100644
--- a/include/constants/facility_trainer_classes.h
+++ b/include/constants/facility_trainer_classes.h
@@ -133,10 +133,10 @@
#define FACILITY_CLASS_CRUSH_KIN 0x81
#define FACILITY_CLASS_SIS_AND_BRO_2 0x82
#define FACILITY_CLASS_PKMN_PROF 0x83
-#define FACILITY_CLASS_PLAYER 0x84
-#define FACILITY_CLASS_PLAYER_2 0x85
-#define FACILITY_CLASS_PLAYER_3 0x86
-#define FACILITY_CLASS_PLAYER_4 0x87
+#define FACILITY_CLASS_BRENDAN 0x84
+#define FACILITY_CLASS_MAY 0x85
+#define FACILITY_CLASS_RED 0x86
+#define FACILITY_CLASS_LEAF 0x87
#define FACILITY_CLASS_TEAM_ROCKET_2 0x88
#define FACILITY_CLASS_PSYCHIC_4 0x89
#define FACILITY_CLASS_CRUSH_GIRL 0x8A
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 7555f3c6b..11b09512f 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -670,7 +670,7 @@
#define FLAG_SILPH_11F_DOOR 0x28D
#define FLAG_0x28E 0x28E
#define FLAG_0x28F 0x28F
-#define FLAG_MET_STICKER_LADY 0x290
+#define FLAG_MET_STICKER_MAN 0x290
#define FLAG_PALLET_LADY_NOT_BLOCKING_SIGN 0x291
#define FLAG_GOT_VS_SEEKER 0x292
#define FLAG_GOT_TM19_FROM_ERIKA 0x293
@@ -1327,6 +1327,7 @@
#define FLAG_0x808 (SYS_FLAGS + 0x8)
#define PERMA_SYS_FLAGS_START 0x820
+
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
@@ -1335,6 +1336,8 @@
#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
+#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
+
#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
#define FLAG_0x82A (SYS_FLAGS + 0x2A)
diff --git a/include/constants/trainer_card.h b/include/constants/trainer_card.h
new file mode 100644
index 000000000..67901eb27
--- /dev/null
+++ b/include/constants/trainer_card.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_CONSTANTS_TRAINER_CARD_H
+#define GUARD_CONSTANTS_TRAINER_CARD_H
+
+#define TRAINER_CARD_PROFILE_LENGTH 4
+#define TRAINER_CARD_STICKER_TYPES 3
+
+#define CARD_TYPE_FRLG 0
+#define CARD_TYPE_RSE 1
+
+#define MON_ICON_TINT_NORMAL 0
+#define MON_ICON_TINT_BLACK 1
+#define MON_ICON_TINT_PINK 2
+#define MON_ICON_TINT_SEPIA 3
+
+#define NUM_LINK_TRAINER_CARD_CLASSES 8
+
+#endif // GUARD_CONSTANTS_TRAINER_CARD_H
diff --git a/include/graphics.h b/include/graphics.h
index dcc4c44a7..1405cdcf1 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4845,10 +4845,10 @@ extern const u32 gBuyMenuFrame_Pal[];
extern const u16 gUnknown_8D2FBB4[];
// trainer card
-extern const u16 gFireRedTrainerCard_Pal[];
-extern const u32 gFireRedTrainerCard_Gfx[];
-extern const u16 gEmeraldTrainerCard_Pal[];
-extern const u32 gEmeraldTrainerCard_Gfx[];
+extern const u16 gKantoTrainerCard_Pal[];
+extern const u32 gKantoTrainerCard_Gfx[];
+extern const u16 gHoennTrainerCard_Pal[];
+extern const u32 gHoennTrainerCard_Gfx[];
// battle_interface
extern const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[];
diff --git a/include/trainer_card.h b/include/trainer_card.h
index 2bf20b045..09b9a253a 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -1,6 +1,8 @@
#ifndef GUARD_TRAINER_CARD_H
#define GUARD_TRAINER_CARD_H
+#include "constants/trainer_card.h"
+
struct TrainerCardRSE
{
/*0x00*/ u8 gender;
@@ -23,7 +25,7 @@ struct TrainerCardRSE
/*0x1E*/ u16 pokeblocksWithFriends;
/*0x20*/ u16 pokemonTrades;
/*0x24*/ u32 money;
- /*0x28*/ u16 var_28[4];
+ /*0x28*/ u16 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH];
/*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
};
@@ -31,16 +33,16 @@ struct TrainerCard
{
/*0x00*/ struct TrainerCardRSE rse;
/*0x38*/ u8 version;
- /*0x3A*/ u16 var_3A;
+ /*0x3A*/ bool16 hasAllFrontierSymbols;
/*0x3C*/ u32 berryCrushPoints;
/*0x40*/ u32 unionRoomNum;
/*0x44*/ u32 berriesPicked;
- /*0x48*/ u32 jumpsInRow;
- /*0x4C*/ bool8 var_4C;
+ /*0x48*/ u32 jumpsInRow;
+ /*0x4C*/ bool8 shouldDrawStickers;
/*0x4D*/ bool8 hasAllMons;
- /*0x4E*/ u8 var_4E;
- /*0x4F*/ u8 var_4F;
- /*0x50*/ u8 var_50[4];
+ /*0x4E*/ u8 monIconTint;
+ /*0x4F*/ u8 facilityClass;
+ /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES];
/*0x54*/ u16 monSpecies[PARTY_SIZE];
};
diff --git a/include/trainer_pokemon_sprites.h b/include/trainer_pokemon_sprites.h
index 436a791e9..23f6e2cab 100644
--- a/include/trainer_pokemon_sprites.h
+++ b/include/trainer_pokemon_sprites.h
@@ -3,7 +3,7 @@
#include "global.h"
-u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
+u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
bool16 ResetAllPicSprites(void);
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 3d8729824..a80e79bf4 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1127,11 +1127,11 @@ static void LinkOpponentHandleDrawTrainerPic(void)
}
else if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
{
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_4];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
}
else
{
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_3];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
}
else
@@ -1152,11 +1152,11 @@ static void LinkOpponentHandleDrawTrainerPic(void)
}
else if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != MALE)
{
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_4];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
}
else
{
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_3];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
}
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h
index faf23bf31..2309f85a1 100644
--- a/src/data/pokemon/trainer_class_lookups.h
+++ b/src/data/pokemon/trainer_class_lookups.h
@@ -133,10 +133,10 @@ const u8 gFacilityClassToPicIndex[] =
[FACILITY_CLASS_CRUSH_KIN] = 130,
[FACILITY_CLASS_SIS_AND_BRO_2] = 131,
[FACILITY_CLASS_PKMN_PROF] = 132,
- [FACILITY_CLASS_PLAYER] = 133,
- [FACILITY_CLASS_PLAYER_2] = 134,
- [FACILITY_CLASS_PLAYER_3] = 135,
- [FACILITY_CLASS_PLAYER_4] = 136,
+ [FACILITY_CLASS_BRENDAN] = TRAINER_PIC_RS_BRENDAN_2,
+ [FACILITY_CLASS_MAY] = TRAINER_PIC_RS_MAY_2,
+ [FACILITY_CLASS_RED] = TRAINER_PIC_RED,
+ [FACILITY_CLASS_LEAF] = TRAINER_PIC_LEAF,
[FACILITY_CLASS_TEAM_ROCKET_2] = 137,
[FACILITY_CLASS_PSYCHIC_4] = 138,
[FACILITY_CLASS_CRUSH_GIRL] = 139,
@@ -287,10 +287,10 @@ const u8 gFacilityClassToTrainerClass[] =
[FACILITY_CLASS_CRUSH_KIN] = CLASS_CRUSH_KIN,
[FACILITY_CLASS_SIS_AND_BRO_2] = CLASS_SIS_AND_BRO_2,
[FACILITY_CLASS_PKMN_PROF] = CLASS_PKMN_PROF,
- [FACILITY_CLASS_PLAYER] = CLASS_PLAYER,
- [FACILITY_CLASS_PLAYER_2] = CLASS_PLAYER,
- [FACILITY_CLASS_PLAYER_3] = CLASS_PLAYER,
- [FACILITY_CLASS_PLAYER_4] = CLASS_PLAYER,
+ [FACILITY_CLASS_BRENDAN] = CLASS_PLAYER,
+ [FACILITY_CLASS_MAY] = CLASS_PLAYER,
+ [FACILITY_CLASS_RED] = CLASS_PLAYER,
+ [FACILITY_CLASS_LEAF] = CLASS_PLAYER,
[FACILITY_CLASS_TEAM_ROCKET_2] = CLASS_TEAM_ROCKET,
[FACILITY_CLASS_PSYCHIC_4] = CLASS_PSYCHIC_2,
[FACILITY_CLASS_CRUSH_GIRL] = CLASS_CRUSH_GIRL,
diff --git a/src/field_specials.c b/src/field_specials.c
index 6554f6116..8904178c0 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1695,7 +1695,7 @@ void Special_UpdateTrainerCardPhotoIcons(void)
VarSet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX, gSpecialVar_0x8004);
}
-u16 Special_StickerLadyGetBragFlags(void)
+u16 StickerManGetBragFlags(void)
{
u16 result = 0;
u32 numEggs;
diff --git a/src/graphics.c b/src/graphics.c
index 47d699fdd..eaa49247c 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1210,10 +1210,10 @@ const u32 gUnknown_8E990F8[] = INCBIN_U32("graphics/interface/naming_screen_8E99
const u8 gUnknown_8E99118[] = INCBIN_U8("graphics/tm_case/unk_8E99118.4bpp");
-const u16 gFireRedTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal");
-const u32 gFireRedTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz");
-const u16 gEmeraldTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal");
-const u32 gEmeraldTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz");
+const u16 gKantoTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal");
+const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz");
+const u16 gHoennTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal");
+const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz");
const u16 gUnknown_8E99D8C[] = INCBIN_U16("graphics/link_rfu/unk_8E99DAC.gbapal");
const u32 gUnknown_8E99DAC[] = INCBIN_U32("graphics/link_rfu/unk_8E99DAC.4bpp.lz");
diff --git a/src/trainer_card.c b/src/trainer_card.c
index c35b09386..600035613 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -29,15 +29,7 @@
#include "constants/game_stat.h"
#include "constants/vars.h"
#include "constants/species.h"
-
-#define BADGE_COUNT 8
-
-// Trainer Card Types
-enum
-{
- CARD_TYPE_FRLG,
- CARD_TYPE_EMERALD,
-};
+#include "constants/facility_trainer_classes.h"
// Trainer Card Strings
enum
@@ -59,46 +51,43 @@ enum
struct TrainerCardData
{
- /*0x0000*/ u8 taskState;
- /*0x0001*/ u8 printState;
- /*0x0002*/ u8 gfxLoadState;
- /*0x0003*/ u8 bgPalLoadState;
- /*0x0004*/ u8 var_4;
- /*0x0005*/ bool8 isLink;
- /*0x0006*/ u8 var_6;
- /*0x0007*/ u8 var_7;
- /*0x0008*/ u8 var_8;
- /*0x0009*/ bool8 allowDMACopy;
- /*0x000A*/ bool8 hasPokedex;
- /*0x000B*/ bool8 hasHofResult;
- /*0x000C*/ bool8 hasLinkResults;
- /*0x000D*/ bool8 hasBattleTowerWins;
- /*0x000E*/ u8 var_E;
- /*0x000F*/ u8 var_F;
- /*0x0010*/ bool8 hasTrades;
- /*0x0011*/ bool8 hasBadge[BADGE_COUNT];
- /*0x0019*/ u8 var_19[4][13];
- /*0x004D*/ u8 strings[TRAINER_CARD_STRING_COUNT][70];
- /*0x0395*/ u8 var_395;
- /*0x0396*/ u16 monIconPals[0x30];
- /*0x03F6*/ u8 var_3DB[0x60];
- /*0x0456*/ s8 var_456;
- /*0x0457*/ u8 cardType;
- /*0x0458*/ void (*callback2)(void);
- /*0x045C*/ struct TrainerCard trainerCard;
- /*0x04BC*/ u16 var_4BC;
- /*0x04BE*/ u8 var_4BE[0x4AE];
- /*0x096C*/ u16 var_96C[0x258];
- /*0x0E1C*/ u16 var_E1C;
- /*0x0E1E*/ u8 unk_E1E[0x4AE];
- /*0x12CC*/ u16 cardTiles[0x200];
- /*0x16CC*/ u16 bgTiles[0x100];
- /*0x18CC*/ u16 var_18CC[0x1180];
- /*0x3BCC*/ u16 bgTilemap0[0x1000];
- /*0x5BCC*/ u16 bgTilemap2[0x1000];
- /*0x7BCC*/ u16 var_7BCC;
- /*0x7BCE*/ bool8 var_7BCE;
- /*0x7BCF*/ u8 language;
+ u8 mainState;
+ u8 printState;
+ u8 gfxLoadState;
+ u8 bgPalLoadState;
+ u8 flipDrawState;
+ bool8 isLink;
+ u8 timeColonBlinkTimer;
+ bool8 timeColonInvisible;
+ bool8 onBack;
+ bool8 allowDMACopy;
+ bool8 hasPokedex;
+ bool8 hasHofResult;
+ bool8 hasLinkResults;
+ bool8 hasBattleTowerWins;
+ bool8 var_E;
+ bool8 var_F;
+ bool8 hasTrades;
+ bool8 hasBadge[NUM_BADGES];
+ u8 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH][13];
+ u8 strings[TRAINER_CARD_STRING_COUNT][70];
+ u8 var_395;
+ u16 monIconPals[16 * PARTY_SIZE];
+ s8 flipBlendY;
+ u8 cardType;
+ void (*callback2)(void);
+ struct TrainerCard trainerCard;
+ u16 frontTilemap[600];
+ u16 backTilemap[600];
+ u16 bgTilemap[600];
+ u8 badgeTiles[0x80 * NUM_BADGES];
+ u16 stickerTiles[0x100];
+ u16 cardTiles[0x1180];
+ u16 cardTilemapBuffer[0x1000];
+ u16 bgTilemapBuffer[0x1000];
+ u16 var_7BCC;
+ bool8 timeColonNeedDraw;
+ u8 language;
}; /* size = 0x7BD0 */
// RAM
@@ -124,84 +113,84 @@ static void TrainerCardNull(void);
static void sub_8089C5C(void);
static void sub_8089C80(void);
static void sub_8089CA4(void);
-static void ResetTrainerCard(void);
+static void InitBgsAndWindows(void);
static void SetTrainerCardCB2(void);
-static void sub_8089DA4(void);
-static bool8 PrintAllOnCardPage1(void);
-static bool8 PrintStringsOnCardPage2(void);
-static void sub_8089ECC(void);
-static void PrintNameOnCard(void);
+static void SetUpTrainerCardTask(void);
+static bool8 PrintAllOnCardFront(void);
+static bool8 PrintAllOnCardBack(void);
+static void BufferTextForCardBack(void);
+static void PrintNameOnCardFront(void);
static void PrintIdOnCard(void);
static void PrintMoneyOnCard(void);
static u16 GetCaughtMonsCount(void);
static void PrintPokedexOnCard(void);
static void PrintTimeOnCard(void);
static void PrintProfilePhraseOnCard(void);
-static void PrintNameOnCard2(void);
-static void sub_808A4FC(void);
-static void PrintHofTimeOnCard(void);
-static void PrintHofDebutStringOnCard(void);
-static void PrintLinkResultsNumsOnCard(void);
-static void PrintWinsLossesStringOnCard(void);
-static void PrintTradesNumOnCard(void);
+static void BufferNameForCardBack(void);
+static void PrintNameOnCardBack(void);
+static void BufferHofDebutTime(void);
+static void PrintHofDebutTimeOnCard(void);
+static void BufferLinkBattleResults(void);
+static void PrintLinkBattleResultsOnCard(void);
+static void BufferNumTrades(void);
static void PrintTradesStringOnCard(void);
-static void PrintBerryCrushNumOnCard(void);
+static void BufferBerryCrushPoints(void);
static void PrintBerryCrushStringOnCard(void);
-static void PrintUnionNumOnCard(void);
+static void BufferUnionRoomStats(void);
static void PrintUnionStringOnCard(void);
-static void TrainerCard_PrintPokemonIconsOnCard(void);
-static void sub_808AB10(void);
-static void sub_808ABE0(void);
-static void TrainerCardLoadStickerPals(void);
-static void PutTrainerCardWindow(u8 windowId);
+static void PrintPokemonIconsOnCard(void);
+static void LoadMonIconGfx(void);
+static void PrintStickersOnCard(void);
+static void LoadStickerGfx(void);
+static void DrawTrainerCardWindow(u8 windowId);
static bool8 SetTrainerCardBgsAndPals(void);
-static void LoadTrainerCardTilemap2(const u16* ptr);
-static void LoadTrainerCardTilemap0(const u16* ptr);
-static void TrainerCard_PrintStarsAndBadgesOnCard(void);
-static void sub_808B090(void);
-static void sub_808B180(void);
-static void sub_808B1D4(void);
-static bool8 sub_808B1FC(void);
-static void sub_808B21C(u8 taskId);
-static bool8 sub_808B254(struct Task* task);
-static bool8 sub_808B294(struct Task* task);
-static bool8 sub_808B3C4(struct Task* task);
-static bool8 sub_808B4D8(struct Task* task);
-static bool8 sub_808B540(struct Task* task);
-static bool8 sub_808B66C(struct Task *task);
-static void sub_808B774(void);
+static void DrawCardScreenBackground(const u16* ptr);
+static void DrawCardFrontOrBack(const u16* ptr);
+static void DrawStarsAndBadgesOnCard(void);
+static void DrawCardBackStats(void);
+static void BlinkTimeColon(void);
+static void FlipTrainerCard(void);
+static bool8 IsCardFlipTaskActive(void);
+static void Task_DoCardFlipTask(u8 taskId);
+static bool8 Task_BeginCardFlip(struct Task* task);
+static bool8 Task_AnimateCardFlipDown(struct Task* task);
+static bool8 Task_DrawFlippedCardSide(struct Task* task);
+static bool8 Task_SetCardFlipped(struct Task* task);
+static bool8 Task_AnimateCardFlipUp(struct Task* task);
+static bool8 Task_EndCardFlip(struct Task *task);
+static void InitTrainerCardData(void);
static u8 GetCardType(void);
-static void sub_808B838(void);
+static void CreateTrainerCardTrainerPic(void);
// Data
-static const u32 sTrainerCardStickers[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
-static const u32 sUnknown_83CC4DC[] = INCBIN_U32("graphics/trainer_card/unk_83CC4DC.bin");
-static const u32 sUnknown_83CC6F0[] = INCBIN_U32("graphics/trainer_card/unk_83CC6F0.bin");
-static const u32 sUnknown_83CC8A8[] = INCBIN_U32("graphics/trainer_card/unk_83CC8A8.bin");
-static const u32 sUnknown_83CC984[] = INCBIN_U32("graphics/trainer_card/unk_83CC984.bin");
-static const u32 sUnknown_83CCAB0[] = INCBIN_U32("graphics/trainer_card/unk_83CCAB0.bin");
-static const u32 sUnknown_83CCCA4[] = INCBIN_U32("graphics/trainer_card/unk_83CCCA4.bin");
-static const u32 sUnknown_83CCE30[] = INCBIN_U32("graphics/trainer_card/unk_83CCE30.bin");
-static const u32 sUnknown_83CCEC8[] = INCBIN_U32("graphics/trainer_card/unk_83CCEC8.bin");
-static const u16 sEmeraldTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal");
-static const u16 sFireRedTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal");
-static const u16 sEmeraldTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal");
-static const u16 sFireRedTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal");
-static const u16 sEmeraldTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal");
-static const u16 sFireRedTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal");
-static const u16 sEmeraldTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal");
-static const u16 sFireRedTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal");
-static const u16 sEmeraldTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal");
-static const u16 sFireRedTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal");
-static const u16 sEmeraldTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal");
-static const u16 sFireRedTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal");
-static const u16 sUnknown_83CD300[] = INCBIN_U16("graphics/trainer_card/unk_83CD300.gbapal");
+static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
+static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn.bin");
+static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin");
+static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_hoenn.bin");
+static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin");
+static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn_link.bin");
+static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin");
+static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_hoenn.bin");
+static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin");
+static const u16 sHoennTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal");
+static const u16 sKantoTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal");
+static const u16 sHoennTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal");
+static const u16 sKantoTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal");
+static const u16 sHoennTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal");
+static const u16 sKantoTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal");
+static const u16 sHoennTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal");
+static const u16 sKantoTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal");
+static const u16 sHoennTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal");
+static const u16 sKantoTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal");
+static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal");
+static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal");
+static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal");
static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/sticker1.gbapal");
static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/sticker2.gbapal");
static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/sticker3.gbapal");
static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/sticker4.gbapal");
-static const u32 sEmeraldTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz");
-static const u32 sFireRedTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
+static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz");
+static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
static const struct BgTemplate sTrainerCardBgTemplates[4] =
{
@@ -275,76 +264,112 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[4] =
DUMMY_WIN_TEMPLATE
};
-static const u16 *const sEmeraldTrainerCardStarPals[] =
+static const u16 *const sHoennTrainerCardStarPals[] =
{
- gEmeraldTrainerCard_Pal,
- sEmeraldTrainerCard1Stars_Pals,
- sEmeraldTrainerCard2Stars_Pals,
- sEmeraldTrainerCard3Stars_Pals,
- sEmeraldTrainerCard4Stars_Pals
+ gHoennTrainerCard_Pal,
+ sHoennTrainerCard1Stars_Pals,
+ sHoennTrainerCard2Stars_Pals,
+ sHoennTrainerCard3Stars_Pals,
+ sHoennTrainerCard4Stars_Pals
};
-static const u16 *const sFireRedTrainerCardStarPals[] =
+static const u16 *const sKantoTrainerCardStarPals[] =
{
- gFireRedTrainerCard_Pal,
- sFireRedTrainerCard1Stars_Pals,
- sFireRedTrainerCard2Stars_Pals,
- sFireRedTrainerCard3Stars_Pals,
- sFireRedTrainerCard4Stars_Pals
+ gKantoTrainerCard_Pal,
+ sKantoTrainerCard1Stars_Pals,
+ sKantoTrainerCard2Stars_Pals,
+ sKantoTrainerCard3Stars_Pals,
+ sKantoTrainerCard4Stars_Pals
};
-static const u8 sFireRedTrainerCardPage1TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
-static const u8 sTrainerCardPage2TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED};
-static const u8 sEmeraldTrainerCardPage1TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT};
+static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
+static const u8 sTrainerCardStatColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED};
+static const u8 sTimeColonInvisibleTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT};
static const u8 sTrainerCardFontIds[] = {0, 2, 0};
-static const u8 sTrainerCardPicPositions[][2][2] =
+static const u8 sTrainerPicOffsets[2][GENDER_COUNT][2] =
{
- {{13, 4}, {13, 4}},
- {{1, 0}, {1, 0}}
+ // Kanto
+ {
+ [MALE] = {13, 4},
+ [FEMALE] = {13, 4}
+ },
+ // Hoenn
+ {
+ [MALE] = {1, 0},
+ [FEMALE] = {1, 0}
+ }
};
-static const u8 sLinkTrainerCardFrontPics[][2] =
+static const u8 sTrainerPicFacilityClasses[][2] =
{
- {TRAINER_PIC_RS_MAY_2, TRAINER_PIC_RED},
- {TRAINER_PIC_PROFESSOR_OAK, TRAINER_PIC_RS_BRENDAN_2},
+ [CARD_TYPE_FRLG] =
+ {
+ [MALE] = FACILITY_CLASS_RED,
+ [FEMALE] = FACILITY_CLASS_LEAF
+ },
+ [CARD_TYPE_RSE] =
+ {
+ [MALE] = FACILITY_CLASS_BRENDAN,
+ [FEMALE] = FACILITY_CLASS_MAY
+ },
};
-static const u8 sLinkTrainerCardFacilityClasses[][8] =
+static const u8 sLinkTrainerPicFacilityClasses[GENDER_COUNT][NUM_LINK_TRAINER_CARD_CLASSES] =
{
- {0x74, 0x6F, 0x5C, 0x58, 0x6A, 0x59, 0x6D, 0x6C},
- {0x75, 0x7D, 0x5D, 0x5A, 0x16, 0x30, 0x41, 0x68}
+ [MALE] =
+ {
+ FACILITY_CLASS_COOLTRAINER_3,
+ FACILITY_CLASS_BLACK_BELT_2,
+ FACILITY_CLASS_CAMPER_2,
+ FACILITY_CLASS_YOUNGSTER_2,
+ FACILITY_CLASS_PSYCHIC_3,
+ FACILITY_CLASS_BUG_CATCHER_2,
+ FACILITY_CLASS_TAMER,
+ FACILITY_CLASS_JUGGLER
+ },
+ [FEMALE] =
+ {
+ FACILITY_CLASS_COOLTRAINER_4,
+ FACILITY_CLASS_CHANNELER,
+ FACILITY_CLASS_PICNICKER_2,
+ FACILITY_CLASS_LASS_2,
+ FACILITY_CLASS_PSYCHIC_2,
+ FACILITY_CLASS_BATTLE_GIRL,
+ FACILITY_CLASS_PKMN_BREEDER_2,
+ FACILITY_CLASS_BEAUTY_2
+ }
};
-static bool8 (*const sTrainerCardTasks[])(struct Task *) =
+static bool8 (*const sTrainerCardFlipTasks[])(struct Task *) =
{
- sub_808B254,
- sub_808B294,
- sub_808B3C4,
- sub_808B4D8,
- sub_808B540,
- sub_808B66C
+ Task_BeginCardFlip,
+ Task_AnimateCardFlipDown,
+ Task_DrawFlippedCardSide,
+ Task_SetCardFlipped,
+ Task_AnimateCardFlipUp,
+ Task_EndCardFlip
};
-static const u8 sTrainerCardPlayerNameXPositions[] = {0x14, 0x10};
-static const u8 sTrainerCardPlayerNameYPositions[] = {0x1D, 0x21};
+static const u8 sTrainerCardFrontNameXPositions[] = {0x14, 0x10};
+static const u8 sTrainerCardFrontNameYPositions[] = {0x1D, 0x21};
static const u8 sTrainerCardIdXPositions[] = {0x8E, 0x80};
static const u8 sTrainerCardIdYPositions[] = {0xA, 0x9};
-static const u8 *const sTrainerCardTextColors[] = {sFireRedTrainerCardPage1TextColors, sEmeraldTrainerCardPage1TextColors};
+static const u8 *const sTimeColonTextColors[] = {sTrainerCardTextColors, sTimeColonInvisibleTextColors};
static const u8 sTrainerCardTimeHoursXPositions[] = {0x65, 0x55};
static const u8 sTrainerCardTimeHoursYPositions[] = {0x77, 0x67};
static const u8 sTrainerCardTimeMinutesXPositions[] = {0x7C, 0x6C};
static const u8 sTrainerCardTimeMinutesYPositions[] = {0x58, 0x59};
static const u8 sTrainerCardProfilePhraseXPositions[] = {0x73, 0x69};
static const u8 sTrainerCardProfilePhraseYPositions[] = {0x82, 0x78};
-static const u8 sUnknown_83CD93C[] = {0x8A, 0xD8};
-static const u8 sUnknown_83CD93E[] = {0xB, 0xA};
+static const u8 sTrainerCardBackNameXPositions[] = {0x8A, 0xD8};
+static const u8 sTrainerCardBackNameYPositions[] = {0xB, 0xA};
static const u8 sTrainerCardHofDebutXPositions[] = {0xA, 0x10, 0x0, 0x0};
static const u8 *const sLinkTrainerCardRecordStrings[] = {gText_LinkBattles, gText_LinkCableBattles};
-static const u8 sUnknown_83CD94C[] = {5, 6, 7, 8, 9, 10};
-static const u8 sUnknown_83CD952[] = {0, 4, 8, 12, 16, 20};
-static const u8 sUnknown_83CD958[] = {11, 12, 13, 14};
-static const u8 sUnknown_83CD95C[] = {7, 6, 0, 0};
+static const u8 sPokemonIconPalSlots[] = {5, 6, 7, 8, 9, 10};
+static const u8 sPokemonIconXOffsets[] = {0, 4, 8, 12, 16, 20};
+static const u8 sStickerPalSlots[] = {11, 12, 13, 14};
+static const u8 sStarYOffsets[] = {7, 6, 0, 0};
static const struct TrainerCard sLinkPlayerTrainerCardTemplate1 =
{
@@ -369,20 +394,20 @@ static const struct TrainerCard sLinkPlayerTrainerCardTemplate1 =
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
- .var_28 = {0, 0, 0, 0},
+ .easyChatProfile = {0, 0, 0, 0},
.playerName = _("あかみ どりお")
},
.version = VERSION_FIRE_RED,
- .var_3A = 0,
+ .hasAllFrontierSymbols = FALSE,
.berryCrushPoints = 5555,
.unionRoomNum = 8500,
.berriesPicked = 5456,
.jumpsInRow = 6300,
- .var_4C = TRUE,
+ .shouldDrawStickers = TRUE,
.hasAllMons = TRUE,
- .var_4E = 2,
- .var_4F = 0,
- .var_50 = {1, 2, 3, 0},
+ .monIconTint = MON_ICON_TINT_PINK,
+ .facilityClass = 0,
+ .stickers = {1, 2, 3},
.monSpecies = {SPECIES_CHARIZARD, SPECIES_DIGLETT, SPECIES_NIDORINA, SPECIES_FEAROW, SPECIES_PARAS, SPECIES_SLOWBRO}
};
@@ -409,20 +434,20 @@ static const struct TrainerCard sLinkPlayerTrainerCardTemplate2 =
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
- .var_28 = {0, 0, 0, 0},
+ .easyChatProfile = {0, 0, 0, 0},
.playerName = _("るびさふぁこ!")
},
.version = 0,
- .var_3A = 0,
+ .hasAllFrontierSymbols = FALSE,
.berryCrushPoints = 555,
.unionRoomNum = 500,
.berriesPicked = 456,
.jumpsInRow = 300,
- .var_4C = TRUE,
+ .shouldDrawStickers = TRUE,
.hasAllMons = TRUE,
- .var_4E = 2,
- .var_4F = 0,
- .var_50 = {1, 2, 3, 0},
+ .monIconTint = MON_ICON_TINT_PINK,
+ .facilityClass = 0,
+ .stickers = {1, 2, 3},
.monSpecies = {SPECIES_CHARIZARD, SPECIES_DIGLETT, SPECIES_NIDORINA, SPECIES_FEAROW, SPECIES_PARAS, SPECIES_SLOWBRO}
};
@@ -432,7 +457,7 @@ static void VBlankCB_TrainerCard(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_808B180();
+ BlinkTimeColon();
if (sTrainerCardDataPtr->allowDMACopy)
DmaCopy16(3, &gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 0x140);
}
@@ -465,43 +490,54 @@ static void CloseTrainerCard(u8 taskId)
DestroyTask(taskId);
}
+// States for Task_TrainerCard. Skips the initial states, which are done once in order
+#define STATE_HANDLE_INPUT_FRONT 10
+#define STATE_HANDLE_INPUT_BACK 11
+#define STATE_WAIT_FLIP_TO_BACK 12
+#define STATE_WAIT_FLIP_TO_FRONT 13
+#define STATE_CLOSE_CARD 14
+#define STATE_WAIT_LINK_PARTNER 15
+#define STATE_CLOSE_CARD_LINK 16
+
static void Task_TrainerCard(u8 taskId)
{
- switch (sTrainerCardDataPtr->taskState)
+ switch (sTrainerCardDataPtr->mainState)
{
+ // Draw card initially
case 0:
if (!IsDma3ManagerBusyWithBgCopy())
{
FillWindowPixelBuffer(1, PIXEL_FILL(0));
- sTrainerCardDataPtr->taskState++;
+ sTrainerCardDataPtr->mainState++;
}
break;
case 1:
- if (PrintAllOnCardPage1())
- sTrainerCardDataPtr->taskState++;
+ if (PrintAllOnCardFront())
+ sTrainerCardDataPtr->mainState++;
break;
case 2:
- PutTrainerCardWindow(1);
- sTrainerCardDataPtr->taskState++;
+ DrawTrainerCardWindow(1);
+ sTrainerCardDataPtr->mainState++;
break;
case 3:
FillWindowPixelBuffer(2, PIXEL_FILL(0));
- sub_808B838();
- PutTrainerCardWindow(2);
- sTrainerCardDataPtr->taskState++;
+ CreateTrainerCardTrainerPic();
+ DrawTrainerCardWindow(2);
+ sTrainerCardDataPtr->mainState++;
break;
case 4:
- LoadTrainerCardTilemap2(&sTrainerCardDataPtr->var_E1C);
- sTrainerCardDataPtr->taskState++;
+ DrawCardScreenBackground(sTrainerCardDataPtr->bgTilemap);
+ sTrainerCardDataPtr->mainState++;
break;
case 5:
- LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC);
- sTrainerCardDataPtr->taskState++;
+ DrawCardFrontOrBack(sTrainerCardDataPtr->frontTilemap);
+ sTrainerCardDataPtr->mainState++;
break;
case 6:
- TrainerCard_PrintStarsAndBadgesOnCard();
- sTrainerCardDataPtr->taskState++;
+ DrawStarsAndBadgesOnCard();
+ sTrainerCardDataPtr->mainState++;
break;
+ // Fade in
case 7:
if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE)
{
@@ -510,71 +546,72 @@ static void Task_TrainerCard(u8 taskId)
}
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB_TrainerCard);
- sTrainerCardDataPtr->taskState++;
+ sTrainerCardDataPtr->mainState++;
break;
case 8:
if (!UpdatePaletteFade() && !IsDma3ManagerBusyWithBgCopy())
{
PlaySE(SE_CARD3);
- sTrainerCardDataPtr->taskState = 10;
+ sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_FRONT;
}
break;
case 9:
if (!IsSEPlaying())
- sTrainerCardDataPtr->taskState++;
+ sTrainerCardDataPtr->mainState++;
break;
- case 10:
- if (!gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->var_7BCE)
+ case STATE_HANDLE_INPUT_FRONT:
+ // Blink the : in play time
+ if (!gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->timeColonNeedDraw)
{
PrintTimeOnCard();
- PutTrainerCardWindow(1);
- sTrainerCardDataPtr->var_7BCE = FALSE;
+ DrawTrainerCardWindow(1);
+ sTrainerCardDataPtr->timeColonNeedDraw = FALSE;
}
if (JOY_NEW(A_BUTTON))
{
HelpSystem_SetSomeVariable2(11);
- sub_808B1D4();
+ FlipTrainerCard();
PlaySE(SE_CARD1);
- sTrainerCardDataPtr->taskState = 12;
+ sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_BACK;
}
else if (JOY_NEW(B_BUTTON))
{
if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE)
{
- sTrainerCardDataPtr->taskState = 15;
+ sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER;
}
else
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sTrainerCardDataPtr->taskState = 14;
+ sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD;
}
}
break;
- case 12:
- if (sub_808B1FC() && sub_8058244() != TRUE)
+ case STATE_WAIT_FLIP_TO_BACK:
+ if (IsCardFlipTaskActive() && sub_8058244() != TRUE)
{
PlaySE(SE_CARD3);
- sTrainerCardDataPtr->taskState = 11;
+ sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_BACK;
}
break;
- case 11:
+ case STATE_HANDLE_INPUT_BACK:
if (JOY_NEW(B_BUTTON))
{
if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE)
{
- sTrainerCardDataPtr->taskState = 15;
+ sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER;
}
else if (gReceivedRemoteLinkPlayers)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sTrainerCardDataPtr->taskState = 14;
+ sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD;
}
else
{
HelpSystem_SetSomeVariable2(10);
- sub_808B1D4();
- sTrainerCardDataPtr->taskState = 13;
+ FlipTrainerCard();
+ sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_FRONT;
PlaySE(SE_CARD1);
}
}
@@ -582,37 +619,37 @@ static void Task_TrainerCard(u8 taskId)
{
if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE)
{
- sTrainerCardDataPtr->taskState = 15;
+ sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER;
}
else
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sTrainerCardDataPtr->taskState = 14;
+ sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD;
}
}
break;
- case 15:
+ case STATE_WAIT_LINK_PARTNER:
Link_TryStartSend5FFF();
DrawDialogueFrame(0, 1);
AddTextPrinterParameterized(0, 2, gText_WaitingTrainerFinishReading, 0, 1, TEXT_SPEED_FF, 0);
CopyWindowToVram(0, 3);
- sTrainerCardDataPtr->taskState = 16;
+ sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD_LINK;
break;
- case 16:
+ case STATE_CLOSE_CARD_LINK:
if (!gReceivedRemoteLinkPlayers)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sTrainerCardDataPtr->taskState = 14;
+ sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD;
}
break;
- case 14:
+ case STATE_CLOSE_CARD:
if (!UpdatePaletteFade())
CloseTrainerCard(taskId);
break;
- case 13:
- if (sub_808B1FC() && sub_8058244() != TRUE)
+ case STATE_WAIT_FLIP_TO_FRONT:
+ if (IsCardFlipTaskActive() && sub_8058244() != TRUE)
{
- sTrainerCardDataPtr->taskState = 10;
+ sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_FRONT;
PlaySE(SE_CARD3);
}
break;
@@ -624,45 +661,46 @@ static bool8 LoadCardGfx(void)
switch (sTrainerCardDataPtr->gfxLoadState)
{
case 0:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LZ77UnCompWram(sUnknown_83CCE30, &sTrainerCardDataPtr->var_E1C);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LZ77UnCompWram(sHoennTrainerCardBg_Tilemap, sTrainerCardDataPtr->bgTilemap);
else
- LZ77UnCompWram(sUnknown_83CCEC8, &sTrainerCardDataPtr->var_E1C);
+ LZ77UnCompWram(sKantoTrainerCardBg_Tilemap, sTrainerCardDataPtr->bgTilemap);
break;
case 1:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LZ77UnCompWram(sUnknown_83CC8A8, &sTrainerCardDataPtr->var_96C);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LZ77UnCompWram(sHoennTrainerCardBack_Tilemap, sTrainerCardDataPtr->backTilemap);
else
- LZ77UnCompWram(sUnknown_83CC984, &sTrainerCardDataPtr->var_96C);
+ LZ77UnCompWram(sKantoTrainerCardBack_Tilemap, sTrainerCardDataPtr->backTilemap);
break;
case 2:
if (!sTrainerCardDataPtr->isLink)
{
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LZ77UnCompWram(sUnknown_83CC4DC, &sTrainerCardDataPtr->var_4BC);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LZ77UnCompWram(sHoennTrainerCardFront_Tilemap, sTrainerCardDataPtr->frontTilemap);
else
- LZ77UnCompWram(sUnknown_83CC6F0, &sTrainerCardDataPtr->var_4BC);
+ LZ77UnCompWram(sKantoTrainerCardFront_Tilemap, sTrainerCardDataPtr->frontTilemap);
}
else
{
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LZ77UnCompWram(sUnknown_83CCAB0, &sTrainerCardDataPtr->var_4BC);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LZ77UnCompWram(sHoennTrainerCardFrontLink_Tilemap, sTrainerCardDataPtr->frontTilemap);
else
- LZ77UnCompWram(sUnknown_83CCCA4, &sTrainerCardDataPtr->var_4BC);
+ LZ77UnCompWram(sKantoTrainerCardFrontLink_Tilemap, sTrainerCardDataPtr->frontTilemap);
}
break;
case 3:
- LZ77UnCompWram(sFireRedTrainerCardBadges_Tile, &sTrainerCardDataPtr->cardTiles);
+ // ? Doesnt check for RSE, sHoennTrainerCardBadges_Gfx goes unused
+ LZ77UnCompWram(sKantoTrainerCardBadges_Gfx, sTrainerCardDataPtr->badgeTiles);
break;
case 4:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LZ77UnCompWram(gEmeraldTrainerCard_Gfx, &sTrainerCardDataPtr->var_18CC);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LZ77UnCompWram(gHoennTrainerCard_Gfx, &sTrainerCardDataPtr->cardTiles);
else
- LZ77UnCompWram(gFireRedTrainerCard_Gfx, &sTrainerCardDataPtr->var_18CC);
+ LZ77UnCompWram(gKantoTrainerCard_Gfx, &sTrainerCardDataPtr->cardTiles);
break;
case 5:
if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG)
- LZ77UnCompWram(sTrainerCardStickers, &sTrainerCardDataPtr->bgTiles);
+ LZ77UnCompWram(sTrainerCardStickers_Gfx, sTrainerCardDataPtr->stickerTiles);
break;
default:
sTrainerCardDataPtr->gfxLoadState = 0;
@@ -678,7 +716,7 @@ static void CB2_InitTrainerCard(void)
{
case 0:
ResetGpuRegs();
- sub_8089DA4();
+ SetUpTrainerCardTask();
gMain.state++;
break;
case 1:
@@ -698,7 +736,7 @@ static void CB2_InitTrainerCard(void)
gMain.state++;
break;
case 5:
- ResetTrainerCard();
+ InitBgsAndWindows();
gMain.state++;
break;
case 6:
@@ -706,7 +744,7 @@ static void CB2_InitTrainerCard(void)
gMain.state++;
break;
case 7:
- sub_808AB10();
+ LoadMonIconGfx();
gMain.state++;
break;
case 8:
@@ -714,7 +752,7 @@ static void CB2_InitTrainerCard(void)
gMain.state++;
break;
case 9:
- TrainerCardLoadStickerPals();
+ LoadStickerGfx();
gMain.state++;
break;
case 10:
@@ -722,7 +760,7 @@ static void CB2_InitTrainerCard(void)
gMain.state++;
break;
case 11:
- sub_8089ECC();
+ BufferTextForCardBack();
gMain.state++;
break;
case 12:
@@ -805,8 +843,8 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
trainerCard->rse.money = GetMoney(&gSaveBlock1Ptr->money);
- for (i = 0; i < 4; i++)
- trainerCard->rse.var_28[i] = gSaveBlock1Ptr->easyChatProfile[i];
+ for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++)
+ trainerCard->rse.easyChatProfile[i] = gSaveBlock1Ptr->easyChatProfile[i];
StringCopy(trainerCard->rse.playerName, gSaveBlock2Ptr->playerName);
@@ -814,7 +852,7 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
{
trainerCard->rse.stars = GetTrainerStarCount(trainerCard);
}
- else if (cardType == CARD_TYPE_EMERALD)
+ else if (cardType == CARD_TYPE_RSE)
{
trainerCard->rse.stars = 0;
if (trainerCard->rse.hofDebutHours != 0 || (trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0))
@@ -833,7 +871,7 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
u8 id = 0;
trainerCard->version = GAME_VERSION;
- SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
+ SetPlayerCardData(trainerCard, CARD_TYPE_RSE);
if (GetCardType() != CARD_TYPE_FRLG)
return;
@@ -848,7 +886,7 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
trainerCard->berryCrushPoints = GetCappedGameStat(GAME_STAT_BERRY_CRUSH_POINTS, 0xFFFF);
trainerCard->unionRoomNum = GetCappedGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES, 0xFFFF);
- trainerCard->var_4C = TRUE;
+ trainerCard->shouldDrawStickers = TRUE;
if (trainerCard->rse.caughtAllHoenn)
trainerCard->rse.stars++;
@@ -859,17 +897,17 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
if (trainerCard->berriesPicked >= 200 && trainerCard->jumpsInRow >= 200)
trainerCard->rse.stars++;
- id = ((u16)trainerCard->rse.trainerId) % 8;
+ id = ((u16)trainerCard->rse.trainerId) % NUM_LINK_TRAINER_CARD_CLASSES;
if (trainerCard->rse.gender == FEMALE)
- trainerCard->var_4F = sLinkTrainerCardFacilityClasses[1][id];
+ trainerCard->facilityClass = sLinkTrainerPicFacilityClasses[FEMALE][id];
else
- trainerCard->var_4F = sLinkTrainerCardFacilityClasses[0][id];
+ trainerCard->facilityClass = sLinkTrainerPicFacilityClasses[MALE][id];
- trainerCard->var_50[0] = VarGet(VAR_HOF_BRAG_STATE);
- trainerCard->var_50[1] = VarGet(VAR_EGG_BRAG_STATE);
- trainerCard->var_50[2] = VarGet(VAR_LINK_WIN_BRAG_STATE);
+ trainerCard->stickers[0] = VarGet(VAR_HOF_BRAG_STATE);
+ trainerCard->stickers[1] = VarGet(VAR_EGG_BRAG_STATE);
+ trainerCard->stickers[2] = VarGet(VAR_LINK_WIN_BRAG_STATE);
- trainerCard->var_4E = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX);
+ trainerCard->monIconTint = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX);
trainerCard->monSpecies[0] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_1));
trainerCard->monSpecies[1] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_2));
@@ -892,7 +930,7 @@ static void SetDataFromTrainerCard(void)
sTrainerCardDataPtr->var_F = FALSE;
sTrainerCardDataPtr->hasTrades = FALSE;
- memset(&sTrainerCardDataPtr->hasBadge, FALSE, BADGE_COUNT);
+ memset(sTrainerCardDataPtr->hasBadge, FALSE, sizeof(sTrainerCardDataPtr->hasBadge));
if (sTrainerCardDataPtr->trainerCard.rse.hasPokedex)
sTrainerCardDataPtr->hasPokedex++;
@@ -933,6 +971,7 @@ static void HandleGpuRegs(void)
EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK);
}
+// Part of animating card flip
static void sub_8089BD8(u16 arg0)
{
s8 quotient = (arg0 + 40) / 10;
@@ -940,8 +979,8 @@ static void sub_8089BD8(u16 arg0)
if (quotient <= 4)
quotient = 0;
- sTrainerCardDataPtr->var_456 = quotient;
- SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->var_456);
+ sTrainerCardDataPtr->flipBlendY = quotient;
+ SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->flipBlendY);
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(sTrainerCardDataPtr->var_7BCC, 160 - sTrainerCardDataPtr->var_7BCC));
}
@@ -982,7 +1021,7 @@ static void sub_8089CA4(void)
SetGpuReg(REG_OFFSET_BG3VOFS, DISPCNT_MODE_0);
}
-static void ResetTrainerCard(void)
+static void InitBgsAndWindows(void)
{
ResetSpriteData();
ResetPaletteFade();
@@ -1006,21 +1045,21 @@ static void SetTrainerCardCB2(void)
HelpSystem_SetSomeVariable2(10);
}
-static void sub_8089DA4(void)
+static void SetUpTrainerCardTask(void)
{
ResetTasks();
ScanlineEffect_Stop();
CreateTask(Task_TrainerCard, 0);
- sub_808B774();
+ InitTrainerCardData();
SetDataFromTrainerCard();
}
-static bool8 PrintAllOnCardPage1(void)
+static bool8 PrintAllOnCardFront(void)
{
switch (sTrainerCardDataPtr->printState)
{
case 0:
- PrintNameOnCard();
+ PrintNameOnCardFront();
break;
case 1:
PrintIdOnCard();
@@ -1045,18 +1084,18 @@ static bool8 PrintAllOnCardPage1(void)
return FALSE;
}
-static bool8 PrintStringsOnCardPage2(void)
+static bool8 PrintAllOnCardBack(void)
{
switch (sTrainerCardDataPtr->printState)
{
case 0:
- sub_808A4FC();
+ PrintNameOnCardBack();
break;
case 1:
- PrintHofDebutStringOnCard();
+ PrintHofDebutTimeOnCard();
break;
case 2:
- PrintWinsLossesStringOnCard();
+ PrintLinkBattleResultsOnCard();
break;
case 3:
PrintTradesStringOnCard();
@@ -1068,10 +1107,10 @@ static bool8 PrintStringsOnCardPage2(void)
PrintUnionStringOnCard();
break;
case 6:
- TrainerCard_PrintPokemonIconsOnCard();
+ PrintPokemonIconsOnCard();
break;
case 7:
- sub_808ABE0();
+ PrintStickersOnCard();
break;
default:
sTrainerCardDataPtr->printState = 0;
@@ -1081,17 +1120,17 @@ static bool8 PrintStringsOnCardPage2(void)
return FALSE;
}
-static void sub_8089ECC(void)
+static void BufferTextForCardBack(void)
{
- PrintNameOnCard2();
- PrintHofTimeOnCard();
- PrintLinkResultsNumsOnCard();
- PrintTradesNumOnCard();
- PrintBerryCrushNumOnCard();
- PrintUnionNumOnCard();
+ BufferNameForCardBack();
+ BufferHofDebutTime();
+ BufferLinkBattleResults();
+ BufferNumTrades();
+ BufferBerryCrushPoints();
+ BufferUnionRoomStats();
}
-static void PrintNameOnCard(void)
+static void PrintNameOnCardFront(void)
{
u8 buffer[2][32];
u8* txtPtr;
@@ -1101,7 +1140,7 @@ static void PrintNameOnCard(void)
StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.rse.playerName);
ConvertInternationalString(txtPtr, sTrainerCardDataPtr->language);
StringAppend(buffer[0], txtPtr);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardPlayerNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardPlayerNameYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer[0]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardFrontNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardFrontNameYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer[0]);
}
static void PrintIdOnCard(void)
@@ -1111,7 +1150,7 @@ static void PrintIdOnCard(void)
txtPtr = StringCopy(buffer, gText_TrainerCardIDNo);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
static void PrintMoneyOnCard(void)
@@ -1122,17 +1161,17 @@ static void PrintMoneyOnCard(void)
txtPtr = StringCopy(buffer, gText_TrainerCardYen);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.money, STR_CONV_MODE_LEFT_ALIGN, 6);
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
x = -122 - 6 * StringLength(buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 56, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 56, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 56, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 56, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
else
{
x = 118 - 6 * StringLength(buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 57, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 57, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 57, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 57, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
}
@@ -1152,19 +1191,19 @@ static void PrintPokedexOnCard(void)
if (FlagGet(FLAG_SYS_POKEDEX_GET))
{
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.caughtMonsCount, 0, 3);
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
x = -120 - 6 * StringLength(buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardNull);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 72, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardNull);
}
else
{
x = 120 - 6 * StringLength(buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardNull);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 73, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardNull);
}
}
}
@@ -1190,19 +1229,19 @@ static void PrintTimeOnCard(void)
minutes = 59;
FillWindowPixelRect(1, PIXEL_FILL(0), sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], 50, 12);
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
else
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
ConvertIntToDecimalStringN(buffer, hours, STR_CONV_MODE_RIGHT_ALIGN, 3);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType],
- sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
+ sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursYPositions[sTrainerCardDataPtr->cardType],
- sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors[sTrainerCardDataPtr->var_7], TEXT_SPEED_FF, gText_Colon2);
+ sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTimeColonTextColors[sTrainerCardDataPtr->timeColonInvisible], TEXT_SPEED_FF, gText_Colon2);
ConvertIntToDecimalStringN(buffer, minutes, STR_CONV_MODE_LEADING_ZEROS, 2);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
static void PrintProfilePhraseOnCard(void)
@@ -1210,48 +1249,48 @@ static void PrintProfilePhraseOnCard(void)
if (sTrainerCardDataPtr->isLink)
{
AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType],
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[0]);
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[0]);
- AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType],
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[1]);
+ AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->easyChatProfile[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType],
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[1]);
AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType],
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[2]);
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[2]);
- AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType],
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[3]);
+ AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->easyChatProfile[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType],
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[3]);
}
}
-static void PrintNameOnCard2(void)
+static void BufferNameForCardBack(void)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->trainerCard.rse.playerName);
ConvertInternationalString(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->language);
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
{
StringAppend(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], gText_Var1sTrainerCard);
}
}
-static void sub_808A4FC(void)
+static void PrintNameOnCardBack(void)
{
u8 x;
if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG)
{
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sUnknown_83CD93C[sTrainerCardDataPtr->cardType],
- sUnknown_83CD93E[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardBackNameXPositions[sTrainerCardDataPtr->cardType],
+ sTrainerCardBackNameYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]);
}
else
{
- x = sUnknown_83CD93C[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING));
+ x = sTrainerCardBackNameXPositions[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING));
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sUnknown_83CD93E[sTrainerCardDataPtr->cardType],
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sTrainerCardBackNameYPositions[sTrainerCardDataPtr->cardType],
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]);
}
}
-static void PrintHofTimeOnCard(void)
+static void BufferHofDebutTime(void)
{
u8 buffer[10];
u8* txtPtr;
@@ -1269,16 +1308,16 @@ static void PrintHofTimeOnCard(void)
}
}
-static void PrintHofDebutStringOnCard(void)
+static void PrintHofDebutTimeOnCard(void)
{
if (sTrainerCardDataPtr->hasHofResult)
{
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 35, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_HallOfFameDebut);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 164, 35, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 35, sTrainerCardTextColors, TEXT_SPEED_FF, gText_HallOfFameDebut);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 164, 35, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME]);
}
}
-static void PrintLinkResultsNumsOnCard(void)
+static void BufferLinkBattleResults(void)
{
u8 buffer[30];
@@ -1293,19 +1332,19 @@ static void PrintLinkResultsNumsOnCard(void)
}
}
-static void PrintWinsLossesStringOnCard(void)
+static void PrintLinkBattleResultsOnCard(void)
{
if (sTrainerCardDataPtr->hasLinkResults)
{
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 51,
- sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 130, 51, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 144, 51, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 192, 51, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES]);
+ sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 130, 51, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 144, 51, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 192, 51, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES]);
}
}
-static void PrintTradesNumOnCard(void)
+static void BufferNumTrades(void)
{
if (sTrainerCardDataPtr->hasTrades)
{
@@ -1318,14 +1357,14 @@ static void PrintTradesStringOnCard(void)
{
if (sTrainerCardDataPtr->hasTrades)
{
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 67, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 67, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 67, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 67, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT]);
}
}
-static void PrintBerryCrushNumOnCard(void)
+static void BufferBerryCrushPoints(void)
{
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH], gText_BerryCrushes);
ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT], sTrainerCardDataPtr->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5);
@@ -1334,16 +1373,16 @@ static void PrintBerryCrushNumOnCard(void)
static void PrintBerryCrushStringOnCard(void)
{
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.berryCrushPoints)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.berryCrushPoints)
{
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 99, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 99, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 99, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 99, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT]);
}
}
-static void PrintUnionNumOnCard(void)
+static void BufferUnionRoomStats(void)
{
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM], gText_UnionRoomTradesBattles);
ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM], sTrainerCardDataPtr->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5);
@@ -1352,88 +1391,88 @@ static void PrintUnionNumOnCard(void)
static void PrintUnionStringOnCard(void)
{
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.unionRoomNum)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.unionRoomNum)
{
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 83, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM]);
- AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 83, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 83, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM]);
+ AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 83, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM]);
}
}
-static void TrainerCard_PrintPokemonIconsOnCard(void)
+static void PrintPokemonIconsOnCard(void)
{
u8 i;
- u8 buffer[6];
- u8 buffer2[6];
+ u8 paletteSlots[PARTY_SIZE];
+ u8 xOffsets[PARTY_SIZE];
- memcpy(buffer, sUnknown_83CD94C, sizeof(sUnknown_83CD94C));
- memcpy(buffer2, sUnknown_83CD952, sizeof(sUnknown_83CD952));
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ memcpy(paletteSlots, sPokemonIconPalSlots, sizeof(sPokemonIconPalSlots));
+ memcpy(xOffsets, sPokemonIconXOffsets, sizeof(sPokemonIconXOffsets));
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (sTrainerCardDataPtr->trainerCard.monSpecies[i])
{
u8 monSpecies = GetMonIconPaletteIndexFromSpecies(sTrainerCardDataPtr->trainerCard.monSpecies[i]);
- WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, buffer2[i] + 3, 15, 4, 4, buffer[monSpecies], 1);
+ WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, xOffsets[i] + 3, 15, 4, 4, paletteSlots[monSpecies], 1);
}
}
}
}
-static void sub_808AB10(void)
+static void LoadMonIconGfx(void)
{
u8 i;
- CpuSet(gMonIconPalettes, sTrainerCardDataPtr->monIconPals, 32 * 3);
- switch (sTrainerCardDataPtr->trainerCard.var_4E)
+ CpuSet(gMonIconPalettes, sTrainerCardDataPtr->monIconPals, NELEMS(sTrainerCardDataPtr->monIconPals));
+ switch (sTrainerCardDataPtr->trainerCard.monIconTint)
{
- case 0:
+ case MON_ICON_TINT_NORMAL:
break;
- case 1:
+ case MON_ICON_TINT_BLACK:
TintPalette_CustomTone(sTrainerCardDataPtr->monIconPals, 96, 0, 0, 0);
break;
- case 2:
+ case MON_ICON_TINT_PINK:
TintPalette_CustomTone(sTrainerCardDataPtr->monIconPals, 96, 500, 330, 310);
break;
- case 3:
+ case MON_ICON_TINT_SEPIA:
TintPalette_SepiaTone(sTrainerCardDataPtr->monIconPals, 96);
break;
}
LoadPalette(sTrainerCardDataPtr->monIconPals, 80, 192);
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
LoadBgTiles(3, GetMonIconTiles(sTrainerCardDataPtr->trainerCard.monSpecies[i], 0), 512, 16 * i + 32);
}
}
-static void sub_808ABE0(void)
+static void PrintStickersOnCard(void)
{
u8 i;
- u8 buffer[4];
+ u8 palSlots[4];
- memcpy(buffer, sUnknown_83CD958, sizeof(sUnknown_83CD958));
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.var_4C == 1)
+ memcpy(palSlots, sStickerPalSlots, sizeof(sStickerPalSlots));
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.shouldDrawStickers == TRUE)
{
- for (i = 0; i < 3; i++)
+ for (i = 0; i < TRAINER_CARD_STICKER_TYPES; i++)
{
- u8 var_50 = sTrainerCardDataPtr->trainerCard.var_50[i];
- if (sTrainerCardDataPtr->trainerCard.var_50[i])
- WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, buffer[var_50 - 1], 1);
+ u8 sticker = sTrainerCardDataPtr->trainerCard.stickers[i];
+ if (sTrainerCardDataPtr->trainerCard.stickers[i])
+ WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, palSlots[sticker - 1], 1);
}
}
}
-static void TrainerCardLoadStickerPals(void)
+static void LoadStickerGfx(void)
{
LoadPalette(sTrainerCardStickerPal1, 176, 32);
LoadPalette(sTrainerCardStickerPal2, 192, 32);
LoadPalette(sTrainerCardStickerPal3, 208, 32);
LoadPalette(sTrainerCardStickerPal4, 224, 32);
- LoadBgTiles(3, sTrainerCardDataPtr->bgTiles, 1024, 128);
+ LoadBgTiles(3, sTrainerCardDataPtr->stickerTiles, 1024, 128);
}
-static void PutTrainerCardWindow(u8 windowId)
+static void DrawTrainerCardWindow(u8 windowId)
{
PutWindowTilemap(windowId);
CopyWindowToVram(windowId, 3);
@@ -1444,35 +1483,35 @@ static bool8 SetTrainerCardBgsAndPals(void)
switch (sTrainerCardDataPtr->bgPalLoadState)
{
case 0:
- LoadBgTiles(3, sTrainerCardDataPtr->cardTiles, 1024, 0);
+ LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, ARRAY_COUNT(sTrainerCardDataPtr->badgeTiles), 0);
break;
case 1:
- LoadBgTiles(0, sTrainerCardDataPtr->var_18CC, 6144, 0);
+ LoadBgTiles(0, sTrainerCardDataPtr->cardTiles, 0x1800, 0);
break;
case 2:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LoadPalette(sEmeraldTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
else
- LoadPalette(sFireRedTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
+ LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
break;
case 3:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
- LoadPalette(sEmeraldTrainerCardBadges_Pal, 48, 32);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
+ LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32);
else
- LoadPalette(sFireRedTrainerCardBadges_Pal, 48, 32);
+ LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32);
break;
case 4:
- if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
- LoadPalette(sEmeraldTrainerCardFemaleBackground_Pal, 16, 32);
+ if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
+ LoadPalette(sHoennTrainerCardFemaleBackground_Pal, 16, 32);
else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
- LoadPalette(sFireRedTrainerCardFemaleBackground_Pal, 16, 32);
+ LoadPalette(sKantoTrainerCardFemaleBackground_Pal, 16, 32);
break;
case 5:
- LoadPalette(sUnknown_83CD300, 64, 32);
+ LoadPalette(sTrainerCardGold_Pal, 64, 32);
break;
case 6:
- SetBgTilemapBuffer(0, sTrainerCardDataPtr->bgTilemap0);
- SetBgTilemapBuffer(2, sTrainerCardDataPtr->bgTilemap2);
+ SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer);
+ SetBgTilemapBuffer(2, sTrainerCardDataPtr->bgTilemapBuffer);
break;
default:
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
@@ -1485,10 +1524,10 @@ static bool8 SetTrainerCardBgsAndPals(void)
return FALSE;
}
-static void LoadTrainerCardTilemap2(const u16* ptr)
+static void DrawCardScreenBackground(const u16* ptr)
{
s16 i, j;
- u16 *dst = sTrainerCardDataPtr->bgTilemap2;
+ u16 *dst = sTrainerCardDataPtr->bgTilemapBuffer;
for (i = 0; i < 20; i++)
{
@@ -1504,10 +1543,10 @@ static void LoadTrainerCardTilemap2(const u16* ptr)
CopyBgTilemapBufferToVram(2);
}
-static void LoadTrainerCardTilemap0(const u16* ptr)
+static void DrawCardFrontOrBack(const u16* ptr)
{
s16 i, j;
- u16 *dst = sTrainerCardDataPtr->bgTilemap0;
+ u16 *dst = sTrainerCardDataPtr->cardTilemapBuffer;
for (i = 0; i < 20; i++)
{
@@ -1523,17 +1562,17 @@ static void LoadTrainerCardTilemap0(const u16* ptr)
CopyBgTilemapBufferToVram(0);
}
-static void TrainerCard_PrintStarsAndBadgesOnCard(void)
+static void DrawStarsAndBadgesOnCard(void)
{
s16 i, x;
u16 tileNum = 192;
u8 palNum = 3;
- FillBgTilemapBufferRect(3, 143, 15, sUnknown_83CD95C[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.rse.stars, 1, 4);
+ FillBgTilemapBufferRect(3, 143, 15, sStarYOffsets[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.rse.stars, 1, 4);
if (!sTrainerCardDataPtr->isLink)
{
x = 4;
- for (i = 0; i < BADGE_COUNT; i++, tileNum += 2, x += 3)
+ for (i = 0; i < NUM_BADGES; i++, tileNum += 2, x += 3)
{
if (sTrainerCardDataPtr->hasBadge[i])
{
@@ -1548,9 +1587,9 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void)
CopyBgTilemapBufferToVram(3);
}
-static void sub_808B090(void)
+static void DrawCardBackStats(void)
{
- if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
+ if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE)
{
if (sTrainerCardDataPtr->hasTrades)
{
@@ -1582,13 +1621,13 @@ static void sub_808B090(void)
CopyBgTilemapBufferToVram(3);
}
-static void sub_808B180(void)
+static void BlinkTimeColon(void)
{
- if (++sTrainerCardDataPtr->var_6 > 60)
+ if (++sTrainerCardDataPtr->timeColonBlinkTimer > 60)
{
- sTrainerCardDataPtr->var_6 = 0;
- sTrainerCardDataPtr->var_7 ^= 1;
- sTrainerCardDataPtr->var_7BCE = TRUE;
+ sTrainerCardDataPtr->timeColonBlinkTimer = 0;
+ sTrainerCardDataPtr->timeColonInvisible ^= 1;
+ sTrainerCardDataPtr->timeColonNeedDraw = TRUE;
}
}
@@ -1597,28 +1636,30 @@ u8 GetTrainerCardStars(u8 cardId)
return gTrainerCards[cardId].rse.stars;
}
-static void sub_808B1D4(void)
+#define tFlipState data[0]
+
+static void FlipTrainerCard(void)
{
- u8 taskId = CreateTask(sub_808B21C, 0);
- sub_808B21C(taskId);
+ u8 taskId = CreateTask(Task_DoCardFlipTask, 0);
+ Task_DoCardFlipTask(taskId);
SetHBlankCallback(HBlankCB_TrainerCard);
}
-static bool8 sub_808B1FC(void)
+static bool8 IsCardFlipTaskActive(void)
{
- if (FindTaskIdByFunc(sub_808B21C) == 0xFF)
+ if (FindTaskIdByFunc(Task_DoCardFlipTask) == 0xFF)
return TRUE;
else
return FALSE;
}
-static void sub_808B21C(u8 taskId)
+static void Task_DoCardFlipTask(u8 taskId)
{
- while(sTrainerCardTasks[gTasks[taskId].data[0]](&gTasks[taskId]))
+ while(sTrainerCardFlipTasks[gTasks[taskId].tFlipState](&gTasks[taskId]))
;
}
-static bool8 sub_808B254(struct Task* task)
+static bool8 Task_BeginCardFlip(struct Task* task)
{
u32 i;
@@ -1627,15 +1668,12 @@ static bool8 sub_808B254(struct Task* task)
ScanlineEffect_Stop();
ScanlineEffect_Clear();
for (i = 0; i < 160; i++)
- {
gScanlineEffectRegBuffers[1][i] = 0;
- }
-
- task->data[0]++;
+ task->tFlipState++;
return FALSE;
}
-static bool8 sub_808B294(struct Task* task)
+static bool8 Task_AnimateCardFlipDown(struct Task* task)
{
u32 r4, r5, r10, r7, r6, var_24, r9, var;
s16 i;
@@ -1681,12 +1719,12 @@ static bool8 sub_808B294(struct Task* task)
sTrainerCardDataPtr->allowDMACopy = TRUE;
if (task->data[1] >= 77)
- task->data[0]++;
+ task->tFlipState++;
return FALSE;
}
-static bool8 sub_808B3C4(struct Task* task)
+static bool8 Task_DrawFlippedCardSide(struct Task* task)
{
sTrainerCardDataPtr->allowDMACopy = FALSE;
if (sub_8058244() == TRUE)
@@ -1694,72 +1732,74 @@ static bool8 sub_808B3C4(struct Task* task)
do
{
- switch (sTrainerCardDataPtr->var_4)
+ switch (sTrainerCardDataPtr->flipDrawState)
{
case 0:
FillWindowPixelBuffer(1, PIXEL_FILL(0));
FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32);
break;
case 1:
- if (!sTrainerCardDataPtr->var_8)
+ if (!sTrainerCardDataPtr->onBack)
{
- if (!PrintStringsOnCardPage2())
+ if (!PrintAllOnCardBack())
return FALSE;
}
else
{
- if (!PrintAllOnCardPage1())
+ if (!PrintAllOnCardFront())
return FALSE;
}
break;
case 2:
- if (!sTrainerCardDataPtr->var_8)
- LoadTrainerCardTilemap0(sTrainerCardDataPtr->var_96C);
+ if (!sTrainerCardDataPtr->onBack)
+ DrawCardFrontOrBack(sTrainerCardDataPtr->backTilemap);
else
- PutTrainerCardWindow(1);
+ DrawTrainerCardWindow(1);
break;
case 3:
- if (!sTrainerCardDataPtr->var_8)
- sub_808B090();
+ if (!sTrainerCardDataPtr->onBack)
+ DrawCardBackStats();
else
FillWindowPixelBuffer(2, PIXEL_FILL(0));
break;
case 4:
- if (sTrainerCardDataPtr->var_8)
- sub_808B838();
+ if (sTrainerCardDataPtr->onBack)
+ CreateTrainerCardTrainerPic();
break;
default:
- task->data[0]++;
+ task->tFlipState++;
sTrainerCardDataPtr->allowDMACopy = TRUE;
- sTrainerCardDataPtr->var_4 = 0;
+ sTrainerCardDataPtr->flipDrawState = 0;
return FALSE;
}
- sTrainerCardDataPtr->var_4++;
+ sTrainerCardDataPtr->flipDrawState++;
} while (gReceivedRemoteLinkPlayers == 0);
return FALSE;
}
-static bool8 sub_808B4D8(struct Task* task)
+static bool8 Task_SetCardFlipped(struct Task* task)
{
sTrainerCardDataPtr->allowDMACopy = FALSE;
- if (sTrainerCardDataPtr->var_8)
+
+ // If on back of card, draw front of card because its being flipped
+ if (sTrainerCardDataPtr->onBack)
{
- PutTrainerCardWindow(2);
- LoadTrainerCardTilemap2(&sTrainerCardDataPtr->var_E1C);
- LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC);
- TrainerCard_PrintStarsAndBadgesOnCard();
+ DrawTrainerCardWindow(2);
+ DrawCardScreenBackground(sTrainerCardDataPtr->bgTilemap);
+ DrawCardFrontOrBack(sTrainerCardDataPtr->frontTilemap);
+ DrawStarsAndBadgesOnCard();
}
- PutTrainerCardWindow(1);
- sTrainerCardDataPtr->var_8 ^= 1;
- task->data[0]++;
+ DrawTrainerCardWindow(1);
+ sTrainerCardDataPtr->onBack ^= 1;
+ task->tFlipState++;
sTrainerCardDataPtr->allowDMACopy = TRUE;
PlaySE(SE_CARD2);
return FALSE;
}
-static bool8 sub_808B540(struct Task* task)
+static bool8 Task_AnimateCardFlipUp(struct Task* task)
{
u32 r4, r5, r10, r7, r6, var_24, r9, var;
s16 i;
@@ -1805,17 +1845,17 @@ static bool8 sub_808B540(struct Task* task)
sTrainerCardDataPtr->allowDMACopy = TRUE;
if (task->data[1] <= 0)
- task->data[0]++;
+ task->tFlipState++;
return FALSE;
}
-static bool8 sub_808B66C(struct Task *task)
+static bool8 Task_EndCardFlip(struct Task *task)
{
ShowBg(1);
ShowBg(3);
SetHBlankCallback(NULL);
- DestroyTask(FindTaskIdByFunc(sub_808B21C));
+ DestroyTask(FindTaskIdByFunc(Task_DoCardFlipTask));
return FALSE;
}
@@ -1843,24 +1883,22 @@ void ShowTrainerCardInLink(u8 cardId, void (*callback)(void))
SetMainCallback2(CB2_InitTrainerCard);
}
-static void sub_808B774(void)
+static void InitTrainerCardData(void)
{
u8 i;
- sTrainerCardDataPtr->taskState = 0;
- sTrainerCardDataPtr->var_6 = gSaveBlock2Ptr->playTimeVBlanks;
- sTrainerCardDataPtr->var_7 = 0;
- sTrainerCardDataPtr->var_8 = 0;
- sTrainerCardDataPtr->var_456 = 0;
- if (GetCardType() == CARD_TYPE_EMERALD)
- sTrainerCardDataPtr->cardType = CARD_TYPE_EMERALD;
+ sTrainerCardDataPtr->mainState = 0;
+ sTrainerCardDataPtr->timeColonBlinkTimer = gSaveBlock2Ptr->playTimeVBlanks;
+ sTrainerCardDataPtr->timeColonInvisible = FALSE;
+ sTrainerCardDataPtr->onBack = FALSE;
+ sTrainerCardDataPtr->flipBlendY = 0;
+ if (GetCardType() == CARD_TYPE_RSE)
+ sTrainerCardDataPtr->cardType = CARD_TYPE_RSE;
else
sTrainerCardDataPtr->cardType = CARD_TYPE_FRLG;
- for (i = 0; i < 4; i++)
- {
- CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.rse.var_28[i]);
- }
+ for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++)
+ CopyEasyChatWord(sTrainerCardDataPtr->easyChatProfile[i], sTrainerCardDataPtr->trainerCard.rse.easyChatProfile[i]);
}
static u8 GetCardType(void)
@@ -1870,39 +1908,39 @@ static u8 GetCardType(void)
if (gGameVersion == VERSION_FIRE_RED || gGameVersion == VERSION_LEAF_GREEN)
return CARD_TYPE_FRLG;
else
- return CARD_TYPE_EMERALD;
+ return CARD_TYPE_RSE;
}
else
{
if (sTrainerCardDataPtr->trainerCard.version == VERSION_FIRE_RED || sTrainerCardDataPtr->trainerCard.version == VERSION_LEAF_GREEN)
return CARD_TYPE_FRLG;
else
- return CARD_TYPE_EMERALD;
+ return CARD_TYPE_RSE;
}
}
-static void sub_808B838(void)
+static void CreateTrainerCardTrainerPic(void)
{
- u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender];
+ u8 facilityClass = sTrainerPicFacilityClasses[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender];
if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1)
{
- val = sTrainerCardDataPtr->trainerCard.var_4F;
- sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
- sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
+ facilityClass = sTrainerCardDataPtr->trainerCard.facilityClass;
+ CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(facilityClass), TRUE, sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
+ sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
}
else
{
if (sTrainerCardDataPtr->cardType != CARD_TYPE_FRLG)
{
- sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
- sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
+ CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(facilityClass), TRUE, sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
+ sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
}
else
{
- sub_810C330(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE,
- sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
- sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1],
+ CreateTrainerCardTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE,
+ sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
+ sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1],
8, 2);
}
}
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 9f706c6d5..8567d791b 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -300,7 +300,7 @@ u16 sub_810C2FC(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId)
return sub_810C050(species, 0, 0, isFrontPic, paletteSlot, windowId, TRUE);
}
-u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId)
+u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId)
{
return sub_810C0C0(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE);
}
diff --git a/src/union_room.c b/src/union_room.c
index f4169b65b..7bace05ef 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -46,6 +46,7 @@
#include "constants/cable_club.h"
#include "constants/field_weather.h"
#include "constants/species.h"
+#include "constants/trainer_card.h"
#include "constants/union_room.h"
static EWRAM_DATA u8 sUnionRoomPlayerName[12] = {};
@@ -4727,9 +4728,9 @@ static void ViewURoomPartnerTrainerCard(u8 *unused, struct UnkStruct_URoom * uro
ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[2], trainerCard->rse.pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, uroom->trainerCardStrbufs[2]);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++)
{
- CopyEasyChatWord(uroom->trainerCardStrbufs[i + 3], trainerCard->rse.var_28[i]);
+ CopyEasyChatWord(uroom->trainerCardStrbufs[i + 3], trainerCard->rse.easyChatProfile[i]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, uroom->trainerCardStrbufs[i + 3]);
}