diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/battle.h | 283 | ||||
-rw-r--r-- | include/constants/moves.h | 4 | ||||
-rw-r--r-- | include/constants/pokemon.h | 365 | ||||
-rw-r--r-- | include/main.h | 4 | ||||
-rw-r--r-- | include/move_data.h | 4 | ||||
-rw-r--r-- | include/player_data.h | 2 | ||||
-rw-r--r-- | include/pokemon.h | 4 | ||||
-rw-r--r-- | include/save_block_2.h | 1 | ||||
-rw-r--r-- | include/script.h | 2 | ||||
-rw-r--r-- | include/sound.h | 2 | ||||
-rw-r--r-- | include/unk_0207FC5C.h | 89 |
11 files changed, 571 insertions, 189 deletions
diff --git a/include/constants/battle.h b/include/constants/battle.h new file mode 100644 index 00000000..21a5f080 --- /dev/null +++ b/include/constants/battle.h @@ -0,0 +1,283 @@ +#ifndef POKEDIAMOND_BATTLE_H +#define POKEDIAMOND_BATTLE_H + +#define MOVE_EFFECT_NORMAL_HIT 0 +#define MOVE_EFFECT_SLEEP 1 +#define MOVE_EFFECT_POISON_HIT 2 +#define MOVE_EFFECT_DRAIN_HP 3 +#define MOVE_EFFECT_BURN_HIT 4 +#define MOVE_EFFECT_FREEZE_HIT 5 +#define MOVE_EFFECT_PARALYZE_HIT 6 +#define MOVE_EFFECT_EXPLOSION 7 +#define MOVE_EFFECT_DREAM_EATER 8 +#define MOVE_EFFECT_MIRROR_MOVE 9 +#define MOVE_EFFECT_ATTACK_UP 10 +#define MOVE_EFFECT_DEFENSE_UP 11 +#define MOVE_EFFECT_SPEED_UP 12 // unused +#define MOVE_EFFECT_SPATK_UP 13 +#define MOVE_EFFECT_SPDEF_UP 14 // unused +#define MOVE_EFFECT_ACCURACY_UP 15 // unused +#define MOVE_EFFECT_EVASION_UP 16 +#define MOVE_EFFECT_ALWAYS_HIT 17 +#define MOVE_EFFECT_ATTACK_DOWN 18 +#define MOVE_EFFECT_DEFENSE_DOWN 19 +#define MOVE_EFFECT_SPEED_DOWN 20 +#define MOVE_EFFECT_SPATK_DOWN 21 // unused +#define MOVE_EFFECT_SPDEF_DOWN 22 // unused +#define MOVE_EFFECT_ACCURACY_DOWN 23 +#define MOVE_EFFECT_EVASION_DOWN 24 +#define MOVE_EFFECT_STATS_RESET 25 +#define MOVE_EFFECT_BIDE 26 +#define MOVE_EFFECT_RAMPAGE 27 +#define MOVE_EFFECT_SWITCH_FOE 28 +#define MOVE_EFFECT_MULTIHIT_2_5 29 +#define MOVE_EFFECT_CONVERSION 30 +#define MOVE_EFFECT_FLINCH_HIT 31 +#define MOVE_EFFECT_RESTORE_HP 32 +#define MOVE_EFFECT_TOXIC 33 +#define MOVE_EFFECT_PAYDAY 34 +#define MOVE_EFFECT_LIGHT_SCREEN 35 +#define MOVE_EFFECT_TRI_ATTACK 36 +#define MOVE_EFFECT_SLEEP_USER 37 +#define MOVE_EFFECT_OHKO 38 +#define MOVE_EFFECT_RAZOR_WIND 39 +#define MOVE_EFFECT_SUPER_FANG 40 +#define MOVE_EFFECT_FIXED_40 41 +#define MOVE_EFFECT_TRAP_HIT 42 +#define MOVE_EFFECT_HIGH_CRIT 43 +#define MOVE_EFFECT_DOUBLE_HIT 44 +#define MOVE_EFFECT_JUMP_KICK 45 +#define MOVE_EFFECT_MIST 46 +#define MOVE_EFFECT_CRIT_CHANCE_UP 47 +#define MOVE_EFFECT_RECOIL_HIT 48 +#define MOVE_EFFECT_CONFUSE 49 +#define MOVE_EFFECT_ATTACK_2UP 50 +#define MOVE_EFFECT_DEFENSE_2UP 51 +#define MOVE_EFFECT_SPEED_2UP 52 +#define MOVE_EFFECT_SPATK_2UP 53 +#define MOVE_EFFECT_SPDEF_2UP 54 +#define MOVE_EFFECT_ACCURACY_2UP 55 // unused +#define MOVE_EFFECT_EVASION_2UP 56 // unused +#define MOVE_EFFECT_TRANSFORM 57 +#define MOVE_EFFECT_ATTACK_2DOWN 58 +#define MOVE_EFFECT_DEFENSE_2DOWN 59 +#define MOVE_EFFECT_SPEED_2DOWN 60 +#define MOVE_EFFECT_SPATK_2DOWN 61 // unused +#define MOVE_EFFECT_SPDEF_2DOWN 62 +#define MOVE_EFFECT_ACCURACY_2DOWN 63 // unused +#define MOVE_EFFECT_EVASION_2DOWN 64 // unused +#define MOVE_EFFECT_REFLECT 65 +#define MOVE_EFFECT_POISON 66 +#define MOVE_EFFECT_PARALYZE 67 +#define MOVE_EFFECT_ATTACK_DOWN_HIT 68 +#define MOVE_EFFECT_DEFENSE_DOWN_HIT 69 +#define MOVE_EFFECT_SPEED_DOWN_HIT 70 +#define MOVE_EFFECT_SPATK_DOWN_HIT 71 +#define MOVE_EFFECT_SPDEF_DOWN_HIT 72 +#define MOVE_EFFECT_ACCURACY_DOWN_HIT 73 +#define MOVE_EFFECT_EVASION_DOWN_HIT 74 // unused +#define MOVE_EFFECT_SKY_ATTACK 75 +#define MOVE_EFFECT_CONFUSE_HIT 76 +#define MOVE_EFFECT_POISON_DOUBLE_HIT 77 +#define MOVE_EFFECT_VITAL_THROW 78 +#define MOVE_EFFECT_SUBSTITUTE 79 +#define MOVE_EFFECT_HIT_RECHARGE 80 +#define MOVE_EFFECT_RAGE 81 +#define MOVE_EFFECT_MIMIC 82 +#define MOVE_EFFECT_METRONOME 83 +#define MOVE_EFFECT_LEECH_SEED 84 +#define MOVE_EFFECT_NONE 85 +#define MOVE_EFFECT_DISABLE 86 +#define MOVE_EFFECT_LEVEL_DAMAGE 87 +#define MOVE_EFFECT_RANDOM_DAMAGE 88 +#define MOVE_EFFECT_COUNTER 89 +#define MOVE_EFFECT_ENCORE 90 +#define MOVE_EFFECT_PAIN_SPLIT 91 +#define MOVE_EFFECT_SNORE 92 +#define MOVE_EFFECT_CONVERSION_2 93 +#define MOVE_EFFECT_ENSURE_NEXT_HIT 94 +#define MOVE_EFFECT_SKETCH 95 +#define MOVE_EFFECT_UNK096 96 // unused +#define MOVE_EFFECT_SLEEP_TALK 97 +#define MOVE_EFFECT_DESTINY_BOND 98 +#define MOVE_EFFECT_STRONGER_LOW_HP 99 +#define MOVE_EFFECT_SPITE 100 +#define MOVE_EFFECT_FALSE_SWIPE 101 +#define MOVE_EFFECT_HEAL_ALL_STATUS 102 +#define MOVE_EFFECT_PRIORITY_HIT 103 +#define MOVE_EFFECT_TRIPLE_KICK 104 +#define MOVE_EFFECT_STEAL_ITEM 105 +#define MOVE_EFFECT_PREVENT_ESCAPE 106 +#define MOVE_EFFECT_NIGHTMARE 107 +#define MOVE_EFFECT_MINIMIZE 108 +#define MOVE_EFFECT_CURSE 109 +#define MOVE_EFFECT_UNK110 110 // unused +#define MOVE_EFFECT_PROTECT 111 +#define MOVE_EFFECT_SPIKES 112 +#define MOVE_EFFECT_IDENTIFY 113 +#define MOVE_EFFECT_PERISH_SONG 114 +#define MOVE_EFFECT_SANDSTORM 115 +#define MOVE_EFFECT_ENDURE 116 +#define MOVE_EFFECT_INCREASING_HIT 117 +#define MOVE_EFFECT_SWAGGER 118 +#define MOVE_EFFECT_FURY_CUTTER 119 +#define MOVE_EFFECT_ATTRACT 120 +#define MOVE_EFFECT_RETURN 121 +#define MOVE_EFFECT_PRESENT 122 +#define MOVE_EFFECT_FRUSTRATION 123 +#define MOVE_EFFECT_SAFEGUARD 124 +#define MOVE_EFFECT_BURN_HIT_THAW 125 +#define MOVE_EFFECT_MAGNITUDE 126 +#define MOVE_EFFECT_BATON_PASS 127 +#define MOVE_EFFECT_PURSUIT 128 +#define MOVE_EFFECT_RAPID_SPIN 129 +#define MOVE_EFFECT_FIXED_20 130 +#define MOVE_EFFECT_UNK131 131 // unused +#define MOVE_EFFECT_RESTORE_HP_DAYTIME 132 +#define MOVE_EFFECT_UNK133 133 // unused +#define MOVE_EFFECT_UNK134 134 // unused +#define MOVE_EFFECT_HIDDEN_POWER 135 // unused +#define MOVE_EFFECT_RAIN 136 +#define MOVE_EFFECT_SUNNY 137 +#define MOVE_EFFECT_DEFENSE_UP_HIT 138 +#define MOVE_EFFECT_ATTACK_UP_HIT 139 +#define MOVE_EFFECT_STATS_UP_HIT 140 +#define MOVE_EFFECT_UNK141 141 // unused +#define MOVE_EFFECT_BELLY_DRUM 142 +#define MOVE_EFFECT_PSYCH_UP 143 +#define MOVE_EFFECT_MIRROR_COAT 144 +#define MOVE_EFFECT_SKULL_BASH 145 +#define MOVE_EFFECT_TWISTER 146 +#define MOVE_EFFECT_EARTHQUAKE 147 +#define MOVE_EFFECT_HIT_LATER 148 +#define MOVE_EFFECT_GUST 149 +#define MOVE_EFFECT_STOMP 150 +#define MOVE_EFFECT_SOLAR_BEAM 151 +#define MOVE_EFFECT_THUNDER 152 +#define MOVE_EFFECT_TELEPORT 153 +#define MOVE_EFFECT_BEAT_UP 154 +#define MOVE_EFFECT_FLY 155 +#define MOVE_EFFECT_DEFENSE_CURL 156 +#define MOVE_EFFECT_UNK157 157 // unused +#define MOVE_EFFECT_FAKE_OUT 158 +#define MOVE_EFFECT_UPROAR 159 +#define MOVE_EFFECT_STOCKPILE 160 +#define MOVE_EFFECT_SPIT_UP 161 +#define MOVE_EFFECT_SWALLOW 162 +#define MOVE_EFFECT_UNK163 163 // unused +#define MOVE_EFFECT_HAIL 164 +#define MOVE_EFFECT_TORMENT 165 +#define MOVE_EFFECT_FLATTER 166 +#define MOVE_EFFECT_BURN 167 +#define MOVE_EFFECT_MEMENTO 168 +#define MOVE_EFFECT_FACADE 169 +#define MOVE_EFFECT_FOCUS_PUNCH 170 +#define MOVE_EFFECT_SMELLING_SALTS 171 +#define MOVE_EFFECT_FOLLOW_ME 172 +#define MOVE_EFFECT_NATURE_POWER 173 +#define MOVE_EFFECT_CHARGE 174 +#define MOVE_EFFECT_TAUNT 175 +#define MOVE_EFFECT_HELPING_HAND 176 +#define MOVE_EFFECT_SWAP_ITEMS 177 +#define MOVE_EFFECT_ROLE_PLAY 178 +#define MOVE_EFFECT_WISH 179 +#define MOVE_EFFECT_ASSIST 180 +#define MOVE_EFFECT_INGRAIN 181 +#define MOVE_EFFECT_SUPERPOWER 182 +#define MOVE_EFFECT_MAGIC_COAT 183 +#define MOVE_EFFECT_RECYCLE 184 +#define MOVE_EFFECT_REVENGE 185 +#define MOVE_EFFECT_BRICK_BREAK 186 +#define MOVE_EFFECT_YAWN 187 +#define MOVE_EFFECT_KNOCK_OFF 188 +#define MOVE_EFFECT_ENDEAVOR 189 +#define MOVE_EFFECT_STRONGER_HIGH_HP 190 +#define MOVE_EFFECT_SKILL_SWAP 191 +#define MOVE_EFFECT_IMPRISON 192 +#define MOVE_EFFECT_REFRESH 193 +#define MOVE_EFFECT_GRUDGE 194 +#define MOVE_EFFECT_SNATCH 195 +#define MOVE_EFFECT_STRONGER_HEAVIER 196 +#define MOVE_EFFECT_SECRET_POWER 197 +#define MOVE_EFFECT_RECOIL_HIT_HARD 198 +#define MOVE_EFFECT_CONFUSE_ALL 199 +#define MOVE_EFFECT_BURN_HIT_HIGH_CRIT 200 +#define MOVE_EFFECT_MUD_SPORT 201 +#define MOVE_EFFECT_TOXIC_HIT 202 +#define MOVE_EFFECT_WEATHER_BALL 203 +#define MOVE_EFFECT_HIT_USER_SPATK_2_DOWN 204 +#define MOVE_EFFECT_ATTACK_DEFENSE_DOWN 205 +#define MOVE_EFFECT_DEFENSE_SPDEF_UP 206 +#define MOVE_EFFECT_SKY_UPPERCUT 207 +#define MOVE_EFFECT_ATTACK_DEFENSE_UP 208 +#define MOVE_EFFECT_POISON_HIT_HIGH_CRIT 209 +#define MOVE_EFFECT_WATER_SPORT 210 +#define MOVE_EFFECT_SPATK_SPDEF_UP 211 +#define MOVE_EFFECT_ATTACK_SPEED_UP 212 +#define MOVE_EFFECT_CAMOUFLAGE 213 +#define MOVE_EFFECT_ROOST 214 +#define MOVE_EFFECT_GRAVITY 215 +#define MOVE_EFFECT_MIRACLE_EYE 216 +#define MOVE_EFFECT_WAKE_UP_SLAP 217 +#define MOVE_EFFECT_HAMMER_ARM 218 +#define MOVE_EFFECT_GYRO_BALL 219 +#define MOVE_EFFECT_HEALING_WISH 220 +#define MOVE_EFFECT_BRINE 221 +#define MOVE_EFFECT_NATURAL_GIFT 222 +#define MOVE_EFFECT_FEINT 223 +#define MOVE_EFFECT_BUG_BITE 224 +#define MOVE_EFFECT_TAILWIND 225 +#define MOVE_EFFECT_ACUPRESSURE 226 +#define MOVE_EFFECT_METAL_BURST 227 +#define MOVE_EFFECT_U_TURN 228 +#define MOVE_EFFECT_CLOSE_COMBAT 229 +#define MOVE_EFFECT_PAYBACK 230 +#define MOVE_EFFECT_ASSURANCE 231 +#define MOVE_EFFECT_EMBARGO 232 +#define MOVE_EFFECT_FLING 233 +#define MOVE_EFFECT_PSYCHO_SHIFT 234 +#define MOVE_EFFECT_TRUMP_CARD 235 +#define MOVE_EFFECT_HEAL_BLOCK 236 +#define MOVE_EFFECT_CRUSH_GRIP 237 +#define MOVE_EFFECT_POWER_TRICK 238 +#define MOVE_EFFECT_GASTRO_ACID 239 +#define MOVE_EFFECT_LUCKY_CHANT 240 +#define MOVE_EFFECT_ME_FIRST 241 +#define MOVE_EFFECT_COPYCAT 242 +#define MOVE_EFFECT_POWER_SWAP 243 +#define MOVE_EFFECT_GUARD_SWAP 244 +#define MOVE_EFFECT_PUNISHMENT 245 +#define MOVE_EFFECT_LAST_RESORT 246 +#define MOVE_EFFECT_WORRY_SEED 247 +#define MOVE_EFFECT_SUCKER_PUNCH 248 +#define MOVE_EFFECT_TOXIC_SPIKES 249 +#define MOVE_EFFECT_HEART_SWAP 250 +#define MOVE_EFFECT_AQUA_RING 251 +#define MOVE_EFFECT_MAGNET_RISE 252 +#define MOVE_EFFECT_FLARE_BLITZ 253 +#define MOVE_EFFECT_STRUGGLE 254 +#define MOVE_EFFECT_DIVE 255 +#define MOVE_EFFECT_DIG 256 +#define MOVE_EFFECT_SURF 257 +#define MOVE_EFFECT_DEFOG 258 +#define MOVE_EFFECT_TRICK_ROOM 259 +#define MOVE_EFFECT_BLIZZARD 260 +#define MOVE_EFFECT_WHIRLPOOL 261 +#define MOVE_EFFECT_VOLT_TACKLE 262 +#define MOVE_EFFECT_BOUNCE 263 +#define MOVE_EFFECT_UNK264 264 // unused +#define MOVE_EFFECT_CAPTIVATE 265 +#define MOVE_EFFECT_STEALTH_ROCK 266 +#define MOVE_EFFECT_CHATTER 267 +#define MOVE_EFFECT_JUDGMENT 268 +#define MOVE_EFFECT_HEAD_SMASH 269 +#define MOVE_EFFECT_LUNAR_DANCE 270 +#define MOVE_EFFECT_SEED_FLARE 271 +#define MOVE_EFFECT_SHADOW_FORCE 272 +#define MOVE_EFFECT_FIRE_FANG 273 +#define MOVE_EFFECT_ICE_FANG 274 +#define MOVE_EFFECT_THUNDER_FANG 275 +#define MOVE_EFFECT_CHARGE_BEAM 276 + + +#endif //POKEDIAMOND_BATTLE_H diff --git a/include/constants/moves.h b/include/constants/moves.h index bd658c17..b25e5f91 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -470,6 +470,10 @@ #define MOVE_OMINOUS_WIND 466 #define MOVE_SHADOW_FORCE 467 +#define CLASS_PHYSICAL 0 +#define CLASS_SPECIAL 1 +#define CLASS_STATUS 2 + #define NUM_MOVES MOVE_SHADOW_FORCE #endif //POKEDIAMOND_CONSTANTS_MOVES_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index c83847c6..06a105b6 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -24,6 +24,13 @@ #define TYPE_DARK 17 #define NUMBER_OF_MON_TYPES 18 +// Contest types +#define COOL 0 +#define BEAUTY 1 +#define CUTE 2 +#define SMART 3 +#define TOUGH 4 + // Pokemon egg groups #define EGG_GROUP_NONE 0 #define EGG_GROUP_MONSTER 1 @@ -88,185 +95,185 @@ #define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536 -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_PARTY_LOCK 1 -#define MON_DATA_BOX_LOCK 2 -#define MON_DATA_CHECKSUM_FAILED 3 -#define MON_DATA_CHECKSUM 4 -#define MON_DATA_SPECIES 5 -#define MON_DATA_HELD_ITEM 6 -#define MON_DATA_OTID 7 -#define MON_DATA_EXPERIENCE 8 -#define MON_DATA_FRIENDSHIP 9 -#define MON_DATA_ABILITY 10 -#define MON_DATA_MARKINGS 11 -#define MON_DATA_GAME_LANGUAGE 12 -#define MON_DATA_HP_EV 13 -#define MON_DATA_ATK_EV 14 -#define MON_DATA_DEF_EV 15 -#define MON_DATA_SPEED_EV 16 -#define MON_DATA_SPATK_EV 17 -#define MON_DATA_SPDEF_EV 18 -#define MON_DATA_COOL 19 -#define MON_DATA_BEAUTY 20 -#define MON_DATA_CUTE 21 -#define MON_DATA_SMART 22 -#define MON_DATA_TOUGH 23 -#define MON_DATA_SHEEN 24 -#define MON_DATA_SINNOH_CHAMP_RIBBON 25 -#define MON_DATA_SINNOH_RIBBON_26 26 -#define MON_DATA_SINNOH_RIBBON_27 27 -#define MON_DATA_SINNOH_RIBBON_28 28 -#define MON_DATA_SINNOH_RIBBON_29 29 -#define MON_DATA_SINNOH_RIBBON_30 30 -#define MON_DATA_SINNOH_RIBBON_31 31 -#define MON_DATA_SINNOH_RIBBON_32 32 -#define MON_DATA_SINNOH_RIBBON_33 33 -#define MON_DATA_SINNOH_RIBBON_34 34 -#define MON_DATA_SINNOH_RIBBON_35 35 -#define MON_DATA_SINNOH_RIBBON_36 36 -#define MON_DATA_SINNOH_RIBBON_37 37 -#define MON_DATA_SINNOH_RIBBON_38 38 -#define MON_DATA_SINNOH_RIBBON_39 39 -#define MON_DATA_SINNOH_RIBBON_40 40 -#define MON_DATA_SINNOH_RIBBON_41 41 -#define MON_DATA_SINNOH_RIBBON_42 42 -#define MON_DATA_SINNOH_RIBBON_43 43 -#define MON_DATA_SINNOH_RIBBON_44 44 -#define MON_DATA_SINNOH_RIBBON_45 45 -#define MON_DATA_SINNOH_RIBBON_46 46 -#define MON_DATA_SINNOH_RIBBON_47 47 -#define MON_DATA_SINNOH_RIBBON_48 48 -#define MON_DATA_SINNOH_RIBBON_49 49 -#define MON_DATA_SINNOH_RIBBON_50 50 -#define MON_DATA_SINNOH_RIBBON_51 51 -#define MON_DATA_SINNOH_RIBBON_52 52 -#define MON_DATA_SINNOH_RIBBON_53 53 -#define MON_DATA_MOVE1 54 -#define MON_DATA_MOVE2 55 -#define MON_DATA_MOVE3 56 -#define MON_DATA_MOVE4 57 -#define MON_DATA_MOVE1PP 58 -#define MON_DATA_MOVE2PP 59 -#define MON_DATA_MOVE3PP 60 -#define MON_DATA_MOVE4PP 61 -#define MON_DATA_MOVE1PPUP 62 -#define MON_DATA_MOVE2PPUP 63 -#define MON_DATA_MOVE3PPUP 64 -#define MON_DATA_MOVE4PPUP 65 -#define MON_DATA_MOVE1MAXPP 66 -#define MON_DATA_MOVE2MAXPP 67 -#define MON_DATA_MOVE3MAXPP 68 -#define MON_DATA_MOVE4MAXPP 69 -#define MON_DATA_HP_IV 70 -#define MON_DATA_ATK_IV 71 -#define MON_DATA_DEF_IV 72 -#define MON_DATA_SPEED_IV 73 -#define MON_DATA_SPATK_IV 74 -#define MON_DATA_SPDEF_IV 75 -#define MON_DATA_IS_EGG 76 -#define MON_DATA_HAS_NICKNAME 77 -#define MON_DATA_COOL_RIBBON 78 -#define MON_DATA_HOENN_RIBBON_79 79 -#define MON_DATA_HOENN_RIBBON_80 80 -#define MON_DATA_HOENN_RIBBON_81 81 -#define MON_DATA_HOENN_RIBBON_82 82 -#define MON_DATA_HOENN_RIBBON_83 83 -#define MON_DATA_HOENN_RIBBON_84 84 -#define MON_DATA_HOENN_RIBBON_85 85 -#define MON_DATA_HOENN_RIBBON_86 86 -#define MON_DATA_HOENN_RIBBON_87 87 -#define MON_DATA_HOENN_RIBBON_88 88 -#define MON_DATA_HOENN_RIBBON_89 89 -#define MON_DATA_HOENN_RIBBON_90 90 -#define MON_DATA_HOENN_RIBBON_91 91 -#define MON_DATA_HOENN_RIBBON_92 92 -#define MON_DATA_HOENN_RIBBON_93 93 -#define MON_DATA_HOENN_RIBBON_94 94 -#define MON_DATA_HOENN_RIBBON_95 95 -#define MON_DATA_HOENN_RIBBON_96 96 -#define MON_DATA_HOENN_RIBBON_97 97 -#define MON_DATA_HOENN_RIBBON_98 98 -#define MON_DATA_HOENN_RIBBON_99 99 -#define MON_DATA_HOENN_RIBBON_100 100 -#define MON_DATA_HOENN_RIBBON_101 101 -#define MON_DATA_HOENN_RIBBON_102 102 -#define MON_DATA_HOENN_RIBBON_103 103 -#define MON_DATA_HOENN_RIBBON_104 104 -#define MON_DATA_HOENN_RIBBON_105 105 -#define MON_DATA_HOENN_RIBBON_106 106 -#define MON_DATA_HOENN_RIBBON_107 107 -#define MON_DATA_HOENN_RIBBON_108 108 -#define MON_DATA_HOENN_RIBBON_109 109 -#define MON_DATA_FATEFUL_ENCOUNTER 110 -#define MON_DATA_GENDER 111 -#define MON_DATA_FORME 112 -#define MON_DATA_RESERVED_113 113 // HGSS -#define MON_DATA_RESERVED_114 114 // Plat -#define MON_DATA_UNUSED_115 115 -#define MON_DATA_NICKNAME 116 -#define MON_DATA_NICKNAME_2 117 -#define MON_DATA_NICKNAME_3 118 // ??? -#define MON_DATA_NICKNAME_4 119 // ??? -#define MON_DATA_UNK_120 120 -#define MON_DATA_GAME_VERSION 121 -#define MON_DATA_SINNOH_RIBBON_122 122 -#define MON_DATA_SINNOH_RIBBON_123 123 -#define MON_DATA_SINNOH_RIBBON_124 124 -#define MON_DATA_SINNOH_RIBBON_125 125 -#define MON_DATA_SINNOH_RIBBON_126 126 -#define MON_DATA_SINNOH_RIBBON_127 127 -#define MON_DATA_SINNOH_RIBBON_128 128 -#define MON_DATA_SINNOH_RIBBON_129 129 -#define MON_DATA_SINNOH_RIBBON_130 130 -#define MON_DATA_SINNOH_RIBBON_131 131 -#define MON_DATA_SINNOH_RIBBON_132 132 -#define MON_DATA_SINNOH_RIBBON_133 133 -#define MON_DATA_SINNOH_RIBBON_134 134 -#define MON_DATA_SINNOH_RIBBON_135 135 -#define MON_DATA_SINNOH_RIBBON_136 136 -#define MON_DATA_SINNOH_RIBBON_137 137 -#define MON_DATA_SINNOH_RIBBON_138 138 -#define MON_DATA_SINNOH_RIBBON_139 139 -#define MON_DATA_SINNOH_RIBBON_140 140 -#define MON_DATA_SINNOH_RIBBON_141 141 -#define MON_DATA_SINNOH_RIBBON_142 142 -#define MON_DATA_OT_NAME 143 -#define MON_DATA_OT_NAME_2 144 // ??? -#define MON_DATA_EGG_MET_YEAR 145 -#define MON_DATA_EGG_MET_MONTH 146 -#define MON_DATA_EGG_MET_DAY 147 -#define MON_DATA_MET_YEAR 148 -#define MON_DATA_MET_MONTH 149 -#define MON_DATA_MET_DAY 150 -#define MON_DATA_EGG_MET_LOCATION 151 -#define MON_DATA_MET_LOCATION 152 -#define MON_DATA_POKERUS 153 -#define MON_DATA_POKEBALL 154 -#define MON_DATA_MET_LEVEL 155 -#define MON_DATA_MET_GENDER 156 -#define MON_DATA_ENCOUNTER_TYPE 157 -#define MON_DATA_RESERVED_158 158 // HGSS -#define MON_DATA_STATUS 159 -#define MON_DATA_LEVEL 160 -#define MON_DATA_CAPSULE 161 -#define MON_DATA_HP 162 -#define MON_DATA_MAXHP 163 -#define MON_DATA_ATK 164 -#define MON_DATA_DEF 165 -#define MON_DATA_SPEED 166 -#define MON_DATA_SPATK 167 -#define MON_DATA_SPDEF 168 -#define MON_DATA_SEAL_STRUCT 169 -#define MON_DATA_SEAL_COORDS 170 -#define MON_DATA_SPECIES_EXISTS 171 -#define MON_DATA_SANITY_IS_EGG 172 -#define MON_DATA_SPECIES2 173 -#define MON_DATA_IVS_WORD 174 -#define MON_DATA_UNK_175 175 -#define MON_DATA_TYPE_1 176 -#define MON_DATA_TYPE_2 177 -#define MON_DATA_SPECIES_NAME 178 +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_PARTY_LOCK 1 +#define MON_DATA_BOX_LOCK 2 +#define MON_DATA_CHECKSUM_FAILED 3 +#define MON_DATA_CHECKSUM 4 +#define MON_DATA_SPECIES 5 +#define MON_DATA_HELD_ITEM 6 +#define MON_DATA_OTID 7 +#define MON_DATA_EXPERIENCE 8 +#define MON_DATA_FRIENDSHIP 9 +#define MON_DATA_ABILITY 10 +#define MON_DATA_MARKINGS 11 +#define MON_DATA_GAME_LANGUAGE 12 +#define MON_DATA_HP_EV 13 +#define MON_DATA_ATK_EV 14 +#define MON_DATA_DEF_EV 15 +#define MON_DATA_SPEED_EV 16 +#define MON_DATA_SPATK_EV 17 +#define MON_DATA_SPDEF_EV 18 +#define MON_DATA_COOL 19 +#define MON_DATA_BEAUTY 20 +#define MON_DATA_CUTE 21 +#define MON_DATA_SMART 22 +#define MON_DATA_TOUGH 23 +#define MON_DATA_SHEEN 24 +#define MON_DATA_SINNOH_CHAMP_RIBBON 25 +#define MON_DATA_ABILITY_RIBBON 26 +#define MON_DATA_GREAT_ABILITY_RIBBON 27 +#define MON_DATA_DOUBLE_ABILITY_RIBBON 28 +#define MON_DATA_MULTI_ABILITY_RIBBON 29 +#define MON_DATA_PAIR_ABILITY_RIBBON 30 +#define MON_DATA_WORLD_ABILITY_RIBBON 31 +#define MON_DATA_ALERT_RIBBON 32 +#define MON_DATA_SHOCK_RIBBON 33 +#define MON_DATA_DOWNCAST_RIBBON 34 +#define MON_DATA_CARELESS_RIBBON 35 +#define MON_DATA_RELAX_RIBBON 36 +#define MON_DATA_SNOOZE_RIBBON 37 +#define MON_DATA_SMILE_RIBBON 38 +#define MON_DATA_GORGEOUS_RIBBON 39 +#define MON_DATA_ROYAL_RIBBON 40 +#define MON_DATA_GORGEOUS_ROYAL_RIBBON 41 +#define MON_DATA_FOOTPRINT_RIBBON 42 +#define MON_DATA_RECORD_RIBBON 43 +#define MON_DATA_HISTORY_RIBBON 44 +#define MON_DATA_LEGEND_RIBBON 45 +#define MON_DATA_RED_RIBBON 46 +#define MON_DATA_GREEN_RIBBON 47 +#define MON_DATA_BLUE_RIBBON 48 +#define MON_DATA_FESTIVAL_RIBBON 49 +#define MON_DATA_CARNIVAL_RIBBON 50 +#define MON_DATA_CLASSIC_RIBBON 51 +#define MON_DATA_PREMIER_RIBBON 52 +#define MON_DATA_SINNOH_RIBBON_53 53 +#define MON_DATA_MOVE1 54 +#define MON_DATA_MOVE2 55 +#define MON_DATA_MOVE3 56 +#define MON_DATA_MOVE4 57 +#define MON_DATA_MOVE1PP 58 +#define MON_DATA_MOVE2PP 59 +#define MON_DATA_MOVE3PP 60 +#define MON_DATA_MOVE4PP 61 +#define MON_DATA_MOVE1PPUP 62 +#define MON_DATA_MOVE2PPUP 63 +#define MON_DATA_MOVE3PPUP 64 +#define MON_DATA_MOVE4PPUP 65 +#define MON_DATA_MOVE1MAXPP 66 +#define MON_DATA_MOVE2MAXPP 67 +#define MON_DATA_MOVE3MAXPP 68 +#define MON_DATA_MOVE4MAXPP 69 +#define MON_DATA_HP_IV 70 +#define MON_DATA_ATK_IV 71 +#define MON_DATA_DEF_IV 72 +#define MON_DATA_SPEED_IV 73 +#define MON_DATA_SPATK_IV 74 +#define MON_DATA_SPDEF_IV 75 +#define MON_DATA_IS_EGG 76 +#define MON_DATA_HAS_NICKNAME 77 +#define MON_DATA_HOENN_COOL_RIBBON 78 +#define MON_DATA_HOENN_COOL_RIBBON_SUPER 79 +#define MON_DATA_HOENN_COOL_RIBBON_HYPER 80 +#define MON_DATA_HOENN_COOL_RIBBON_MASTER 81 +#define MON_DATA_HOENN_BEAUTY_RIBBON 82 +#define MON_DATA_HOENN_BEAUTY_RIBBON_SUPER 83 +#define MON_DATA_HOENN_BEAUTY_RIBBON_HYPER 84 +#define MON_DATA_HOENN_BEAUTY_RIBBON_MASTER 85 +#define MON_DATA_HOENN_CUTE_RIBBON 86 +#define MON_DATA_HOENN_CUTE_RIBBON_SUPER 87 +#define MON_DATA_HOENN_CUTE_RIBBON_HYPER 88 +#define MON_DATA_HOENN_CUTE_RIBBON_MASTER 89 +#define MON_DATA_HOENN_SMART_RIBBON 90 +#define MON_DATA_HOENN_SMART_RIBBON_SUPER 91 +#define MON_DATA_HOENN_SMART_RIBBON_HYPER 92 +#define MON_DATA_HOENN_SMART_RIBBON_MASTER 93 +#define MON_DATA_HOENN_TOUGH_RIBBON 94 +#define MON_DATA_HOENN_TOUGH_RIBBON_SUPER 95 +#define MON_DATA_HOENN_TOUGH_RIBBON_HYPER 96 +#define MON_DATA_HOENN_TOUGH_RIBBON_MASTER 97 +#define MON_DATA_HOENN_CHAMPION_RIBBON 98 +#define MON_DATA_HOENN_WINNING_RIBBON 99 +#define MON_DATA_HOENN_VICTORY_RIBBON 100 +#define MON_DATA_HOENN_ARTIST_RIBBON 101 +#define MON_DATA_HOENN_EFFORT_RIBBON 102 +#define MON_DATA_HOENN_MARINE_RIBBON 103 +#define MON_DATA_HOENN_LAND_RIBBON 104 +#define MON_DATA_HOENN_SKY_RIBBON 105 +#define MON_DATA_HOENN_COUNTRY_RIBBON 106 +#define MON_DATA_HOENN_NATIONAL_RIBBON 107 +#define MON_DATA_HOENN_EARTH_RIBBON 108 +#define MON_DATA_HOENN_WORLD_RIBBON 109 +#define MON_DATA_FATEFUL_ENCOUNTER 110 +#define MON_DATA_GENDER 111 +#define MON_DATA_FORME 112 +#define MON_DATA_RESERVED_113 113 // HGSS +#define MON_DATA_RESERVED_114 114 // Plat +#define MON_DATA_UNUSED_115 115 +#define MON_DATA_NICKNAME 116 +#define MON_DATA_NICKNAME_2 117 +#define MON_DATA_NICKNAME_3 118 // ??? +#define MON_DATA_NICKNAME_4 119 // ??? +#define MON_DATA_UNK_120 120 +#define MON_DATA_GAME_VERSION 121 +#define MON_DATA_COOL_RIBBON 122 +#define MON_DATA_COOL_RIBBON_GREAT 123 +#define MON_DATA_COOL_RIBBON_ULTRA 124 +#define MON_DATA_COOL_RIBBON_MASTER 125 +#define MON_DATA_BEAUTY_RIBBON 126 +#define MON_DATA_BEAUTY_RIBBON_GREAT 127 +#define MON_DATA_BEAUTY_RIBBON_ULTRA 128 +#define MON_DATA_BEAUTY_RIBBON_MASTER 129 +#define MON_DATA_CUTE_RIBBON 130 +#define MON_DATA_CUTE_RIBBON_GREAT 131 +#define MON_DATA_CUTE_RIBBON_ULTRA 132 +#define MON_DATA_CUTE_RIBBON_MASTER 133 +#define MON_DATA_SMART_RIBBON 134 +#define MON_DATA_SMART_RIBBON_GREAT 135 +#define MON_DATA_SMART_RIBBON_ULTRA 136 +#define MON_DATA_SMART_RIBBON_MASTER 137 +#define MON_DATA_TOUGH_RIBBON 138 +#define MON_DATA_TOUGH_RIBBON_GREAT 139 +#define MON_DATA_TOUGH_RIBBON_ULTRA 140 +#define MON_DATA_TOUGH_RIBBON_MASTER 141 +#define MON_DATA_SINNOH_RIBBON_142 142 +#define MON_DATA_OT_NAME 143 +#define MON_DATA_OT_NAME_2 144 // ??? +#define MON_DATA_EGG_MET_YEAR 145 +#define MON_DATA_EGG_MET_MONTH 146 +#define MON_DATA_EGG_MET_DAY 147 +#define MON_DATA_MET_YEAR 148 +#define MON_DATA_MET_MONTH 149 +#define MON_DATA_MET_DAY 150 +#define MON_DATA_EGG_MET_LOCATION 151 +#define MON_DATA_MET_LOCATION 152 +#define MON_DATA_POKERUS 153 +#define MON_DATA_POKEBALL 154 +#define MON_DATA_MET_LEVEL 155 +#define MON_DATA_MET_GENDER 156 +#define MON_DATA_ENCOUNTER_TYPE 157 +#define MON_DATA_RESERVED_158 158 // HGSS +#define MON_DATA_STATUS 159 +#define MON_DATA_LEVEL 160 +#define MON_DATA_CAPSULE 161 +#define MON_DATA_HP 162 +#define MON_DATA_MAXHP 163 +#define MON_DATA_ATK 164 +#define MON_DATA_DEF 165 +#define MON_DATA_SPEED 166 +#define MON_DATA_SPATK 167 +#define MON_DATA_SPDEF 168 +#define MON_DATA_SEAL_STRUCT 169 +#define MON_DATA_SEAL_COORDS 170 +#define MON_DATA_SPECIES_EXISTS 171 +#define MON_DATA_SANITY_IS_EGG 172 +#define MON_DATA_SPECIES2 173 +#define MON_DATA_IVS_WORD 174 +#define MON_DATA_UNK_175 175 +#define MON_DATA_TYPE_1 176 +#define MON_DATA_TYPE_2 177 +#define MON_DATA_SPECIES_NAME 178 #define MON_RATIO_MALE 0 #define MON_RATIO_EIGHTH 31 diff --git a/include/main.h b/include/main.h index a01f06ce..fa31953c 100644 --- a/include/main.h +++ b/include/main.h @@ -97,8 +97,8 @@ void NitroMain(void); extern struct Unk21C48B8 gMain; void FUN_02000DF4(void); -void FUN_02000E0C(void); -void FUN_02000E7C(FSOverlayID id, struct Unk21DBE18 * arg1); +void Main_RunOverlayManager(void); +void RegisterMainOverlay(FSOverlayID id, struct Unk21DBE18 * arg1); void FUN_02000E9C(void); void FUN_02000EC8(u32 parameter); void FUN_02000EE8(void); diff --git a/include/move_data.h b/include/move_data.h index a970e1bf..9f8656d7 100644 --- a/include/move_data.h +++ b/include/move_data.h @@ -4,7 +4,7 @@ struct WazaTbl { u16 effect; - u8 unk2; + u8 class; u8 power; u8 type; u8 accuracy; @@ -20,7 +20,7 @@ struct WazaTbl typedef enum MoveAttr { MOVEATTR_EFFECT = 0, - MOVEATTR_UNK1, + MOVEATTR_CLASS, MOVEATTR_POWER, MOVEATTR_TYPE, MOVEATTR_ACCURACY, diff --git a/include/player_data.h b/include/player_data.h index 28133f43..bd9cd3b9 100644 --- a/include/player_data.h +++ b/include/player_data.h @@ -12,7 +12,7 @@ struct PlayerData /* 0x10 */ u32 playerId; /* 0x14 */ u32 money; /* 0x18 */ u8 gender; - /* 0x19 */ u8 language; + /* 0x19 */ u8 country; /* 0x1A */ u8 badges; /* 0x1B */ u8 avatar; /* 0x1C */ u8 field_1C; diff --git a/include/pokemon.h b/include/pokemon.h index d3be0c34..ed62c18e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -9,7 +9,7 @@ #include "seals.h" #include "constants/pokemon.h" #include "string16.h" -#include "save_block_2.h" +#include "player_data.h" struct BaseStats { /* 0x00 */ u8 hp; @@ -305,6 +305,6 @@ u16 GetLegendaryMon(u32 idx); BOOL FUN_0206A998(struct Pokemon * pokemon); BOOL FUN_0206A9AC(struct BoxPokemon * boxmon, struct PlayerData * sb2, u32 heap_id); void FUN_0206AA84(struct Pokemon * pokemon); -void FUN_0206AAB4(struct BoxPokemon * boxmon); +void RestoreBoxMonPP(struct BoxPokemon * boxmon); #endif //POKEDIAMOND_POKEMON_H diff --git a/include/save_block_2.h b/include/save_block_2.h index 5257b11d..304469c7 100644 --- a/include/save_block_2.h +++ b/include/save_block_2.h @@ -2,7 +2,6 @@ #define POKEDIAMOND_SAVE_BLOCK_2_H #include "MATH_crc.h" -#include "player_data.h" struct SavArrayHeader { diff --git a/include/script.h b/include/script.h index 7c4dae6d..8fd7696f 100644 --- a/include/script.h +++ b/include/script.h @@ -24,7 +24,7 @@ struct ScriptContext u32 unk74;
struct MsgData * unk78;
u8 *unk7C;
- struct SaveBlock2 * unk80;
+ struct UnkStruct_0204639C * unk80;
};
#define ScriptReadByte(ctx) (*(ctx->scriptPtr++))
diff --git a/include/sound.h b/include/sound.h index 9cec824d..9b50542f 100644 --- a/include/sound.h +++ b/include/sound.h @@ -3,7 +3,7 @@ #include "FS_file.h" #include "sdat.h" -#include "save_block_2.h" +#include "player_data.h" struct SoundData { diff --git a/include/unk_0207FC5C.h b/include/unk_0207FC5C.h new file mode 100644 index 00000000..0e26f38e --- /dev/null +++ b/include/unk_0207FC5C.h @@ -0,0 +1,89 @@ +#ifndef POKEDIAMOND_UNK_0207FC5C_H +#define POKEDIAMOND_UNK_0207FC5C_H + +#define RIBBON_HOENN_CHAMPION 0 +#define RIBBON_HOENN_COOL 1 +#define RIBBON_HOENN_COOL_SUPER 2 +#define RIBBON_HOENN_COOL_HYPER 3 +#define RIBBON_HOENN_COOL_MASTER 4 +#define RIBBON_HOENN_BEAUTY 5 +#define RIBBON_HOENN_BEAUTY_SUPER 6 +#define RIBBON_HOENN_BEAUTY_HYPER 7 +#define RIBBON_HOENN_BEAUTY_MASTER 8 +#define RIBBON_HOENN_CUTE 9 +#define RIBBON_HOENN_CUTE_SUPER 10 +#define RIBBON_HOENN_CUTE_HYPER 11 +#define RIBBON_HOENN_CUTE_MASTER 12 +#define RIBBON_HOENN_SMART 13 +#define RIBBON_HOENN_SMART_SUPER 14 +#define RIBBON_HOENN_SMART_HYPER 15 +#define RIBBON_HOENN_SMART_MASTER 16 +#define RIBBON_HOENN_TOUGH 17 +#define RIBBON_HOENN_TOUGH_SUPER 18 +#define RIBBON_HOENN_TOUGH_HYPER 19 +#define RIBBON_HOENN_TOUGH_MASTER 20 +#define RIBBON_HOENN_WINNING 21 +#define RIBBON_HOENN_VICTORY 22 +#define RIBBON_HOENN_ARTIST 23 +#define RIBBON_HOENN_EFFORT 24 +#define RIBBON_HOENN_MARINE 25 +#define RIBBON_HOENN_LAND 26 +#define RIBBON_HOENN_SKY 27 +#define RIBBON_HOENN_COUNTRY 28 +#define RIBBON_HOENN_NATIONAL 29 +#define RIBBON_HOENN_EARTH 30 +#define RIBBON_HOENN_WORLD 31 +#define RIBBON_SINNOH_CHAMP 32 +#define RIBBON_COOL 33 +#define RIBBON_COOL_GREAT 34 +#define RIBBON_COOL_ULTRA 35 +#define RIBBON_COOL_MASTER 36 +#define RIBBON_BEAUTY 37 +#define RIBBON_BEAUTY_GREAT 38 +#define RIBBON_BEAUTY_ULTRA 39 +#define RIBBON_BEAUTY_MASTER 40 +#define RIBBON_CUTE 41 +#define RIBBON_CUTE_GREAT 42 +#define RIBBON_CUTE_ULTRA 43 +#define RIBBON_CUTE_MASTER 44 +#define RIBBON_SMART 45 +#define RIBBON_SMART_GREAT 46 +#define RIBBON_SMART_ULTRA 47 +#define RIBBON_SMART_MASTER 48 +#define RIBBON_TOUGH 49 +#define RIBBON_TOUGH_GREAT 50 +#define RIBBON_TOUGH_ULTRA 51 +#define RIBBON_TOUGH_MASTER 52 +#define RIBBON_ABILITY 53 +#define RIBBON_GREAT_ABILITY 54 +#define RIBBON_DOUBLE_ABILITY 55 +#define RIBBON_MULTI_ABILITY 56 +#define RIBBON_PAIR_ABILITY 57 +#define RIBBON_WORLD_ABILITY 58 +#define RIBBON_ALERT 59 +#define RIBBON_SHOCK 60 +#define RIBBON_DOWNCAST 61 +#define RIBBON_CARELESS 62 +#define RIBBON_RELAX 63 +#define RIBBON_SNOOZE 64 +#define RIBBON_SMILE 65 +#define RIBBON_GORGEOUS 66 +#define RIBBON_ROYAL 67 +#define RIBBON_GORGEOUS_ROYAL 68 +#define RIBBON_FOOTPRINT 69 +#define RIBBON_RECORD 70 +#define RIBBON_HISTORY 71 +#define RIBBON_LEGEND 72 +#define RIBBON_RED 73 +#define RIBBON_GREEN 74 +#define RIBBON_BLUE 75 +#define RIBBON_FESTIVAL 76 +#define RIBBON_CARNIVAL 77 +#define RIBBON_CLASSIC 78 +#define RIBBON_PREMIER 79 + +u32 FUN_0207FC5C(u8 a0, u32 a1); +int FUN_0207FCC0(u8 * a0, u32 a1); +u8 FUN_0207FCE0(u32 a0); + +#endif //POKEDIAMOND_UNK_0207FC5C_H |