diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-18 08:19:12 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-18 08:19:12 -0400 |
commit | ffc909a19c8640993b247f067f8ab678dbb5f32f (patch) | |
tree | f455cf620228391960e1bb55a9483930b073e9eb /arm9/src | |
parent | 985f98f8f7a54acf3664bbf0eb9f62270f58eb96 (diff) | |
parent | b51fd5e65388a585986b5cbd7cf8be90c36040e8 (diff) |
Merge branch 'pikalax_work' of github.com:PikalaxALT/pokediamond into pikalax_work
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/pokemon.c | 482 | ||||
-rw-r--r-- | arm9/src/unk_0207FC5C.c | 533 |
2 files changed, 774 insertions, 241 deletions
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c index dbf86d8a..20784ff6 100644 --- a/arm9/src/pokemon.c +++ b/arm9/src/pokemon.c @@ -701,33 +701,33 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) ret = blockA->sheen; break; case MON_DATA_SINNOH_CHAMP_RIBBON: - case MON_DATA_SINNOH_RIBBON_26: - case MON_DATA_SINNOH_RIBBON_27: - case MON_DATA_SINNOH_RIBBON_28: - case MON_DATA_SINNOH_RIBBON_29: - case MON_DATA_SINNOH_RIBBON_30: - case MON_DATA_SINNOH_RIBBON_31: - case MON_DATA_SINNOH_RIBBON_32: - case MON_DATA_SINNOH_RIBBON_33: - case MON_DATA_SINNOH_RIBBON_34: - case MON_DATA_SINNOH_RIBBON_35: - case MON_DATA_SINNOH_RIBBON_36: - case MON_DATA_SINNOH_RIBBON_37: - case MON_DATA_SINNOH_RIBBON_38: - case MON_DATA_SINNOH_RIBBON_39: - case MON_DATA_SINNOH_RIBBON_40: - case MON_DATA_SINNOH_RIBBON_41: - case MON_DATA_SINNOH_RIBBON_42: - case MON_DATA_SINNOH_RIBBON_43: - case MON_DATA_SINNOH_RIBBON_44: - case MON_DATA_SINNOH_RIBBON_45: - case MON_DATA_SINNOH_RIBBON_46: - case MON_DATA_SINNOH_RIBBON_47: - case MON_DATA_SINNOH_RIBBON_48: - case MON_DATA_SINNOH_RIBBON_49: - case MON_DATA_SINNOH_RIBBON_50: - case MON_DATA_SINNOH_RIBBON_51: - case MON_DATA_SINNOH_RIBBON_52: + case MON_DATA_ABILITY_RIBBON: + case MON_DATA_GREAT_ABILITY_RIBBON: + case MON_DATA_DOUBLE_ABILITY_RIBBON: + case MON_DATA_MULTI_ABILITY_RIBBON: + case MON_DATA_PAIR_ABILITY_RIBBON: + case MON_DATA_WORLD_ABILITY_RIBBON: + case MON_DATA_ALERT_RIBBON: + case MON_DATA_SHOCK_RIBBON: + case MON_DATA_DOWNCAST_RIBBON: + case MON_DATA_CARELESS_RIBBON: + case MON_DATA_RELAX_RIBBON: + case MON_DATA_SNOOZE_RIBBON: + case MON_DATA_SMILE_RIBBON: + case MON_DATA_GORGEOUS_RIBBON: + case MON_DATA_ROYAL_RIBBON: + case MON_DATA_GORGEOUS_ROYAL_RIBBON: + case MON_DATA_FOOTPRINT_RIBBON: + case MON_DATA_RECORD_RIBBON: + case MON_DATA_HISTORY_RIBBON: + case MON_DATA_LEGEND_RIBBON: + case MON_DATA_RED_RIBBON: + case MON_DATA_GREEN_RIBBON: + case MON_DATA_BLUE_RIBBON: + case MON_DATA_FESTIVAL_RIBBON: + case MON_DATA_CARNIVAL_RIBBON: + case MON_DATA_CLASSIC_RIBBON: + case MON_DATA_PREMIER_RIBBON: case MON_DATA_SINNOH_RIBBON_53: { if (blockA->sinnohRibbons & (1ll << (attr - MON_DATA_SINNOH_CHAMP_RIBBON))) @@ -790,39 +790,39 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) case MON_DATA_HAS_NICKNAME: ret = blockB->isNicknamed; break; - case MON_DATA_COOL_RIBBON: - case MON_DATA_HOENN_RIBBON_79: - case MON_DATA_HOENN_RIBBON_80: - case MON_DATA_HOENN_RIBBON_81: - case MON_DATA_HOENN_RIBBON_82: - case MON_DATA_HOENN_RIBBON_83: - case MON_DATA_HOENN_RIBBON_84: - case MON_DATA_HOENN_RIBBON_85: - case MON_DATA_HOENN_RIBBON_86: - case MON_DATA_HOENN_RIBBON_87: - case MON_DATA_HOENN_RIBBON_88: - case MON_DATA_HOENN_RIBBON_89: - case MON_DATA_HOENN_RIBBON_90: - case MON_DATA_HOENN_RIBBON_91: - case MON_DATA_HOENN_RIBBON_92: - case MON_DATA_HOENN_RIBBON_93: - case MON_DATA_HOENN_RIBBON_94: - case MON_DATA_HOENN_RIBBON_95: - case MON_DATA_HOENN_RIBBON_96: - case MON_DATA_HOENN_RIBBON_97: - case MON_DATA_HOENN_RIBBON_98: - case MON_DATA_HOENN_RIBBON_99: - case MON_DATA_HOENN_RIBBON_100: - case MON_DATA_HOENN_RIBBON_101: - case MON_DATA_HOENN_RIBBON_102: - case MON_DATA_HOENN_RIBBON_103: - case MON_DATA_HOENN_RIBBON_104: - case MON_DATA_HOENN_RIBBON_105: - case MON_DATA_HOENN_RIBBON_106: - case MON_DATA_HOENN_RIBBON_107: - case MON_DATA_HOENN_RIBBON_108: - case MON_DATA_HOENN_RIBBON_109: - if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_COOL_RIBBON))) + case MON_DATA_HOENN_COOL_RIBBON: + case MON_DATA_HOENN_COOL_RIBBON_SUPER: + case MON_DATA_HOENN_COOL_RIBBON_HYPER: + case MON_DATA_HOENN_COOL_RIBBON_MASTER: + case MON_DATA_HOENN_BEAUTY_RIBBON: + case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER: + case MON_DATA_HOENN_CUTE_RIBBON: + case MON_DATA_HOENN_CUTE_RIBBON_SUPER: + case MON_DATA_HOENN_CUTE_RIBBON_HYPER: + case MON_DATA_HOENN_CUTE_RIBBON_MASTER: + case MON_DATA_HOENN_SMART_RIBBON: + case MON_DATA_HOENN_SMART_RIBBON_SUPER: + case MON_DATA_HOENN_SMART_RIBBON_HYPER: + case MON_DATA_HOENN_SMART_RIBBON_MASTER: + case MON_DATA_HOENN_TOUGH_RIBBON: + case MON_DATA_HOENN_TOUGH_RIBBON_SUPER: + case MON_DATA_HOENN_TOUGH_RIBBON_HYPER: + case MON_DATA_HOENN_TOUGH_RIBBON_MASTER: + case MON_DATA_HOENN_CHAMPION_RIBBON: + case MON_DATA_HOENN_WINNING_RIBBON: + case MON_DATA_HOENN_VICTORY_RIBBON: + case MON_DATA_HOENN_ARTIST_RIBBON: + case MON_DATA_HOENN_EFFORT_RIBBON: + case MON_DATA_HOENN_MARINE_RIBBON: + case MON_DATA_HOENN_LAND_RIBBON: + case MON_DATA_HOENN_SKY_RIBBON: + case MON_DATA_HOENN_COUNTRY_RIBBON: + case MON_DATA_HOENN_NATIONAL_RIBBON: + case MON_DATA_HOENN_EARTH_RIBBON: + case MON_DATA_HOENN_WORLD_RIBBON: + if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_HOENN_COOL_RIBBON))) ret = TRUE; else ret = FALSE; @@ -876,28 +876,28 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest) case MON_DATA_GAME_VERSION: ret = blockC->originGame; break; - case MON_DATA_SINNOH_RIBBON_122: - case MON_DATA_SINNOH_RIBBON_123: - case MON_DATA_SINNOH_RIBBON_124: - case MON_DATA_SINNOH_RIBBON_125: - case MON_DATA_SINNOH_RIBBON_126: - case MON_DATA_SINNOH_RIBBON_127: - case MON_DATA_SINNOH_RIBBON_128: - case MON_DATA_SINNOH_RIBBON_129: - case MON_DATA_SINNOH_RIBBON_130: - case MON_DATA_SINNOH_RIBBON_131: - case MON_DATA_SINNOH_RIBBON_132: - case MON_DATA_SINNOH_RIBBON_133: - case MON_DATA_SINNOH_RIBBON_134: - case MON_DATA_SINNOH_RIBBON_135: - case MON_DATA_SINNOH_RIBBON_136: - case MON_DATA_SINNOH_RIBBON_137: - case MON_DATA_SINNOH_RIBBON_138: - case MON_DATA_SINNOH_RIBBON_139: - case MON_DATA_SINNOH_RIBBON_140: - case MON_DATA_SINNOH_RIBBON_141: + case MON_DATA_COOL_RIBBON: + case MON_DATA_COOL_RIBBON_GREAT: + case MON_DATA_COOL_RIBBON_ULTRA: + case MON_DATA_COOL_RIBBON_MASTER: + case MON_DATA_BEAUTY_RIBBON: + case MON_DATA_BEAUTY_RIBBON_GREAT: + case MON_DATA_BEAUTY_RIBBON_ULTRA: + case MON_DATA_BEAUTY_RIBBON_MASTER: + case MON_DATA_CUTE_RIBBON: + case MON_DATA_CUTE_RIBBON_GREAT: + case MON_DATA_CUTE_RIBBON_ULTRA: + case MON_DATA_CUTE_RIBBON_MASTER: + case MON_DATA_SMART_RIBBON: + case MON_DATA_SMART_RIBBON_GREAT: + case MON_DATA_SMART_RIBBON_ULTRA: + case MON_DATA_SMART_RIBBON_MASTER: + case MON_DATA_TOUGH_RIBBON: + case MON_DATA_TOUGH_RIBBON_GREAT: + case MON_DATA_TOUGH_RIBBON_ULTRA: + case MON_DATA_TOUGH_RIBBON_MASTER: case MON_DATA_SINNOH_RIBBON_142: - if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_SINNOH_RIBBON_122))) + if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_COOL_RIBBON))) ret = TRUE; else ret = FALSE; @@ -1178,33 +1178,33 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value) blockA->sheen = VALUE(u8); break; case MON_DATA_SINNOH_CHAMP_RIBBON: - case MON_DATA_SINNOH_RIBBON_26: - case MON_DATA_SINNOH_RIBBON_27: - case MON_DATA_SINNOH_RIBBON_28: - case MON_DATA_SINNOH_RIBBON_29: - case MON_DATA_SINNOH_RIBBON_30: - case MON_DATA_SINNOH_RIBBON_31: - case MON_DATA_SINNOH_RIBBON_32: - case MON_DATA_SINNOH_RIBBON_33: - case MON_DATA_SINNOH_RIBBON_34: - case MON_DATA_SINNOH_RIBBON_35: - case MON_DATA_SINNOH_RIBBON_36: - case MON_DATA_SINNOH_RIBBON_37: - case MON_DATA_SINNOH_RIBBON_38: - case MON_DATA_SINNOH_RIBBON_39: - case MON_DATA_SINNOH_RIBBON_40: - case MON_DATA_SINNOH_RIBBON_41: - case MON_DATA_SINNOH_RIBBON_42: - case MON_DATA_SINNOH_RIBBON_43: - case MON_DATA_SINNOH_RIBBON_44: - case MON_DATA_SINNOH_RIBBON_45: - case MON_DATA_SINNOH_RIBBON_46: - case MON_DATA_SINNOH_RIBBON_47: - case MON_DATA_SINNOH_RIBBON_48: - case MON_DATA_SINNOH_RIBBON_49: - case MON_DATA_SINNOH_RIBBON_50: - case MON_DATA_SINNOH_RIBBON_51: - case MON_DATA_SINNOH_RIBBON_52: + case MON_DATA_ABILITY_RIBBON: + case MON_DATA_GREAT_ABILITY_RIBBON: + case MON_DATA_DOUBLE_ABILITY_RIBBON: + case MON_DATA_MULTI_ABILITY_RIBBON: + case MON_DATA_PAIR_ABILITY_RIBBON: + case MON_DATA_WORLD_ABILITY_RIBBON: + case MON_DATA_ALERT_RIBBON: + case MON_DATA_SHOCK_RIBBON: + case MON_DATA_DOWNCAST_RIBBON: + case MON_DATA_CARELESS_RIBBON: + case MON_DATA_RELAX_RIBBON: + case MON_DATA_SNOOZE_RIBBON: + case MON_DATA_SMILE_RIBBON: + case MON_DATA_GORGEOUS_RIBBON: + case MON_DATA_ROYAL_RIBBON: + case MON_DATA_GORGEOUS_ROYAL_RIBBON: + case MON_DATA_FOOTPRINT_RIBBON: + case MON_DATA_RECORD_RIBBON: + case MON_DATA_HISTORY_RIBBON: + case MON_DATA_LEGEND_RIBBON: + case MON_DATA_RED_RIBBON: + case MON_DATA_GREEN_RIBBON: + case MON_DATA_BLUE_RIBBON: + case MON_DATA_FESTIVAL_RIBBON: + case MON_DATA_CARNIVAL_RIBBON: + case MON_DATA_CLASSIC_RIBBON: + case MON_DATA_PREMIER_RIBBON: case MON_DATA_SINNOH_RIBBON_53: flag = VALUE(u8); mask = (u64)flag << (attr - MON_DATA_SINNOH_CHAMP_RIBBON); @@ -1255,40 +1255,40 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value) case MON_DATA_HAS_NICKNAME: blockB->isNicknamed = VALUE(u8); break; - case MON_DATA_COOL_RIBBON: - case MON_DATA_HOENN_RIBBON_79: - case MON_DATA_HOENN_RIBBON_80: - case MON_DATA_HOENN_RIBBON_81: - case MON_DATA_HOENN_RIBBON_82: - case MON_DATA_HOENN_RIBBON_83: - case MON_DATA_HOENN_RIBBON_84: - case MON_DATA_HOENN_RIBBON_85: - case MON_DATA_HOENN_RIBBON_86: - case MON_DATA_HOENN_RIBBON_87: - case MON_DATA_HOENN_RIBBON_88: - case MON_DATA_HOENN_RIBBON_89: - case MON_DATA_HOENN_RIBBON_90: - case MON_DATA_HOENN_RIBBON_91: - case MON_DATA_HOENN_RIBBON_92: - case MON_DATA_HOENN_RIBBON_93: - case MON_DATA_HOENN_RIBBON_94: - case MON_DATA_HOENN_RIBBON_95: - case MON_DATA_HOENN_RIBBON_96: - case MON_DATA_HOENN_RIBBON_97: - case MON_DATA_HOENN_RIBBON_98: - case MON_DATA_HOENN_RIBBON_99: - case MON_DATA_HOENN_RIBBON_100: - case MON_DATA_HOENN_RIBBON_101: - case MON_DATA_HOENN_RIBBON_102: - case MON_DATA_HOENN_RIBBON_103: - case MON_DATA_HOENN_RIBBON_104: - case MON_DATA_HOENN_RIBBON_105: - case MON_DATA_HOENN_RIBBON_106: - case MON_DATA_HOENN_RIBBON_107: - case MON_DATA_HOENN_RIBBON_108: - case MON_DATA_HOENN_RIBBON_109: + case MON_DATA_HOENN_COOL_RIBBON: + case MON_DATA_HOENN_COOL_RIBBON_SUPER: + case MON_DATA_HOENN_COOL_RIBBON_HYPER: + case MON_DATA_HOENN_COOL_RIBBON_MASTER: + case MON_DATA_HOENN_BEAUTY_RIBBON: + case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER: + case MON_DATA_HOENN_CUTE_RIBBON: + case MON_DATA_HOENN_CUTE_RIBBON_SUPER: + case MON_DATA_HOENN_CUTE_RIBBON_HYPER: + case MON_DATA_HOENN_CUTE_RIBBON_MASTER: + case MON_DATA_HOENN_SMART_RIBBON: + case MON_DATA_HOENN_SMART_RIBBON_SUPER: + case MON_DATA_HOENN_SMART_RIBBON_HYPER: + case MON_DATA_HOENN_SMART_RIBBON_MASTER: + case MON_DATA_HOENN_TOUGH_RIBBON: + case MON_DATA_HOENN_TOUGH_RIBBON_SUPER: + case MON_DATA_HOENN_TOUGH_RIBBON_HYPER: + case MON_DATA_HOENN_TOUGH_RIBBON_MASTER: + case MON_DATA_HOENN_CHAMPION_RIBBON: + case MON_DATA_HOENN_WINNING_RIBBON: + case MON_DATA_HOENN_VICTORY_RIBBON: + case MON_DATA_HOENN_ARTIST_RIBBON: + case MON_DATA_HOENN_EFFORT_RIBBON: + case MON_DATA_HOENN_MARINE_RIBBON: + case MON_DATA_HOENN_LAND_RIBBON: + case MON_DATA_HOENN_SKY_RIBBON: + case MON_DATA_HOENN_COUNTRY_RIBBON: + case MON_DATA_HOENN_NATIONAL_RIBBON: + case MON_DATA_HOENN_EARTH_RIBBON: + case MON_DATA_HOENN_WORLD_RIBBON: flag = VALUE(u8); - mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON); + mask = (u64)flag << (attr - MON_DATA_HOENN_COOL_RIBBON); if (flag) blockB->ribbonFlags |= mask; else @@ -1333,29 +1333,29 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value) case MON_DATA_GAME_VERSION: blockC->originGame = VALUE(u8); break; - case MON_DATA_SINNOH_RIBBON_122: - case MON_DATA_SINNOH_RIBBON_123: - case MON_DATA_SINNOH_RIBBON_124: - case MON_DATA_SINNOH_RIBBON_125: - case MON_DATA_SINNOH_RIBBON_126: - case MON_DATA_SINNOH_RIBBON_127: - case MON_DATA_SINNOH_RIBBON_128: - case MON_DATA_SINNOH_RIBBON_129: - case MON_DATA_SINNOH_RIBBON_130: - case MON_DATA_SINNOH_RIBBON_131: - case MON_DATA_SINNOH_RIBBON_132: - case MON_DATA_SINNOH_RIBBON_133: - case MON_DATA_SINNOH_RIBBON_134: - case MON_DATA_SINNOH_RIBBON_135: - case MON_DATA_SINNOH_RIBBON_136: - case MON_DATA_SINNOH_RIBBON_137: - case MON_DATA_SINNOH_RIBBON_138: - case MON_DATA_SINNOH_RIBBON_139: - case MON_DATA_SINNOH_RIBBON_140: - case MON_DATA_SINNOH_RIBBON_141: + case MON_DATA_COOL_RIBBON: + case MON_DATA_COOL_RIBBON_GREAT: + case MON_DATA_COOL_RIBBON_ULTRA: + case MON_DATA_COOL_RIBBON_MASTER: + case MON_DATA_BEAUTY_RIBBON: + case MON_DATA_BEAUTY_RIBBON_GREAT: + case MON_DATA_BEAUTY_RIBBON_ULTRA: + case MON_DATA_BEAUTY_RIBBON_MASTER: + case MON_DATA_CUTE_RIBBON: + case MON_DATA_CUTE_RIBBON_GREAT: + case MON_DATA_CUTE_RIBBON_ULTRA: + case MON_DATA_CUTE_RIBBON_MASTER: + case MON_DATA_SMART_RIBBON: + case MON_DATA_SMART_RIBBON_GREAT: + case MON_DATA_SMART_RIBBON_ULTRA: + case MON_DATA_SMART_RIBBON_MASTER: + case MON_DATA_TOUGH_RIBBON: + case MON_DATA_TOUGH_RIBBON_GREAT: + case MON_DATA_TOUGH_RIBBON_ULTRA: + case MON_DATA_TOUGH_RIBBON_MASTER: case MON_DATA_SINNOH_RIBBON_142: flag = VALUE(u8); - mask = (u64)flag << (attr - MON_DATA_SINNOH_RIBBON_122); + mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON); if (flag) blockC->sinnohRibbons2 |= mask; else @@ -1630,33 +1630,33 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value) case MON_DATA_MARKINGS: case MON_DATA_GAME_LANGUAGE: case MON_DATA_SINNOH_CHAMP_RIBBON: - case MON_DATA_SINNOH_RIBBON_26: - case MON_DATA_SINNOH_RIBBON_27: - case MON_DATA_SINNOH_RIBBON_28: - case MON_DATA_SINNOH_RIBBON_29: - case MON_DATA_SINNOH_RIBBON_30: - case MON_DATA_SINNOH_RIBBON_31: - case MON_DATA_SINNOH_RIBBON_32: - case MON_DATA_SINNOH_RIBBON_33: - case MON_DATA_SINNOH_RIBBON_34: - case MON_DATA_SINNOH_RIBBON_35: - case MON_DATA_SINNOH_RIBBON_36: - case MON_DATA_SINNOH_RIBBON_37: - case MON_DATA_SINNOH_RIBBON_38: - case MON_DATA_SINNOH_RIBBON_39: - case MON_DATA_SINNOH_RIBBON_40: - case MON_DATA_SINNOH_RIBBON_41: - case MON_DATA_SINNOH_RIBBON_42: - case MON_DATA_SINNOH_RIBBON_43: - case MON_DATA_SINNOH_RIBBON_44: - case MON_DATA_SINNOH_RIBBON_45: - case MON_DATA_SINNOH_RIBBON_46: - case MON_DATA_SINNOH_RIBBON_47: - case MON_DATA_SINNOH_RIBBON_48: - case MON_DATA_SINNOH_RIBBON_49: - case MON_DATA_SINNOH_RIBBON_50: - case MON_DATA_SINNOH_RIBBON_51: - case MON_DATA_SINNOH_RIBBON_52: + case MON_DATA_ABILITY_RIBBON: + case MON_DATA_GREAT_ABILITY_RIBBON: + case MON_DATA_DOUBLE_ABILITY_RIBBON: + case MON_DATA_MULTI_ABILITY_RIBBON: + case MON_DATA_PAIR_ABILITY_RIBBON: + case MON_DATA_WORLD_ABILITY_RIBBON: + case MON_DATA_ALERT_RIBBON: + case MON_DATA_SHOCK_RIBBON: + case MON_DATA_DOWNCAST_RIBBON: + case MON_DATA_CARELESS_RIBBON: + case MON_DATA_RELAX_RIBBON: + case MON_DATA_SNOOZE_RIBBON: + case MON_DATA_SMILE_RIBBON: + case MON_DATA_GORGEOUS_RIBBON: + case MON_DATA_ROYAL_RIBBON: + case MON_DATA_GORGEOUS_ROYAL_RIBBON: + case MON_DATA_FOOTPRINT_RIBBON: + case MON_DATA_RECORD_RIBBON: + case MON_DATA_HISTORY_RIBBON: + case MON_DATA_LEGEND_RIBBON: + case MON_DATA_RED_RIBBON: + case MON_DATA_GREEN_RIBBON: + case MON_DATA_BLUE_RIBBON: + case MON_DATA_FESTIVAL_RIBBON: + case MON_DATA_CARNIVAL_RIBBON: + case MON_DATA_CLASSIC_RIBBON: + case MON_DATA_PREMIER_RIBBON: case MON_DATA_SINNOH_RIBBON_53: case MON_DATA_MOVE1: case MON_DATA_MOVE2: @@ -1664,38 +1664,38 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value) case MON_DATA_MOVE4: case MON_DATA_IS_EGG: case MON_DATA_HAS_NICKNAME: - case MON_DATA_COOL_RIBBON: - case MON_DATA_HOENN_RIBBON_79: - case MON_DATA_HOENN_RIBBON_80: - case MON_DATA_HOENN_RIBBON_81: - case MON_DATA_HOENN_RIBBON_82: - case MON_DATA_HOENN_RIBBON_83: - case MON_DATA_HOENN_RIBBON_84: - case MON_DATA_HOENN_RIBBON_85: - case MON_DATA_HOENN_RIBBON_86: - case MON_DATA_HOENN_RIBBON_87: - case MON_DATA_HOENN_RIBBON_88: - case MON_DATA_HOENN_RIBBON_89: - case MON_DATA_HOENN_RIBBON_90: - case MON_DATA_HOENN_RIBBON_91: - case MON_DATA_HOENN_RIBBON_92: - case MON_DATA_HOENN_RIBBON_93: - case MON_DATA_HOENN_RIBBON_94: - case MON_DATA_HOENN_RIBBON_95: - case MON_DATA_HOENN_RIBBON_96: - case MON_DATA_HOENN_RIBBON_97: - case MON_DATA_HOENN_RIBBON_98: - case MON_DATA_HOENN_RIBBON_99: - case MON_DATA_HOENN_RIBBON_100: - case MON_DATA_HOENN_RIBBON_101: - case MON_DATA_HOENN_RIBBON_102: - case MON_DATA_HOENN_RIBBON_103: - case MON_DATA_HOENN_RIBBON_104: - case MON_DATA_HOENN_RIBBON_105: - case MON_DATA_HOENN_RIBBON_106: - case MON_DATA_HOENN_RIBBON_107: - case MON_DATA_HOENN_RIBBON_108: - case MON_DATA_HOENN_RIBBON_109: + case MON_DATA_HOENN_COOL_RIBBON: + case MON_DATA_HOENN_COOL_RIBBON_SUPER: + case MON_DATA_HOENN_COOL_RIBBON_HYPER: + case MON_DATA_HOENN_COOL_RIBBON_MASTER: + case MON_DATA_HOENN_BEAUTY_RIBBON: + case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER: + case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER: + case MON_DATA_HOENN_CUTE_RIBBON: + case MON_DATA_HOENN_CUTE_RIBBON_SUPER: + case MON_DATA_HOENN_CUTE_RIBBON_HYPER: + case MON_DATA_HOENN_CUTE_RIBBON_MASTER: + case MON_DATA_HOENN_SMART_RIBBON: + case MON_DATA_HOENN_SMART_RIBBON_SUPER: + case MON_DATA_HOENN_SMART_RIBBON_HYPER: + case MON_DATA_HOENN_SMART_RIBBON_MASTER: + case MON_DATA_HOENN_TOUGH_RIBBON: + case MON_DATA_HOENN_TOUGH_RIBBON_SUPER: + case MON_DATA_HOENN_TOUGH_RIBBON_HYPER: + case MON_DATA_HOENN_TOUGH_RIBBON_MASTER: + case MON_DATA_HOENN_CHAMPION_RIBBON: + case MON_DATA_HOENN_WINNING_RIBBON: + case MON_DATA_HOENN_VICTORY_RIBBON: + case MON_DATA_HOENN_ARTIST_RIBBON: + case MON_DATA_HOENN_EFFORT_RIBBON: + case MON_DATA_HOENN_MARINE_RIBBON: + case MON_DATA_HOENN_LAND_RIBBON: + case MON_DATA_HOENN_SKY_RIBBON: + case MON_DATA_HOENN_COUNTRY_RIBBON: + case MON_DATA_HOENN_NATIONAL_RIBBON: + case MON_DATA_HOENN_EARTH_RIBBON: + case MON_DATA_HOENN_WORLD_RIBBON: case MON_DATA_FATEFUL_ENCOUNTER: case MON_DATA_GENDER: case MON_DATA_FORME: @@ -1708,26 +1708,26 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value) case MON_DATA_NICKNAME_4: case MON_DATA_UNK_120: case MON_DATA_GAME_VERSION: - case MON_DATA_SINNOH_RIBBON_122: - case MON_DATA_SINNOH_RIBBON_123: - case MON_DATA_SINNOH_RIBBON_124: - case MON_DATA_SINNOH_RIBBON_125: - case MON_DATA_SINNOH_RIBBON_126: - case MON_DATA_SINNOH_RIBBON_127: - case MON_DATA_SINNOH_RIBBON_128: - case MON_DATA_SINNOH_RIBBON_129: - case MON_DATA_SINNOH_RIBBON_130: - case MON_DATA_SINNOH_RIBBON_131: - case MON_DATA_SINNOH_RIBBON_132: - case MON_DATA_SINNOH_RIBBON_133: - case MON_DATA_SINNOH_RIBBON_134: - case MON_DATA_SINNOH_RIBBON_135: - case MON_DATA_SINNOH_RIBBON_136: - case MON_DATA_SINNOH_RIBBON_137: - case MON_DATA_SINNOH_RIBBON_138: - case MON_DATA_SINNOH_RIBBON_139: - case MON_DATA_SINNOH_RIBBON_140: - case MON_DATA_SINNOH_RIBBON_141: + case MON_DATA_COOL_RIBBON: + case MON_DATA_COOL_RIBBON_GREAT: + case MON_DATA_COOL_RIBBON_ULTRA: + case MON_DATA_COOL_RIBBON_MASTER: + case MON_DATA_BEAUTY_RIBBON: + case MON_DATA_BEAUTY_RIBBON_GREAT: + case MON_DATA_BEAUTY_RIBBON_ULTRA: + case MON_DATA_BEAUTY_RIBBON_MASTER: + case MON_DATA_CUTE_RIBBON: + case MON_DATA_CUTE_RIBBON_GREAT: + case MON_DATA_CUTE_RIBBON_ULTRA: + case MON_DATA_CUTE_RIBBON_MASTER: + case MON_DATA_SMART_RIBBON: + case MON_DATA_SMART_RIBBON_GREAT: + case MON_DATA_SMART_RIBBON_ULTRA: + case MON_DATA_SMART_RIBBON_MASTER: + case MON_DATA_TOUGH_RIBBON: + case MON_DATA_TOUGH_RIBBON_GREAT: + case MON_DATA_TOUGH_RIBBON_ULTRA: + case MON_DATA_TOUGH_RIBBON_MASTER: case MON_DATA_SINNOH_RIBBON_142: case MON_DATA_OT_NAME: case MON_DATA_OT_NAME_2: diff --git a/arm9/src/unk_0207FC5C.c b/arm9/src/unk_0207FC5C.c new file mode 100644 index 00000000..1f001de1 --- /dev/null +++ b/arm9/src/unk_0207FC5C.c @@ -0,0 +1,533 @@ +#include "global.h" +#include "unk_0207FC5C.h" +#include "constants/pokemon.h" + +#pragma thumb on + +struct UnkStruct_020FB788 +{ + u32 monDataId; + u16 gfxId; + u16 palId; + u16 nameIdx; + u16 descIdx; +}; + +const struct UnkStruct_020FB788 UNK_020FB788[] = { + { + MON_DATA_HOENN_CHAMPION_RIBBON, + 72, + 0, + RIBBON_HOENN_CHAMPION, + 80 + }, { + MON_DATA_HOENN_COOL_RIBBON, + 73, + 0, + RIBBON_HOENN_COOL, + 81 + }, { + MON_DATA_HOENN_COOL_RIBBON_SUPER, + 74, + 0, + RIBBON_HOENN_COOL_SUPER, + 82 + }, { + MON_DATA_HOENN_COOL_RIBBON_HYPER, + 75, + 0, + RIBBON_HOENN_COOL_HYPER, + 83 + }, { + MON_DATA_HOENN_COOL_RIBBON_MASTER, + 76, + 0, + RIBBON_HOENN_COOL_MASTER, + 84 + }, { + MON_DATA_HOENN_BEAUTY_RIBBON, + 73, + 1, + RIBBON_HOENN_BEAUTY, + 85 + }, { + MON_DATA_HOENN_BEAUTY_RIBBON_SUPER, + 74, + 1, + RIBBON_HOENN_BEAUTY_SUPER, + 86 + }, { + MON_DATA_HOENN_BEAUTY_RIBBON_HYPER, + 75, + 1, + RIBBON_HOENN_BEAUTY_HYPER, + 87 + }, { + MON_DATA_HOENN_BEAUTY_RIBBON_MASTER, + 76, + 1, + RIBBON_HOENN_BEAUTY_MASTER, + 88 + }, { + MON_DATA_HOENN_CUTE_RIBBON, + 73, + 2, + RIBBON_HOENN_CUTE, + 89 + }, { + MON_DATA_HOENN_CUTE_RIBBON_SUPER, + 74, + 2, + RIBBON_HOENN_CUTE_SUPER, + 90 + }, { + MON_DATA_HOENN_CUTE_RIBBON_HYPER, + 75, + 2, + RIBBON_HOENN_CUTE_HYPER, + 91 + }, { + MON_DATA_HOENN_CUTE_RIBBON_MASTER, + 76, + 2, + RIBBON_HOENN_CUTE_MASTER, + 92 + }, { + MON_DATA_HOENN_SMART_RIBBON, + 73, + 3, + RIBBON_HOENN_SMART, + 93 + }, { + MON_DATA_HOENN_SMART_RIBBON_SUPER, + 74, + 3, + RIBBON_HOENN_SMART_SUPER, + 94 + }, { + MON_DATA_HOENN_SMART_RIBBON_HYPER, + 75, + 3, + RIBBON_HOENN_SMART_HYPER, + 95 + }, { + MON_DATA_HOENN_SMART_RIBBON_MASTER, + 76, + 3, + RIBBON_HOENN_SMART_MASTER, + 96 + }, { + MON_DATA_HOENN_TOUGH_RIBBON, + 73, + 4, + RIBBON_HOENN_TOUGH, + 97 + }, { + MON_DATA_HOENN_TOUGH_RIBBON_SUPER, + 74, + 4, + RIBBON_HOENN_TOUGH_SUPER, + 98 + }, { + MON_DATA_HOENN_TOUGH_RIBBON_HYPER, + 75, + 4, + RIBBON_HOENN_TOUGH_HYPER, + 99 + }, { + MON_DATA_HOENN_TOUGH_RIBBON_MASTER, + 76, + 4, + RIBBON_HOENN_TOUGH_MASTER, + 100 + }, { + MON_DATA_HOENN_WINNING_RIBBON, + 78, + 0, + RIBBON_HOENN_WINNING, + 101 + }, { + MON_DATA_HOENN_VICTORY_RIBBON, + 77, + 0, + RIBBON_HOENN_VICTORY, + 102 + }, { + MON_DATA_HOENN_ARTIST_RIBBON, + 79, + 1, + RIBBON_HOENN_ARTIST, + 103 + }, { + MON_DATA_HOENN_EFFORT_RIBBON, + 80, + 2, + RIBBON_HOENN_EFFORT, + 104 + }, { + MON_DATA_HOENN_MARINE_RIBBON, + 81, + 1, + RIBBON_HOENN_MARINE, + 0 | 0x8000 + }, { + MON_DATA_HOENN_LAND_RIBBON, + 81, + 3, + RIBBON_HOENN_LAND, + 1 | 0x8000 + }, { + MON_DATA_HOENN_SKY_RIBBON, + 81, + 4, + RIBBON_HOENN_SKY, + 2 | 0x8000 + }, { + MON_DATA_HOENN_COUNTRY_RIBBON, + 82, + 3, + RIBBON_HOENN_COUNTRY, + 178 + }, { + MON_DATA_HOENN_NATIONAL_RIBBON, + 82, + 4, + RIBBON_HOENN_NATIONAL, + 190 + }, { + MON_DATA_HOENN_EARTH_RIBBON, + 83, + 0, + RIBBON_HOENN_EARTH, + 191 + }, { + MON_DATA_HOENN_WORLD_RIBBON, + 83, + 1, + RIBBON_HOENN_WORLD, + 178 + }, { + MON_DATA_SINNOH_CHAMP_RIBBON, + 88, + 0, + RIBBON_SINNOH_CHAMP, + 105 + }, { + MON_DATA_COOL_RIBBON, + 89, + 0, + RIBBON_COOL, + 106 + }, { + MON_DATA_COOL_RIBBON_GREAT, + 90, + 0, + RIBBON_COOL_GREAT, + 107 + }, { + MON_DATA_COOL_RIBBON_ULTRA, + 91, + 0, + RIBBON_COOL_ULTRA, + 108 + }, { + MON_DATA_COOL_RIBBON_MASTER, + 92, + 0, + RIBBON_COOL_MASTER, + 109 + }, { + MON_DATA_BEAUTY_RIBBON, + 89, + 1, + RIBBON_BEAUTY, + 110 + }, { + MON_DATA_BEAUTY_RIBBON_GREAT, + 90, + 1, + RIBBON_BEAUTY_GREAT, + 111 + }, { + MON_DATA_BEAUTY_RIBBON_ULTRA, + 91, + 1, + RIBBON_BEAUTY_ULTRA, + 112 + }, { + MON_DATA_BEAUTY_RIBBON_MASTER, + 92, + 1, + RIBBON_BEAUTY_MASTER, + 113 + }, { + MON_DATA_CUTE_RIBBON, + 89, + 2, + RIBBON_CUTE, + 114 + }, { + MON_DATA_CUTE_RIBBON_GREAT, + 90, + 2, + RIBBON_CUTE_GREAT, + 115 + }, { + MON_DATA_CUTE_RIBBON_ULTRA, + 91, + 2, + RIBBON_CUTE_ULTRA, + 116 + }, { + MON_DATA_CUTE_RIBBON_MASTER, + 92, + 2, + RIBBON_CUTE_MASTER, + 117 + }, { + MON_DATA_SMART_RIBBON, + 89, + 3, + RIBBON_SMART, + 118 + }, { + MON_DATA_SMART_RIBBON_GREAT, + 90, + 3, + RIBBON_SMART_GREAT, + 119 + }, { + MON_DATA_SMART_RIBBON_ULTRA, + 91, + 3, + RIBBON_SMART_ULTRA, + 120 + }, { + MON_DATA_SMART_RIBBON_MASTER, + 92, + 3, + RIBBON_SMART_MASTER, + 121 + }, { + MON_DATA_TOUGH_RIBBON, + 89, + 4, + RIBBON_TOUGH, + 122 + }, { + MON_DATA_TOUGH_RIBBON_GREAT, + 90, + 4, + RIBBON_TOUGH_GREAT, + 123 + }, { + MON_DATA_TOUGH_RIBBON_ULTRA, + 91, + 4, + RIBBON_TOUGH_ULTRA, + 124 + }, { + MON_DATA_TOUGH_RIBBON_MASTER, + 92, + 4, + RIBBON_TOUGH_MASTER, + 125 + }, { + MON_DATA_ABILITY_RIBBON, + 93, + 0, + RIBBON_ABILITY, + 126 + }, { + MON_DATA_GREAT_ABILITY_RIBBON, + 94, + 0, + RIBBON_GREAT_ABILITY, + 127 + }, { + MON_DATA_DOUBLE_ABILITY_RIBBON, + 95, + 0, + RIBBON_DOUBLE_ABILITY, + 128 + }, { + MON_DATA_MULTI_ABILITY_RIBBON, + 96, + 0, + RIBBON_MULTI_ABILITY, + 129 + }, { + MON_DATA_PAIR_ABILITY_RIBBON, + 97, + 0, + RIBBON_PAIR_ABILITY, + 130 + }, { + MON_DATA_WORLD_ABILITY_RIBBON, + 98, + 0, + RIBBON_WORLD_ABILITY, + 131 + }, { + MON_DATA_ALERT_RIBBON, + 99, + 2, + RIBBON_ALERT, + 132 + }, { + MON_DATA_SHOCK_RIBBON, + 100, + 0, + RIBBON_SHOCK, + 133 + }, { + MON_DATA_DOWNCAST_RIBBON, + 101, + 1, + RIBBON_DOWNCAST, + 134 + }, { + MON_DATA_CARELESS_RIBBON, + 102, + 2, + RIBBON_CARELESS, + 135 + }, { + MON_DATA_RELAX_RIBBON, + 103, + 3, + RIBBON_RELAX, + 136 + }, { + MON_DATA_SNOOZE_RIBBON, + 104, + 0, + RIBBON_SNOOZE, + 137 + }, { + MON_DATA_SMILE_RIBBON, + 105, + 2, + RIBBON_SMILE, + 138 + }, { + MON_DATA_GORGEOUS_RIBBON, + 106, + 1, + RIBBON_GORGEOUS, + 139 + }, { + MON_DATA_ROYAL_RIBBON, + 107, + 3, + RIBBON_ROYAL, + 140 + }, { + MON_DATA_GORGEOUS_ROYAL_RIBBON, + 108, + 0, + RIBBON_GORGEOUS_ROYAL, + 141 + }, { + MON_DATA_FOOTPRINT_RIBBON, + 109, + 0, + RIBBON_FOOTPRINT, + 142 + }, { + MON_DATA_RECORD_RIBBON, + 110, + 1, + RIBBON_RECORD, + 143 + }, { + MON_DATA_HISTORY_RIBBON, + 111, + 3, + RIBBON_HISTORY, + 144 + }, { + MON_DATA_LEGEND_RIBBON, + 112, + 0, + RIBBON_LEGEND, + 145 + }, { + MON_DATA_RED_RIBBON, + 113, + 0, + RIBBON_RED, + 7 | 0x8000 + }, { + MON_DATA_GREEN_RIBBON, + 114, + 3, + RIBBON_GREEN, + 8 | 0x8000 + }, { + MON_DATA_BLUE_RIBBON, + 115, + 1, + RIBBON_BLUE, + 9 | 0x8000 + }, { + MON_DATA_FESTIVAL_RIBBON, + 116, + 1, + RIBBON_FESTIVAL, + 10 | 0x8000 + }, { + MON_DATA_CARNIVAL_RIBBON, + 117, + 0, + RIBBON_CARNIVAL, + 11 | 0x8000 + }, { + MON_DATA_CLASSIC_RIBBON, + 118, + 1, + RIBBON_CLASSIC, + 12 | 0x8000 + }, { + MON_DATA_PREMIER_RIBBON, + 119, + 0, + RIBBON_PREMIER, + 13 | 0x8000 + } +}; + +u32 FUN_0207FC5C(u8 a0, u32 a1) +{ + switch (a1) + { + case 0: + return UNK_020FB788[a0].monDataId; + case 1: + return UNK_020FB788[a0].gfxId; + case 2: + return UNK_020FB788[a0].palId; + case 3: + return UNK_020FB788[a0].nameIdx; + case 4: + return UNK_020FB788[a0].descIdx; + default: + return 0; + } +} + +int FUN_0207FCC0(u8 * a0, u32 a1) +{ + int ret = (int)UNK_020FB788[a1].descIdx; + if (ret & 0x8000) + ret = a0[(u8)ret] + 0x92; + return ret; +} + +u8 FUN_0207FCE0(u32 a0) +{ + int ret = (int)UNK_020FB788[a0].descIdx; + if (ret & 0x8000) + return (u8)ret; + return 0xFF; +} |