diff options
Diffstat (limited to 'include')
30 files changed, 886 insertions, 831 deletions
| diff --git a/include/battle_anim.h b/include/battle_anim.h index 200b9fdb1..3483f6836 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -31,9 +31,6 @@ struct BattleAnimBackground  #define ANIM_ARGS_COUNT 8 -#define PAN_SIDE_PLAYER     -64 -#define PAN_SIDE_OPPONENT   63 -  extern void (*gAnimScriptCallback)(void);  extern bool8 gAnimScriptActive;  extern u8 gAnimVisualTaskCount; diff --git a/include/battle_frontier_1.h b/include/battle_frontier_1.h new file mode 100644 index 000000000..bc777914a --- /dev/null +++ b/include/battle_frontier_1.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_FRONTIER_1_H +#define GUARD_BATTLE_FRONTIER_1_H + +bool32 sub_8196034(void); + +#endif // GUARD_BATTLE_FRONTIER_1_H diff --git a/include/blit.h b/include/blit.h index e7f384cc8..2fe99d7bd 100644 --- a/include/blit.h +++ b/include/blit.h @@ -1,6 +1,13 @@  #ifndef GUARD_BLIT_H  #define GUARD_BLIT_H +struct Bitmap +{ +    u8* pixels; +    u32 width:16; +    u32 height:16; +}; +  void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);  void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);  void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 2b21aad9e..ea3087c18 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -313,6 +313,20 @@  #define ANIM_ATK_PARTNER 2  #define ANIM_DEF_PARTNER 3 +// stereo panning constants [0-255] +// +//          0 +//         .  . +//      .        . +// 192 .          . 63 +//     .          . +//      .        . +//         .  . +//          127 +//   +#define SOUND_PAN_ATTACKER -64 +#define SOUND_PAN_TARGET    63 +  // move background ids  #define BG_DARK_ 0 // the same as BG_DARK but is unused  #define BG_DARK 1 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 80e4213fd..4967c814d 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -96,8 +96,8 @@  #define EVENT_OBJ_GFX_MAY_SURFING                 92  #define EVENT_OBJ_GFX_MAY_FIELD_MOVE              93  #define EVENT_OBJ_GFX_TRUCK                       94 -#define EVENT_OBJ_GFX_VIGAROTH_CARRYING_BOX       95 -#define EVENT_OBJ_GFX_VIGAROTH_FACING_AWAY        96 +#define EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX       95 +#define EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY        96  #define EVENT_OBJ_GFX_BIRCHS_BAG                  97  #define EVENT_OBJ_GFX_ZIGZAGOON_1                 98  #define EVENT_OBJ_GFX_ARTIST                      99 diff --git a/include/constants/flags.h b/include/constants/flags.h index a74dffccf..c21affd61 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1,38 +1,43 @@  #ifndef GUARD_CONSTANTS_FLAGS_H  #define GUARD_CONSTANTS_FLAGS_H -#define FLAG_0x001               0x1 -#define FLAG_0x002               0x2 -#define FLAG_0x003               0x3 -#define FLAG_0x004               0x4 -#define FLAG_0x005               0x5 -#define FLAG_0x006               0x6 -#define FLAG_0x007               0x7 -#define FLAG_0x008               0x8 -#define FLAG_0x009               0x9 -#define FLAG_0x00A               0xA -#define FLAG_0x00B               0xB -#define FLAG_0x00C               0xC -#define FLAG_0x00D               0xD -#define FLAG_0x00E               0xE -#define FLAG_0x00F               0xF -#define FLAG_0x010               0x10 -#define FLAG_0x011               0x11 -#define FLAG_0x012               0x12 -#define FLAG_0x013               0x13 -#define FLAG_0x014               0x14 -#define FLAG_0x015               0x15 -#define FLAG_0x016               0x16 -#define FLAG_0x017               0x17 -#define FLAG_0x018               0x18 -#define FLAG_0x019               0x19 -#define FLAG_0x01A               0x1A -#define FLAG_0x01B               0x1B -#define FLAG_0x01C               0x1C -#define FLAG_0x01D               0x1D -#define FLAG_0x01E               0x1E -#define FLAG_0x01F               0x1F -#define FLAG_0x020               0x20 +// temporary flags +// These temporary flags are are cleared every time a map is loaded. They are used +// for things like shortening an NPCs introduction text if the player already spoke +// to them once. +#define FLAG_TEMP_1   0x1 +#define FLAG_TEMP_2   0x2 +#define FLAG_TEMP_3   0x3 +#define FLAG_TEMP_4   0x4 +#define FLAG_TEMP_5   0x5 +#define FLAG_TEMP_6   0x6 +#define FLAG_TEMP_7   0x7 +#define FLAG_TEMP_8   0x8 +#define FLAG_TEMP_9   0x9 +#define FLAG_TEMP_A   0xA +#define FLAG_TEMP_B   0xB +#define FLAG_TEMP_C   0xC +#define FLAG_TEMP_D   0xD +#define FLAG_TEMP_E   0xE +#define FLAG_TEMP_F   0xF +#define FLAG_TEMP_10  0x10 +#define FLAG_TEMP_11  0x11 +#define FLAG_TEMP_12  0x12 +#define FLAG_TEMP_13  0x13 +#define FLAG_TEMP_14  0x14 +#define FLAG_TEMP_15  0x15 +#define FLAG_TEMP_16  0x16 +#define FLAG_TEMP_17  0x17 +#define FLAG_TEMP_18  0x18 +#define FLAG_TEMP_19  0x19 +#define FLAG_TEMP_1A  0x1A +#define FLAG_TEMP_1B  0x1B +#define FLAG_TEMP_1C  0x1C +#define FLAG_TEMP_1D  0x1D +#define FLAG_TEMP_1E  0x1E +#define FLAG_TEMP_1F  0x1F +#define FLAG_TEMP_20  0x20 +  #define FLAG_0x021               0x21  #define FLAG_0x022               0x22  #define FLAG_0x023               0x23 @@ -80,13 +85,13 @@  #define FLAG_0x04D               0x4D  #define FLAG_0x04E               0x4E  #define FLAG_0x04F               0x4F -#define FLAG_0x050               0x50 +#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT               0x50  #define FLAG_0x051               0x51  #define FLAG_0x052               0x52  #define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53  #define FLAG_0x054               0x54  #define FLAG_0x055               0x55 -#define FLAG_0x056               0x56 +#define FLAG_LINK_CONTEST_POKE_BALL               0x56  #define FLAG_0x057               0x57  #define FLAG_0x058               0x58  #define FLAG_0x059               0x59 @@ -173,21 +178,24 @@  #define FLAG_0x0AA               0xAA  #define FLAG_0x0AB               0xAB  #define FLAG_0x0AC               0xAC -#define FLAG_0x0AD               0xAD -#define FLAG_0x0AE               0xAE -#define FLAG_0x0AF               0xAF -#define FLAG_0x0B0               0xB0 -#define FLAG_0x0B1               0xB1 -#define FLAG_0x0B2               0xB2 -#define FLAG_0x0B3               0xB3 -#define FLAG_0x0B4               0xB4 -#define FLAG_0x0B5               0xB5 -#define FLAG_0x0B6               0xB6 -#define FLAG_0x0B7               0xB7 -#define FLAG_0x0B8               0xB8 -#define FLAG_0x0B9               0xB9 -#define FLAG_0x0BA               0xBA -#define FLAG_0x0BB               0xBB + +#define FLAG_DECORATION_0               0xAD +#define FLAG_DECORATION_1               0xAE +#define FLAG_DECORATION_2               0xAF +#define FLAG_DECORATION_3               0xB0 +#define FLAG_DECORATION_4               0xB1 +#define FLAG_DECORATION_5               0xB2 +#define FLAG_DECORATION_6               0xB3 +#define FLAG_DECORATION_7               0xB4 +#define FLAG_DECORATION_8               0xB5 +#define FLAG_DECORATION_9               0xB6 +#define FLAG_DECORATION_10               0xB7 +#define FLAG_DECORATION_11               0xB8 +#define FLAG_DECORATION_12               0xB9 +#define FLAG_DECORATION_13               0xBA +#define FLAG_DECORATION_14               0xBB + +// scripts  #define FLAG_0x0BC               0xBC  #define FLAG_0x0BD               0xBD  #define FLAG_0x0BE               0xBE @@ -230,7 +238,7 @@  #define FLAG_0x0E3               0xE3  #define FLAG_0x0E4               0xE4  #define FLAG_0x0E5               0xE5 -#define FLAG_0x0E6               0xE6 +#define FLAG_RECEIVED_TM_36               0xE6  #define FLAG_0x0E7               0xE7  #define FLAG_0x0E8               0xE8  #define FLAG_0x0E9               0xE9 @@ -292,9 +300,11 @@  #define FLAG_0x121               0x121  #define FLAG_0x122               0x122  #define FLAG_0x123               0x123 + +// upper flags?  #define FLAG_0x124               0x124  #define FLAG_0x125               0x125 -#define FLAG_0x126               0x126 +#define FLAG_TRADED_SCANNER_TO_STERN               0x126  #define FLAG_0x127               0x127  #define FLAG_0x128               0x128  #define FLAG_0x129               0x129 @@ -335,8 +345,8 @@  #define FLAG_0x14C               0x14C  #define FLAG_0x14D               0x14D  #define FLAG_0x14E               0x14E -#define FLAG_0x14F               0x14F -#define FLAG_0x150               0x150 +#define FLAG_0x14F               0x14F// PLAYER CHOSE CLAW FOSSIL +#define FLAG_0x150               0x150// PLAYER CHOSE ROOT FOSSIL  #define FLAG_0x151               0x151  #define FLAG_0x152               0x152  #define FLAG_0x153               0x153 @@ -501,677 +511,599 @@  #define FLAG_0x1F1               0x1F1  #define FLAG_0x1F2               0x1F2  #define FLAG_0x1F3               0x1F3 -#define FLAG_0x1F4               0x1F4 -#define FLAG_0x1F5               0x1F5 -#define FLAG_0x1F6               0x1F6 -#define FLAG_0x1F7               0x1F7 -#define FLAG_0x1F8               0x1F8 -#define FLAG_0x1F9               0x1F9 -#define FLAG_0x1FA               0x1FA -#define FLAG_0x1FB               0x1FB -#define FLAG_0x1FC               0x1FC -#define FLAG_0x1FD               0x1FD -#define FLAG_0x1FE               0x1FE -#define FLAG_0x1FF               0x1FF -#define FLAG_0x200               0x200 -#define FLAG_0x201               0x201 -#define FLAG_0x202               0x202 -#define FLAG_0x203               0x203 -#define FLAG_0x204               0x204 -#define FLAG_0x205               0x205 -#define FLAG_0x206               0x206 -#define FLAG_0x207               0x207 -#define FLAG_0x208               0x208 -#define FLAG_0x209               0x209 -#define FLAG_0x20A               0x20A -#define FLAG_0x20B               0x20B -#define FLAG_0x20C               0x20C -#define FLAG_0x20D               0x20D -#define FLAG_0x20E               0x20E -#define FLAG_0x20F               0x20F -#define FLAG_0x210               0x210 -#define FLAG_0x211               0x211 -#define FLAG_0x212               0x212 -#define FLAG_HIDDEN_ITEM_1F               0x213 -#define FLAG_HIDDEN_ITEM_20               0x214 -#define FLAG_HIDDEN_ITEM_21               0x215 -#define FLAG_HIDDEN_ITEM_22               0x216 -#define FLAG_0x217               0x217 -#define FLAG_0x218               0x218 -#define FLAG_0x219               0x219 -#define FLAG_0x21A               0x21A -#define FLAG_0x21B               0x21B -#define FLAG_0x21C               0x21C -#define FLAG_0x21D               0x21D -#define FLAG_0x21E               0x21E -#define FLAG_0x21F               0x21F -#define FLAG_0x220               0x220 -#define FLAG_0x221               0x221 -#define FLAG_0x222               0x222 -#define FLAG_0x223               0x223 -#define FLAG_0x224               0x224 -#define FLAG_0x225               0x225 -#define FLAG_0x226               0x226 -#define FLAG_0x227               0x227 -#define FLAG_0x228               0x228 -#define FLAG_0x229               0x229 -#define FLAG_0x22A               0x22A -#define FLAG_0x22B               0x22B -#define FLAG_0x22C               0x22C -#define FLAG_0x22D               0x22D -#define FLAG_0x22E               0x22E -#define FLAG_0x22F               0x22F -#define FLAG_0x230               0x230 -#define FLAG_0x231               0x231 -#define FLAG_0x232               0x232 -#define FLAG_0x233               0x233 -#define FLAG_0x234               0x234 -#define FLAG_0x235               0x235 -#define FLAG_0x236               0x236 -#define FLAG_0x237               0x237 -#define FLAG_0x238               0x238 -#define FLAG_0x239               0x239 -#define FLAG_0x23A               0x23A -#define FLAG_0x23B               0x23B -#define FLAG_0x23C               0x23C -#define FLAG_0x23D               0x23D -#define FLAG_0x23E               0x23E -#define FLAG_0x23F               0x23F -#define FLAG_0x240               0x240 -#define FLAG_0x241               0x241 -#define FLAG_0x242               0x242 -#define FLAG_0x243               0x243 -#define FLAG_0x244               0x244 -#define FLAG_0x245               0x245 -#define FLAG_0x246               0x246 -#define FLAG_0x247               0x247 -#define FLAG_0x248               0x248 -#define FLAG_0x249               0x249 -#define FLAG_0x24A               0x24A -#define FLAG_0x24B               0x24B -#define FLAG_0x24C               0x24C -#define FLAG_0x24D               0x24D -#define FLAG_0x24E               0x24E -#define FLAG_0x24F               0x24F -#define FLAG_0x250               0x250 -#define FLAG_0x251               0x251 -#define FLAG_0x252               0x252 -#define FLAG_0x253               0x253 -#define FLAG_HIDDEN_ITEM_BLACK_GLASSES               0x254 -#define FLAG_0x255               0x255 -#define FLAG_0x256               0x256 -#define FLAG_0x257               0x257 -#define FLAG_0x258               0x258 -#define FLAG_0x259               0x259 -#define FLAG_0x25A               0x25A -#define FLAG_0x25B               0x25B -#define FLAG_0x25C               0x25C -#define FLAG_0x25D               0x25D -#define FLAG_0x25E               0x25E -#define FLAG_0x25F               0x25F -#define FLAG_0x260               0x260 -#define FLAG_0x261               0x261 -#define FLAG_0x262               0x262 -#define FLAG_0x263               0x263 -#define FLAG_0x264               0x264 -#define FLAG_0x265               0x265 -#define FLAG_0x266               0x266 -#define FLAG_0x267               0x267 -#define FLAG_0x268               0x268 -#define FLAG_0x269               0x269 -#define FLAG_0x26A               0x26A -#define FLAG_0x26B               0x26B -#define FLAG_0x26C               0x26C -#define FLAG_0x26D               0x26D -#define FLAG_0x26E               0x26E -#define FLAG_0x26F               0x26F -#define FLAG_0x270               0x270 -#define FLAG_0x271               0x271 -#define FLAG_0x272               0x272 -#define FLAG_0x273               0x273 -#define FLAG_0x274               0x274 -#define FLAG_0x275               0x275 -#define FLAG_0x276               0x276 -#define FLAG_0x277               0x277 -#define FLAG_0x278               0x278 -#define FLAG_0x279               0x279 -#define FLAG_0x27A               0x27A -#define FLAG_0x27B               0x27B -#define FLAG_0x27C               0x27C -#define FLAG_0x27D               0x27D -#define FLAG_0x27E               0x27E -#define FLAG_0x27F               0x27F -#define FLAG_0x280               0x280 -#define FLAG_0x281               0x281 -#define FLAG_0x282               0x282 -#define FLAG_0x283               0x283 -#define FLAG_0x284               0x284 -#define FLAG_0x285               0x285 -#define FLAG_0x286               0x286 -#define FLAG_0x287               0x287 -#define FLAG_0x288               0x288 -#define FLAG_0x289               0x289 -#define FLAG_0x28A               0x28A -#define FLAG_0x28B               0x28B -#define FLAG_0x28C               0x28C -#define FLAG_0x28D               0x28D -#define FLAG_0x28E               0x28E -#define FLAG_0x28F               0x28F -#define FLAG_0x290               0x290 -#define FLAG_0x291               0x291 -#define FLAG_0x292               0x292 -#define FLAG_0x293               0x293 -#define FLAG_0x294               0x294 -#define FLAG_0x295               0x295 -#define FLAG_0x296               0x296 -#define FLAG_0x297               0x297 -#define FLAG_0x298               0x298 -#define FLAG_0x299               0x299 -#define FLAG_0x29A               0x29A -#define FLAG_0x29B               0x29B -#define FLAG_0x29C               0x29C -#define FLAG_0x29D               0x29D -#define FLAG_0x29E               0x29E -#define FLAG_0x29F               0x29F -#define FLAG_0x2A0               0x2A0 -#define FLAG_0x2A1               0x2A1 -#define FLAG_0x2A2               0x2A2 -#define FLAG_0x2A3               0x2A3 -#define FLAG_0x2A4               0x2A4 -#define FLAG_0x2A5               0x2A5 -#define FLAG_0x2A6               0x2A6 -#define FLAG_0x2A7               0x2A7 -#define FLAG_0x2A8               0x2A8 -#define FLAG_0x2A9               0x2A9 -#define FLAG_0x2AA               0x2AA -#define FLAG_0x2AB               0x2AB -#define FLAG_0x2AC               0x2AC -#define FLAG_0x2AD               0x2AD -#define FLAG_0x2AE               0x2AE -#define FLAG_0x2AF               0x2AF -#define FLAG_0x2B0               0x2B0 -#define FLAG_0x2B1               0x2B1 -#define FLAG_0x2B2               0x2B2 -#define FLAG_0x2B3               0x2B3 -#define FLAG_0x2B4               0x2B4 -#define FLAG_0x2B5               0x2B5 -#define FLAG_0x2B6               0x2B6 -#define FLAG_0x2B7               0x2B7 -#define FLAG_0x2B8               0x2B8 -#define FLAG_0x2B9               0x2B9 -#define FLAG_0x2BA               0x2BA -#define FLAG_0x2BB               0x2BB -#define FLAG_0x2BC               0x2BC -#define FLAG_0x2BD               0x2BD -#define FLAG_0x2BE               0x2BE -#define FLAG_0x2BF               0x2BF -#define FLAG_0x2C0               0x2C0 -#define FLAG_0x2C1               0x2C1 -#define FLAG_0x2C2               0x2C2 -#define FLAG_0x2C3               0x2C3 -#define FLAG_0x2C4               0x2C4 -#define FLAG_0x2C5               0x2C5 -#define FLAG_0x2C6               0x2C6 -#define FLAG_0x2C7               0x2C7 -#define FLAG_0x2C8               0x2C8 -#define FLAG_0x2C9               0x2C9 -#define FLAG_0x2CA               0x2CA -#define FLAG_0x2CB               0x2CB -#define FLAG_0x2CC               0x2CC -#define FLAG_0x2CD               0x2CD -#define FLAG_0x2CE               0x2CE -#define FLAG_0x2CF               0x2CF -#define FLAG_0x2D0               0x2D0 -#define FLAG_0x2D1               0x2D1 -#define FLAG_0x2D2               0x2D2 -#define FLAG_0x2D3               0x2D3 -#define FLAG_0x2D4               0x2D4 -#define FLAG_0x2D5               0x2D5 -#define FLAG_0x2D6               0x2D6 -#define FLAG_0x2D7               0x2D7 -#define FLAG_0x2D8               0x2D8 -#define FLAG_0x2D9               0x2D9 -#define FLAG_0x2DA               0x2DA -#define FLAG_0x2DB               0x2DB -#define FLAG_0x2DC               0x2DC -#define FLAG_0x2DD               0x2DD -#define FLAG_0x2DE               0x2DE -#define FLAG_0x2DF               0x2DF -#define FLAG_0x2E0               0x2E0 -#define FLAG_0x2E1               0x2E1 -#define FLAG_0x2E2               0x2E2 -#define FLAG_0x2E3               0x2E3 -#define FLAG_0x2E4               0x2E4 -#define FLAG_0x2E5               0x2E5 -#define FLAG_0x2E6               0x2E6 -#define FLAG_0x2E7               0x2E7 -#define FLAG_0x2E8               0x2E8 -#define FLAG_0x2E9               0x2E9 -#define FLAG_0x2EA               0x2EA -#define FLAG_0x2EB               0x2EB -#define FLAG_0x2EC               0x2EC -#define FLAG_0x2ED               0x2ED -#define FLAG_0x2EE               0x2EE -#define FLAG_0x2EF               0x2EF -#define FLAG_0x2F0               0x2F0 -#define FLAG_0x2F1               0x2F1 -#define FLAG_0x2F2               0x2F2 -#define FLAG_0x2F3               0x2F3 -#define FLAG_0x2F4               0x2F4 -#define FLAG_0x2F5               0x2F5 -#define FLAG_0x2F6               0x2F6 -#define FLAG_0x2F7               0x2F7 -#define FLAG_0x2F8               0x2F8 -#define FLAG_0x2F9               0x2F9 -#define FLAG_0x2FA               0x2FA -#define FLAG_0x2FB               0x2FB -#define FLAG_0x2FC               0x2FC -#define FLAG_0x2FD               0x2FD -#define FLAG_0x2FE               0x2FE -#define FLAG_0x2FF               0x2FF -#define FLAG_0x300               0x300 -#define FLAG_0x301               0x301 -#define FLAG_0x302               0x302 -#define FLAG_0x303               0x303 -#define FLAG_0x304               0x304 -#define FLAG_0x305               0x305 -#define FLAG_0x306               0x306 -#define FLAG_0x307               0x307 -#define FLAG_0x308               0x308 -#define FLAG_0x309               0x309 -#define FLAG_0x30A               0x30A -#define FLAG_0x30B               0x30B -#define FLAG_0x30C               0x30C -#define FLAG_0x30D               0x30D -#define FLAG_0x30E               0x30E -#define FLAG_0x30F               0x30F -#define FLAG_0x310               0x310 -#define FLAG_0x311               0x311 -#define FLAG_0x312               0x312 -#define FLAG_0x313               0x313 -#define FLAG_0x314               0x314 -#define FLAG_HIDE_FANCLUB_OLD_LADY               0x315 -#define FLAG_HIDE_FANCLUB_BOY               0x316 -#define FLAG_HIDE_FANCLUB_LITTLE_BOY               0x317 -#define FLAG_HIDE_FANCLUB_LADY               0x318 -#define FLAG_0x319               0x319 -#define FLAG_0x31A               0x31A -#define FLAG_0x31B               0x31B -#define FLAG_0x31C               0x31C -#define FLAG_0x31D               0x31D -#define FLAG_0x31E               0x31E -#define FLAG_0x31F               0x31F -#define FLAG_0x320               0x320 -#define FLAG_0x321               0x321 -#define FLAG_0x322               0x322 -#define FLAG_0x323               0x323 -#define FLAG_0x324               0x324 -#define FLAG_0x325               0x325 -#define FLAG_0x326               0x326 -#define FLAG_0x327               0x327 -#define FLAG_0x328               0x328 -#define FLAG_0x329               0x329 -#define FLAG_0x32A               0x32A -#define FLAG_0x32B               0x32B -#define FLAG_0x32C               0x32C -#define FLAG_0x32D               0x32D -#define FLAG_0x32E               0x32E -#define FLAG_0x32F               0x32F -#define FLAG_0x330               0x330 -#define FLAG_0x331               0x331 -#define FLAG_0x332               0x332 -#define FLAG_0x333               0x333 -#define FLAG_0x334               0x334 -#define FLAG_0x335               0x335 -#define FLAG_0x336               0x336 -#define FLAG_0x337               0x337 -#define FLAG_0x338               0x338 -#define FLAG_0x339               0x339 -#define FLAG_0x33A               0x33A -#define FLAG_0x33B               0x33B -#define FLAG_0x33C               0x33C -#define FLAG_0x33D               0x33D -#define FLAG_0x33E               0x33E -#define FLAG_0x33F               0x33F -#define FLAG_0x340               0x340 -#define FLAG_0x341               0x341 -#define FLAG_0x342               0x342 -#define FLAG_0x343               0x343 -#define FLAG_0x344               0x344 -#define FLAG_0x345               0x345 -#define FLAG_0x346               0x346 -#define FLAG_0x347               0x347 -#define FLAG_0x348               0x348 -#define FLAG_0x349               0x349 -#define FLAG_0x34A               0x34A -#define FLAG_0x34B               0x34B -#define FLAG_0x34C               0x34C -#define FLAG_0x34D               0x34D -#define FLAG_0x34E               0x34E -#define FLAG_0x34F               0x34F -#define FLAG_0x350               0x350 -#define FLAG_0x351               0x351 -#define FLAG_0x352               0x352 -#define FLAG_0x353               0x353 -#define FLAG_0x354               0x354 -#define FLAG_0x355               0x355 -#define FLAG_0x356               0x356 -#define FLAG_0x357               0x357 -#define FLAG_0x358               0x358 -#define FLAG_0x359               0x359 -#define FLAG_0x35A               0x35A -#define FLAG_0x35B               0x35B -#define FLAG_0x35C               0x35C -#define FLAG_0x35D               0x35D -#define FLAG_0x35E               0x35E -#define FLAG_0x35F               0x35F -#define FLAG_0x360               0x360 -#define FLAG_0x361               0x361 -#define FLAG_0x362               0x362 -#define FLAG_0x363               0x363 -#define FLAG_0x364               0x364 -#define FLAG_0x365               0x365 -#define FLAG_0x366               0x366 -#define FLAG_0x367               0x367 -#define FLAG_0x368               0x368 -#define FLAG_0x369               0x369 -#define FLAG_0x36A               0x36A -#define FLAG_0x36B               0x36B -#define FLAG_0x36C               0x36C -#define FLAG_0x36D               0x36D -#define FLAG_0x36E               0x36E -#define FLAG_0x36F               0x36F -#define FLAG_0x370               0x370 -#define FLAG_0x371               0x371 -#define FLAG_0x372               0x372 -#define FLAG_0x373               0x373 -#define FLAG_0x374               0x374 -#define FLAG_0x375               0x375 -#define FLAG_0x376               0x376 -#define FLAG_0x377               0x377 -#define FLAG_0x378               0x378 -#define FLAG_0x379               0x379 -#define FLAG_0x37A               0x37A -#define FLAG_0x37B               0x37B -#define FLAG_0x37C               0x37C -#define FLAG_0x37D               0x37D -#define FLAG_0x37E               0x37E -#define FLAG_0x37F               0x37F -#define FLAG_0x380               0x380 -#define FLAG_0x381               0x381 -#define FLAG_0x382               0x382 -#define FLAG_0x383               0x383 -#define FLAG_0x384               0x384 -#define FLAG_0x385               0x385 -#define FLAG_0x386               0x386 -#define FLAG_0x387               0x387 -#define FLAG_0x388               0x388 -#define FLAG_0x389               0x389 -#define FLAG_0x38A               0x38A -#define FLAG_0x38B               0x38B -#define FLAG_0x38C               0x38C -#define FLAG_0x38D               0x38D -#define FLAG_0x38E               0x38E -#define FLAG_0x38F               0x38F -#define FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON               0x390 -#define FLAG_SPRITEVIS_MAUVILLE_GYM_WATTSON               0x391 -#define FLAG_0x392               0x392 -#define FLAG_0x393               0x393 -#define FLAG_0x394               0x394 -#define FLAG_0x395               0x395 -#define FLAG_0x396               0x396 -#define FLAG_0x397               0x397 -#define FLAG_0x398               0x398 -#define FLAG_0x399               0x399 -#define FLAG_0x39A               0x39A -#define FLAG_0x39B               0x39B -#define FLAG_0x39C               0x39C -#define FLAG_0x39D               0x39D -#define FLAG_0x39E               0x39E -#define FLAG_0x39F               0x39F -#define FLAG_0x3A0               0x3A0 -#define FLAG_0x3A1               0x3A1 -#define FLAG_0x3A2               0x3A2 -#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1               0x3A3 -#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2               0x3A4 -#define FLAG_0x3A5               0x3A5 -#define FLAG_0x3A6               0x3A6 -#define FLAG_0x3A7               0x3A7 -#define FLAG_0x3A8               0x3A8 -#define FLAG_0x3A9               0x3A9 -#define FLAG_0x3AA               0x3AA -#define FLAG_0x3AB               0x3AB -#define FLAG_0x3AC               0x3AC -#define FLAG_0x3AD               0x3AD -#define FLAG_0x3AE               0x3AE -#define FLAG_0x3AF               0x3AF -#define FLAG_0x3B0               0x3B0 -#define FLAG_0x3B1               0x3B1 -#define FLAG_0x3B2               0x3B2 -#define FLAG_0x3B3               0x3B3 -#define FLAG_0x3B4               0x3B4 -#define FLAG_0x3B5               0x3B5 -#define FLAG_0x3B6               0x3B6 -#define FLAG_0x3B7               0x3B7 -#define FLAG_0x3B8               0x3B8 -#define FLAG_0x3B9               0x3B9 -#define FLAG_0x3BA               0x3BA -#define FLAG_0x3BB               0x3BB -#define FLAG_0x3BC               0x3BC -#define FLAG_0x3BD               0x3BD -#define FLAG_0x3BE               0x3BE -#define FLAG_0x3BF               0x3BF -#define FLAG_0x3C0               0x3C0 -#define FLAG_SPRITEVIS_SLATEPORT_MUSEUM_POPULATION               0x3C1 -#define FLAG_0x3C2               0x3C2 -#define FLAG_0x3C3               0x3C3 -#define FLAG_0x3C4               0x3C4 -#define FLAG_0x3C5               0x3C5 -#define FLAG_0x3C6               0x3C6 -#define FLAG_0x3C7               0x3C7 -#define FLAG_0x3C8               0x3C8 -#define FLAG_0x3C9               0x3C9 -#define FLAG_0x3CA               0x3CA -#define FLAG_0x3CB               0x3CB -#define FLAG_0x3CC               0x3CC -#define FLAG_0x3CD               0x3CD -#define FLAG_0x3CE               0x3CE -#define FLAG_0x3CF               0x3CF -#define FLAG_0x3D0               0x3D0 -#define FLAG_0x3D1               0x3D1 -#define FLAG_0x3D2               0x3D2 -#define FLAG_0x3D3               0x3D3 -#define FLAG_0x3D4               0x3D4 -#define FLAG_0x3D5               0x3D5 -#define FLAG_0x3D6               0x3D6 -#define FLAG_0x3D7               0x3D7 -#define FLAG_0x3D8               0x3D8 -#define FLAG_0x3D9               0x3D9 -#define FLAG_0x3DA               0x3DA -#define FLAG_0x3DB               0x3DB -#define FLAG_0x3DC               0x3DC -#define FLAG_0x3DD               0x3DD -#define FLAG_0x3DE               0x3DE -#define FLAG_0x3DF               0x3DF -#define FLAG_0x3E0               0x3E0 -#define FLAG_0x3E1               0x3E1 -#define FLAG_0x3E2               0x3E2 -#define FLAG_0x3E3               0x3E3 -#define FLAG_0x3E4               0x3E4 -#define FLAG_0x3E5               0x3E5 -#define FLAG_0x3E6               0x3E6 -#define FLAG_0x3E7               0x3E7 -#define FLAG_0x3E8               0x3E8 -#define FLAG_0x3E9               0x3E9 -#define FLAG_0x3EA               0x3EA -#define FLAG_0x3EB               0x3EB -#define FLAG_0x3EC               0x3EC -#define FLAG_0x3ED               0x3ED -#define FLAG_0x3EE               0x3EE -#define FLAG_0x3EF               0x3EF -#define FLAG_0x3F0               0x3F0 -#define FLAG_0x3F1               0x3F1 -#define FLAG_0x3F2               0x3F2 -#define FLAG_0x3F3               0x3F3 -#define FLAG_0x3F4               0x3F4 -#define FLAG_0x3F5               0x3F5 -#define FLAG_0x3F6               0x3F6 -#define FLAG_0x3F7               0x3F7 -#define FLAG_0x3F8               0x3F8 -#define FLAG_0x3F9               0x3F9 -#define FLAG_0x3FA               0x3FA -#define FLAG_0x3FB               0x3FB -#define FLAG_0x3FC               0x3FC -#define FLAG_0x3FD               0x3FD -#define FLAG_0x3FE               0x3FE -#define FLAG_0x3FF               0x3FF -#define FLAG_0x400               0x400 -#define FLAG_0x401               0x401 -#define FLAG_0x402               0x402 -#define FLAG_0x403               0x403 -#define FLAG_0x404               0x404 -#define FLAG_0x405               0x405 -#define FLAG_0x406               0x406 -#define FLAG_0x407               0x407 -#define FLAG_0x408               0x408 -#define FLAG_0x409               0x409 -#define FLAG_0x40A               0x40A -#define FLAG_0x40B               0x40B -#define FLAG_0x40C               0x40C -#define FLAG_0x40D               0x40D -#define FLAG_0x40E               0x40E -#define FLAG_0x40F               0x40F -#define FLAG_0x410               0x410 -#define FLAG_0x411               0x411 -#define FLAG_0x412               0x412 -#define FLAG_0x413               0x413 -#define FLAG_0x414               0x414 -#define FLAG_0x415               0x415 -#define FLAG_0x416               0x416 -#define FLAG_0x417               0x417 -#define FLAG_0x418               0x418 -#define FLAG_0x419               0x419 -#define FLAG_0x41A               0x41A -#define FLAG_0x41B               0x41B -#define FLAG_0x41C               0x41C -#define FLAG_0x41D               0x41D -#define FLAG_0x41E               0x41E -#define FLAG_0x41F               0x41F -#define FLAG_0x420               0x420 -#define FLAG_0x421               0x421 -#define FLAG_0x422               0x422 -#define FLAG_0x423               0x423 -#define FLAG_0x424               0x424 -#define FLAG_0x425               0x425 -#define FLAG_0x426               0x426 -#define FLAG_0x427               0x427 -#define FLAG_0x428               0x428 -#define FLAG_0x429               0x429 -#define FLAG_0x42A               0x42A -#define FLAG_0x42B               0x42B -#define FLAG_0x42C               0x42C -#define FLAG_0x42D               0x42D -#define FLAG_0x42E               0x42E -#define FLAG_0x42F               0x42F -#define FLAG_0x430               0x430 -#define FLAG_0x431               0x431 -#define FLAG_0x432               0x432 -#define FLAG_0x433               0x433 -#define FLAG_0x434               0x434 -#define FLAG_0x435               0x435 -#define FLAG_0x436               0x436 -#define FLAG_0x437               0x437 -#define FLAG_0x438               0x438 -#define FLAG_0x439               0x439 -#define FLAG_0x43A               0x43A -#define FLAG_0x43B               0x43B -#define FLAG_0x43C               0x43C -#define FLAG_0x43D               0x43D -#define FLAG_0x43E               0x43E -#define FLAG_0x43F               0x43F -#define FLAG_0x440               0x440 -#define FLAG_0x441               0x441 -#define FLAG_0x442               0x442 -#define FLAG_0x443               0x443 -#define FLAG_0x444               0x444 -#define FLAG_0x445               0x445 -#define FLAG_0x446               0x446 -#define FLAG_0x447               0x447 -#define FLAG_0x448               0x448 -#define FLAG_0x449               0x449 -#define FLAG_0x44A               0x44A -#define FLAG_0x44B               0x44B -#define FLAG_0x44C               0x44C -#define FLAG_0x44D               0x44D -#define FLAG_0x44E               0x44E -#define FLAG_0x44F               0x44F -#define FLAG_0x450               0x450 -#define FLAG_0x451               0x451 -#define FLAG_0x452               0x452 -#define FLAG_0x453               0x453 -#define FLAG_0x454               0x454 -#define FLAG_0x455               0x455 -#define FLAG_0x456               0x456 -#define FLAG_0x457               0x457 -#define FLAG_0x458               0x458 -#define FLAG_0x459               0x459 -#define FLAG_0x45A               0x45A -#define FLAG_0x45B               0x45B -#define FLAG_0x45C               0x45C -#define FLAG_0x45D               0x45D -#define FLAG_0x45E               0x45E -#define FLAG_0x45F               0x45F -#define FLAG_0x460               0x460 -#define FLAG_0x461               0x461 -#define FLAG_0x462               0x462 -#define FLAG_0x463               0x463 -#define FLAG_0x464               0x464 -#define FLAG_0x465               0x465 -#define FLAG_0x466               0x466 -#define FLAG_0x467               0x467 -#define FLAG_0x468               0x468 -#define FLAG_0x469               0x469 -#define FLAG_0x46A               0x46A -#define FLAG_0x46B               0x46B -#define FLAG_0x46C               0x46C -#define FLAG_0x46D               0x46D -#define FLAG_0x46E               0x46E -#define FLAG_0x46F               0x46F -#define FLAG_0x470               0x470 -#define FLAG_0x471               0x471 -#define FLAG_0x472               0x472 -#define FLAG_0x473               0x473 -#define FLAG_0x474               0x474 -#define FLAG_0x475               0x475 -#define FLAG_0x476               0x476 -#define FLAG_0x477               0x477 -#define FLAG_0x478               0x478 -#define FLAG_0x479               0x479 -#define FLAG_0x47A               0x47A -#define FLAG_0x47B               0x47B -#define FLAG_0x47C               0x47C -#define FLAG_0x47D               0x47D -#define FLAG_0x47E               0x47E -#define FLAG_0x47F               0x47F -#define FLAG_0x480               0x480 -#define FLAG_0x481               0x481 -#define FLAG_0x482               0x482 -#define FLAG_0x483               0x483 -#define FLAG_0x484               0x484 -#define FLAG_0x485               0x485 -#define FLAG_0x486               0x486 -#define FLAG_0x487               0x487 -#define FLAG_0x488               0x488 -#define FLAG_0x489               0x489 -#define FLAG_0x48A               0x48A -#define FLAG_0x48B               0x48B -#define FLAG_0x48C               0x48C -#define FLAG_0x48D               0x48D -#define FLAG_0x48E               0x48E -#define FLAG_0x48F               0x48F -#define FLAG_0x490               0x490 -#define FLAG_0x491               0x491 -#define FLAG_0x492               0x492 +#define FLAG_0x1F5               0x1F5 // trick house end room? + +// Hidden Items -- sorted by location +#define FLAG_HIDDEN_ITEMS_START               0x1F4 +#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CARBOS        (FLAG_HIDDEN_ITEMS_START + 0x08) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_GREEN_SHARD   (FLAG_HIDDEN_ITEMS_START + 0x09) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_PEARL         (FLAG_HIDDEN_ITEMS_START + 0x0A) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_BIG_PEARL     (FLAG_HIDDEN_ITEMS_START + 0x0B) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x0D) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CALCIUM       (FLAG_HIDDEN_ITEMS_START + 0x24) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x26) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_HEART_SCALE  (FLAG_HIDDEN_ITEMS_START + 0x0E) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_ULTRA_BALL   (FLAG_HIDDEN_ITEMS_START + 0x0F) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_STARDUST     (FLAG_HIDDEN_ITEMS_START + 0x10) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_PEARL        (FLAG_HIDDEN_ITEMS_START + 0x11) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_IRON         (FLAG_HIDDEN_ITEMS_START + 0x13) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0x12) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BIG_PEARL    (FLAG_HIDDEN_ITEMS_START + 0x14) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BLUE_SHARD   (FLAG_HIDDEN_ITEMS_START + 0x0C) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_STAR_PIECE  (FLAG_HIDDEN_ITEMS_START + 0x15) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HP_UP       (FLAG_HIDDEN_ITEMS_START + 0x16) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x17) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_RED_SHARD   (FLAG_HIDDEN_ITEMS_START + 0x18) +#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x19) +#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PEARL   (FLAG_HIDDEN_ITEMS_START + 0x1A) +#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C) +#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0x00) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0x22) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x65) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC    (FLAG_HIDDEN_ITEMS_START + 0x66) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x67) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON    (FLAG_HIDDEN_ITEMS_START + 0x68) +#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0x30) +#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0x31) +#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x4C) +#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL  (FLAG_HIDDEN_ITEMS_START + 0x4D) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP       (FLAG_HIDDEN_ITEMS_START + 0x2B) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL   (FLAG_HIDDEN_ITEMS_START + 0x4B) +#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D) +#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER  (FLAG_HIDDEN_ITEMS_START + 0x4E) +#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC       (FLAG_HIDDEN_ITEMS_START + 0x4F) +#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x50) +#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0x6D) +#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x5F) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION          (FLAG_HIDDEN_ITEMS_START + 0x3A) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0x3B) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0x3C) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL       (FLAG_HIDDEN_ITEMS_START + 0x3D) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR    (FLAG_HIDDEN_ITEMS_START + 0x52) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0x53) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6A) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC       (FLAG_HIDDEN_ITEMS_START + 0x6B) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP        (FLAG_HIDDEN_ITEMS_START + 0x6C) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0x69) +#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0x23) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x51) +#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2C) +#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL    (FLAG_HIDDEN_ITEMS_START + 0x3E) +#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION       (FLAG_HIDDEN_ITEMS_START + 0x25) +#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE     (FLAG_HIDDEN_ITEMS_START + 0x55) +#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE  (FLAG_HIDDEN_ITEMS_START + 0x58) +#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x59) +#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL   (FLAG_HIDDEN_ITEMS_START + 0x6F) +#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL   (FLAG_HIDDEN_ITEMS_START + 0x3F) +#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST    (FLAG_HIDDEN_ITEMS_START + 0x2E) +#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x2F) +#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x56) +#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE        (FLAG_HIDDEN_ITEMS_START + 0x32) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x34) +#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL    (FLAG_HIDDEN_ITEMS_START + 0x33) +#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER         (FLAG_HIDDEN_ITEMS_START + 0x40) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5A) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5B) +#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE     (FLAG_HIDDEN_ITEMS_START + 0x36) +#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x35) +#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL  (FLAG_HIDDEN_ITEMS_START + 0x41) +#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL  (FLAG_HIDDEN_ITEMS_START + 0x37) +#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST   (FLAG_HIDDEN_ITEMS_START + 0x02) +#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN    (FLAG_HIDDEN_ITEMS_START + 0x38) +#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x39) +#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER  (FLAG_HIDDEN_ITEMS_START + 0x03) +#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_32  (FLAG_HIDDEN_ITEMS_START + 0x1E) +#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x62) +#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x04) +#define FLAG_HIDDEN_ITEM_ROUTE_113_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x2A) +#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x61) +#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION  (FLAG_HIDDEN_ITEMS_START + 0x2D) +#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0x60) +#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0x48) +#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x42) +#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON        (FLAG_HIDDEN_ITEMS_START + 0x43) +#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM    (FLAG_HIDDEN_ITEMS_START + 0x05) +#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x06) +#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL  (FLAG_HIDDEN_ITEMS_START + 0x44) +#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER  (FLAG_HIDDEN_ITEMS_START + 0x57) +#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0x47) +#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE       (FLAG_HIDDEN_ITEMS_START + 0x54) +#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0x45) +#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC         (FLAG_HIDDEN_ITEMS_START + 0x46) +#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP      (FLAG_HIDDEN_ITEMS_START + 0x27) +#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET     (FLAG_HIDDEN_ITEMS_START + 0x28) +#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL  (FLAG_HIDDEN_ITEMS_START + 0x49) +#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x64) +#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL  (FLAG_HIDDEN_ITEMS_START + 0x07) +#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE       (FLAG_HIDDEN_ITEMS_START + 0x29) +#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x4A) +#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP        (FLAG_HIDDEN_ITEMS_START + 0x63) +#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY   (FLAG_HIDDEN_ITEMS_START + 0x6E) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x5C) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E) + +// Event Flags +#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG                      0x2BC  +#define FLAG_HIDE_APPRENTICE                                        0x2BD  +#define FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN                0x2BE  +#define FLAG_HIDE_UNION_ROOM_PLAYER_1                               0x2BF  +#define FLAG_HIDE_UNION_ROOM_PLAYER_2                               0x2C0  +#define FLAG_HIDE_UNION_ROOM_PLAYER_3                               0x2C1  +#define FLAG_HIDE_UNION_ROOM_PLAYER_4                               0x2C2  +#define FLAG_HIDE_UNION_ROOM_PLAYER_5                               0x2C3  +#define FLAG_HIDE_UNION_ROOM_PLAYER_6                               0x2C4  +#define FLAG_HIDE_UNION_ROOM_PLAYER_7                               0x2C5  +#define FLAG_HIDE_UNION_ROOM_PLAYER_8                               0x2C6  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1               0x2C7  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2               0x2C8  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3               0x2C9  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4               0x2CA  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5               0x2CB  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6               0x2CC  +#define FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS            0x2CD  +#define FLAG_HIDE_MEW                                               0x2CE  +#define FLAG_HIDE_ROUTE_104_RIVAL                                   0x2CF  +#define FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE                  0x2D0  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH                  0x2D1  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM          0x2D2  +#define FLAG_HIDE_ROUTE_103_RIVAL                                   0x2D3  +#define FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE                    0x2D4  +#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT                        0x2D5  +#define FLAG_HIDE_PETALBURG_CITY_WALLY                              0x2D6  +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY   0x2D7  +#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT                        0x2D8  +#define FLAG_UNUSED_0x2D9                                           0x2D9  +#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER                     0x2DA  +#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT                          0x2DB  +#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1                    0x2DC  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2                   0x2DD  +#define FLAG_HIDE_PLAYERS_HOUSE_DAD                                 0x2DE  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING      0x2DF  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING          0x2E0  +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY    0x2E1  +#define FLAG_HIDE_ROUTE_104_MR_BRINEY                               0x2E2  +#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY                           0x2E3  +#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN                            0x2E4  +#define FLAG_HIDE_ROUTE_108_MR_BRINEY                               0x2E5  +#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT                          0x2E6  +#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN                       0x2E7  +#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT                          0x2E8  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN            0x2E9  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN                0x2EA  +#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION                  0x2EB  +#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER                  0x2EC  +#define FLAG_HIDE_SLATEPORT_CITY_SCOTT                              0x2ED  +#define FLAG_HIDE_ROUTE_101_ZIGZAGOON                               0x2EE  +#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY                           0x2EF  +#define FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE                       0x2F0  +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN              0x2F1  +#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1          0x2F2  +#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2          0x2F3  +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA          0x2F4  +#define FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM              0x2F5  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM                0x2F6  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM                    0x2F7  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM      0x2F8  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK              0x2F9  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK                  0x2FA  +#define FLAG_HIDE_DEOXYS                                            0x2FB  +#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE                      0x2FC  +#define FLAG_HIDE_MAUVILLE_CITY_SCOTT                               0x2FD  +#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT                             0x2FE  +#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT                  0x2FF  +#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE                        0x300  +#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE                      0x301  +#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE                          0x302  +#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE                         0x303  +#define FLAG_HIDE_PETALYBURG_GYM_NORMAN                             0x304  +#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2                         0x305  +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1         0x306  +#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR                           0x307  +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1                          0x308  +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2                          0x309  +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3                          0x30A  +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4                          0x30B  +#define FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS                          0x30C  +#define FLAG_HIDE_PETALBURG_GYM_GREETER                             0x30D  +#define FLAG_HIDE_MARINE_CAVE_KYOGRE                                0x30E  +#define FLAG_HIDE_TERRA_CAVE_GROUDON                                0x30F  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM          0x310  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM              0x311  +#define FLAG_HIDE_ROUTE_119_SCOTT                                   0x312  +#define FLAG_HIDE_LILCOVE_MOTEL_SCOTT                               0x313  +#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT                               0x314  +#define FLAG_HIDE_FANCLUB_OLD_LADY                                  0x315  +#define FLAG_HIDE_FANCLUB_BOY                                       0x316  +#define FLAG_HIDE_FANCLUB_LITTLE_BOY                                0x317  +#define FLAG_HIDE_FANCLUB_LADY                                      0x318  +#define FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT               0x319  +#define FLAG_HIDE_LITTLEROOT_TOWN_RIVAL                             0x31A  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCH                             0x31B  +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1                          0x31C  +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1                          0x31D  +#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1                          0x31E  +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3                          0x31F  +#define FLAG_HIDE_LUGIA                                             0x320  +#define FLAG_HIDE_HOOH                                              0x321  +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER                    0x322  +#define FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER                   0x323  +#define FLAG_HIDE_MAUVILLE_CITY_WALLY                               0x324  +#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE                        0x325  +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY                0x326  +#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN                          0x327  +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN            0x328  +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE         0x329  +#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT                           0x32A  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL     0x32B  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE      0x32C  +#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN                     0x32D  +#define FLAG_HIDE_RUSBORO_CITY_RIVAL                                0x32E  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL     0x32F  +#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE                           0x330  +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL       0x331  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL           0x332  +#define FLAG_HIDE_ROUTE_112_TEAM_MAGMA                              0x333  +#define FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE                        0x334  +#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE         0x335  +#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE         0x336  +#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA                          0x337  +#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE                        0x338  +#define FLAG_UNUSED_0x339                                           0x339  +#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE                            0x33A  +#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE                             0x33B  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE                     0x33C  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE                      0x33D  +#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE                       0x33E  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS               0x33F  +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS      0x340  +#define FLAG_HIDE_GRANITE_CAVE_STEVEN                               0x341  +#define FLAG_HIDE_ROUTE_128_STEVEN                                  0x342  +#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY                       0x343  +#define FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT              0x344  +#define FLAG_HIDE_ROUTE_110_BIRCH                                   0x345  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA     0x346  +#define FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1                             0x347  +#define FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN                      0x348  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN               0x349  +#define FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO                         0x34A  +#define FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY                      0x34B  +#define FLAG_HIDE_RUSTBORO_CITY_SCIENTIST                           0x34C  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT                  0x34D  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE                      0x34E  +#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD                           0x34F  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW            0x350  +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL          0x351  +#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2                        0x352  +#define FLAG_HIDE_ROUTE_119_RIVAL                                   0x353  +#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS                         0x354  +#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1                        0x355  +#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS                         0x356  +#define FLAG_HIDE_SKY_PILLAR_WALLACE                                0x357  +#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE                              0x358  +#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS                              0x359  +#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY                       0x35A  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1                   0x35B  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL                    0x35C  +#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL                           0x35D  +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA          0x35E  +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN              0x35F  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1           0x360  +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2           0x361  +#define FLAG_HIDE_PETALBURG_GYM_WALLY                               0x362  +#define FLAG_UNKNOWN_0x363                                          0x363  +#define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN                           0x364  +#define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY          0x365  +#define FLAG_HIDE_LANETTES_HOUSE_LANETTE                            0x366  +#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE                  0x367  +#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN                          0x368  +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT            0x369  +#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL                           0x36A  +#define FLAG_HIDE_ROUTE_111_DESERT_RIVAL                            0x36B  +#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL                           0x36C  +#define FLAG_HIDE_MT_CHIMNEY_TRAINERS                               0x36D  +#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT                         0x36E  +#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN                            0x36F  +#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO                              0x370  +#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO                               0x371  +#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA                          0x372  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS         0x373  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1     0x374  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2     0x375  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE           0x376  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN    0x377  +#define FLAG_HIDE_BATTLE_TOWER_OPPONENT                             0x378  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL                  0x379  +#define FLAG_HIDE_ROUTE_119_TEAM_AQUA                               0x37A  +#define FLAG_HIDE_ROUTE_116_MR_BRINEY                               0x37B  +#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS                      0x37C  +#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS                      0x37D  +#define FLAG_HIDE_ROUTE_116_TUNNELER                                0x37E  +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2         0x37F  +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380          0x380  +#define FLAG_HIDE_ROUTE_101_BIRCH                                   0x381  +#define FLAG_HIDE_ROUTE_103_BIRCH                                   0x382  +#define FLAG_HIDE_TRICK_HOUSE_END_MAN                               0x383  +#define FLAG_HIDE_ROUTE_110_TEAM_AQUA                               0x384  +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2                          0x385  +#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2                          0x386  +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2                          0x387  +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3                          0x388  +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS                     0x389  +#define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST                      0x38A  +#define FLAG_HIDE_FALLARBOR_AZURILL                                 0x38B  +#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT                   0x38C  +#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR                      0x38D  +#define FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE                         0x38E  +#define FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON              0x38F  +#define FLAG_HIDE_MAUVILLE_CITY_WATTSON                             0x390  +#define FLAG_HIDE_MAUVILLE_GYM_WATTSON                              0x391  +#define FLAG_0x392                                                  0x392  +#define FLAG_0x393                                                  0x393  +#define FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE                             0x394  +#define FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA                          0x395  +#define FLAG_HIDE_BATTLE_TOWER_REPORTER                             0x396  +#define FLAG_HIDE_ROUTE_110_RIVAL_1                                 0x397  +#define FLAG_HIDE_CHAMPIONS_ROOM_RIVAL                              0x398  +#define FLAG_HIDE_CHAMPIONS_ROOM_BIRCH                              0x399  +#define FLAG_HIDE_ROUTE_110_RIVAL_2                                 0x39A  +#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE                           0x39B  +#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS                               0x39C  +#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS                      0x39D  +#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA                              0x39E  +#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA                             0x39F  +#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO                      0x3A0  +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1                            0x3A1  +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2                            0x3A2  +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1                             0x3A3  +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2                             0x3A4  +#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL                      0x3A5  +#define FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL                     0x3A6  +#define FLAG_HIDE_REGIROCK                                          0x3A7  +#define FLAG_HIDE_REGICE                                            0x3A8  +#define FLAG_HIDE_REGISTEEL                                         0x3A9  +#define FLAG_HIDE_METEOR_FALLS_TEAM_AQUA                            0x3AA  +#define FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA                           0x3AB  +#define FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN                      0x3AC  +#define FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT               0x3AD  +#define FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO                          0x3AE  +#define FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW                 0x3AF  +#define FLAG_HIDE_ROUTE_128_ARCHIE                                  0x3B0  +#define FLAG_HIDE_ROUTE_128_MAXIE                                   0x3B1  +#define FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS                       0x3B2  +#define FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE                          0x3B3  +#define FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN                        0x3B4  +#define FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE              0x3B5  +#define FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY                       0x3B6  +#define FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER                       0x3B7  +#define FLAG_0x3B8                                                  0x3B8  +#define FLAG_0x3B9                                                  0x3B9  +#define FLAG_0x3BA                                                  0x3BA  +#define FLAG_0x3BB                                                  0x3BB  +#define FLAG_0x3BC                                                  0x3BC  +#define FLAG_0x3BD                                                  0x3BD  +#define FLAG_0x3BE                                                  0x3BE  +#define FLAG_0x3BF                                                  0x3BF  +#define FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN                        0x3C0  +#define FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION                       0x3C1  +#define FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN      0x3C2  +#define FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL                          0x3C3  +#define FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL                          0x3C4  +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT 0x3C5  +#define FLAG_HIDE_ROUTE_118_STEVEN                                  0x3C6  +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN                0x3C7  +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL       0x3C8  +#define FLAG_HIDE_FORTREE_CITY_KECLEON                              0x3C9  +#define FLAG_HIDE_ROUTE_120_KECLEON_1                               0x3CA  +#define FLAG_HIDE_LILYCOVE_CITY_RIVAL                               0x3CB  +#define FLAG_0x3CC                                                  0x3CC  +#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN                            0x3CD  +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1                            0x3CE  +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2                            0x3CF  +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3                            0x3D0  +#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1                      0x3D1  +#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2                      0x3D2  +#define FLAG_HIDE_OLDALE_TOWN_RIVAL                                 0x3D3  +#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE      0x3D4  +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE                          0x3D5  +#define FLAG_HIDE_ROUTE_120_KECLEON_2                               0x3D6  +#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN                        0x3D7  +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN          0x3D8  +#define FLAG_HIDE_ROUTE_120_KECLEON_3                               0x3D9  +#define FLAG_HIDE_ROUTE_120_KECLEON_4                               0x3DA  +#define FLAG_HIDE_ROUTE_120_KECLEON_5                               0x3DB  +#define FLAG_HIDE_ROUTE_120_KECLEON_6                               0x3DC  +#define FLAG_HIDE_ROUTE_119_KECLEON_1                               0x3DD  +#define FLAG_HIDE_ROUTE_119_KECLEON_2                               0x3DE  +#define FLAG_HIDE_ROUTE_101_BOY                                     0x3DF  +#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M                 0x3E0  +#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY                      0x3E1  +#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY                       0x3E2  +#define FLAG_HIDE_PETALBURG_CITY_SCOTT                              0x3E3  +#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA                          0x3E4  +#define FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE                            0x3E5  +#define FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON                           0x3E6  +#define FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT                0x3E7  + +// Item Ball Flags +#define FLAG_ITEM_ROUTE_102_POTION                               0x3E8  +#define FLAG_ITEM_ROUTE_116_X_SPECIAL                            0x3E9  +#define FLAG_ITEM_ROUTE_104_PP_UP                                0x3EA  +#define FLAG_ITEM_ROUTE_105_IRON                                 0x3EB  +#define FLAG_ITEM_ROUTE_106_PROTEIN                              0x3EC  +#define FLAG_ITEM_ROUTE_109_PP_UP                                0x3ED  +#define FLAG_ITEM_ROUTE_109_RARE_CANDY                           0x3EE  +#define FLAG_ITEM_ROUTE_110_DIRE_HIT                             0x3EF  +#define FLAG_ITEM_ROUTE_111_TM_37                                0x3F0  +#define FLAG_ITEM_ROUTE_111_STARDUST                             0x3F1  +#define FLAG_ITEM_ROUTE_111_HP_UP                                0x3F2  +#define FLAG_ITEM_ROUTE_112_NUGGET                               0x3F3  +#define FLAG_ITEM_ROUTE_113_MAX_ETHER                            0x3F4  +#define FLAG_ITEM_ROUTE_113_SUPER_REPEL                          0x3F5  +#define FLAG_ITEM_ROUTE_114_RARE_CANDY                           0x3F6  +#define FLAG_ITEM_ROUTE_114_PROTEIN                              0x3F7  +#define FLAG_ITEM_ROUTE_115_SUPER_POTION                         0x3F8  +#define FLAG_ITEM_ROUTE_115_TM_01                                0x3F9  +#define FLAG_ITEM_ROUTE_115_IRON                                 0x3FA  +#define FLAG_ITEM_ROUTE_116_ETHER                                0x3FB  +#define FLAG_ITEM_ROUTE_116_REPEL                                0x3FC  +#define FLAG_ITEM_ROUTE_116_HP_UP                                0x3FD  +#define FLAG_ITEM_ROUTE_117_GREAT_BALL                           0x3FE  +#define FLAG_ITEM_ROUTE_117_REVIVE                               0x3FF  +#define FLAG_ITEM_ROUTE_119_SUPER_REPEL                          0x400  +#define FLAG_ITEM_ROUTE_119_ZINC                                 0x401  +#define FLAG_ITEM_ROUTE_119_ELIXIR_1                             0x402  +#define FLAG_ITEM_ROUTE_119_LEAF_STONE                           0x403  +#define FLAG_ITEM_ROUTE_119_RARE_CANDY                           0x404  +#define FLAG_ITEM_ROUTE_119_HYPER_POTION_1                       0x405  +#define FLAG_ITEM_ROUTE_120_NUGGET                               0x406  +#define FLAG_ITEM_ROUTE_120_FULL_HEAL                            0x407  +#define FLAG_ITEM_ROUTE_123_CALCIUM                              0x408  +#define FLAG_UNUSED_0x409                                        0x409  +#define FLAG_ITEM_ROUTE_127_ZINC                                 0x40A  +#define FLAG_ITEM_ROUTE_127_CARBOS                               0x40B  +#define FLAG_ITEM_ROUTE_132_RARE_CANDY                           0x40C  +#define FLAG_ITEM_ROUTE_133_BIG_PEARL                            0x40D  +#define FLAG_ITEM_ROUTE_133_STAR_PIECE                           0x40E  +#define FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE                      0x40F  +#define FLAG_ITEM_PETALBURG_CITY_ETHER                           0x410  +#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND                         0x411  +#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL                        0x412  +#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL                         0x413  +#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23                       0x414  +#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL                   0x415  +#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE                  0x416  +#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP                       0x417  +#define FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL                       0x418  +#define FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER                       0x419  +#define FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE                    0x41A  +#define FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL                     0x41B  +#define FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE                         0x41C  +#define FLAG_ITEM_GRANITE_CAVE_B2F_REPEL                         0x41D  +#define FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY                    0x41E  +#define FLAG_ITEM_PETALBURG_WOODS_X_ATTACK                       0x41F  +#define FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL                     0x420  +#define FLAG_ITEM_ROUTE_104_POKE_BALL                            0x421  +#define FLAG_ITEM_PETALBURG_WOODS_ETHER                          0x422  +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE                 0x423  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL               0x424  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL               0x425  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL                 0x426  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL               0x427  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL                 0x428  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL                 0x429  +#define FLAG_ITEM_ROUTE_124_YELLOW_SHARD                         0x42A  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL              0x42B  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL               0x42C  +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL                 0x42D  +#define FLAG_ITEM_JAGGED_PASS_BURN_HEAL                          0x42E  +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR                    0x42F  +#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL                     0x430  +#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION                    0x431  +#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48                         0x432  +#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL                        0x433  +#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE                       0x434  +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435  +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER     0x436  +#define FLAG_ITEM_SCORCHED_SLAB_TM_11                            0x437  +#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02                      0x438  +#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL                  0x439  +#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY               0x43A  +#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL                0x43B  +#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR                     0x43C  +#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP                          0x43D  +#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_29                         0x43E  +#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE                  0x43F  +#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL                     0x440  +#define FLAG_ITEM_MT_PYRE_6F_TM_30                               0x441  +#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26                   0x442  +#define FLAG_ITEM_FIERY_PATH_TM06                                0x443  +#define FLAG_ITEM_ROUTE_124_RED_SHARD                            0x444  +#define FLAG_ITEM_ROUTE_124_BLUE_SHARD                           0x445  +#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22                   0x446  +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL            0x447  +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE           0x448  +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL           0x449  +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13                 0x44A  +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE               0x44B  +#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY     0x44C  +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D  +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18       0x44E  +#define FLAG_ITEM_ROUTE_121_CARBOS                               0x44F  +#define FLAG_ITEM_ROUTE_123_ULTRA_BALL                           0x450  +#define FLAG_ITEM_ROUTE_126_GREEN_SHARD                          0x451  +#define FLAG_ITEM_ROUTE_119_HYPER_POTION_2                       0x452  +#define FLAG_ITEM_ROUTE_120_HYPER_POTION                         0x453  +#define FLAG_ITEM_ROUTE_120_NEST_BALL                            0x454  +#define FLAG_ITEM_ROUTE_123_ELIXIR                               0x455  +#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE                     0x456  +#define FLAG_ITEM_FIERY_PATH_FIRE_STONE                          0x457  +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07                      0x458  +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE             0x459  +#define FLAG_ITEM_ROUTE_103_GUARD_SPEC                           0x45A  +#define FLAG_ITEM_ROUTE_104_X_ACCURACY                           0x45B  +#define FLAG_ITEM_MAUVILLE_CITY_X_SPEED                          0x45C  +#define FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL                  0x45D  +#define FLAG_ITEM_ROUTE_115_GREAT_BALL                           0x45E  +#define FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM                      0x45F  +#define FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL                         0x460  +#define FLAG_ITEM_ROUTE_118_HYPER_POTION                         0x461  +#define FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL                         0x462  +#define FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL                     0x463  +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL                   0x464  +#define FLAG_UNUSED_0x465                                        0x465  +#define FLAG_UNUSED_0x466                                        0x466  +#define FLAG_UNUSED_0x467                                        0x467  +#define FLAG_UNUSED_0x468                                        0x468  +#define FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL                          0x469  +#define FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE                         0x46A  +#define FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE              0x46B  +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET                        0x46C  +#define FLAG_UNUSED_0x46D                                        0x46D  +#define FLAG_ITEM_ROUTE_119_NUGGET                               0x46E  +#define FLAG_ITEM_ROUTE_104_POTION                               0x46F  +#define FLAG_UNUSED_0x470                                        0x470  +#define FLAG_ITEM_ROUTE_103_PP_UP                                0x471  +#define FLAG_UNUSED_0x472                                        0x472  +#define FLAG_ITEM_ROUTE_108_STAR_PIECE                           0x473  +#define FLAG_0x474                                               0x474  +#define FLAG_ITEM_ROUTE_110_ELIXIR                               0x475  +#define FLAG_ITEM_ROUTE_111_ELIXIR                               0x476  +#define FLAG_ITEM_ROUTE_113_HYPER_POTION                         0x477  +#define FLAG_ITEM_ROUTE_115_HEAL_POWDER                          0x478  +#define FLAG_UNUSED_0x479                                        0x479  +#define FLAG_ITEM_ROUTE_116_POTION                               0x47A  +#define FLAG_ITEM_ROUTE_119_ELIXIR_2                             0x47B  +#define FLAG_ITEM_ROUTE_120_REVIVE                               0x47C  +#define FLAG_ITEM_ROUTE_121_REVIVE                               0x47D  +#define FLAG_ITEM_ROUTE_121_ZINC                                 0x47E  +#define FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY                    0x47F  +#define FLAG_ITEM_ROUTE_123_PP_UP                                0x480  +#define FLAG_ITEM_ROUTE_123_REVIVAL_HERB                         0x481  +#define FLAG_ITEM_ROUTE_125_BIG_PEARL                            0x482  +#define FLAG_ITEM_ROUTE_127_RARE_CANDY                           0x483  +#define FLAG_ITEM_ROUTE_132_PROTEIN                              0x484  +#define FLAG_ITEM_ROUTE_133_MAX_REVIVE                           0x485  +#define FLAG_ITEM_ROUTE_134_CARBOS                               0x486  +#define FLAG_ITEM_ROUTE_134_STAR_PIECE                           0x487  +#define FLAG_ITEM_ROUTE_114_ENERGY_POWDER                        0x488  +#define FLAG_ITEM_ROUTE_115_PP_UP                                0x489  +#define FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP                         0x48A  +#define FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS                         0x48B  +#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR                 0x48C  +#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE               0x48D  +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET                     0x48E  +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX                     0x48F  +#define FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE                    0x490  +#define FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET                  0x491  +#define FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL               0x492  + +  #define FLAG_0x493               0x493  #define FLAG_0x494               0x494  #define FLAG_0x495               0x495 diff --git a/include/daycare.h b/include/daycare.h index 7db44e024..ecd875865 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -15,7 +15,7 @@ void TriggerPendingDaycareEgg(void);  void RejectEggFromDayCare(void);  void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);  void GiveEggFromDaycare(void); -bool8 DoEggActions_CheckHatch(void); +bool8 ShouldEggHatch(void);  u16 GetSelectedMonNickAndSpecies(void);  void GetDaycareMonNicknames(void);  u8 GetDaycareState(void); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 0fabcf95a..6515791c3 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -143,9 +143,27 @@ u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 d  u8 GetFaceDirectionMovementAction(u32);  u8 GetWalkNormalMovementAction(u32);  u8 GetWalkFastMovementAction(u32); +u8 GetRideWaterCurrentMovementAction(u32);  u8 GetWalkFastestMovementAction(u32); +u8 GetPlayerRunMovementAction(u32);  u8 GetJumpInPlaceMovementAction(u32); +u8 GetAcroWheelieFaceDirectionMovementAction(u32); +u8 GetAcroPopWheelieFaceDirectionMovementAction(u32); +u8 GetAcroEndWheelieFaceDirectionMovementAction(u32); +u8 GetAcroWheelieHopFaceDirectionMovementAction(u32); +u8 GetAcroWheelieHopDirectionMovementAction(u32); +u8 GetAcroWheelieJumpDirectionMovementAction(u32); +u8 GetJumpInPlaceTurnAroundMovementAction(u32); +u8 GetAcroWheelieInPlaceDirectionMovementAction(u32); +u8 GetAcroPopWheelieMoveDirectionMovementAction(u32); +u8 GetAcroWheelieMoveDirectionMovementAction(u32); +u8 GetAcroEndWheelieMoveDirectionMovementAction(u32); +u8 GetFishingDirectionAnimNum(u8 direction); +u8 GetAcroWheelieDirectionAnimNum(u8 direction); +u8 GetFishingBiteDirectionAnimNum(u8 direction); +u8 GetFishingNoCatchDirectionAnimNum(u8 direction);  bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId); +void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId);  bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject);  u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject);  u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject); @@ -192,6 +210,7 @@ u16 GetObjectPaletteTag(u8 palSlot);  void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);  s16 sub_809773C(s16 a1);  s16 sub_8097728(s16 a1); +void CameraObjectReset2(void);  void MovementType_None(struct Sprite *);  void MovementType_LookAround(struct Sprite *); diff --git a/include/event_scripts.h b/include/event_scripts.h index 4f85156aa..5b8b74d8b 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -19,8 +19,8 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[];  extern const u8 EventScript_271362[];  extern const u8 EventScript_TryDoDoubleRematchBattle[];  extern const u8 EventScript_2713D1[]; -extern const u8 EventScript_2766A2[]; -extern const u8 EventScript_2766A6[]; +extern const u8 EventScript_SecretPower1[]; +extern const u8 EventScript_SecretPower2[];  extern const u8 gTVBravoTrainerText00[]; diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 14245a8a2..24adbe4b3 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -3,22 +3,22 @@  struct FieldInput  { -    u8 pressedAButton:1; -    u8 input_field_0_1:1; -    u8 pressedStartButton:1; -    u8 pressedSelectButton:1; -    u8 input_field_0_4:1; -    u8 input_field_0_5:1; -    u8 input_field_0_6:1; -    u8 pressedBButton:1; -    u8 input_field_1_0:1; -    u8 input_field_1_1:1; -    u8 input_field_1_2:1; -    u8 input_field_1_3:1; -    u8 input_field_1_4:1; -    u8 input_field_1_5:1; -    u8 input_field_1_6:1; -    u8 input_field_1_7:1; +    bool8 pressedAButton:1; +    bool8 checkStandardWildEncounter:1; +    bool8 pressedStartButton:1; +    bool8 pressedSelectButton:1; +    bool8 input_field_0_4:1; +    bool8 input_field_0_5:1; +    bool8 tookStep:1; +    bool8 pressedBButton:1; +    bool8 input_field_1_0:1; +    bool8 input_field_1_1:1; +    bool8 input_field_1_2:1; +    bool8 input_field_1_3:1; +    bool8 input_field_1_4:1; +    bool8 input_field_1_5:1; +    bool8 input_field_1_6:1; +    bool8 input_field_1_7:1;      u8 dpadDirection;      u8 input_field_3;  }; @@ -28,15 +28,15 @@ void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);  int ProcessPlayerFieldInput(struct FieldInput *pStruct);  u8 *sub_80682A8(struct MapPosition *, u8, u8);  void overworld_poison_timer_set(void); -void prev_quest_postbuffer_cursor_backup_reset(void); +void RestartWildEncounterImmunitySteps(void);  u8 *sub_8068E24(struct MapPosition *); -u8 *GetEventObjectScriptPointerPlayerFacing(void); -bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *); +const u8 *GetEventObjectScriptPointerPlayerFacing(void);  bool8 sub_8068870(u16 a);  bool8 sub_8068894(void);  bool8 sub_8068A64(struct MapPosition *, u16);  u8 sub_8068F18(void);  bool8 dive_warp(struct MapPosition *position, u16 b); -void sub_809D2BC(void); +int SetCableClubWarp(void); +u8 TrySetDiveWarp(void);  #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 105dcd610..6022467e4 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -7,9 +7,10 @@  // Exported ROM declarations  u8 CreateWarpArrowSprite(void); +u8 sub_8155800(u8 oldSpriteId); +void sub_81555AC(u8, u8);  bool8 sub_8155DA0(struct EventObject *);  void sub_8155D78(struct EventObject *); -void sub_81555AC(u8, u8);  void StartAshFieldEffect(s16, s16, u16, s16);  void SetUpReflection(struct EventObject*, struct Sprite*, u8);  u32 StartFieldEffectForEventObject(u8, struct EventObject*); @@ -30,5 +31,8 @@ void UpdateShortGrassFieldEffect(struct Sprite*);  void UpdateHotSpringsWaterFieldEffect(struct Sprite*);  void UpdateBubblesFieldEffect(struct Sprite*);  void UpdateSparkleFieldEffect(struct Sprite*); +void SetSpriteInvisible(u8 spriteId); +void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); +void sub_8155604(u8 spriteId, u8 value, s16 data1);  #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index b11b5e21a..adb51f889 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -1,6 +1,17 @@  #ifndef GUARD_FIELD_PLAYER_AVATAR_H  #define GUARD_FIELD_PLAYER_AVATAR_H +enum { +    PLAYER_AVATAR_STATE_NORMAL, +    PLAYER_AVATAR_STATE_MACH_BIKE, +    PLAYER_AVATAR_STATE_ACRO_BIKE, +    PLAYER_AVATAR_STATE_SURFING, +    PLAYER_AVATAR_STATE_UNDERWATER, +    PLAYER_AVATAR_STATE_FIELD_MOVE, +    PLAYER_AVATAR_STATE_FISHING, +    PLAYER_AVATAR_STATE_WATERING, +}; +  void player_step(u8 a, u16 b, u16 c);  void ClearPlayerAvatarInfo(void);  void SetPlayerAvatarExtraStateTransition(u8, u8); @@ -13,7 +24,7 @@ u8 GetPlayerMovementDirection(void);  u8 PlayerGetCopyableMovement(void);  void PlayerGoSpeed1(u8);  void PlayerGoSpeed2(u8); -void PlayerGoSpeed3(u8); +void PlayerRideWaterCurrent(u8);  void PlayerGoSpeed4(u8);  void PlayerOnBikeCollide(u8);  void PlayerFaceDirection(u8 a); @@ -44,23 +55,8 @@ u8 GetPlayerAvatarGraphicsIdByCurrentState(void);  void SetPlayerAvatarStateMask(u8 a);  u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);  u8 GetJumpSpecialMovementAction(u32); - -bool8 ForcedMovement_None(void); -bool8 ForcedMovement_Slip(void); -bool8 ForcedMovement_WalkSouth(void); -bool8 ForcedMovement_WalkNorth(void); -bool8 ForcedMovement_WalkWest(void); -bool8 ForcedMovement_WalkEast(void); -bool8 ForcedMovement_PushedSouthByCurrent(void); -bool8 ForcedMovement_PushedNorthByCurrent(void); -bool8 ForcedMovement_PushedWestByCurrent(void); -bool8 ForcedMovement_PushedEastByCurrent(void); -bool8 ForcedMovement_SlideSouth(void); -bool8 ForcedMovement_SlideNorth(void); -bool8 ForcedMovement_SlideWest(void); -bool8 ForcedMovement_SlideEast(void); -bool8 ForcedMovement_0xBB(void); -bool8 ForcedMovement_0xBC(void); -bool8 ForcedMovement_MuddySlope(void); +bool8 PartyHasMonWithSurf(void); +bool8 IsPlayerFacingSurfableFishableWater(void); +bool8 IsPlayerSurfingNorth(void);  #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h index 90d017ac7..a23a93ca5 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -14,6 +14,6 @@ enum {  };  void ExecuteWhiteOut(void); -u32 DoPoisonFieldEffect(void); +s32 DoPoisonFieldEffect(void);  #endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen.h b/include/field_screen.h index bf1502405..021d2b9e9 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -16,5 +16,9 @@ void sub_80AC3E4(void);  void PreservePaletteInWeather(u8);  void sub_80AF128(void);  void sub_80AB104(u8); +void sub_80AF80C(u8); +void sub_80AF828(void); +void sub_80AF838(void); +void sub_80B0268(void);  #endif //GUARD_FIELD_SCREEN_H diff --git a/include/field_specials.h b/include/field_specials.h index 4709f9551..0e2daf9c3 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,5 +6,14 @@ u8 sub_813B260(void);  u16 get_unknown_box_id(void);  bool8 InMultiBattleRoom(void);  void sub_813BF10(void); +void increment_var_x4026_on_birth_island_modulo_100(void); +bool8 sub_813B3B0(void); +bool8 ShouldDoBrailleRegicePuzzle(void); +bool32 is_tile_that_overrides_player_control(void); +bool32 sub_8138120(void); +bool32 sub_8138168(void); +bool32 sub_81381B0(void); +bool32 sub_81381F8(void); +bool32 CountSSTidalStep(u16 delta);  #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index 67e0de85f..027bb4273 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -12,6 +12,8 @@ void sub_80FA794(s16 x, s16 y);  void CreateRecordMixingSprite(void);  void DestroyRecordMixingSprite(void);  void FldeffPoison_Start(void); +void sub_80FA970(s16); +void sub_80FA9D0(void);  bool8 sub_80FADE4(u16, u8);  #endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 055f29f40..f6273e80d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -61,17 +61,16 @@ struct EventObjectTemplate  struct WarpEvent  {      s16 x, y; -    s8 warpId; -    u8 mapGroup; +    u8 elevation; +    u8 warpId;      u8 mapNum; -    u8 unk7; +    u8 mapGroup;  };  struct CoordEvent  {      s16 x, y; -    u8 unk4; -    u8 filler_5; +    u8 elevation;      u16 trigger;      u16 index;      u8 filler_A[0x2]; @@ -81,16 +80,15 @@ struct CoordEvent  struct BgEvent  {      u16 x, y; -    u8 unk4; +    u8 elevation;      u8 kind; -    // 0x2 padding for the union beginning.      union { // carried over from diego's FR/LG work, seems to be the same struct          // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.          u8 *script; -        // hidden item type probably +        // hidden item type          struct { -            u8 filler6[0x2]; +            u16 item;              u16 hiddenItemId; // flag offset to determine flag lookup          } hiddenItem; diff --git a/include/global.h b/include/global.h index f77b3159e..7de5b24fd 100644 --- a/include/global.h +++ b/include/global.h @@ -976,13 +976,4 @@ struct UnkStruct_8054FF8      u16 field_C;  }; -struct Bitmap           // TODO: Find a better spot for this -{ -    u8* pixels; -    u32 width:16; -    u32 height:16; -}; - -extern u8 gReservedSpritePaletteCount; -  #endif // GUARD_GLOBAL_H diff --git a/include/graphics.h b/include/graphics.h index 4cbee1c34..07900977d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4029,4 +4029,8 @@ extern const u8 gUnknown_08D97CF4[];  extern const u8 gStatusGfx_Icons[];  extern const u8 gStatusPal_Icons[]; +extern const u8 gBuyMenuFrame_Gfx[]; +extern const u16 gBuyMenuFrame_Tilemap[]; +extern const u16 gMenuMoneyPal[]; +  #endif //GUARD_GRAPHICS_H diff --git a/include/item_menu.h b/include/item_menu.h index 59316e948..649eb934c 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -58,5 +58,7 @@ void sub_81AAC28(void);  void bag_menu_mail_related(void);  void CB2_BagMenuFromStartMenu(void);  u8 sub_81ABB2C(u8 pocketId); +bool8 UseRegisteredKeyItemOnField(void); +void CB2_GoToSellMenu(void);  #endif //GUARD_item_menu_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index 82617268a..e18639faf 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -50,7 +50,7 @@ bool8 MetatileBehavior_IsSecretBaseCave(u8);  bool8 MetatileBehavior_IsSecretBaseTree(u8);  bool8 MetatileBehavior_IsSecretBaseShrub(u8);  bool8 MetatileBehavior_IsSecretBasePC(u8); -bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8); +bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8);  bool8 MetatileBehavior_IsMB_B2(u8);  bool8 MetatileBehavior_IsBlockDecoration(u8);  bool8 MetatileBehavior_IsSecretBaseImpassable(u8); @@ -67,7 +67,7 @@ bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);  bool8 MetatileBehavior_IsSecretBaseSoundMat(u8);  bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8);  bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8); -bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8); +bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8);  bool8 MetatileBehavior_IsPlayerRoomPCOn(u8);  bool8 MetatileBehavior_HasRipples(u8);  bool8 MetatileBehavior_IsPuddle(u8); @@ -106,14 +106,14 @@ bool8 MetatileBehavior_IsPacifilogHorizontalLog2(u8);  bool8 MetatileBehavior_IsPacifidlogLog(u8);  bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);  bool8 MetatileBehavior_IsRegionMap(u8); -bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8); +bool8 MetatileBehavior_IsClosedSootopolisDoor(u8);  bool8 MetatileBehavior_IsUnknownClosedDoor(u8);  bool8 MetatileBehavior_IsRoulette(u8);  bool8 MetatileBehavior_IsPokeblockFeeder(u8);  bool8 MetatileBehavior_IsSecretBaseJumpMat(u8);  bool8 MetatileBehavior_IsSecretBaseSpinMat(u8);  bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); -bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); +bool8 MetatileBehavior_IsLavaridge1FWarp(u8);  bool8 MetatileBehavior_IsAquaHideoutWarp(u8);  bool8 MetatileBehavior_IsWarpOrBridge(u8);  bool8 MetatileBehavior_IsMossdeepGymWarp(u8); @@ -130,7 +130,7 @@ bool8 MetatileBehavior_IsHorizontalRail(u8);  bool8 MetatileBehavior_IsSeaweed(u8);  bool8 MetatileBehavior_IsRunningDisallowed(u8);  bool8 MetatileBehavior_IsCuttableGrass(u8); -bool8 MetatileBehavior_IsRunningShoesInstruction(u8); +bool8 MetatileBehavior_IsRunningShoesManual(u8);  bool8 MetatileBehavior_IsPictureBookShelf(u8);  bool8 MetatileBehavior_IsBookShelf(u8);  bool8 MetatileBehavior_IsPokeCenterBookShelf(u8); diff --git a/include/party_menu.h b/include/party_menu.h index 170fcafc1..cb82eb82c 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -70,6 +70,5 @@ extern void sub_81B67C8(u8, u16, TaskFunc);  extern void sub_81B79E8(u8, u16, TaskFunc);  extern void sub_81B6DC4(u8, u16, TaskFunc);  extern void sub_81B7C74(u8, u16, TaskFunc); -extern u16 ItemIdToBattleMoveId(u16);  #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index d261fba85..8259e7d34 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -94,6 +94,8 @@  #define MON_DATA_SPATK2            87  #define MON_DATA_SPDEF2            88 +#define MAX_LEVEL 100 +  #define OT_ID_RANDOM_NO_SHINY 2  #define OT_ID_PRESET 1  #define OT_ID_PLAYER_ID 0 @@ -110,10 +112,47 @@  #define MON_FEMALE     0xFE  #define MON_GENDERLESS 0xFF +#define TYPE_NORMAL   0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING   0x02 +#define TYPE_POISON   0x03 +#define TYPE_GROUND   0x04 +#define TYPE_ROCK     0x05 +#define TYPE_BUG      0x06 +#define TYPE_GHOST    0x07 +#define TYPE_STEEL    0x08 +#define TYPE_MYSTERY  0x09 +#define TYPE_FIRE     0x0a +#define TYPE_WATER    0x0b +#define TYPE_GRASS    0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC  0x0e +#define TYPE_ICE      0x0f +#define TYPE_DRAGON   0x10 +#define TYPE_DARK     0x11 + +#define FRIENDSHIP_EVENT_GROW_LEVEL           0x0 +#define FRIENDSHIP_EVENT_VITAMIN              0x1 // unused +#define FRIENDSHIP_EVENT_BATTLE_ITEM          0x2 // unused +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE        0x3 +#define FRIENDSHIP_EVENT_LEARN_TMHM           0x4 +#define FRIENDSHIP_EVENT_WALKING              0x5 +#define FRIENDSHIP_EVENT_FAINT_SMALL          0x6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 +#define FRIENDSHIP_EVENT_FAINT_LARGE          0x8 + +#define STATUS_PRIMARY_NONE      0x0 +#define STATUS_PRIMARY_POISON    0x1 +#define STATUS_PRIMARY_PARALYSIS 0x2 +#define STATUS_PRIMARY_SLEEP     0x3 +#define STATUS_PRIMARY_FREEZE    0x4 +#define STATUS_PRIMARY_BURN      0x5 +#define STATUS_PRIMARY_POKERUS   0x6 +#define STATUS_PRIMARY_FAINTED   0x7 +  #define MAX_TOTAL_EVS 510  #define NUM_STATS 6  #define UNOWN_FORM_COUNT 28 -#define MAX_MON_LEVEL 100  struct PokemonSubstruct0  { @@ -421,7 +460,7 @@ extern const u8 gFacilityClassToTrainerClass[];  extern const struct BaseStats gBaseStats[];  extern const u8 *const gItemEffectTable[];  extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; -extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; +extern const u32 gExperienceTables[][MAX_LEVEL + 1];  extern const u16 *const gLevelUpLearnsets[];  extern const u8 gUnknown_08329D22[];  extern const u8 gUnknown_08329D26[]; diff --git a/include/pokenav.h b/include/pokenav.h index b595e2be9..1fde8aa44 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -28,5 +28,13 @@ u16 sub_81D2C3C(void);  void sub_81D2C50(void);  u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);  void sub_81D2824(u16); +bool32 InTrainerHill(void); +bool8 EventObjectIsFarawayIslandMew(struct EventObject *); +u32 sub_81D427C(void); +void sub_81D4998(void); +u8 GetCurrentTrainerHillMapId(void); +u8 sub_81D6490(void); +const struct WarpEvent *sub_81D6120(void); +const struct WarpEvent *sub_81D6134(u8);  #endif //GUARD_POKENAV_H diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h deleted file mode 100644 index 900daf4e7..000000000 --- a/include/rom_81BE66C.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// Created by Scott Norton on 9/6/17. -// - -#ifndef GUARD_ROM_81BE66C_H -#define GUARD_ROM_81BE66C_H - -bool32 InTrainerHill(void); -bool8 EventObjectIsFarawayIslandMew(struct EventObject *); -u32 sub_81D427C(void); - -#endif //GUARD_ROM_81BE66C_H diff --git a/include/script.h b/include/script.h index 2b5f8c2ce..755ff19a3 100644 --- a/include/script.h +++ b/include/script.h @@ -55,8 +55,8 @@ bool8 mapheader_run_first_tag2_script_list_match(void);  void mapheader_run_first_tag4_script_list_match(void);  u32 CalculateRamScriptChecksum(void);  void ClearRamScript(void); -bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); -u8 *GetRamScript(u8 objectId, u8 *script); +bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); +const u8 *GetRamScript(u8 objectId, const u8 *script);  bool32 sub_80991F8(void);  u8 *sub_8099244(void);  void sub_80992A0(u8 *script, u16 scriptSize); diff --git a/include/secret_base.h b/include/secret_base.h index c20533698..4fa0d0c4a 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -16,5 +16,11 @@ void sub_80E8EE0(struct MapEvents const *events);  void sub_80E9238(u8 flagIn);  bool8 CurrentMapIsSecretBase(void);  void sub_80EA3E4(u8 taskId); +bool8 sub_80E9680(void); +void sub_80EB498(void); +void sub_80EB56C(void); +void sub_80EB9E0(void); +void sub_80EBB28(void); +void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events);  #endif //GUARD_SECRET_BASE_H diff --git a/include/shop.h b/include/shop.h index 067b8fee4..7f2d877dc 100644 --- a/include/shop.h +++ b/include/shop.h @@ -1,7 +1,7 @@  #ifndef GUARD_SHOP_H  #define GUARD_SHOP_H -extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; +extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];  enum  { @@ -10,9 +10,19 @@ enum      MART_TYPE_2,  }; +// shop view window NPC info enum +enum +{ +    EVENT_OBJ_ID, +    X_COORD, +    Y_COORD, +    ANIM_NUM, +	LAYER_TYPE +}; +  struct MartInfo  { -    /*0x0*/ void (* callback) (void); +    /*0x0*/ void (*callback)(void);      /*0x4*/ const struct MenuAction *menuActions;      /*0x8*/ const u16 *itemList;      /*0xC*/ u16 itemCount; @@ -20,23 +30,18 @@ struct MartInfo      /*0xF*/ u8 martType;  }; -struct BuyMenuLabel -{ -	u8 label[16]; -}; -  struct ShopData  { -	/*0x0000*/ u8 tilemapBuffers[4][0x800]; -	/*0x2000*/ u8 filler2000[0x4]; -	/*0x2004*/ u16 unk2004; -	/*0x2006*/ u8 filler2006[0x2]; -	/*0x2008*/ u16 unk2008; -	/*0x200A*/ u8 filler200A; +	/*0x0000*/ u16 tilemapBuffers[4][0x400]; +	/*0x2000*/ u32 totalCost; +	/*0x2004*/ u16 itemsShowed; +	/*0x2006*/ u16 selectedRow; +	/*0x2008*/ u16 scrollOffset; +	/*0x200A*/ u8 maxQuantity;  	/*0x200B*/ u8 scrollIndicatorsTaskId; -	/*0x200C*/ u8 unk200C; -	/*0x200D*/ u8 unk200D[2]; -	/*0x200F*/ u8 filler200F[0xA1]; +	/*0x200C*/ u8 iconSlot; +	/*0x200D*/ u8 itemSpriteIds[2]; +	/*0x2010*/ s16 viewportObjects[16][5];  };  void CreatePokemartMenu(const u16 *); diff --git a/include/sprite.h b/include/sprite.h index 8fc45d501..4ffcd2884 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -235,11 +235,15 @@ extern const struct OamData gDummyOamData;  extern const union AnimCmd *const gDummySpriteAnimTable[];  extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];  extern const struct SpriteTemplate gDummySpriteTemplate; -extern s16 gSpriteCoordOffsetX; -extern s16 gSpriteCoordOffsetY; +extern u8 gReservedSpritePaletteCount;  extern struct Sprite gSprites[]; +extern u8 gOamLimit; +extern u16 gReservedSpriteTileCount; +extern s16 gSpriteCoordOffsetX; +extern s16 gSpriteCoordOffsetY;  extern struct OamMatrix gOamMatrices[]; +extern bool8 gAffineAnimsDisabled;  void ResetSpriteData(void);  void AnimateSprites(void); diff --git a/include/strings.h b/include/strings.h index 4ea33635b..c563353ec 100644 --- a/include/strings.h +++ b/include/strings.h @@ -855,5 +855,26 @@ extern const u8 gText_CanIHelpWithAnythingElse[];  extern const u8 gText_AnythingElseICanHelp[];  extern const u8 gText_QuitShopping[];  extern const u8 gText_PokedollarVar1[]; +extern const u8 gText_YouDontHaveMoney[]; +extern const u8 gText_Var1CertainlyHowMany2[]; +extern const u8 gText_Var1CertainlyHowMany[]; +extern const u8 gText_Var1IsItThatllBeVar2[]; +extern const u8 gText_YouWantedVar1ThatllBeVar2[]; +extern const u8 gText_InBagVar1[]; +extern const u8 gText_Var1AndYouWantedVar2[]; +extern const u8 gText_HereYouGoThankYou[]; +extern const u8 gText_NoMoreRoomForThis[]; +extern const u8 gText_ThankYouIllSendItHome[]; +extern const u8 gText_ThanksIllSendItHome[]; +extern const u8 gText_SpaceForVar1Full[]; +extern const u8 gText_ThrowInPremierBall[]; +extern const u8 gText_ShopBuy[]; +extern const u8 gText_ShopSell[]; +extern const u8 gText_ShopQuit[]; + +extern const u8 gText_OhABite[]; +extern const u8 gText_PokemonOnHook[]; +extern const u8 gText_NotEvenANibble[]; +extern const u8 gText_ItGotAway[];  #endif //GUARD_STRINGS_H | 
