summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/daycare.h1
-rw-r--r--include/easy_chat.h1036
-rw-r--r--include/evolution_scene.h12
-rw-r--r--include/gba/macro.h34
-rw-r--r--include/global.h4
-rw-r--r--include/graphics.h9
-rw-r--r--include/menu_cursor.h4
-rw-r--r--include/party_menu.h2
-rw-r--r--include/pokeball.h1
-rw-r--r--include/pokemon.h2
-rw-r--r--include/pokemon_icon.h3
-rw-r--r--include/pokemon_summary_screen.h1
-rw-r--r--include/rom4.h1
-rw-r--r--include/rom_8077ABC.h1
-rw-r--r--include/strings2.h4
-rw-r--r--include/text.h7
-rw-r--r--include/trade.h19
-rw-r--r--include/util.h1
18 files changed, 1136 insertions, 6 deletions
diff --git a/include/daycare.h b/include/daycare.h
index b90c50610..7963d911a 100644
--- a/include/daycare.h
+++ b/include/daycare.h
@@ -10,5 +10,6 @@ void sub_8041950(void);
void sub_8042044(struct Pokemon *mon, u16, u8);
u8 sub_80422A0(void);
u8 daycare_relationship_score_from_savegame(void);
+bool8 NameHasGenderSymbol(const u8 *, u8);
#endif // GUARD_DAYCARE_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 03e9bb737..ff018a5bc 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -26,6 +26,1042 @@ enum {
EC_GROUP_POKEMON_2,
};
+enum {
+ EC_WORD_I_CHOOSE_YOU = EC_GROUP_TRAINER << 9,
+ EC_WORD_GOTCHA,
+ EC_WORD_TRADE,
+ EC_WORD_SAPPHIRE,
+ EC_WORD_EVOLVE,
+ EC_WORD_ENCYCLOPEDIA,
+ EC_WORD_NATURE,
+ EC_WORD_CENTER,
+ EC_WORD_EGG,
+ EC_WORD_LINK,
+ EC_WORD_SP_ABILITY,
+ EC_WORD_TRAINER,
+ EC_WORD_VERSION,
+ EC_WORD_POKENAV,
+ EC_WORD_POKEMON,
+ EC_WORD_GET,
+ EC_WORD_POKEDEX,
+ EC_WORD_RUBY,
+ EC_WORD_LEVEL
+};
+enum {
+ EC_WORD_DARK = EC_GROUP_STATUS << 9,
+ EC_WORD_STENCH,
+ EC_WORD_THICK_FAT,
+ EC_WORD_RAIN_DISH,
+ EC_WORD_DRIZZLE,
+ EC_WORD_ARENA_TRAP,
+ EC_WORD_INTIMIDATE,
+ EC_WORD_ROCK_HEAD,
+ EC_WORD_COLOR,
+ EC_WORD_ALT_COLOR,
+ EC_WORD_ROCK,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_BEAUTY,
+ EC_WORD_AIR_LOCK,
+ EC_WORD_PSYCHIC,
+ EC_WORD_HYPER_CUTTER,
+ EC_WORD_FIGHTING,
+ EC_WORD_SHADOW_TAG,
+ EC_WORD_SMART,
+ EC_WORD_SMARTNESS,
+ EC_WORD_SPEED_BOOST,
+ EC_WORD_COOL,
+ EC_WORD_COOLNESS,
+ EC_WORD_BATTLE_ARMOR,
+ EC_WORD_CUTE,
+ EC_WORD_CUTENESS,
+ EC_WORD_STURDY,
+ EC_WORD_SUCTION_CUPS,
+ EC_WORD_GRASS,
+ EC_WORD_CLEAR_BODY,
+ EC_WORD_TORRENT,
+ EC_WORD_GHOST,
+ EC_WORD_ICE,
+ EC_WORD_GUTS,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_SHELL_ARMOR,
+ EC_WORD_NATURAL_CURE,
+ EC_WORD_DAMP,
+ EC_WORD_GROUND,
+ EC_WORD_LIMBER,
+ EC_WORD_MAGNET_PULL,
+ EC_WORD_WHITE_SMOKE,
+ EC_WORD_SYNCHRONIZE,
+ EC_WORD_OVERGROW,
+ EC_WORD_SWIFT_SWIM,
+ EC_WORD_SAND_STREAM,
+ EC_WORD_SAND_VEIL,
+ EC_WORD_KEEN_EYE,
+ EC_WORD_INNER_FOCUS,
+ EC_WORD_STATIC,
+ EC_WORD_TYPE,
+ EC_WORD_TOUGH,
+ EC_WORD_TOUGHNESS,
+ EC_WORD_SHED_SKIN,
+ EC_WORD_HUGE_POWER,
+ EC_WORD_VOLT_ABSORB,
+ EC_WORD_WATER_ABSORB,
+ EC_WORD_ELECTRIC,
+ EC_WORD_FORECAST,
+ EC_WORD_SERENE_GRACE,
+ EC_WORD_POISON,
+ EC_WORD_POISON_POINT,
+ EC_WORD_DRAGON,
+ EC_WORD_TRACE,
+ EC_WORD_OBLIVIOUS,
+ EC_WORD_TRUANT,
+ EC_WORD_RUN_AWAY,
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_CLOUD_NINE,
+ EC_WORD_NORMAL,
+ EC_WORD_STEEL,
+ EC_WORD_ILLUMINATE,
+ EC_WORD_EARLY_BIRD,
+ EC_WORD_HUSTLE,
+ EC_WORD_SHINE,
+ EC_WORD_FLYING,
+ EC_WORD_DROUGHT,
+ EC_WORD_LIGHTNINGROD,
+ EC_WORD_COMPOUNDEYES,
+ EC_WORD_MARVEL_SCALE,
+ EC_WORD_WONDER_GUARD,
+ EC_WORD_INSOMNIA,
+ EC_WORD_LEVITATE,
+ EC_WORD_PLUS,
+ EC_WORD_PRESSURE,
+ EC_WORD_LIQUID_OOZE,
+ EC_WORD_COLOR_CHANGE,
+ EC_WORD_SOUNDPROOF,
+ EC_WORD_EFFECT_SPORE,
+ EC_WORD_PKRS,
+ EC_WORD_FIRE,
+ EC_WORD_FLAME_BODY,
+ EC_WORD_MINUS,
+ EC_WORD_OWN_TEMPO,
+ EC_WORD_MAGMA_ARMOR,
+ EC_WORD_WATER,
+ EC_WORD_WATER_VEIL,
+ EC_WORD_BUG,
+ EC_WORD_SWARM,
+ EC_WORD_CUTE_CHARM,
+ EC_WORD_IMMUNITY,
+ EC_WORD_BLAZE,
+ EC_WORD_PICKUP,
+ EC_WORD_PATTERN,
+ EC_WORD_FLASH_FIRE,
+ EC_WORD_VITAL_SPIRIT,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_PURE_POWER,
+ EC_WORD_SHIELD_DUST,
+};
+enum {
+ EC_WORD_MATCH_UP = EC_GROUP_BATTLE << 9,
+ EC_WORD_GO,
+ EC_WORD_NO_1,
+ EC_WORD_DECIDE,
+ EC_WORD_LET_ME_WIN,
+ EC_WORD_WINS,
+ EC_WORD_WIN,
+ EC_WORD_WON,
+ EC_WORD_IF_I_WIN,
+ EC_WORD_WHEN_I_WIN,
+ EC_WORD_CAN_T_WIN,
+ EC_WORD_CAN_WIN,
+ EC_WORD_NO_MATCH,
+ EC_WORD_SPIRIT,
+ EC_WORD_DECIDED,
+ EC_WORD_TRUMP_CARD,
+ EC_WORD_TAKE_THAT,
+ EC_WORD_COME_ON,
+ EC_WORD_ATTACK,
+ EC_WORD_SURRENDER,
+ EC_WORD_GUTSY,
+ EC_WORD_TALENT,
+ EC_WORD_STRATEGY,
+ EC_WORD_SMITE,
+ EC_WORD_MATCH,
+ EC_WORD_VICTORY,
+ EC_WORD_OFFENSIVE,
+ EC_WORD_SENSE,
+ EC_WORD_VERSUS,
+ EC_WORD_FIGHTS,
+ EC_WORD_POWER,
+ EC_WORD_CHALLENGE,
+ EC_WORD_STRONG,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_GO_EASY,
+ EC_WORD_FOE,
+ EC_WORD_GENIUS,
+ EC_WORD_LEGEND,
+ EC_WORD_ESCAPE,
+ EC_WORD_AIM,
+ EC_WORD_BATTLE,
+ EC_WORD_FIGHT,
+ EC_WORD_RESUSCITATE,
+ EC_WORD_POINTS,
+ EC_WORD_SERIOUS,
+ EC_WORD_GIVE_UP,
+ EC_WORD_LOSS,
+ EC_WORD_IF_I_LOSE,
+ EC_WORD_LOST,
+ EC_WORD_LOSE,
+ EC_WORD_GUARD,
+ EC_WORD_PARTNER,
+ EC_WORD_REJECT,
+ EC_WORD_ACCEPT,
+ EC_WORD_INVINCIBLE,
+ EC_WORD_RECEIVED,
+ EC_WORD_EASY,
+ EC_WORD_WEAK,
+ EC_WORD_TOO_WEAK,
+ EC_WORD_PUSHOVER,
+ EC_WORD_LEADER,
+ EC_WORD_RULE,
+ EC_WORD_MOVE
+};
+enum {
+ EC_WORD_THANKS = EC_GROUP_GREETINGS << 9,
+ EC_WORD_YES,
+ EC_WORD_HERE_GOES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_HERE_IT_IS,
+ EC_WORD_YEAH,
+ EC_WORD_WELCOME,
+ EC_WORD_OI,
+ EC_WORD_HOW_DO,
+ EC_WORD_CONGRATS,
+ EC_WORD_GIVE_ME,
+ EC_WORD_SORRY,
+ EC_WORD_APOLOGIZE,
+ EC_WORD_FORGIVE,
+ EC_WORD_HEY_THERE,
+ EC_WORD_HELLO,
+ EC_WORD_GOOD_BYE,
+ EC_WORD_THANK_YOU,
+ EC_WORD_I_VE_ARRIVED,
+ EC_WORD_PARDON,
+ EC_WORD_EXCUSE,
+ EC_WORD_SEE_YA,
+ EC_WORD_EXCUSE_ME,
+ EC_WORD_WELL_THEN,
+ EC_WORD_GO_AHEAD,
+ EC_WORD_APPRECIATE,
+ EC_WORD_HEY_QUES,
+ EC_WORD_WHAT_S_UP_QUES,
+ EC_WORD_HUH_QUES,
+ EC_WORD_NO,
+ EC_WORD_HI,
+ EC_WORD_YEAH_YEAH,
+ EC_WORD_BYE_BYE,
+ EC_WORD_MEET_YOU,
+ EC_WORD_HEY,
+ EC_WORD_SMELL,
+ EC_WORD_LISTENING,
+ EC_WORD_HOO_HAH,
+ EC_WORD_YAHOO,
+ EC_WORD_YO,
+ EC_WORD_COME_OVER,
+ EC_WORD_COUNT_ON
+};
+enum {
+ EC_WORD_OPPONENT = EC_GROUP_PEOPLE << 9,
+ EC_WORD_I,
+ EC_WORD_YOU,
+ EC_WORD_YOURS,
+ EC_WORD_SON,
+ EC_WORD_YOUR,
+ EC_WORD_YOU_RE,
+ EC_WORD_YOU_VE,
+ EC_WORD_MOTHER,
+ EC_WORD_GRANDFATHER,
+ EC_WORD_UNCLE,
+ EC_WORD_FATHER,
+ EC_WORD_BOY,
+ EC_WORD_ADULT,
+ EC_WORD_BROTHER,
+ EC_WORD_SISTER,
+ EC_WORD_GRANDMOTHER,
+ EC_WORD_AUNT,
+ EC_WORD_PARENT,
+ EC_WORD_MAN,
+ EC_WORD_ME,
+ EC_WORD_GIRL,
+ EC_WORD_BABE,
+ EC_WORD_FAMILY,
+ EC_WORD_HER,
+ EC_WORD_HIM,
+ EC_WORD_HE,
+ EC_WORD_PLACE,
+ EC_WORD_DAUGHTER,
+ EC_WORD_HIS,
+ EC_WORD_HE_S,
+ EC_WORD_AREN_T,
+ EC_WORD_SIBLINGS,
+ EC_WORD_KID,
+ EC_WORD_CHILDREN,
+ EC_WORD_MR,
+ EC_WORD_MRS,
+ EC_WORD_MYSELF,
+ EC_WORD_I_WAS,
+ EC_WORD_TO_ME,
+ EC_WORD_MY,
+ EC_WORD_I_AM,
+ EC_WORD_I_VE,
+ EC_WORD_WHO,
+ EC_WORD_SOMEONE,
+ EC_WORD_WHO_WAS,
+ EC_WORD_TO_WHOM,
+ EC_WORD_WHOSE,
+ EC_WORD_WHO_IS,
+ EC_WORD_IT_S,
+ EC_WORD_LADY,
+ EC_WORD_FRIEND,
+ EC_WORD_ALLY,
+ EC_WORD_PERSON,
+ EC_WORD_DUDE,
+ EC_WORD_THEY,
+ EC_WORD_THEY_WERE,
+ EC_WORD_TO_THEM,
+ EC_WORD_THEIR,
+ EC_WORD_THEY_RE,
+ EC_WORD_THEY_VE,
+ EC_WORD_WE,
+ EC_WORD_BEEN,
+ EC_WORD_TO_US,
+ EC_WORD_OUR,
+ EC_WORD_WE_RE,
+ EC_WORD_RIVAL,
+ EC_WORD_WE_VE,
+ EC_WORD_WOMAN,
+ EC_WORD_SHE,
+ EC_WORD_SHE_WAS,
+ EC_WORD_TO_HER,
+ EC_WORD_HERS,
+ EC_WORD_SHE_IS,
+ EC_WORD_SOME
+};
+enum {
+ EC_WORD_EXCL = EC_GROUP_VOICES << 9,
+ EC_WORD_EXCL_EXCL,
+ EC_WORD_QUES_EXCL,
+ EC_WORD_QUES,
+ EC_WORD_ELLIPSIS,
+ EC_WORD_ELLIPSIS_EXCL,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_DASH,
+ EC_WORD_DASH_DASH_DASH,
+ EC_WORD_UH_OH,
+ EC_WORD_WAAAH,
+ EC_WORD_AHAHA,
+ EC_WORD_OH_QUES,
+ EC_WORD_NOPE,
+ EC_WORD_URGH,
+ EC_WORD_HMM,
+ EC_WORD_WHOAH,
+ EC_WORD_WROOOAAR_EXCL,
+ EC_WORD_WOW,
+ EC_WORD_GIGGLE,
+ EC_WORD_SIGH,
+ EC_WORD_UNBELIEVABLE,
+ EC_WORD_CRIES,
+ EC_WORD_AGREE,
+ EC_WORD_EH_QUES,
+ EC_WORD_CRY,
+ EC_WORD_EHEHE,
+ EC_WORD_OI_OI_OI,
+ EC_WORD_OH_YEAH,
+ EC_WORD_OH,
+ EC_WORD_OOPS,
+ EC_WORD_SHOCKED,
+ EC_WORD_EEK,
+ EC_WORD_GRAAAH,
+ EC_WORD_GWAHAHAHA,
+ EC_WORD_WAY,
+ EC_WORD_TCH,
+ EC_WORD_HEHE,
+ EC_WORD_HAH,
+ EC_WORD_YUP,
+ EC_WORD_HAHAHA,
+ EC_WORD_AIYEEH,
+ EC_WORD_HIYAH,
+ EC_WORD_FUFUFU,
+ EC_WORD_LOL,
+ EC_WORD_SNORT,
+ EC_WORD_HUMPH,
+ EC_WORD_HEHEHE,
+ EC_WORD_HEH,
+ EC_WORD_HOHOHO,
+ EC_WORD_UH_HUH,
+ EC_WORD_OH_DEAR,
+ EC_WORD_ARRGH,
+ EC_WORD_MUFUFU,
+ EC_WORD_MMM,
+ EC_WORD_OH_KAY,
+ EC_WORD_OKAY,
+ EC_WORD_LALALA,
+ EC_WORD_YAY,
+ EC_WORD_AWW,
+ EC_WORD_WOWEE,
+ EC_WORD_GWAH,
+ EC_WORD_WAHAHAHA
+};
+enum {
+ EC_WORD_LISTEN = EC_GROUP_SPEECH << 9,
+ EC_WORD_NOT_VERY,
+ EC_WORD_MEAN,
+ EC_WORD_LIE,
+ EC_WORD_LAY,
+ EC_WORD_RECOMMEND,
+ EC_WORD_NITWIT,
+ EC_WORD_QUITE,
+ EC_WORD_FROM,
+ EC_WORD_FEELING,
+ EC_WORD_BUT,
+ EC_WORD_HOWEVER,
+ EC_WORD_CASE,
+ EC_WORD_THE,
+ EC_WORD_MISS,
+ EC_WORD_HOW,
+ EC_WORD_HIT,
+ EC_WORD_ENOUGH,
+ EC_WORD_A_LOT,
+ EC_WORD_A_LITTLE,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_AND,
+ EC_WORD_ONLY,
+ EC_WORD_AROUND,
+ EC_WORD_PROBABLY,
+ EC_WORD_IF,
+ EC_WORD_VERY,
+ EC_WORD_A_TINY_BIT,
+ EC_WORD_WILD,
+ EC_WORD_THAT_S,
+ EC_WORD_JUST,
+ EC_WORD_EVEN_SO,
+ EC_WORD_MUST_BE,
+ EC_WORD_NATURALLY,
+ EC_WORD_FOR_NOW,
+ EC_WORD_UNDERSTOOD,
+ EC_WORD_JOKING,
+ EC_WORD_READY,
+ EC_WORD_SOMETHING,
+ EC_WORD_SOMEHOW,
+ EC_WORD_ALTHOUGH,
+ EC_WORD_ALSO,
+ EC_WORD_PERFECT,
+ EC_WORD_AS_MUCH_AS,
+ EC_WORD_REALLY,
+ EC_WORD_TRULY,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_TOTALLY,
+ EC_WORD_UNTIL,
+ EC_WORD_AS_IF,
+ EC_WORD_MOOD,
+ EC_WORD_RATHER,
+ EC_WORD_AWFULLY,
+ EC_WORD_MODE,
+ EC_WORD_MORE,
+ EC_WORD_TOO_LATE,
+ EC_WORD_FINALLY,
+ EC_WORD_ANY,
+ EC_WORD_INSTEAD,
+ EC_WORD_FANTASTIC
+};
+enum {
+ EC_WORD_WILL = EC_GROUP_ENDINGS << 9,
+ EC_WORD_WILL_BE_HERE,
+ EC_WORD_OR,
+ EC_WORD_TIMES,
+ EC_WORD_WONDER,
+ EC_WORD_IS_IT_QUES,
+ EC_WORD_BE,
+ EC_WORD_GIMME,
+ EC_WORD_COULD,
+ EC_WORD_LIKELY_TO,
+ EC_WORD_WOULD,
+ EC_WORD_IS,
+ EC_WORD_ISN_T_IT_QUES,
+ EC_WORD_LET_S,
+ EC_WORD_OTHER,
+ EC_WORD_ARE,
+ EC_WORD_WAS,
+ EC_WORD_WERE,
+ EC_WORD_THOSE,
+ EC_WORD_ISN_T,
+ EC_WORD_WON_T,
+ EC_WORD_CAN_T,
+ EC_WORD_CAN,
+ EC_WORD_DON_T,
+ EC_WORD_DO,
+ EC_WORD_DOES,
+ EC_WORD_WHOM,
+ EC_WORD_WHICH,
+ EC_WORD_WASN_T,
+ EC_WORD_WEREN_T,
+ EC_WORD_HAVE,
+ EC_WORD_HAVEN_T,
+ EC_WORD_A,
+ EC_WORD_AN,
+ EC_WORD_NOT,
+ EC_WORD_THERE,
+ EC_WORD_OK_QUES,
+ EC_WORD_SO,
+ EC_WORD_MAYBE,
+ EC_WORD_ABOUT,
+ EC_WORD_OVER,
+ EC_WORD_IT,
+ EC_WORD_ALL,
+ EC_WORD_FOR,
+ EC_WORD_ON,
+ EC_WORD_OFF,
+ EC_WORD_AS,
+ EC_WORD_TO,
+ EC_WORD_WITH,
+ EC_WORD_BETTER,
+ EC_WORD_EVER,
+ EC_WORD_SINCE,
+ EC_WORD_OF,
+ EC_WORD_BELONGS_TO,
+ EC_WORD_AT,
+ EC_WORD_IN,
+ EC_WORD_OUT,
+ EC_WORD_TOO,
+ EC_WORD_LIKE,
+ EC_WORD_DID,
+ EC_WORD_DIDN_T,
+ EC_WORD_DOESN_T,
+ EC_WORD_WITHOUT,
+ EC_WORD_AFTER,
+ EC_WORD_BEFORE,
+ EC_WORD_WHILE,
+ EC_WORD_THAN,
+ EC_WORD_ONCE,
+ EC_WORD_ANYWHERE
+};
+enum {
+ EC_WORD_MEET = EC_GROUP_FEELINGS << 9,
+ EC_WORD_PLAY,
+ EC_WORD_HURRIED,
+ EC_WORD_GOES,
+ EC_WORD_GIDDY,
+ EC_WORD_HAPPY,
+ EC_WORD_HAPPINESS,
+ EC_WORD_EXCITE,
+ EC_WORD_IMPORTANT,
+ EC_WORD_FUNNY,
+ EC_WORD_GOT,
+ EC_WORD_GO_HOME,
+ EC_WORD_DISAPPOINTED,
+ EC_WORD_DISAPPOINTS,
+ EC_WORD_SAD,
+ EC_WORD_TRY,
+ EC_WORD_TRIES,
+ EC_WORD_HEARS,
+ EC_WORD_THINK,
+ EC_WORD_HEAR,
+ EC_WORD_WANTS,
+ EC_WORD_MISHEARD,
+ EC_WORD_DISLIKE,
+ EC_WORD_ANGRY,
+ EC_WORD_ANGER,
+ EC_WORD_SCARY,
+ EC_WORD_LONESOME,
+ EC_WORD_DISAPPOINT,
+ EC_WORD_JOY,
+ EC_WORD_GETS,
+ EC_WORD_NEVER,
+ EC_WORD_DARN,
+ EC_WORD_DOWNCAST,
+ EC_WORD_INCREDIBLE,
+ EC_WORD_LIKES,
+ EC_WORD_DISLIKES,
+ EC_WORD_BORING,
+ EC_WORD_CARE,
+ EC_WORD_CARES,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_ADORE,
+ EC_WORD_DISASTER,
+ EC_WORD_ENJOY,
+ EC_WORD_ENJOYS,
+ EC_WORD_EAT,
+ EC_WORD_LACKING,
+ EC_WORD_BAD,
+ EC_WORD_HARD,
+ EC_WORD_TERRIBLE,
+ EC_WORD_SHOULD,
+ EC_WORD_NICE,
+ EC_WORD_DRINK,
+ EC_WORD_SURPRISE,
+ EC_WORD_FEAR,
+ EC_WORD_WANT,
+ EC_WORD_WAIT,
+ EC_WORD_SATISFIED,
+ EC_WORD_SEE,
+ EC_WORD_RARE,
+ EC_WORD_NEGATIVE,
+ EC_WORD_DONE,
+ EC_WORD_DANGER,
+ EC_WORD_DEFEATED,
+ EC_WORD_BEAT,
+ EC_WORD_GREAT,
+ EC_WORD_ROMANTIC,
+ EC_WORD_QUESTION,
+ EC_WORD_UNDERSTAND,
+ EC_WORD_UNDERSTANDS
+};
+enum {
+ EC_WORD_HOT = EC_GROUP_CONDITIONS << 9,
+ EC_WORD_EXISTS,
+ EC_WORD_EXCESS,
+ EC_WORD_APPROVED,
+ EC_WORD_HAS,
+ EC_WORD_GOOD,
+ EC_WORD_LESS,
+ EC_WORD_MOMENTUM,
+ EC_WORD_GOING,
+ EC_WORD_WEIRD,
+ EC_WORD_BUSY,
+ EC_WORD_TOGETHER,
+ EC_WORD_FULL,
+ EC_WORD_ABSENT,
+ EC_WORD_BEING,
+ EC_WORD_NEED,
+ EC_WORD_TASTY,
+ EC_WORD_SKILLED,
+ EC_WORD_NOISY,
+ EC_WORD_BIG,
+ EC_WORD_LATE,
+ EC_WORD_CLOSE,
+ EC_WORD_DOCILE,
+ EC_WORD_AMUSING,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_PERFECTION,
+ EC_WORD_PRETTY,
+ EC_WORD_HEALTHY,
+ EC_WORD_EXCELLENT,
+ EC_WORD_UPSIDE_DOWN,
+ EC_WORD_COLD,
+ EC_WORD_REFRESHING,
+ EC_WORD_UNAVOIDABLE,
+ EC_WORD_MUCH,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_FABULOUS,
+ EC_WORD_ELSE,
+ EC_WORD_EXPENSIVE,
+ EC_WORD_CORRECT,
+ EC_WORD_IMPOSSIBLE,
+ EC_WORD_SMALL,
+ EC_WORD_DIFFERENT,
+ EC_WORD_TIRED,
+ EC_WORD_SKILL,
+ EC_WORD_TOP,
+ EC_WORD_NON_STOP,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_NONE,
+ EC_WORD_NOTHING,
+ EC_WORD_NATURAL,
+ EC_WORD_BECOMES,
+ EC_WORD_LUKEWARM,
+ EC_WORD_FAST,
+ EC_WORD_LOW,
+ EC_WORD_AWFUL,
+ EC_WORD_ALONE,
+ EC_WORD_BORED,
+ EC_WORD_SECRET,
+ EC_WORD_MYSTERY,
+ EC_WORD_LACKS,
+ EC_WORD_BEST,
+ EC_WORD_LOUSY,
+ EC_WORD_MISTAKE,
+ EC_WORD_KIND,
+ EC_WORD_WELL,
+ EC_WORD_WEAKENED,
+ EC_WORD_SIMPLE,
+ EC_WORD_SEEMS,
+ EC_WORD_BADLY
+};
+enum {
+ EC_WORD_MEETS = EC_GROUP_ACTIONS << 9,
+ EC_WORD_CONCEDE,
+ EC_WORD_GIVE,
+ EC_WORD_GIVES,
+ EC_WORD_PLAYED,
+ EC_WORD_PLAYS,
+ EC_WORD_COLLECT,
+ EC_WORD_WALKING,
+ EC_WORD_WALKS,
+ EC_WORD_SAYS,
+ EC_WORD_WENT,
+ EC_WORD_SAID,
+ EC_WORD_WAKE_UP,
+ EC_WORD_WAKES_UP,
+ EC_WORD_ANGERS,
+ EC_WORD_TEACH,
+ EC_WORD_TEACHES,
+ EC_WORD_PLEASE,
+ EC_WORD_LEARN,
+ EC_WORD_CHANGE,
+ EC_WORD_STORY,
+ EC_WORD_TRUST,
+ EC_WORD_LAVISH,
+ EC_WORD_LISTENS,
+ EC_WORD_HEARING,
+ EC_WORD_TRAINS,
+ EC_WORD_CHOOSE,
+ EC_WORD_COME,
+ EC_WORD_CAME,
+ EC_WORD_SEARCH,
+ EC_WORD_MAKE,
+ EC_WORD_CAUSE,
+ EC_WORD_KNOW,
+ EC_WORD_KNOWS,
+ EC_WORD_REFUSE,
+ EC_WORD_STORES,
+ EC_WORD_BRAG,
+ EC_WORD_IGNORANT,
+ EC_WORD_THINKS,
+ EC_WORD_BELIEVE,
+ EC_WORD_SLIDE,
+ EC_WORD_EATS,
+ EC_WORD_USE,
+ EC_WORD_USES,
+ EC_WORD_USING,
+ EC_WORD_COULDN_T,
+ EC_WORD_CAPABLE,
+ EC_WORD_DISAPPEAR,
+ EC_WORD_APPEAR,
+ EC_WORD_THROW,
+ EC_WORD_WORRY,
+ EC_WORD_SLEPT,
+ EC_WORD_SLEEP,
+ EC_WORD_RELEASE,
+ EC_WORD_DRINKS,
+ EC_WORD_RUNS,
+ EC_WORD_RUN,
+ EC_WORD_WORKS,
+ EC_WORD_WORKING,
+ EC_WORD_TALKING,
+ EC_WORD_TALK,
+ EC_WORD_SINK,
+ EC_WORD_SMACK,
+ EC_WORD_PRETEND,
+ EC_WORD_PRAISE,
+ EC_WORD_OVERDO,
+ EC_WORD_SHOW,
+ EC_WORD_LOOKS,
+ EC_WORD_SEES,
+ EC_WORD_SEEK,
+ EC_WORD_OWN,
+ EC_WORD_TAKE,
+ EC_WORD_ALLOW,
+ EC_WORD_FORGET,
+ EC_WORD_FORGETS,
+ EC_WORD_APPEARS,
+ EC_WORD_FAINT,
+ EC_WORD_FAINTED
+};
+enum {
+ EC_WORD_CHORES = EC_GROUP_LIFESTYLE << 9,
+ EC_WORD_HOME,
+ EC_WORD_MONEY,
+ EC_WORD_ALLOWANCE,
+ EC_WORD_BATH,
+ EC_WORD_CONVERSATION,
+ EC_WORD_SCHOOL,
+ EC_WORD_COMMEMORATE,
+ EC_WORD_HABIT,
+ EC_WORD_GROUP,
+ EC_WORD_WORD,
+ EC_WORD_STORE,
+ EC_WORD_SERVICE,
+ EC_WORD_WORK,
+ EC_WORD_SYSTEM,
+ EC_WORD_TRAIN,
+ EC_WORD_CLASS,
+ EC_WORD_LESSONS,
+ EC_WORD_INFORMATION,
+ EC_WORD_LIVING,
+ EC_WORD_TEACHER,
+ EC_WORD_TOURNAMENT,
+ EC_WORD_LETTER,
+ EC_WORD_EVENT,
+ EC_WORD_DIGITAL,
+ EC_WORD_TEST,
+ EC_WORD_DEPT_STORE,
+ EC_WORD_TELEVISION,
+ EC_WORD_PHONE,
+ EC_WORD_ITEM,
+ EC_WORD_NAME,
+ EC_WORD_NEWS,
+ EC_WORD_POPULAR,
+ EC_WORD_PARTY,
+ EC_WORD_STUDY,
+ EC_WORD_MACHINE,
+ EC_WORD_MAIL,
+ EC_WORD_MESSAGE,
+ EC_WORD_PROMISE,
+ EC_WORD_DREAM,
+ EC_WORD_KINDERGARTEN,
+ EC_WORD_LIFE,
+ EC_WORD_RADIO,
+ EC_WORD_RENTAL,
+ EC_WORD_WORLD
+};
+enum {
+ EC_WORD_IDOL = EC_GROUP_HOBBIES << 9,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ EC_WORD_MOVIE,
+ EC_WORD_SWEETS,
+ EC_WORD_CHAT,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_TOYS,
+ EC_WORD_MUSIC,
+ EC_WORD_CARDS,
+ EC_WORD_SHOPPING,
+ EC_WORD_CAMERA,
+ EC_WORD_VIEWING,
+ EC_WORD_SPECTATOR,
+ EC_WORD_GOURMET,
+ EC_WORD_GAME,
+ EC_WORD_RPG,
+ EC_WORD_COLLECTION,
+ EC_WORD_COMPLETE,
+ EC_WORD_MAGAZINE,
+ EC_WORD_WALK,
+ EC_WORD_BIKE,
+ EC_WORD_HOBBY,
+ EC_WORD_SPORTS,
+ EC_WORD_SOFTWARE,
+ EC_WORD_SONGS,
+ EC_WORD_DIET,
+ EC_WORD_TREASURE,
+ EC_WORD_TRAVEL,
+ EC_WORD_DANCE,
+ EC_WORD_CHANNEL,
+ EC_WORD_MAKING,
+ EC_WORD_FISHING,
+ EC_WORD_DATE,
+ EC_WORD_DESIGN,
+ EC_WORD_LOCOMOTIVE,
+ EC_WORD_PLUSH_DOLL,
+ EC_WORD_PC,
+ EC_WORD_FLOWERS,
+ EC_WORD_HERO,
+ EC_WORD_NAP,
+ EC_WORD_HEROINE,
+ EC_WORD_FASHION,
+ EC_WORD_ADVENTURE,
+ EC_WORD_BOARD,
+ EC_WORD_BALL,
+ EC_WORD_BOOK,
+ EC_WORD_FESTIVAL,
+ EC_WORD_COMICS,
+ EC_WORD_HOLIDAY,
+ EC_WORD_PLANS,
+ EC_WORD_TRENDY,
+ EC_WORD_VACATION,
+ EC_WORD_LOOK
+};
+enum {
+ EC_WORD_FALL = EC_GROUP_TIME << 9,
+ EC_WORD_MORNING,
+ EC_WORD_TOMORROW,
+ EC_WORD_LAST,
+ EC_WORD_DAY,
+ EC_WORD_SOMETIME,
+ EC_WORD_ALWAYS,
+ EC_WORD_CURRENT,
+ EC_WORD_FOREVER,
+ EC_WORD_DAYS,
+ EC_WORD_END,
+ EC_WORD_TUESDAY,
+ EC_WORD_YESTERDAY,
+ EC_WORD_TODAY,
+ EC_WORD_FRIDAY,
+ EC_WORD_MONDAY,
+ EC_WORD_LATER,
+ EC_WORD_EARLIER,
+ EC_WORD_ANOTHER,
+ EC_WORD_TIME,
+ EC_WORD_FINISH,
+ EC_WORD_WEDNESDAY,
+ EC_WORD_SOON,
+ EC_WORD_START,
+ EC_WORD_MONTH,
+ EC_WORD_STOP,
+ EC_WORD_NOW,
+ EC_WORD_FINAL,
+ EC_WORD_NEXT,
+ EC_WORD_AGE,
+ EC_WORD_SATURDAY,
+ EC_WORD_SUMMER,
+ EC_WORD_SUNDAY,
+ EC_WORD_BEGINNING,
+ EC_WORD_SPRING,
+ EC_WORD_DAYTIME,
+ EC_WORD_WINTER,
+ EC_WORD_DAILY,
+ EC_WORD_OLDEN,
+ EC_WORD_ALMOST,
+ EC_WORD_NEARLY,
+ EC_WORD_THURSDAY,
+ EC_WORD_NIGHTTIME,
+ EC_WORD_NIGHT,
+ EC_WORD_WEEK
+};
+enum {
+ EC_WORD_HIGHS = EC_GROUP_MISC << 9,
+ EC_WORD_LOWS,
+ EC_WORD_UM,
+ EC_WORD_REAR,
+ EC_WORD_THINGS,
+ EC_WORD_THING,
+ EC_WORD_BELOW,
+ EC_WORD_ABOVE,
+ EC_WORD_BACK,
+ EC_WORD_HIGH,
+ EC_WORD_HERE,
+ EC_WORD_INSIDE,
+ EC_WORD_OUTSIDE,
+ EC_WORD_BESIDE,
+ EC_WORD_THIS_IS_IT_EXCL,
+ EC_WORD_THIS,
+ EC_WORD_EVERY,
+ EC_WORD_THESE,
+ EC_WORD_THESE_WERE,
+ EC_WORD_DOWN,
+ EC_WORD_THAT,
+ EC_WORD_THOSE_ARE,
+ EC_WORD_THOSE_WERE,
+ EC_WORD_THAT_S_IT_EXCL,
+ EC_WORD_AM,
+ EC_WORD_THAT_WAS,
+ EC_WORD_FRONT,
+ EC_WORD_UP,
+ EC_WORD_CHOICE,
+ EC_WORD_FAR,
+ EC_WORD_AWAY,
+ EC_WORD_NEAR,
+ EC_WORD_WHERE,
+ EC_WORD_WHEN,
+ EC_WORD_WHAT,
+ EC_WORD_DEEP,
+ EC_WORD_SHALLOW,
+ EC_WORD_WHY,
+ EC_WORD_CONFUSED,
+ EC_WORD_OPPOSITE,
+ EC_WORD_LEFT,
+ EC_WORD_RIGHT
+};
+enum {
+ EC_WORD_WANDERING = EC_GROUP_ADJECTIVES << 9,
+ EC_WORD_RICKETY,
+ EC_WORD_ROCK_SOLID,
+ EC_WORD_HUNGRY,
+ EC_WORD_TIGHT,
+ EC_WORD_TICKLISH,
+ EC_WORD_TWIRLING,
+ EC_WORD_SPIRALING,
+ EC_WORD_THIRSTY,
+ EC_WORD_LOLLING,
+ EC_WORD_SILKY,
+ EC_WORD_SADLY,
+ EC_WORD_HOPELESS,
+ EC_WORD_USELESS,
+ EC_WORD_DROOLING,
+ EC_WORD_EXCITING,
+ EC_WORD_THICK,
+ EC_WORD_SMOOTH,
+ EC_WORD_SLIMY,
+ EC_WORD_THIN,
+ EC_WORD_BREAK,
+ EC_WORD_VORACIOUS,
+ EC_WORD_SCATTER,
+ EC_WORD_AWESOME,
+ EC_WORD_WIMPY,
+ EC_WORD_WOBBLY,
+ EC_WORD_SHAKY,
+ EC_WORD_RIPPED,
+ EC_WORD_SHREDDED,
+ EC_WORD_INCREASING,
+ EC_WORD_YET,
+ EC_WORD_DESTROYED,
+ EC_WORD_FIERY,
+ EC_WORD_LOVEY_DOVEY,
+ EC_WORD_HAPPILY,
+ EC_WORD_ANTICIPATION
+};
+enum {
+ EC_WORD_APPEAL = EC_GROUP_EVENTS << 9,
+ EC_WORD_EVENTS,
+ EC_WORD_STAY_AT_HOME,
+ EC_WORD_BERRY,
+ EC_WORD_CONTEST,
+ EC_WORD_MC,
+ EC_WORD_JUDGE,
+ EC_WORD_SUPER,
+ EC_WORD_STAGE,
+ EC_WORD_HALL_OF_FAME,
+ EC_WORD_EVOLUTION,
+ EC_WORD_HYPER,
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_LEADERS,
+ EC_WORD_BATTLE_ROOM,
+ EC_WORD_HIDDEN,
+ EC_WORD_SECRET_BASE,
+ EC_WORD_BLEND,
+ EC_WORD_POKEBLOCK,
+ EC_WORD_MASTER,
+ EC_WORD_RANK,
+ EC_WORD_RIBBON
+};
+enum {
+ EC_WORD_KTHX_BYE = EC_GROUP_TRENDY_SAYING << 9,
+ EC_WORD_YES_SIR_EXCL,
+ EC_WORD_AVANT_GARDE,
+ EC_WORD_COUPLE,
+ EC_WORD_MUCH_OBLIGED,
+ EC_WORD_YEEHAW_EXCL,
+ EC_WORD_MEGA,
+ EC_WORD_1_HIT_KO_EXCL,
+ EC_WORD_DESTINY,
+ EC_WORD_CANCEL,
+ EC_WORD_NEW,
+ EC_WORD_FLATTEN,
+ EC_WORD_KIDDING,
+ EC_WORD_LOSER,
+ EC_WORD_LOSING,
+ EC_WORD_HAPPENING,
+ EC_WORD_HIP_AND,
+ EC_WORD_SHAKE,
+ EC_WORD_SHADY,
+ EC_WORD_UPBEAT,
+ EC_WORD_MODERN,
+ EC_WORD_SMELL_YA,
+ EC_WORD_BANG,
+ EC_WORD_KNOCKOUT,
+ EC_WORD_HASSLE,
+ EC_WORD_WINNER,
+ EC_WORD_FEVER,
+ EC_WORD_WANNABE,
+ EC_WORD_BABY,
+ EC_WORD_HEART,
+ EC_WORD_OLD,
+ EC_WORD_YOUNG,
+ EC_WORD_UGLY
+};
+
+#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
+#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)
+#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move)
+#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move)
+
+extern u8 gUnknown_020388AC;
u16 sub_80EB72C(u16 group);
void sub_80EB6FC(u16 *, u16);
diff --git a/include/evolution_scene.h b/include/evolution_scene.h
new file mode 100644
index 000000000..ec78cb9ad
--- /dev/null
+++ b/include/evolution_scene.h
@@ -0,0 +1,12 @@
+//
+// Created by Scott Norton on 9/3/17.
+//
+
+#ifndef POKERUBY_EVOLUTION_SCENE_H
+#define POKERUBY_EVOLUTION_SCENE_H
+
+extern MainCallback gUnknown_03005E94;
+
+void TradeEvolutionScene(struct Pokemon *, u16, u8, u8);
+
+#endif //POKERUBY_EVOLUTION_SCENE_H
diff --git a/include/gba/macro.h b/include/gba/macro.h
index 230fb4383..1e0254806 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -84,4 +84,38 @@
dmaRegs[5]; \
}
+#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, (block)); \
+ _src += (block); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16)
+
+#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32)
+
+#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+}
+
+#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
+#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
+
#endif // GUARD_GBA_MACRO_H
diff --git a/include/global.h b/include/global.h
index f076274cc..07ea6a410 100644
--- a/include/global.h
+++ b/include/global.h
@@ -651,8 +651,8 @@ struct SaveBlock1 /* 0x02025734 */
/*0x30B7*/ u8 filler_30B7[1];
/*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x3108*/ u8 filler_3108[8];
- /*0x3110*/ u8 giftRibbons[7];
- /*0x3117*/ u8 filler_311B[0x2D];
+ /*0x3110*/ u8 giftRibbons[11];
+ /*0x3117*/ u8 filler_311B[0x29];
/*0x3144*/ struct Roamer roamer;
/*0x3160*/ struct EnigmaBerry enigmaBerry;
/*0x3690*/ struct RamScript ramScript;
diff --git a/include/graphics.h b/include/graphics.h
index 5632cb831..f3a722b40 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2564,4 +2564,13 @@ extern const u8 gUnknown_08E8CFC0[];
extern const u8 gUnknown_08E8D4C0[];
extern const u8 gUnknown_08E8D9C0[];
+extern const u8 gUnknown_08EA1DEC[];
+extern const u16 gUnknown_08EA0328[];
+extern const u16 gUnknown_08EA02C8[];
+extern const u16 gUnknown_08EA0348[];
+extern const u16 gUnknown_08EA15C8[];
+extern const u16 gTradeMonBoxTilemap[];
+extern const u8 gUnknown_08D00000[];
+extern const u16 gUnknown_08D00524[];
+extern const u8 gUnknown_08D004E0[];
#endif // GUARD_GRAPHICS_H
diff --git a/include/menu_cursor.h b/include/menu_cursor.h
index ca82ef244..6d31cc29f 100644
--- a/include/menu_cursor.h
+++ b/include/menu_cursor.h
@@ -21,4 +21,8 @@ void sub_814AD7C(u8 a1, u8 a2);
void sub_814ADC8(void);
void sub_814ADF4(u8 a1);
+#if GERMAN
+extern const u32 gUnknown_0842F798[2];
+#endif
+
#endif // GUARD_MENU_CURSOR_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 9ce476869..8abaf58f4 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -87,6 +87,7 @@ void LoadHeldItemIconGraphics(void);
void LoadHeldItemIconGraphics(void);
void CreateHeldItemIcons_806DC34(); // undefined args
void CreateHeldItemIcons_806DC34();
+void CreateHeldItemIcons(u8 *, u8 *, u8);
u8 GetMonIconSpriteId_maybe();
void SetHeldItemIconVisibility();
void TryPrintPartyMenuMonNickname();
@@ -151,5 +152,6 @@ void DoRareCandyItemEffect(u8, u16, TaskFunc);
void Task_RareCandy1(u8);
void Task_RareCandy2(u8);
void sub_8070848(u8 taskId);
+void sub_809D62C(struct Sprite *);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 19f813415..0a709c869 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -7,5 +7,6 @@ void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u32 s
void sub_804777C(u8);
void sub_80478DC(u8);
void sub_804794C(u8);
+u8 sub_8047580(u8, u8, u8, u8, u8, u8, u8, u32);
#endif // GUARD_POKEBALL_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 594295b40..6ff36a2c4 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -599,5 +599,7 @@ u8 *sub_8040D08();
bool32 sub_8040D3C(u16 species, u8 *name, u8 language);
s8 sub_8040A54(struct Pokemon *, u8);
u16 GetMonEVCount(struct Pokemon *);
+u16 GetEvolutionTargetSpecies(struct Pokemon *, u8, u16);
+const struct CompressedSpritePalette *sub_8040990(struct Pokemon *);
#endif // GUARD_POKEMON_H
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 98f984564..6f00619fc 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -1,7 +1,7 @@
#ifndef GUARD_POKEMON_ICON_H
#define GUARD_POKEMON_ICON_H
-u8 CreateMonIcon();
+u8 CreateMonIcon(u16, void (*callback)(struct Sprite *), s16, s16, bool8, u32);
u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4);
u16 GetUnownLetterByPersonality(u32);
u16 sub_809D4A8(u16);
@@ -10,5 +10,6 @@ void sub_809D51C(void);
void sub_809D580(u16);
void sub_809D608(u16);
void UpdateMonIconFrame(struct Sprite *sprite);
+void sub_809D824(struct Sprite *, u8);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index c1b99c367..845e39990 100644
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -13,5 +13,6 @@ u8 *sub_80A1E9C(u8 *dest, const u8 *src, u8);
u8 *PokemonSummaryScreen_CopyPokemonLevel(u8 *dest, u8 level);
u8 PokemonSummaryScreen_CheckOT(struct Pokemon *pokemon);
bool8 CheckPartyPokerus(struct Pokemon *, u8);
+bool8 sub_8040A3C(u16);
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
diff --git a/include/rom4.h b/include/rom4.h
index daccad7e9..896530041 100644
--- a/include/rom4.h
+++ b/include/rom4.h
@@ -233,5 +233,6 @@ u8 npc_something3(u8, u8);
u8 LinkPlayerDetectCollision(u8, u8, s16, s16);
void CreateLinkPlayerSprite(u8);
void SpriteCB_LinkPlayer(struct Sprite *);
+void sub_805465C(void);
#endif // GUARD_ROM4_H
diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h
index 11e94e1f5..34ad7b432 100644
--- a/include/rom_8077ABC.h
+++ b/include/rom_8077ABC.h
@@ -55,5 +55,6 @@ void sub_807A784(u8 taskId);
void sub_807A850(struct Task *task, u8 taskId);
void sub_807A8D4(struct Sprite *sprite);
void sub_807A960(struct Sprite *sprite);
+void sub_8078A34(struct Sprite *sprite);
#endif // GUARD_ROM_8077ABC_H
diff --git a/include/strings2.h b/include/strings2.h
index 600bb2d31..8052c6c4a 100644
--- a/include/strings2.h
+++ b/include/strings2.h
@@ -319,4 +319,8 @@ extern const u8 gOtherText_OK[];
// wallclock
extern const u8 gOtherText_CorrectTimePrompt[];
+#if GERMAN
+extern const u8 deuOtherText_ForgotAndLearned[];
+#endif
+
#endif // GUARD_STRINGS2_H
diff --git a/include/text.h b/include/text.h
index 9a70dec11..b93653bc2 100644
--- a/include/text.h
+++ b/include/text.h
@@ -125,7 +125,7 @@ struct Window
/*0x20*/ const u8 *text;
/*0x24*/ u8 *tileData;
/*0x28*/ u16 *tilemap;
- /*0x2C*/ struct WindowConfig *config;
+ /*0x2C*/ const struct WindowConfig *config;
};
extern vu16 *const gBGControlRegs[];
@@ -202,6 +202,7 @@ extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
+extern u8 gTileBuffer[];
void LoadFontDefaultPalette(const struct WindowConfig *winConfig);
void SetUpWindowConfig(const struct WindowConfig *winConfig);
@@ -244,8 +245,8 @@ u8 sub_8004D38(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 l
u8 sub_8004DB0(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top, u16 a6);
u8 sub_8004E24(struct Window *win);
void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow);
-void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text);
-u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s);
+void sub_8004E3C(const struct WindowConfig *winConfig, u8 *tileData, const u8 *text);
+u8 GetStringWidthGivenWindowConfig(const struct WindowConfig *winConfig, const u8 *s);
void ConvertInternationalString(u8 *s, u8 language);
void StripExtCtrlCodes(u8 *str);
s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
diff --git a/include/trade.h b/include/trade.h
new file mode 100644
index 000000000..bf744f8d4
--- /dev/null
+++ b/include/trade.h
@@ -0,0 +1,19 @@
+//
+// Created by scott on 9/2/2017.
+//
+
+#ifndef POKERUBY_TRADE_H
+#define POKERUBY_TRADE_H
+
+extern const u16 gUnknown_0820C9F8[][16];
+extern const u32 gUnknown_0820CA98[];
+extern const u16 gUnknown_0820F798[];
+
+void sub_8047CD8(void);
+u16 sub_804DB2C(void);
+void sub_804DB68(void);
+void sub_804E174(void);
+void sub_804E22C(void);
+u16 sub_804D89C(void);
+
+#endif //POKERUBY_TRADE_H
diff --git a/include/util.h b/include/util.h
index cd50b75cc..87fa4aecc 100644
--- a/include/util.h
+++ b/include/util.h
@@ -10,5 +10,6 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
u16 CalcCRC16(u8 *data, int length);
+void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
#endif // GUARD_UTIL_H